[Librem-5-dev] applications using native debs

Jeremiah C. Foster jeremiah.foster at puri.sm
Tue Jun 4 07:51:46 PDT 2019


Ohai!

On Tue, 2019-05-28 at 14:09 -0600, Heather Ellsworth via Librem-5-dev
wrote:
> Hi Rinigus,
> 
> On 5/25/19 2:05 AM, rinigus via Librem-5-dev wrote:
> > Heather,
> > 
> > thank you very much! I will look into it, probably its a way to do
> > that.
> > When comparing the build times in that monitor to the build times
> > of the
> > maps related software, I have few packages that may need about 2
> > hours
> > to compile for arm. So, would be great to test it first before
> > plugging
> > it into your system.
> 
> Yep that sounds good.
> 
> > In general, I will have to learn how to package for Debian and it
> > would
> > be great to test it on some CI system before plugging it into your
> > builds. Suggestions for CI systems allowing to build private repos
> > with
> > packages depending on each other are appreciated. 

One of the great advantages of using Debian packages (debs) is that it
can build packages and their dependencies together. In fact, you are
required to specify package dependencies in various control fields in
the pacakge metadata so that you can build with the Debian tools on
actual hardware without a connection to the internet. This is a
powerful way to keep the supply chain clean, and to create a
reproducible build. It is a requirement for getting your package into
Debian proper (and for our CI and repository control system called
Laniakea).

> > So far, looks like
> > Ubuntu's PPAs would fit the bill, but maybe there is something else
> > as
> > well.

We hope to have a ARM based instance of either Jenkins and/or an
additional image built here: https://pureos.net/download/

Personally I'd prefer to stay away from PPAs in Ubuntu. Ubuntu may
include non-free dependencies (binary blob drivers, etc.) when building
for certain platforms. We hew pretty closely to being free software
only.

> For CI systems, I'm no expert and I've really only used Jenkins. Not
> sure how difficult it would be to setup a Jenkins server somewhere,
> but
> their documentation in general is pretty good:
> 
> https://jenkins.io/doc/book/installing/
> 
> However, I wonder if you really need to take this tangent path of
> setting up and using a personal CI first before plugging it into
> ours. I
> think if you just get the debian packaging going, then you can add it
> to
> our jobs.

Our Gitlab instances includes CI "runners" which I believe are set by
default. Here's an example of what the output of the Gitlab CI job
runners looks like: https://source.puri.sm/Purism/flossy-gnu/-/jobs

You can see (if you click on the download cloud icon in the upper
right) that you can download artifacts. You can produce debs as
artifacts if you like which might serve you better for the devkit than
a PPA IMHO since you'll be able to access the resources of this
community to help you. Personally I'm happy to help and I know my
colleagues, time permitting, are very helpful as well. 

We plan to automate much of this, but we're prioritizing our time at
the moment so there might not be a lot done towards further automation
immediately, but in the near future. I hope to keep this list abreast
of any changes.

> > I am sure there lots of resources on how to package for Debian,
> > those I
> > hope to look up myself.
> 
> Here is a tutorial that looks really thourough (and quite recent too,
> which is a bonus!):
> 
> https://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial.en.pdf

+1

Specific packagine requirements for PureOS are here: 
https://tracker.pureos.net/w/development/packaging_overview/

Cheers,

Jeremiah
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: This is a digitally signed message part
URL: <http://lists.community.puri.sm/pipermail/librem-5-dev/attachments/20190604/c652b780/attachment.sig>


More information about the Librem-5-dev mailing list