Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fixes FS#36654: https://bugs.archlinux.org/task/36654.
Signed-off-by: Maxime Gauduin <alucryd@gmail.com>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
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>
|
|
Instead of dying at the first sight of an unversioned file, this lets
commitpkg dump all known unversioned files at once.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
We shouldn't be in the business of reparsing makepkg's arguments, but
since we have to treat the case of repackaging separately, do a better
job of trying to find signs of it happening. This change lets you pass
the longopt, --repackage, or multiple shortopts such as -RA, and still
get the intended effect.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
The bsdtar options were in the incorrect order and objdump couldn't find the files.
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
Piggyback on systemd-nspawn's --bind and --bind-ro flags to allow
arbitrary mount points to be added to the build container.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
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>
|
|
Fixes FS#36378.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
|
|
|
|
- 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.
|
|
|
|
Conflicts:
makechrootpkg.in
|
|
Conflicts:
makechrootpkg.in
|
|
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.
|
|
|
|
mkarchroot.in didn't need modified because it already (incorrectly) had
.lock in the filename
|
|
Conflicts:
makechrootpkg.in
mkarchroot.in
|
|
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.
|
|
|
|
|
|
|
|
|