[Dev] providing libre sources without breaking the server (maybe)

Freemor freemor at freemor.ca
Thu Nov 28 19:38:07 GMT 2019


On Thu, Nov 28, 2019 at 01:12:27PM -0500, bill-auger wrote:
> and there are other good reasons to figure out how mksource()
> works 
> 
> firstly, it is sitting there now doing nothing but being
> confsing, and if it is not used, it should be deleted, which
> would require studying it anyways to make sure removing it
> doesnt break anything
> 
> but more importantly, libremakepkg creates a source-ball for
> every package and librerelease uploads it to the server
> some of those source-balls are >500MB because they include the
> VCS history
> 
> those source-balls are currently not used for anything, which
> is nothing but wasted time, bandwidth, and disk space- having
> git re-make them upon pushes to abslibre would not change that -
> it would make them completely redundant though, using even more
> disk space

My hope with my little experiment is to hopefully:

1. Have a path for taking the nonstandard stuff out of the PKGBUILDS
2. Stop rolling source at build time.
3. Have the script smart enough to only roll sources that we change (as that is
   required by the GPL) 

   There are a lot of packages where we just toggle a build option or two i.e.
   to disable geolocation or some other anti feature or unwanted protocol. as
   we do not alter those sources we (IIUC) don't need to publish the soucre,
   upstream will do. This could save us a fair bit of space/bandwidth.

4. Have the script smart enough to only roll a new tarball if the source or
   patches actually change i.e. don't reroll just because we rebuilt against a
   new poppler or ICU.

5. Provide non-PKGBUILD build instructions. So someone that downloads the
   source can build it manually without the PKGBUILD. This skips that source
   tarball having any nasty reference to unclean upstream stuff. 

The reality is that on an Archlinux like system 90% of people are gong to go
right to the PKGBUILDs. I see no problem with that. The GPL compels us to
provide the modified source for binaries we distribute (Hmm.. If this is not a
requirement of the FSDGs then perhaps the script could also only roll GPL
licensed things. Or GPL + other licenses with similar clauses)

But back to what I was saying. Due at least to the GPL we need to provide the
modified sources (even though almost no-one will look at it) So I'm looking to
satisfy that requirement. In a way that lets our PKGBUILDs and build tools be
as close to Upstream as possible in their syntax and functioning. (Yes, I know
that doesn't really apply to libretools) but I'll assume that you get my
meaning. 

I'm certainly open to taking another look at the mksource() thing. But since
that currently rolls before prepare it is not in compliance with the "providing
the modified source" thing. 

So, basically I want to streamline and standardize the build side. Reduce the #
of source packages we host/roll to the required minimum (again since 90% of
people are just gonna use the PKGUILDS). And have it "just work" in the sense
that there are no extra steps which a maintainer might miss or stumble over.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20191128/dd6bf608/attachment.sig>


More information about the Dev mailing list