[haiku-development] Re: dependency hell installing software

  • From: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 10 Aug 2017 07:19:54 +0200

On Wed, Aug 09, 2017 at 11:22:15PM +0000, Sean Collins wrote:

not sure whats going on but in the last year or so adding software has
gotten to be a real challenge. I recently tried to install qbitorrent from
Haikudepot, all the dependencys trees are broken or there is some other
issue preventing them from installing. This has been a reccuring theme for
quiet sometime. does package builder adminstration and package building
really require a developer ? or would a community voulenteer with buildbot
knowledge be sufficient ? I understnad what the issue is, developer time to
commit to repairing the update recipes and no QA testing, as always, but
using software that worked on Haiku just 2-3 yrs ago is becoming a very
difficult task.

Manual updates to the packages keep causing such problems. In that
particular case, I updated libboost from 1.55 to 1.57, but didn't update
packages that depend on libboost.

This manual solution just doesn't work and we are well aware of it. It's
actually the main reason we don't have a beta yet.

Setting up the tools to do this automatically required a developer, and
it took 3 attempts to get things right (or at least working somewhat
right). We can't use buildbot because building all the packages isn't a
single buildbot job (it would take too much time, so we distribute the
work to different slaves), and writing a specific buildbot job for each
recipe would be unrealistic - we already have recipes at haikuports.

So, the solution is a custom tool (called buildmaster) which plugs into
haikuporter and distributes the builds to "slave" haiku machines.

It's not about the recipes - these are improving a lot. It's about the
annoying and time consuming process of uploading the binary packages to
the repository. This is a task where an automated system will make a
much better job, allowing for a faster "ticket to fix" cycle and freeing
the devs for other more useful tasks.

The good news is that the system is already (and finally) installed on
Haiku servers. There is a simple web interface where you can see what it
built recently: http://vmpkg.haiku-os.org/master/x86_gcc2/

The next steps are:
- Some QA testing of the generated repos before we start telling users
  to use them,
- Training haikuports contributors to check the result of their work
  there and making sure that the recipes are building ok (possibly the
  buildbot could send a mail to the haikuports mailing list when a build
  fails, for example)

Meanwhile, the best way is to build your own packages using haikuporter.

-- 
Adrien.

Other related posts: