Skip to content

Instantly share code, notes, and snippets.

@TimothyGu
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TimothyGu/506beb5703843d644033 to your computer and use it in GitHub Desktop.
Save TimothyGu/506beb5703843d644033 to your computer and use it in GitHub Desktop.

GCI Haikuporter Packaging Reflection

Tiancheng "Timothy" Gu

Challenges

Prior to GCI 2014, I already have some experiences in packaging because my involvement in the MXE project. The way haikuports operates is very similar to MXE (which uses a makefile-based system), so it was not extremely hard for me get started in the packaging fun.

The 3 most important challenges or unexpected situations for me were:

  • How to build a package with haikuporter (i.e. --no-dependencies)
  • How secondary architectures work
  • The use of chroot in haikuporter

As of now, I am proud to say that I know the answer to all these questions, mostly because of all the awesome people on #haiku.

Points of Improvement on Our Side

I have compiled a list of some possible improvements in the documentation of haikuporter, that will benefit new users of it:

  • Make it clear(er) that all builds are done in a chroot, so only the packages declared in the recipe as dependencies will be available
  • Update gentle intro to haikuporter to use SHA256 instead of MD5

On a coding side, it would be better if the following is possible:

  • Directly drop the developer into the chroot if the haikuporter recipe failed.
  • Instead of manually building all packages including coreutils and gcc, use the existing copy on the system

For Future Newcomers to Haikuports

First and foremost, read ALL of the gentle intro to haikuporter. That will answer absolutely most of the questions you are having.

Second, do not be afraid to ask questions on the IRC channel, and be patient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment