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

Use LSB SDK as the build system #4

Open
probonopd opened this issue Jun 5, 2016 · 5 comments
Open

Use LSB SDK as the build system #4

probonopd opened this issue Jun 5, 2016 · 5 comments

Comments

@probonopd
Copy link
Contributor

If we use the LSB SDK as the build system, then the resulting binaries should be most compatible to systems out there.

http://www.linuxfoundation.org/collaborate/workgroups/lsb/build-lsb-compliant-application

http://ftp.linuxfoundation.org/pub/lsb/bundles/released-5.0.0/sdk/lsb-sdk-5.0.0-3.x86_64.tar.gz

@probonopd
Copy link
Contributor Author

probonopd commented Jun 6, 2016

Here are some instructions that might be useful:
https://wiki.linuxfoundation.org/en/Book/HowToDevel

@chrisnharvey
Copy link
Owner

Sounds like a good idea.

I tried to setup the LSB SDK last night on my Arch Linux machine, but didn't have much luck as it uses RPM packages. I'll give it another go soon to see if I can get it installed (if only they had an AppImage ;))

Do you know how LSB handles dependencies? I'm currently creating an Arch Linux Docker container as we can install almost any version of almost any dependency from https://archive.archlinux.org/

The scripts then parse the AppImage.yml file to get the list of dependencies and versions, and either generates a URL to the package on the Arch Linux archive and downloads and extracts these into the AppDir or installs them in the container for use in compiling the application.

I was unable to find another place that had an archive of pre-compiled Linux libs in multiple versions that we could easily download and extract into our AppDir.

@probonopd
Copy link
Contributor Author

probonopd commented Jun 6, 2016

debian/ubuntu/dpkg comes to mind but like with all binaries you must make sure that the binaries you are using are compiled on an "old enough" base system, otherwise they will not run. A reasonable compromise right now seems to be ubuntu trusty or debian oldstable.
See my Stellarium recipe for an example.

I have also had much success using CentOS 6 as a build system,

With LSB, you have to compile everything yourself that is not part of LSB SDK. Which has the advantage that the resulting binaries will run on even more systems.

@chrisnharvey
Copy link
Owner

You make a very good point.

Can LSB packages be compiled on any distro?

If so, I wonder if we could have a central repository of pre-compiled LSB libraries that AppImager can just download and place into the AppDir?

@probonopd
Copy link
Contributor Author

There is/was(?) the LSB SI ("Sample Implementation") which basically contains a full system with all the libs that are part of the LSB.

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

No branches or pull requests

2 participants