Hello to this week’s update!

Another new addition to Pakfire are source packages. In order to be able to 
verify builds and reproduce them, we need to make sure that we have a defined 
set of files that are needed to build some software. In IPFire 2 we solved this 
by having a large directory and referencing files in there. That works well 
when you always build the entire distribution in one piece, but it is not very 
helpful you want to share a single package with another developer for review or 
testing.

Now, you can bundle everything together so that somebody else has exactly the 
source that you have seen. Usually that is the source tarball, build 
instructions and meta data as well optional patches. All is bundled into a 
package which can be easily shared since it is only one single file.

You can create a source package using the dist command like so:

  # pakfire-builder dist /build/ipfire-3.x/beep/beep.nm
  beep-1.4.12-1.ipfire3.src                                                     
                                                                                
  88k      0B/s 100%

You can then run a build without any further ado:

  # pakfire-builder build beep-1.4.12-1.ipfire3.src.pfm
  Scanning local                                                                
                                                                                
       00:00 406/406
  Building beep-1.4.12-1.ipfire3.src...
  Name           : beep
  Version        : 1.4.12-1.ipfire3
  Arch           : src
  Size           : 90k
  Download Size  : 90k
  Repo           : @commandline
  Summary        : Beep the PC speaker any number of ways.
  …

After that, you will have some binary packages built which you can install 
either to your build environment or install on an IPFire system for testing.

We also use the source packages to transfer build jobs to the build service and 
from there to the builders. One single file that is signed, integrity checked 
and contains everything that is needed is a great way to have contingent builds 
that are repeatable and verifiable.

That is all for today. See you next week!

-Michael

Reply via email to