- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
Beginning of 'Packaging Infrastructure' Contract
Anyone following the "haiku-inc" ML will have noticed that I've been approved to spend 240 hours (around 6 weeks of full-time work) on Haiku's packaging infrastructure. This mostly means I'll be working on the package building system, which will manage the "HaikuPorts" package repository, ensuring it's up-to-date across architectures (and later, across both nightly & release builds).
As those who have been paying close attention to IRC may already know, Alexander already has created a prototype server & client in Ruby. However, in discussions with Alex, Oliver, and Axel, there is a consensus that the client (at least) needs to be rewritten in Python, as Ruby on Haiku is too unstable for our needs. The server may also be rewritten as well, as we determined that it doesn't support nearly enough of what it needs to, and a rewrite to Python may be easy enough. We'll see.
My contract officially starts today, but I'm going to be out for most of the day, so I won't start working full-time until tomorrow. For this week, I expect to get the Python client software into a "mostly working" state, and make a decision on what to do about the server and probably start working on that as well.
I'll be posting end-of-the-week progress reports just as Adrien did for the duration of my contract right here on my blog. Stay tuned!
As those who have been paying close attention to IRC may already know, Alexander already has created a prototype server & client in Ruby. However, in discussions with Alex, Oliver, and Axel, there is a consensus that the client (at least) needs to be rewritten in Python, as Ruby on Haiku is too unstable for our needs. The server may also be rewritten as well, as we determined that it doesn't support nearly enough of what it needs to, and a rewrite to Python may be easy enough. We'll see.
My contract officially starts today, but I'm going to be out for most of the day, so I won't start working full-time until tomorrow. For this week, I expect to get the Python client software into a "mostly working" state, and make a decision on what to do about the server and probably start working on that as well.
I'll be posting end-of-the-week progress reports just as Adrien did for the duration of my contract right here on my blog. Stay tuned!
- waddlesplash's blog
- Login or register to post comments

Comments
Re: Beginning of 'Packaging Infrastructure' Contract
That's wonderful, waddlesplash! Working buildbots are essential for the beta, as well as for the 3rd party software availability. I suppose once the buildbots are churning through the haikuports repo, the adding of the resulting packages to HaikuDepot can/will be automated?
Looking forward to your regular reports!
Happy Haiku Hacking!
Humdinger
Re: Beginning of 'Packaging Infrastructure' Contract
packages.haiku-os.orgwill be entirely machine-controlled. No more manually-built-and-uploaded packages!Re: Beginning of 'Packaging Infrastructure' Contract
Good!
BTW, will you work on that buildbot infrastructure in some private branch? If so, or even if not so :), can that branch be added to the haiku-commit-ml? Same goes for any other work you may do in a branch. Makes it all that more transparent and informative.
Regards,
Humdinger
Re: Beginning of 'Packaging Infrastructure' Contract
Re: Beginning of 'Packaging Infrastructure' Contract
Congratulation for your contract, it's a great news not just for the users but for the developers too. Hopefully it will open some new doors for Haiku.
Have fun and i'll waiting for your weekly report!
Re: Beginning of 'Packaging Infrastructure' Contract
why not c++?
I have been writing all kind of bots, servers (also https, iretc..) and clients (https, irc, etc..) and I see not at all why one would not do this in c++14 ! You get a lot more speed and efficiency, and you can be sure, it will compile and work also in the next 20 years from now.
And the other advantage is, that also the c++ developers (who might not be big scripting fans) can work on it and improve it later.
Re: Beginning of 'Packaging Infrastructure' Contract
Not to mention that Haiku doesn't have C++14 yet, and even if it did, C++14 still doesn't provide too much in the way of JSON or socket messaging...
Re: Beginning of 'Packaging Infrastructure' Contract
This is good news and I am glad to see this work going forward.
When this is completed, how far does that get us to resolving the package manager tasks for Beta?
Re: Beginning of 'Packaging Infrastructure' Contract
Re: Beginning of 'Packaging Infrastructure' Contract
When you have time, do a performance test:
Simulate simultaneous connections: how many simultaneous connections can the server hold (even if the cpu per client is very slow)?
The main point is, that haiku is heavily based on c++, and it's the best supported language, and it's always very close to "up-to-date". C++ forces you to have often better designs.
C++14 doesn't have networking capabilities (but c++17 is likely to get them), but haiku has its own network kit anyway.
Since haiku is a small project, server-performance is perhaps not critical, but I would prefer to see haiku not being spread up with different languages. C++ has also a great backward compatibility, which means, that in feature, you just have to recompile, you can get speed improvements out of the box (exactly what happend when c++11/14 arrived). So far the most promising (to me) scripting language is swift.