Debian

How to best do cross-compilation for a Debian system?

I have an open-source project that uses Travis CI for continuous integration. One of the targets is the Raspberry Pi (Raspbian) which is a Debian platform. I am trying to stay away from creating a big tgz file that is a mirror of the /usr folder of a Raspberry Pi installation, since I would have to host it somewhere, update it etc etc

What I have done so far is to get the actual .deb files from here during the build:

[http://raspbian.mirror.constant.com/raspbian/pool/main](http://raspbian.mirror.constant.com/raspbian/pool/main/o/openjdk-8/)

extract them locally, and then link against that. It works great, but my problem is that the content of the above page changes regularly with new versions of the packages, breaking my CI build.

1.) Is this a good way of even going about this?

2. ) Is there a way of establishing the “latest package” link for a given package? That is, what an “apt-get install open-jdk-8” would actually refer to in terms of debian package? (keep in mind that I can not run that command as it would have to run on the Pi for that)


View Reddit by rumborakView Source

Sending
User Review
0 (0 votes)

3 Comments

Click here to post a comment

  • I’m not exactly sure what you’re trying to do, either, but the openSUSE Build Service is free and lets you build armhf packages, though they call it armv71 there. If you update a build-depend in your repo, by default everything that uses that B-D will rebuild, though that can also be disabled.

  • > Is this a good way of even going about this?

    About what?

    Is the post title somehow related to all of this?

    > Is there a way of establishing the “latest package” link for a given package?

    There is no such thing.

    > That is, what an “apt-get install open-jdk-8” would actually refer to in terms of debian package?

    The result obviously depends on the repos configured in apt and their priorities. If you narrow this to one repo then the result requires parsing the repo metadata or using some other services not directly related to apt.