summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-20fix: libremakepkg: Fix distcc TCP supportLuke T. Shumaker
When leaving the fakeroot environment, the build fails with something like kill: sending signal to 694 failed: No such process /usr/bin/fakeroot: line 178: 686 User defined signal 1 FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$FAKEROOT_LIB" "$@" What's happening is that: 1. the main makepkg process launches the `distcc-tool ideaemon`, which binds to the TCP ports 2. then, the inferior in-fakeroot makepkg process tries to launch its own `distcc-tool idaemon`, which immediately fails in the background because it can't bind to those TCP ports. 3. Then, when the inferior in-fakeroot makepkg process exits it tries to clean up after itself by `kill`ing the idaemon pid. This fails because that pid died long ago. I'm not entirely sure what broke it--I think either makepkg didn't used to re-load makepkg.conf when entering the fakeroot environment, or Bash `jobs -p` didn't used to list jobs that had terminated but hadn't been `wait`ed for? IDK. Actually, the Bash one seems more likely. Anyway, fix this by only launching the idaemon from the parent makepkg process.
2024-02-20fix: test: allow arbitrary compressed package filesLuke T. Shumaker
This mimics d6866e0 (lib: support arbitrary compressed package files, 2019-12-04, Levente Polyak <anthraxx@archlinux.org>) from devtools.git
2024-02-20fix: test: librechroot.bats: Don't use unnamed UIDsLuke T. Shumaker
I'm not sure exactly what changed (default PAM policy?), but by default `sudo -u #NN` to use unnamed numeric UIDs no longer works.
2024-02-20fix: man, test: Update for the LIBRETOOLS_LIBDIR→LIBRETOOLS_LIBRARY_PATH ↵Luke T. Shumaker
rename Commit a94838e (src/lib/librelib: separate LIBRETOOLS_LIBDIR by ':' and consider each part as a candidate for searching the requested script, and rename LIBRETOOLS_LIBDIR to LIBRETOOLS_LIBRARY_PATH to reflect that change, 2020-04-12, Andreas Grapentin <andreas@grapentin.org>) renamed the environment variable from LIBRETOOLS_LIBDIR to LIBRETOOLS_LIBRARY_PATH, but didn't update the tests or the man page. So update the tests and man page.
2024-02-20fix: test: Update to work with modern GPGLuke T. Shumaker
2024-02-20fix: GNUmakefile: Shut up a warning from recent versions of MakeLuke T. Shumaker
2024-02-20tidy: GNUmakefile: Tidy upLuke T. Shumaker
- Drop the superfluous '+' before $(MAKE) - Pull the desired MAKEFLAGS into a variable - Add some comments
2024-02-20fix: INSTALL-VCS: Fix a grammar mistakeLuke T. Shumaker
2024-02-20fix: Update copyright statementsLuke T. Shumaker
This documents all the contributions of the last few years, based on the Git history.
2024-02-15Add support for pacman 5.2.0.Omar Vega Ramos
GNUtoo: split patch and wrote commit message. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-02-15librefetch: fix "does not contain a valid package suffix".Denis 'GNUtoo' Carikli
Without that fix we have the following error when trying to build a tarball that needs to be created with librefetch: $PKGEXT does not contain a valid package suffix (needs '.pkg.tar*', got '<pkgname>-<pkgver>.pkg.tar.xz') I was told by bill-auger on #parabola that it could be fixed by applying the commit 23321a3f77ecbb76b4fc79adfbf212d07dc3a0f1 ("bugfix mksource()") which was in the wip-2022-01 at the time and so this commit is based on this bugfix mksource() commit. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-02-15libremakepkg: fix building packages requring a rw startdirDenis 'GNUtoo' Carikli
Several packages require a read-write startdir: - Some packages have a pkgver that is computed dynamically through a pkgver function. This is the case for many packages using git repositories. At the end of the package build, the pkgver is automatically updated in the PKGBUILD, however, without that fix that fails with libremakepkg as the PKGBUILD was set read-only. - Some packages like linux-libre are modifying the install= script. This is done by creating a temporary install script in the startdir that is then modified with sed. Once this is done that install script is then dynamically selected. As this also require to have read-write access to the startdir to be read-write it fails to build the package if it's not the case. In both cases it's possible to modify the PKGBUILDs to workaround the issue, however the Arch Linux distribution has a read-write startdir, and modifying each affected packages would significatively increase the cost (in time and efforts) of maintaining Parabola. This was broken by the commit 646ac0258c3295943778142468aadfe5b04ad6d1 ("libremakepkg,chcleanup: Be stricter about network access"). Thanks to elibrokeit on the #parabola IRC channel on Freenode for helping me identifying the cause of read-only mounts in libremakepkg. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2022-01-18updated translations for commit a94838e1792a85f74a540daafb6715a5b3ae2908v20220118v20200414Andreas Grapentin
2021-07-16librestage: add flag to limit staged architecturesAndreas Grapentin
2021-07-16src/lib/librelib: separate LIBRETOOLS_LIBDIR by ':' and consider each part ↵Andreas Grapentin
as a candidate for searching the requested script, and rename LIBRETOOLS_LIBDIR to LIBRETOOLS_LIBRARY_PATH to reflect that change Signed-off-by: Andreas Grapentin <andreas@grapentin.org>
2019-10-25change chroot mirror to winstonv20190907bill-auger
2019-10-25notify pbot after sccessful publishbill-auger
2019-04-03add volatile bulid support repos to chroot pacman.conf (commented-out)bill-auger
2018-11-17Fix pacman.conf URLOmar Vega Ramos
2018-10-15libremakepkg: Add -S flag to use an existing source packageLuke Shumaker
"Ignore space change" might be helpful when viewing this diff.
2018-10-15libremakepkg: Tidy formatting of usage() flagsLuke Shumaker
"What is the alignment of the libremakepkg options section based on?", you may ask. You'll see in the next commit!
2018-10-15po/es/libretools.po: Update line numbersLuke Shumaker
2018-10-15Makefile: Don't generate .pot files for texinfo targetsLuke Shumaker
2018-10-04librerelease: Check that DBSCRIPTS_CONFIG is setv20181004Luke Shumaker
2018-10-04test: librerelease: Verify that it requires DBSCRIPTS_CONFIG to be set [ci-skip]Luke Shumaker
2018-10-04test: librerelease: Use AuthorizedKeysCommand to bypass perm checks on $TMPDIRLuke Shumaker
If $TMPDIR is permissively owned (as /tmp is), then sshd will refuse to look at the AuthorizedKeysFile. So bypass that permission check by configuring AuthrorizedKeysCommand to just `cat` that file.
2018-10-04test: common.bash: Shorten tmpdirLuke Shumaker
If /run/user/$UID/ doesn't exist, then the gpg-agent socket will be in $GNUPGHOME, which is inside of $tmpdir. Because the $BATS_TEST_NAME is embedded in $tmpdir, the path might be quite long, and hit the 108-byte limit on socket paths, which GnuPG does nothing to check for or handle. So, don't embed $BATS_TEST_NAME in $tmpdir, in order to keep the path shorter.
2018-10-04test: common.bash: common_teardown: Don't assume that common_setup went OKLuke Shumaker
common_setup might have errored before setting tmpdir or chrootdir; handle those cases.
2018-10-03test: common.bash: Clean up chroots as we goLuke Shumaker
2018-10-03librerelease: Change how the HOOKs are displayedLuke Shumaker
This will display the evaluated command line, rather than the cryptic ssh -fN ${REPODEST_port:+-p "$REPODEST_port"} "${REPODEST_userhost}"
2018-10-03librerelease: Set DBSCRIPTS_CONFIG for db-updateLuke Shumaker
Its value is configurable in libretools.conf. I discussed this eventual change in my dbscripts plans on the mailing list.
2018-10-02test: librerelease: Add tests for the actual runLuke Shumaker
https://labs.parabola.nu/issues/1411 https://labs.parabola.nu/issues/1412 I have verified that the test fails with commit 0b8606e0cd0e1aedfe222d4d6603c4986aacb7b5 ("librerelease: Fix rmdir failing") reverted.
2018-10-02Revert "test: librerelease: Begone with setup()"Luke Shumaker
This reverts commit 70b9f3cdcabc217609be96cfdd1fd47133aa273b.
2018-10-02test: runserver: Explicitly listen on IPv4Luke Shumaker
The implementation is not dual-stack. It supports *either* IPv4 or IPv6. I'm not entirely sure how it chooses. Clients that support happy-eyeballs will do thing right thing, but clients that don't (*cough* openssh) won't. So explicitly choose the IPv4 localhost instead of using an ambiguous "localhost".
2018-10-02test: librerelease: TidyLuke Shumaker
Use local variables.
2018-10-02libremakepkg: Fix launching `distcc-tool idaemon`Luke Shumaker
- Drop `distcc-tool-idaemon.pid`; we can just check `jobs -p` - _distcc_start_idaemon() and _distcc_stop_idaemon() are thereby simplified to the point where they can just be inlined. - Why did I keep doing `foo & wait`!? - Don't forget to write DISTCC_HOSTS to makepkg.conf - There was a typo in makepkg.conf; it said "_discc_start_idaemon"
2018-10-02test: libremakepkg: Verify that it correctly forwards ports through ↵Luke Shumaker
distcc-tool [ci-skip]
2018-10-02test: Add runserver from the dbscripts test suiteLuke Shumaker
It was written by me, in May 2018.
2018-10-02libremakepkg: Tidy funny syntaxLuke Shumaker
I don't know what I was thinking when I wrote it that way. For one, the "<&0" bit is a no-op. It redirects stdin to be stdin. Maybe I had meant to write "<&-" and close it? For two, just write it normally. It's simple enough, don't make it look like magic.
2018-10-02distcc-tool: SimplifyLuke Shumaker
- I'm pretty sure the "& trap 'jobs -p | xargs kill' EXIT; wait" bit is 100% superstition. - Sprinkle `exec` in there to use fewer PIDs - Don't bother with variables for short constant values, just hard-code them - Use `sleep infinity` instead of a dumb socat if we need to sleep forever without doing anything.
2018-10-01(BATS) test: Manual Roundup→BATS conversionLuke Shumaker
2018-10-01(BATS) test/cases: Automated Roundup→BATS conversionLuke Shumaker
for file in test/cases/*.bats; do name=$(sed -n 's/^describe //p' -- "$file") sed -ri ' # Remove the roundup shebang /^#!\/usr\/bin\/env roundup$/d # Use $BATS_TEST_NAME instead of $roundup_test_name s,roundup_test_name,BATS_TEST_NAME,g # Use BATS built-in "skip" instead of just succeeding /^\trequire /s/\|\| return 0$/|| skip/ # Remove the chroot message, does not play well with BATS output /Creating a chroot, may take a few minutes/d # Update file locations s,^\. \./test-common\.sh$,load ../lib/common, s,\b(libre(chroot|dbdiff|fetch|makepkg|stage|xgettext)|pkgbuild-check-nonfree|toru)\.d\b,fixtures/\1,g # In BATS, the hook is setup(), not before() s,^before\(\),setup(), s,^\tcommon_before$,\tcommon_setup, # Convert test definitions from # describe FOO # it_does_a_thing() { … } # to # @test "FOO does a thing" { … } /^describe /d /^it_/ { s/_/ /g s,^it (.*)\(\),@test "'"$name"' \1\", } ' \ -- "$file" # Remove leading newline that might have been left behind by the above sed -i '1{/^$/d}' -- "$file" git add "$file" done sed -i \ -e 's,librexgettext\.d,fixtures/librexgettext,g' \ -e 's,/it_,/test_librexgettext_,g' \ -- test/fixtures/librexgettext/* git add test/fixtures/librexgettext/*
2018-10-01(BATS) test: Move files aroundLuke Shumaker
But don't edit them yet. This directory structure is based on that of dbscripts.
2018-10-01distcc-tool: Note which Bash version is requiredLuke Shumaker
2018-10-01libremakepkg: Add a commentLuke Shumaker
This really messed me up while debugging, I don't want to fall for that again!
2018-10-01libremakepkg: distcc-tool: Avoid using overly-long socket namesLuke Shumaker
The maximum socket name length is surprising short. So `cd` and use a short relative path.
2018-10-01test: libremakepkg: Check that distcc works with long paths [ci-skip]Luke Shumaker
2018-10-01test/cases: Ditch trying to revert config customizationsLuke Shumaker
With $HOME now being owned by test-common.sh instead of testenv, it's sufficiently short-lived that we don't need to worry about reverting changes we make to it.
2018-10-01test: librerelease: Begone with setup()Luke Shumaker
- move REPODEST to common.bash - don't bother setting PKGEXT
2018-10-01test: Centalize setup in common_setup where it makes senseLuke Shumaker