Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow create pre-built wheezy arm docker image w/ dependencies #118

Merged

Conversation

ericfont
Copy link

added wheezy armel & armhf binaries, downloaded from https://packages.debian.org/wheezy/{armhf,armel}/{unionfs-fuse,ruby-vte,libvte9,libglade2-0}/download (note: wheezy is oldest debian that has these as binary)

if pass --fetch-dependencies-only to build.sh then quit build prematurely before actually compile

added python as apt-get dependency, which is needed if build on a fresh minimal debian wheezy

@ericfont
Copy link
Author

(Let me note that according to your commit history, you grabbed those other armv6l binaries from a RaspberryPi. However, Debian armel binaries can't mix with Raspbian binaries if have any floating point, because they use a different ABI, which I'm sure you're aware. I don't know best way to handle this. Maybe should put them in seperate folders. But if you eventually are going to build those binaries from source, then you won't have this issue.)

@probonopd
Copy link
Member

Looks like something is broken at the moment which is possibly unrelated to your PR.

@shoogle
Copy link

shoogle commented Mar 14, 2016

As I mentioned before to @RazZziel, these lines in bintray.sh need to be swapped to prevent the build failing on a PR due to $BINTRAY_API_KEY not being set. (The file gets fetched from the AppImages repository here.)

@RazZziel
Copy link

Didn't implement yet it because it wasn't actually failing on my PRs :|

@shoogle
Copy link

shoogle commented Mar 14, 2016

It seems that Travis is entirely disabled for PRs on the AppImages repo. Perhaps @probonopd will want to consider enabling it to build (but not upload) for testing purposes?

@probonopd
Copy link
Member

@shoogle No because it could be a security risk (could access credentials).

@RazZziel
Copy link

I meant in AppImageKit: #112

Builds go like:

Not uploading since this is a pull request

@shoogle
Copy link

shoogle commented Mar 14, 2016

@probonopd Travis doesn't make secure variables available to pull requests. If you enabled PR builds $BINTRAY_API_KEY wouldn't be set on those PRs, so if someone submitted a PR with echo $BINTRAY_API_KEY nothing would show up. (This also means that you can't have uploads from a PR even if you wanted to, as we were considering doing for MuseScore.)

@probonopd
Copy link
Member

@shoogle thanks for the hint. I have enabled $BINTRAY_API_KEY in the AppImages repository, as well as $BINTRAY_USER and $BINTRAY_REPO. That repo is what I am using for my AppImage production, whereas this repo is for holding the AppImageKit source code.

@RazZziel
Copy link

Still failing with Environment variable $BINTRAY_API_KEY missing...

I guess trying to rebuild https://travis-ci.org/probonopd/AppImageKit/builds/115767354 doesn't work because it doesn't count as PR anymore, but I guess ammending with no changes the commit and push-forcing it would work.

@RazZziel
Copy link

Ah, oh, wait:

$ wget https://raw.githubusercontent.com/RazZziel/AppImages/feature/bintray_for_AppImageKit/bintray.sh

That's long gone, now it's tanen from probonopd/master, not RazZziel/AppImages/feature; @ericfont can you rebase your branch against master?

@ericfont
Copy link
Author

I'm thinking it is better to compile those /binary-dependnencies/ from source...can I add those lines neasted of fetching from repo. I'm noticing if I'm on a different release (e.g. jessie v. wheezy), then those .so files are different versions. Also should they be statically compiled?

@RazZziel
Copy link

I'm thinking it is better to compile those /binary-dependnencies/ from source...

Indeed, I'm doing that in feature/build_3rd_party_dependencies, but haven't it PRd yet because I want to do it after #112 is stable and merged.

I'm noticing if I'm on a different release (e.g. jessie v. wheezy), then those .so files are different versions

So you're on jessies and the binaries are on wheezy? I have some wheezies lying around, I can fetch the libraries if you want

Also should they be statically compiled?

Ideally, but wouldn't mind too much as long as it works "fine enough" for now, as we'll quickly upgrade to building the dependencies. If you merge this branch in

@ericfont
Copy link
Author

I rebased againt master. Those binary-dependencies were from wheezy, but again I think best if build those dependencies from source to avoid any issues.

@ericfont
Copy link
Author

(I had previously branched from feature/32bit_builds_docker but now I see a few other of your commits are included...I'm new to this git thing, so it might be best if you disregard this or make the relevant changes yourself.)

@RazZziel
Copy link

Ah! My bad, makes complete sense you were rebased against feature/32bit_builds_docker, and that branch is already updated against master, so you should be able to rebase against feature/32bit_builds_docker and git push --force in order to get it building on Travis.

However, the proper course of action would be waiting for #112 and then feature/32bit_builds_docker to be merged in master, and then rebase this branch against master and merge.

And don't worry about Git, it's a pain worth to getting used to :)

@ericfont
Copy link
Author

I'll wait for that. And I think I'll try adding lines to build those binary dependencies from source rather. I'm suspecting unwanted things will happen when dealing with libs from Debian "armel" vs raspian's arm6, which has hardware float abi. And I'm notcing in the commit message for arm7l binaries for arm that they were grabbed from Raspbian, but be aware that Raspbian is always armv6, even on an armv7 RPi2 or RPi3...

@RazZziel
Copy link

And I think I'll try adding lines to build those binary dependencies from source rather.

The build of those dependencies should already be done in feature/build_3rd_party_dependencies, although it was not tested in ARM

I'm suspecting unwanted things will happen when dealing with libs from Debian "armel" vs raspian's arm6

We can always remove all existing ARM libaries in the repo and fetch them from the Qemu VM that's gonna be used in Docker

@ericfont
Copy link
Author

The build of those dependencies should already be done in feature/build_3rd_party_dependencies, although it was not tested in ARM

Just tried out that branch, and was able to build AppImageKit, and I notice the new binaries appear, so seems to be good, although I haven't tried packing a program as AppImage with that branch yet.

if pass --fetch-dependencies-only to then quit build prematurely before actually compile

added python as apt-get dependency, which is needed if build on a fresh minimal debian wheezy
@ericfont
Copy link
Author

ok, did a clean chekout of master and only included my small change to build.sh. I'm no longer including those binaries in this PR, since it seems feature/build_3rd_party_dependencies is taking care of making those (and I'm told it is not good practice to put binaries in git code repositories).

probonopd added a commit that referenced this pull request Mar 17, 2016
allow create pre-built wheezy arm docker image w/ dependencies
@probonopd probonopd merged commit 4db2174 into AppImage:feature/32bit_builds_docker Mar 17, 2016
probonopd added a commit that referenced this pull request Sep 3, 2017
@probonopd
Copy link
Member

"Use desktop-file-validate, closes #118" was a typo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants