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

CI: Create archive for deployment on Linux #571

Merged
merged 1 commit into from Nov 11, 2019
Merged

Conversation

ubruhin
Copy link
Member

@ubruhin ubruhin commented Nov 6, 2019

Currently we provide two ways to install LibrePCB binaries on Linux: Installer and AppImage. But the installer is a pain for automated installation, and the AppImage does not work out-of-the-box in Docker containers (because FUSE is missing). To avoid these issues, I think it makes sense to also provide the binaries in a *.tar.gz archive for Linux. It's basically "for free", since we just need to bundle the already available binaries in a *.tar.gz.

Interestingly I also realized that the librepcb-cli currently doesn't work on Linux when installed with the installer, because that binary was not patched with linuxdeployqt. That's also fixed with this PR, so it should now work on Linux too.

@ubruhin ubruhin self-assigned this Nov 6, 2019
@dbrgn
Copy link
Member

@dbrgn dbrgn commented Nov 6, 2019

Interestingly I also realized that the librepcb-cli currently doesn't work on Linux when installed with the installer, because that binary was not patched with linuxdeployqt. That's also fixed with this PR, so it should now work on Linux too.

Cool, that probably fixes the deployment issues that @PatrickFranken had as well, right?

ci/build_linux_archive.sh Show resolved Hide resolved
@ubruhin
Copy link
Member Author

@ubruhin ubruhin commented Nov 6, 2019

Cool, that probably fixes the deployment issues that @PatrickFranken had as well, right?

Actually I don't know (yet), but if he used the installer, then probably yes :)

Btw, I forgot to mention that the new archive can be "reviewed" here: https://download.librepcb.org/nightly_builds/ci-build-linux-archive/librepcb-nightly-linux-x86_64.tar.gz

@dbrgn
Copy link
Member

@dbrgn dbrgn commented Nov 6, 2019

Actually I don't know (yet), but if he used the installer, then probably yes :)

No, the AppImage, which segfaulted on his server...

Copy link
Member

@dbrgn dbrgn left a comment

Btw, I forgot to mention that the new archive can be "reviewed" here: https://download.librepcb.org/nightly_builds/ci-build-linux-archive/librepcb-nightly-linux-x86_64.tar.gz

The archive currently contains a root directory called .. This results in the files being extracted into the current directory, without a containing root directory.

It would be good if the archive contained a root directory called librepcb or librepcb-nightly-linux-x86_64.

(The binaries work though!)

@ubruhin ubruhin force-pushed the ci-build-linux-archive branch from 1af175b to 0dbcf2a Compare Nov 8, 2019
@ubruhin
Copy link
Member Author

@ubruhin ubruhin commented Nov 8, 2019

The archive currently contains a root directory called .. This results in the files being extracted into the current directory, without a containing root directory.

Hmm yeah that was indeed strange...

It would be good if the archive contained a root directory called librepcb or librepcb-nightly-linux-x86_64.

Actually I don't like having a root directory in an archive (the purpose of an archive is to bundle multiple files into one file, so why move them all into a useless subdirectory). But (unfortunately) it seems to be common practice to do so, thus I added the root directory librepcb-nightly-linux-x86_64 and now need to adjust the release scripts to replace "nightly" inside the *.tar.gz with the actual version number...

Or is it also accepted to put the actual files into the root of a tar archive?

@dbrgn
Copy link
Member

@dbrgn dbrgn commented Nov 8, 2019

Or is it also accepted to put the actual files into the root of a tar archive?

No, a root directory is more common. If you don't want the root dir, you can use --strip-components=1 when unpacking. However, if you accidentally unpack an archive without a root directory, you got files all over the place...

@ubruhin
Copy link
Member Author

@ubruhin ubruhin commented Nov 9, 2019

OK the archive now contains the root directory librepcb-nightly-linux-x86_64.

@ubruhin ubruhin requested a review from dbrgn Nov 9, 2019
@ubruhin ubruhin force-pushed the ci-build-linux-archive branch from 0dbcf2a to f504cb6 Compare Nov 11, 2019
dbrgn
dbrgn approved these changes Nov 11, 2019
Copy link
Member

@dbrgn dbrgn left a comment

Thanks!

@ubruhin ubruhin merged commit 38812d3 into master Nov 11, 2019
11 checks passed
@ubruhin ubruhin deleted the ci-build-linux-archive branch Nov 11, 2019
ubruhin added a commit that referenced this issue Nov 17, 2019
CI: Create archive for deployment on Linux
(cherry picked from commit 38812d3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants