summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-26arch-nspawn: limit the machine_name length to ${HOST_NAME_MAX:-64} chars.Luke Shumaker
The criteria for a valid name are: - is made of of alphanumerics, "_", ".", and "-" - is not emtpy - cannot end with "." - cannot contain ".." - the maximum length is HOST_NAME_MAX, as defined in <limits.h> The existing code takes care of all but the last of these. So, added code after the existing code to check the length of the string, and grab the longest possible substring from the end. I hard-coded our interpretation of HOST_NAME_MAX as 64--on Linux that has been the value since version 1.0 of the kernel... I don't think it will be changing any time soon, and since systemd is Linux-only, we don't have to worry about other kernels. But, just in case, I included a commented out version that uses cpp to get the value.
2013-09-26Merge branch 'devtools' (early part)Luke Shumaker
Conflicts: arch-nspawn.in This effectively reverts my machine_name patch; I took a simpler route to dealing with a working_dir with funny characters in it, using a different scheme for the machine_name. This fixes the problems devtools' original scheme had, so I'm going back to that.
2013-09-23checkpkg: I missed a case of string interpolationLuke Shumaker
2013-09-11arch-nspawn: set machine_name in a safer/different way, don't hide errorslibretools-20130914Luke Shumaker
2013-08-18checkpkg: avoid using PKGEXT to guess tarball nameDave Reisner
We can't rely on PKGEXT since it's not sourced from a controlled location. Case in point, if a user sets PKGEXT=.pkg.tar.gz, checkpkg fails and offers no easy workaround. Instead, use glob expansion to resolve the name of the tarball, bailing if it can't be found definitively. This involves some refactoring to avoid modifying PWD (which is advisable regardless). Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18ensure that PKGBUILDs aren't sourced via PATHDave Reisner
Fixes FS#36378. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18arch-nspawn: allow oddly named directoriesDave Reisner
This fixes various errors one might encounter when trying to use a build root or cachedir with whitespace in it. Note that the cachedir fix is not a complete one, as pacman's output is unreliable (and not meant for parsing here). Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18arch-nspawn: avoid escaping mount_argsDave Reisner
eval is no longer involved in the execution of systemd-nspawn, so we no longer need a layer of escaping on the arguments. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-16Avoid having code/variables in format strings.Luke 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-08Prepare release20130808Pierre Schmitz
2013-08-08Update makepkg.conf from pacman 4.1.2Pierre Schmitz
2013-08-08Makefile: validate generated files as part of buildDave Reisner
For example... $ make GEN checkpkg GEN commitpkg GEN archco archco: line 179: unexpected EOF while looking for matching `"' archco: line 181: syntax error: unexpected end of file make: *** [archco] Error 2 Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-08avoid injecting code into the format stringDave Reisner
Now that die() properly forwards arguments to error(), we can expect that the first arg is a format string and not the entirety of the output. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
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-08-08arch-nspawn: remove leading - from the machine name/hostnameFlorian Pritz
Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-06-15mkarchroot: update usage() textLuke Shumaker
2013-06-15makechrootpkg: ~/.makepkg.conf should take precedence over /etc/Luke Shumaker
2013-06-15makechrootpkg: handle makepkg_args betterLuke Shumaker
- handle it as an array - have the usage text print out the actual default args, instead of the defaults plus whatever has been parsed before `-h` - getopts turns any unknown flag into `-?`; don't add `*)` to makepkg_args - use in_array to see if it contains -R instead of looping ourselfs - pass it as a series of flags to /chrootbuild; preserving whitespace.
2013-06-15Merge branch 'devtools'Luke Shumaker
2013-06-15Merge commit '7ca4e'Luke Shumaker
Conflicts: makechrootpkg.in
2013-06-15Merge commit 'abba'Luke Shumaker
Conflicts: makechrootpkg.in
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-15Merge commit '0e98'Luke Shumaker
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-15Merge commit '4535'Luke Shumaker
Conflicts: makechrootpkg.in mkarchroot.in
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-25prepare new release20130525Pierre Schmitz
2013-05-25Move all scripts from sbin to bin directoriesPierre Schmitz
2013-05-25Update .gitignoreJan Alexander Steffens (heftig)
2013-05-25crossrepomove: copy packages locallyJan Alexander Steffens (heftig)
Nymeria's HTTP mirror is now password-protected and crossrepomove broke.
2013-05-25makechrootpkg: Add hack for svn sources and makepkg 4.1.1Jan Alexander Steffens (heftig)
2013-05-14makechrootpkg.in: only run `makepkg "$copydir/repo"` onceLuke Shumaker
2013-05-14makechrootpkg.in: even though it is, don't require $pkgfile to be absolute ↵Luke Shumaker
when adding it to the local repo
2013-05-11makechrootpkg: Update comments to point out the bad hacksJan Alexander Steffens (heftig)
2013-05-11archbuild: Correct makechrootpkg argument orderJan Alexander Steffens (heftig)
The user-passed makechrootpkg_args may contain a "--" to pass arguments to makepkg. In this case, the order is wrong.
2013-05-11arch-nspawn: Quiet systemd-nspawn againJan Alexander Steffens (heftig)
systemd-nspawn always outputs some debug messages over stderr. Both stdout and stderr from inside the chroot are sent through a pty to stdout.
2013-05-11makechrootpkg: Split out chrootbuild into a functionJan Alexander Steffens (heftig)
Now syntax highlighting works properly! :D
2013-05-06makechrootpkg: Ensure we have a writable PKGBUILDJan Alexander Steffens (heftig)
For pkgver updates.
2013-05-06arch-nspawn: setarch to CARCHJan Alexander Steffens (heftig)
Allows calling makechrootpkg without worrying about the architecture
2013-05-03makechrootpkg: Avoid parsing PKGBUILD and support VCS sourcesJan Alexander Steffens (heftig)
- Ensure sources are available before entering chroot - Bind STARTDIR and SRCDEST into the chroot read-only - Refactor makechrootpkg and introduce meaningful functions Avoids copying stuff from/to the chroot as much as possible. With VCS sources these copies can get quite expensive.
2013-05-03makechrootpkg: Remove add_to_db featureJan Alexander Steffens (heftig)
I don't think this is much use in our common workflow. Our pacman configs don't even make a reference to /repo.
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-03arch-nspawn: Set machine nameJan Alexander Steffens (heftig)
Recent changes to systemd-nspawn have it take the machine name from the chroot dir name, which isn't unique enough for our setup.
2013-05-02lib/common.sh: use gettext for WARNING/ERROR/done hardcoded text.Luke Shumaker
2013-05-02mkarchroot: rename mode -i (install) to -m (make)Luke Shumaker