summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-11-05Merge branch 'archlinux'libretools-20141128Luke Shumaker
Conflicts: arch-nspawn.in archbuild.in makechrootpkg.in
2014-09-22common: remove unreachable statementDave Reisner
We run from a non-interactive shell, so the exec which is inevitably called will replace the current process and 'die' will never run under any circumstances. This also fixes a bug with the su fallback which would cause multiple arguments to be concatenated without any whitespace between them.
2014-09-22common.sh: propagate error through trap_exitDave Reisner
Fixes a breakage introduced in 6db31cc16a80442 which leads to errors being masked from makechrootpkg.
2014-05-11Add changes discussed with Dave Reisner on the arch-projects list.libretools-20140511Luke Shumaker
- Simplify the commented out call to find HOST_NAME_MAX - Use `systemd-nspawn -q` instead of 2>/dev/null - Use Bash 4.1's new {var}>&- syntax in lock_close()
2014-05-10Tidy up.Luke Shumaker
2014-05-10lib/common.sh: Use `[[ a -ef b ]]` instead of double calls to `readlink -f`Luke Shumaker
2014-05-10Merge remote-tracking branch 'arch/master'Luke Shumaker
Conflicts: lib/common.sh makechrootpkg.in
2014-05-10Switch to root when started as regular userSébastien Luttringer
In collaborative builder machine, these scripts are often allowed to become root via sudo. This patch avoid to prefix them by sudo each time or call su. Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2014-05-10get_full_version :: remove duplicated epoch checkBlackEagle
Signed-off-by: BlackEagle <ike.devolder@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2014-05-10when cleanup is called without code exit with 0BlackEagle
Signed-off-by: BlackEagle <ike.devolder@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2014-05-10abort and die are serious errors so throw 255 outBlackEagle
Signed-off-by: BlackEagle <ike.devolder@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2014-01-04Merge branch 'devtools'Luke Shumaker
Conflicts: checkpkg.in lib/common.sh makechrootpkg.in
2013-11-04find_cached_package: avoid adding duplicatesDave Reisner
If PKGDEST is set when makepkg was run, the package will be present in find_cached_package's search path by default, causing an error. This also fixes a display bug which causes no output to be shown when multiple packages are found. Fixes FS#37626. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-11-01common: implement find_cached_packageDave Reisner
This function (currently) searches through $PWD and $PKGDEST looking for a tarball matching the requested package name, architecture, and pkgver. If found, it writes the full path to the located package to stdout and returns 0, else 1. If more than 1 match is found, it's treated as an error and the user will need to figure out what to do. Use this in checkpkg and commitpkg, which previously implemented their own less complete logic, to locate the build artifacts they rely on. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-10-09This is embarrassing, I messed up the braces on $@ for lock/slocklibretools-20131015Luke Shumaker
2013-08-16support formatted messages to stat_busy, lock, and slockLuke Shumaker
2013-08-16Merge remote-tracking branch 'remotes/devtools/master'Luke Shumaker
2013-08-08common: Properly forward arguments from die to errorDave Reisner
Also allow this function to be called without arguments, in which case, don't call error at all. Some uses of this function wrongly assumed that this was already allowed. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-06-15Merge commit 'a7a0': merge our and their lock functionsLuke Shumaker
Arch's have shorter names, and properly escape the filename. Ours create the directories, and check if the locks are already open. The best of both worlds. When merging the usages of them, I used arch's messages. Ours are too long, even if they are more informative.
2013-06-15redo the lock functions to not append .lockLuke Shumaker
mkarchroot.in didn't need modified because it already (incorrectly) had .lock in the filename
2013-06-03lock_open_* fix possible bug caused symlinked directorieslibretools-20130605Luke Shumaker
If somewhere in the path to ${path}.lock there was a symlink, then it would fail to inherit the lock from the parent program, and stall.
2013-06-03fix bugs with `set -u` in common.shLuke Shumaker
2013-05-27common.sh: unset COLOR variables in a way that is `set -u` safe.Luke Shumaker
2013-05-26undo accidental change of permissions on lib/common.shLuke Shumaker
2013-05-03lib/common.sh: Introduce locking helper functionsJan Alexander Steffens (heftig)
Reduces code duplication. With makechrootpkg not calling mkarchroot anymore, the lock handover protocol is unneeded. arch-nspawn does not do any locking, so add protection to archbuild.
2013-05-02lib/common.sh: use gettext for WARNING/ERROR/done hardcoded text.Luke Shumaker
2013-04-25lib/common.sh: Make setup_workdir()/cleanup() safe for programs to not useLuke Shumaker
2012-12-02lib/common.sh: create directories for locks if they don't existLuke Shumaker
2012-11-25Use common functions to handle file lockingLuke Shumaker
* lib/common.sh: implement - lock_open_write() - lock_open_read() - lock_close() * archbuild.in, makechrootpkg.in, mkarchroot.in: use said functions This has two benefits: 1. All programs using these methods gain the ability to inherit locks, something that only mkarchroot could do before. This allows the commands to be more compos-able. 2. It is more readable. File locking isn't obvious.
2012-10-27Fix return code handlingJan Alexander Steffens (heftig)
Stop trap_exit from forcing a 0 exit code. This fixes makechrootpkg, which used to always return success, even if the build failed. Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-03Use dedicated trap functions to avoid unsetting the trap when e.g. cleanup ↵Pierre Schmitz
is called
2012-06-16mkarchroot: reset trap so it wont be called twicePierre Schmitz
2012-02-12archrelease: Validate tags before releasingLukas Fleischer
Compare every single tag with a list of valid tags. This prevents broken releases which occurred whenever someone made a typo on the command line: $ ./archrelease community i686 ==> ERROR: archrelease: Invalid tag: "community" (use -f to force release) Since the list is used in the ZSH completion as well, break it out to a separate file and move it to "lib/". Also, add a command line parameter to allow for releasing to an unknown repository when necessary. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-04lib/common.sh: Revise setup_workdir()Lukas Fleischer
* Honor TMPDIR variable (just like we did in commit a0c6bf45). * Quote path properly. * Avoid unnecessary use of basename(1). Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-04lib/common.sh: Use double bracketsLukas Fleischer
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-01Move common functions to a shared filePierre Schmitz
* common.sh is included on build time * most functions are copied from makepkg