summaryrefslogtreecommitdiff
path: root/src/chroot-tools/chcleanup.in
AgeCommit message (Collapse)Author
2018-08-06chcleanup: Ignore depends of split packages, just look at pkgbasev20180806Luke Shumaker
2018-08-06chcleanup: Try preloading the scratch DB to speed things up.Luke Shumaker
2018-08-06chcleanup: Only use `pacman -T` filtering on DEPENDSLuke Shumaker
2018-08-06chcleanup: Tidy upLuke Shumaker
- Move a few lines around - Add comments - Don't bother checking [[ -n $TEXTDOMAIN ]]/TEXTDOMAINDIR, they're never set. - Put the pacman db at "$TEMPDIR/db", not "$TEMPDIR". - Create a pacman=() variable for storing all of our scratch flags - Drop the pkglist='' variable; expand it out where used Altogether, there should be no user-visible changes here
2018-08-06chcleanup: More informative output, use pacman -T to speed things upLuke Shumaker
2018-08-06chcleanup: Do the package list creating in tiersLuke Shumaker
This avoids something like a dep on 'systemd-tools' from resolving to 'notsystemd', causing a conflict with 'systemd' in 'base-devel', which had the 'systemd-tools' dep already filled. On the downside, this is much slower.
2018-08-04libremakepkg,chcleanup: Be stricter about network accessv20180804Luke Shumaker
Objectives: - Once the source package has been created, never run makepkg with networking enabled again, so that we can be 100% sure that the source package has all of the sources that we need. - Don't let makepkg edit the PKGBUILD (eg. by evaluating pkgver()) User-facing changes: - libremakepkg now disables networking during prepare() - libremakepkg no longer runs pkgver() - chcleanup (and thus `librechroot clean-pkgs`) now also installs packages Technical description of changes: - In devtools (and not really in this commit): * No longer split /chrootprepare off of /chrootbuild. The point of splitting it was that we'd have prepare() run from /chrootprepare and the rest later run from /chrootbuild, so that we could leave networking enabled during prepare() but not the rest. Now that we're disabling networking during prepare(), that's pointless. * Have download_sources create a source package (rather than having /chrootbuild create the source package at the same time that we create the binary package). We adjust the caller to temporarily set SRCPKGDEST to a temporary directory, so that we can get the file and control the filename when we move it in to the real SRCPKGDEST. - Have chcleanup install the dependencies. If we used the traditional `makepkg --sync` to install the dependencies, then we'd be breaking the "no networking for makepkg after source package creation" objective. chcleanup already has all of the logic necessary to accomplish this. If there's a discrepancy in chcleanup behavior and makepkg behavior, and makepkg thinks it needs to install something, then that just means we'll have to fix the bug in chcleanup, instead of letting it go for more than a year (*cough* https://labs.parabola.nu/issues/1311 *cough*). - Use files extracted from the source package (rather than files found in the current directory) to build the package. - We mount the temporary directory containing the extracted source package files read-only, to be sure that makepkg doesn't modify the PKGBUILD. This is necessary because --holdver only disables pkgver() if it's a VCS package.
2018-08-03Use Bash 4.4 @Q instead of %qLuke Shumaker
2018-08-03chcleanup: Expand short flags to pacmanLuke Shumaker
2018-08-03chcleanup: Consider _$CARCH depsLuke Shumaker
Also, don't parse PKGBUILD ourself; use .SRCINFO to extract information from the PKGBUILD.
2018-01-02Change my email address lukeshu@sbcglobal.net -> lukeshu@parabola.nuLuke Shumaker
2017-04-20Don't use subshells in local/export/declare commands.Luke Shumaker
Only make this change in places where it shouldn't make a difference, and something weird has to be going on for the subshell to fail. This is on par with checking the return value of malloc. We don't need tests for each of these failure cases.
2017-04-20Quote unquoted strings that should probably be quoted.Luke Shumaker
These were found with the help of shellcheck. Nothing more complicated than wrapping a variable in double quotes has been done.
2017-04-11chcleanup: Fix typo in a commentLuke Shumaker
2015-01-05chcleanup: oops, I left a `set -x` in therev20150105Luke Shumaker
2015-01-05Oops, update a couple of copyright yearsLuke Shumaker
2015-01-04oops, I'm dumb; fix chcleanupv20150104Luke Shumaker
2015-01-04Generate the duplicated code in chcleanupLuke Shumaker