summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-26librechroot: check that copydir isn't mounted nosuid/noexecLuke Shumaker
2013-10-26librechroot: die if stdin isn't a TTY, be more verbose about it.Luke Shumaker
2013-10-26librechroot+indent: Add in a bunch of extra '\r's to work-around the systemd bugLuke Shumaker
2013-10-15librechroot: (bugfix) Use the correct exit status if stdout isn't a TTY.v20131015Luke Shumaker
Because of the work-around for systemd-nspawn's buggy I/O, it was discarding the exit status if stdout wasn't a TTY. My work-around for *this* is to set -o pipefail.
2013-10-15libremakepkg: hooks-chcleanup: fix variable name causing it to not runLuke Shumaker
2013-10-15test: libremakepkg: add a test for bug #442, chcleanup not runningLuke Shumaker
2013-10-15testenv: verify that there is a command passedLuke Shumaker
I keep running it without any arguments, thinking that I am now working inside of the test environment, when really it just exited right away with a 0 status.
2013-10-08conf.sh.3: fix the reference to {get,set}_conf_makepkg in the BUGS sectionLuke Shumaker
2013-10-07test: librerelease: also set REPODEST, as librerelease checks for it.v20131007Luke Shumaker
2013-10-07librechroot: If stdout isn't a TTY, pipe progs in the chroot through cat.Luke Shumaker
Also, warn if stdin isn't a TTY.
2013-10-07(oops) I missed an instance of get_conf_makepkg.Luke Shumaker
2013-10-07revert last commit, it makes systemd-nspawn not handle signals correctly.Luke Shumaker
I'm a fan of systemd-nspawn. I really am. It handles a lot of things the "right" way, so you don't have to. However, it handles PTYs and signals in an incredibly stupid way. Working around one is f---ed up by the other being wrong. Before I implemented the change that this reverts, this is what happens: systemd-nspawn> I need to create a PTY and proxy between it and stdio. I can specify a terminal size when doing this--I should set it to reflect the terminal I am connected to. systemd-nspawn> /dev/stdout: Are you a TTY? /dev/stdout> systemd-nspawn: No. ---- The correct thing to do here would be to either not set the size, ---- or set it to 80×24 systemd-nspawn> /dev/stdin: Are you a TTY? /dev/stdin> systemd-nspawn: Yes. systemd-nspawn> /dev/stdin: Great, what size are you? /dev/stdin> systemd-nspawn: I am X×Y. systemd-nspawn: libc: Please give me a PTY that is X×Y. ---- Why the f--- would you do this? The size only effects *output*. ---- If you don't know the characteristics of the output, set ---- reasonable defaults! Don't base it on the characteristics of the ---- input! My solution was to make /dev/stdin not be a TTY by closing it. This had the desired effect, but tripped up the signal handling. Here is how signals were handled before: systemd-nspawn> /dev/stdin: Are you a TTY? /dev/stdin> systemd-nspawn: Yes. systemd-nspawn> /dev/stdin: Great, please don't send SIGINT on C-c. I will handle it myself. *user presses C-c, systemd reads it* systemd-nspawn> child processes: here's a SIGINT. Here's what happens when I close, or do other things to make stdin not be a TTY: systemd-nspawn> /dev/stdin: Are you a TTY? /dev/stdin> systemd-nspawn: No. systemd-nspawn> /dev/stdin: Oh, OK. *user presses C-c, /dev/stdin interprets it* /dev/stdin> systemd-nspawn: Here's a SIGINT. systemd-nspawn> *dies, abandoning child processes* The clear correct thing to do would have been to *handle* SIGINT, and pass it along to the children.
2013-10-04libremakepkg: close stdin on most commands being sent through `indent`Luke Shumaker
Besides preventing interactive use, this prevents the program from knowing the size of the terminal.
2013-10-04librechroot/hook-chcleanup: look at /startdir/PKGBUILD, not /build/PKGBUILDLuke Shumaker
2013-10-04chcleanup: prevent searching PATH for PKGBUILDLuke Shumaker
2013-10-04test: Avoid letting environmental variables affect thingsLuke Shumaker
2013-10-04Fix tests for librereleaseLuke Shumaker
2013-10-04conf.sh: generalize {get,set}_conf_makepkg to {get,set}_varLuke Shumaker
2013-10-02Add documentation for lib/Luke Shumaker
* Add a bunch of man-pages * Add some comments to conf.sh * Add more information to librelib:usage()
2013-10-01libremakepkg: when prefixing output with ' | ', do better than sed.Luke Shumaker
There are two downsizes to using sed; it line-buffers, and (the existing pattern) doesn't handle '\r'. So, now I've included a Perl helper program to do a better job. I'd originally written it in C, and while that version was faster (the Perl version stutters occasionally), it required recompilation for different architectures. I could have gotten around that with tcc, but I didn't want to add any dependencies. Which is why I settled on Perl. It's part of group=(base), and it is required by packages in group=(base-devel), so I can count on it always being there. It doesn't handle every movement character, just '\n' and '\r', but that's enough for curl and pacman.
2013-09-30librerelease: add -u flag for upload-only; don't run db-updateLuke Shumaker
2013-09-30librerelease: fix upload size totalLuke Shumaker
2013-09-30librerelease: fixv20130930Luke Shumaker
2013-09-30librerelease: I was dumb and messed up the flags to `find`. Add unit tests.Luke Shumaker
2013-09-30test-common.sh: add an empty() routine to check if a file is empty, use itLuke Shumaker
2013-09-29Strip trailing whitespace everywhere.Luke Shumaker
find * -type f -not -name '*.patch' -exec sed -i -r 's/\s+$//' {} +
2013-09-29update the makechrootpkg patch to apply cleanly with an updated devtoolsLuke Shumaker
2013-09-29fullpkg-build: (minor) use printf instead of echo and post-processingLuke Shumaker
2013-09-29fullpkg-find: fiddle with some of the quoting, it was tripping up xgettextLuke Shumaker
2013-09-29fullpkg-find: add licensing informationLuke Shumaker
2013-09-29fullpkg: internationalizeLuke Shumaker
2013-09-26Makefile: create a standard 'pot' targetLuke Shumaker
2013-09-23Makefile: fix xgettext rulesLuke Shumaker
2013-09-23fullpkg: use tab for indentLuke Shumaker
2013-09-23librefetch: tidy up: use prose(), remove --version, remove $MAKEPKGLuke Shumaker
2013-09-23librerelease: print what HOOK* is configured too before running itLuke Shumaker
2013-09-22Merge commit '610699'Luke Shumaker
Conflicts: src/abslibre-tools/createworkdir
2013-09-22fix typo in usage text for librechrootLuke Shumaker
2013-09-22createworkdir: clean upLuke Shumaker
Use set -euE and trap for simpler error handling. Use libregit to fetch abslibre
2013-09-21librerelease: support per-user staging directoriesLuke Shumaker
The relies on db-update on the server respecting STAGING if it is set in the environment. https://labs.parabola.nu/issues/314
2013-09-21librerelease: tidy upLuke Shumaker
2013-09-21librerelease: Avoid locking the staging directory the whole time.Luke Shumaker
https://labs.parabola.nu/issues/410
2013-09-21abslibre-tools: internationalizeLuke Shumaker
2013-09-21librerelease: tidy upLuke Shumaker
2013-09-18librefetch: Don't inherit `options` or `PURGE_TARGETS`Luke Shumaker
2013-09-14libremakepkg: play with the outputv20130914Luke Shumaker
2013-09-14libremakepkg: clean up temporary files created by prepare_chrootLuke Shumaker
2013-09-14libremakepkg: add a librechroot_flags variable, split chrootbuild upLuke Shumaker
We split chrootbuild so that the initialization bit runs before hook_pre_build.
2013-09-14libremakepkg: remove extra call to clean_chrootLuke Shumaker
2013-09-13libremakepkg: I can't believe committed my debug statements.Luke Shumaker