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

Need new Ubuntu package solution #638

Closed
alerque opened this issue Jun 13, 2019 · 9 comments · Fixed by #804
Closed

Need new Ubuntu package solution #638

alerque opened this issue Jun 13, 2019 · 9 comments · Fixed by #804
Labels
tooling Build tooling, release management, and packaging processes
Milestone

Comments

@alerque
Copy link
Member

alerque commented Jun 13, 2019

Complaints keep showing up in #296 and elsewhere that there is not an easy Ubuntu install solution. Given that Ubuntu users are (on average) less savvy than other distro users because of it's target audience and given that it's one of the largest distros around, we really need to have a packaged solution for it (whether this is a PPA, or a Flatpack, or a Snap or something else).

See also #38.

@alerque alerque added high priority tooling Build tooling, release management, and packaging processes labels Jun 13, 2019
@alerque alerque added this to the v1.0.0 milestone Jun 13, 2019
@alerque alerque modified the milestones: v1.0.0, v0.10.x Aug 22, 2019
@n7s
Copy link

n7s commented Jan 22, 2020

I have been packaging up sile snapshots for Ubuntu (SIL uses sile for font testing and our toolchain is Ubuntu-based). Currently it's a manual process and the package is uploaded to a PPA. I'm looking at version v0.10.0 and its new depency chain targetting bionic and focal.

@alerque
Copy link
Member Author

alerque commented Jan 23, 2020

@n7s It's been a lot of years since I messed around with Ubuntu. What would we need to to to either ⓐ get official packages included upstream or ⓑ host an official PPA distributions channel for up to date SILE packages?

@alerque alerque modified the milestones: v0.10.1, v0.10.x Jan 23, 2020
@n7s
Copy link

n7s commented Jan 24, 2020

From what I can see there are a few more dependencies on new lua libs which are not packaged yet but I'm too short on spare time for this right now. I hope to get to in in a few weeks (in the meantime we'll likely deploy and use SILE with a manual script recipe). I really appreciate all the amazing work done on SILE! Immensely useful!!

You can look at the current packaging (from January 2019) in our PPA by doing a dget https://launchpad.net/~silnrsi/+archive/ubuntu/smith-py3/+sourcefiles/sile/0.9.5.1~20190131-2sil1/sile_0.9.5.1~20190131-2sil1.dsc

@alerque
Copy link
Member Author

alerque commented Jan 24, 2020

@n7s there are more Lua dependencies now, but SILE's build system also has a way to fetch and bundle all of them if that makes things easier, thus not requiring any system installed Luarocks packages.

I'm be happy to help work through this process if you catch me on Gitter sometime. It would nice to be able to handle Ubuntu updates upstream.

@alerque
Copy link
Member Author

alerque commented Jan 29, 2020

I've started trying to figure this out, starting with launching a SILE team on Launchpad (@simoncozens shoot me your member info and I'll add you). @n7s I added you too, feel free to muck around and tell me if I'm doing something wrong.

Next step, add a PPA to the team? And a project to the PPA?

@devosb
Copy link

devosb commented Jan 29, 2020

@alerque When you write that the build system can fetch the Lua dependencies, does that mean fetch over the Internet? If so, I think Debian (and therefore Ubuntu) packaging policy would prohibit that, as building a package cannot require Internet access, IIRC.

If the SILE build system fetched all the Lua dependencies, and could bundle them into a tarball that Debian could use for packaging, that might work. But ideally those dependencies would be other Debian packages that the SILE package would refer to.

@n7s
Copy link

n7s commented Jan 29, 2020

a make dist is intended to populate lua_modules, right?

@alerque
Copy link
Member Author

alerque commented Jan 29, 2020

@devosb The build can work either way. In fact there is an extra split you don't mention: the issue of bundling is actually two fold. Internet access to fetch stuff during build is one issue, bundling vendor code in a package is another issue.

The current SILE git tree does not include vendored code (or at least not much, we're still working on stripping a few bits). The tarballs of releases do. All the required lua modules are included in the source tarball. (Yes @n7s make dist will populate lua_modules.)

Separately from that issue, you can choose whether to use that source as part of a build (--with(out)-system-luarocks). If you use the tarball but add --with-system-luarocks that vendor code will not be bundled or installed as part of make install.

Debian won't want either network access or bundled vendor code, which is fine, but that will mean a number of Lua rocks also need to be packaged.

@n7s
Copy link

n7s commented Jan 29, 2020

An official sile PPA is a great idea! I'm sure you can easily figure out the steps for preparing a source package for LP upload. You can adapt and improve on the debian/ that I had started (linked above).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling Build tooling, release management, and packaging processes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants