summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-08pacman-staging-i686.conf, pacman-testing-i686.conf, ↵Erich Eckner
pacman-staging-with-build-support-i686.conf: reorder repositories and add repo build-support for i686
2022-12-08.gitignore: devtools -> devtools32Erich Eckner
2022-12-08Makefile: devtools -> devtools32 in dist and upload targetsErich Eckner
2022-12-08Revert "Remove i686 support"Luke Shumaker
This reverts commit 7259e7def07a5f6ee04a34db61a87361ad0b5ac7, except for commitpkg.in
2022-12-08generate separate config file for i686 and x86_64Erich Eckner
2022-12-08mkarchroot.in: copy host's /etc/hosts into the chrootErich Eckner
2022-12-08arch-nspawn should use the correct pacman config fileErich Eckner
If arch-nspawn is called with -C, pacman inside the chroot will use the provided configuration file. This should also be the case for $pacconf_cmd and pacman outside the chroot. If arch-nspawn is called without -C, pacman inside the chroot will use $workdir/etc/pacman.conf -- again, $pacconf_cmd and pacman outside the chroot should use that, too. So lets just set $pac_conf in that case. For example, Arch Linux 32 provides separate pacman configurations inside /usr/share/devtools which use /etc/pacman.d/mirrorlist32 as mirrorlist for their build commands (extra-i686-build, etc.). This way, we can build i686 and x86_64 packages on the same x86_64 host with very minimal changes to devtools.
2022-12-08allow PKGEXT to be set from the environmentErich Eckner
2022-11-21mkarchroot: remove deprecated -d optionMorten Linderud
It's been deprecated for a few years now. https://github.com/archlinux/arch-install-scripts/commit/91562aa99cd8237a2dec1aff5101949e40bf7d75 Signed-off-by: Morten Linderud <foxboron@archlinux.org>
2022-11-08makerepropkg: Use $CARCH instead of hardcoded x86_64Hugo Osvaldo Barrera
`makerepropkg` has a hardcoded "x86_64", so fails to run on other [unofficial] architectures, because it tries to use an x86_64-specific makepkg config, which overrides CARCH=x86_64. This patch addresses hardcoded half of the problem; ArchLinux derivates still needs to ship a custom `devtools` package with their own `makepkg-$CARCH.conf`. Usually, the only thing that really needs to be changed in the per-architecture custom makepkg.conf is CARCH and CHOST. See: https://lists.archlinux.org/archives/list/arch-projects@lists.archlinux.org/thread/XEEW5LXYFN3XXI5YXAUY5E4LZLMKOFTL/
2022-11-07makepkg.conf: Include debug option by defaultMorten Linderud
Signed-off-by: Morten Linderud <foxboron@archlinux.org>
2022-10-12Version 2022101220221012Levente Polyak
2022-10-12common: prevent globbing and word splitting in find_cached_packageLevente Polyak
We changed the glob in 5d02c6df7f9cd3a2820149886e8a32e7d8e7a566 but we forgot to quote the newly introduced variables.
2022-10-13makechrootpkg: fix short option handling for makepkg_argsMike Yuan
Currently, when multiple short options are passed as a single argument, only the one that matches the first case statement will be parsed. This shall be fixed by using switch-case resume.
2022-10-11common: improve performance of find_cached_packageFelix Yan
find_cached_package was unnecessarily looping over all packages which uses a lot of CPU and could be exceptionally slow when PKGDEST contains a lot of packages. Fix this by adding the target pkgname, pkgver and arch to the glob and only process potential candidates.
2022-10-02Version 2022100220221002Levente Polyak
2022-09-01fix: do not set extglob globally to avoid side-effectsLevente Polyak
Instead only enable it for whatever operation requires them. Example sides effects: commitpkg can accidently execute PKGBUILD functions when sourcing the PKGBUILD that has function names like package_libsigc++() Fixes #87
2022-09-01make: declare lib files as build dependencies for bash src scriptsLevente Polyak
2022-09-01diffpkg: pass the --color option appropriately to diffoscopeLevente Polyak
Diffoscope has a different option, called --text-color which only understands the verbose options. Hence we extend the --color shorthand for --color=auto and pass the changed option name to diffoscope.
2022-08-31crossrepomove: fix moving debug packages to the target repoLevente Polyak
We did not copy over the optional debug packages to the staging environment before db-updating the moved state. Afterwards the db-remove call removed the debug packages from the source repo. This lead to dropping debug packages when using crossrepomove. This approach ensures we have a uniform shell to avoid shell glob behavior inconsistencies. The copy of the package path is mandatory and will error out if missing while the debug package path is optional as reflected by a subshell that succeeds either way. Fixes #92
2022-08-31makechrootpkg: support -A makepkg flagmorganamilo
2022-08-31fix: properly check for invalid argument in checkpkg and diffpkgLevente Polyak
The option switch case only matches by splitting via '|' instead of ','
2022-08-31diffpkg: prefer to search inside the pool dir if availableLevente Polyak
On certain packaging machines where the pacman cache gets updated very infrequently, the behavior of diffpkg may not function correctly as old packages were to be downloaded as diff target. In such cases we look for a pool directory first and search via a glob for an available pool package sorted by version. The pool search glob has three glob segments each disallowing the dash delimiter to split across pkgrel, pkgver and arch. This will return the correct package from the pool without considering overly eager wildcards that potentially match different pkgnames. The default pool search directory is /srv/ftp/pool
2022-08-31diffpkg: allow to set column width for side-by-side viewLevente Polyak
The magic values `columns` and `auto` allow to set specific aspects, with 'auto' as the default value: - auto: Set width to the maximum line length of all input files - columns: Set width to the shell defined $COLUMNS env var Furthermore any number can be passed to set a static width.
2022-08-23diffpkg: add colored output option with default of autoLevente Polyak
2022-08-23diffpkg: allow to choose between unified context and two columnsLevente Polyak
2022-08-13doc: Fixed spelling error in devtools man pageGreg Land
2022-06-22make: split out man page files into doc/man folderLevente Polyak
2022-06-22make: use GEN message for all generated contentLevente Polyak
2022-06-22cleanup: move PKGBUILD.proto to contrib folderLevente Polyak
2022-06-22doc: update links and references after moving to GitLabLevente Polyak
2022-06-22make: automatically collect man pages via wildcardLevente Polyak
2022-06-22make: split out source files into src folderLevente Polyak
2022-06-22make: split out config files into conf directoryLevente Polyak
2022-06-22make: split out completion scripts from root worktreeLevente Polyak
2022-06-22make: properly handle build target prerequisitesLevente Polyak
- Use wildcard for the lib directory for all binprogs - Fix individual man page prerequisites for asciidoc.conf and footer - Require all as prerequisite for the install target
2022-06-22make: use build dir as target instead of polluting root workdirLevente Polyak
This introduces a BUILDDIR make variable that is used as the target directory. This gives us more flexibility and easier control of a none dirty worktree by not polluting the main workdirs.
2022-06-22chore: remove executable bit from *.in source filesLevente Polyak
Those files should not be executable, its simply a wrong bit on the files as they are useless without preprocessing.
2022-06-22Version 2022062120220621Levente Polyak
2022-06-22export-pkgbuild-keys: fix export for packages without validpgpkeysLevente Polyak
In case the validpgpkeys array is empty or undefined, the empty printf line only included a single line break which lead to mapfile -t consuming it as an array with 1 element consisting of an empty string. Fix this by only calling the printf in case the validpgpkeys array is not empty. Without any output, the mapfile -t will simply produce an empty array. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-20Version 2022062020220620Levente Polyak
2022-06-10archrelease: support subdirectories in package directoriesLevente Polyak
We need to support subdirectories for the `keys` directory used to distribute PGP keys alongside the packaging sources. This is achieved by using `svn ls` to list the files and directories in the packaging root and leverage the behavior of `svn copy` to consider subdirectories inside the root but only copy over files and directories under the subdirectory that are already tracked by svn. As a step in between, we now use `svn ls --recursive` to list all tracked svn files in the current repos directory and remove all tracked files in the staging area. Hence the `svn copy` in combination with the `svn rm` will result in a sync behavior from the packaging root to the repos directory. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-10Add x86_64_v3 buildersAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2022-06-09Version 2022060920220609Levente Polyak
2022-06-09doc/export-pkgbuild-keys.1: fix filename to detect manpage locationLevente Polyak
The manpage doc has been added without a suffix which fails during install.
2022-06-09export-pkgbuild-keys: use TEMPDIR while exporting keyLevente Polyak
This avoids the possibility to pollute the keys directory with temporary files if the script is aborted in between. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09export-pkgbuild-keys: add simple success export messagesLevente Polyak
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09Export source PGPs from PKGBUILD on commitAllan McRae
Provide a tool to export keys listed in the PKGBUILDs validpgpkeys to keys/pgp/$fingerprint.asc. The presense of the "keys" directory alongside the PKGBUILD in trunk/ is tested during commitpkg. If the directory is abscent, keys are exported and added to the commit. If the directory is present, a check is made to ensure all valid PGP keys are provided. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09mkarchroot: generate and use C.UTF-8 by defaultFelix Yan
systemd >= 251 is forcing nspawns to use LANG=C.UTF-8: https://github.com/systemd/systemd/commit/b626f6959bcee11d966f96bd29a00502f4aa2ce4 It makes sense to generate the C.UTF-8 locate here when using it as the default LANG value. Related to: https://bugs.archlinux.org/task/74864
2022-06-09mkarchroot: unshare mount namespace to avoid broken root chroot creationFelix Yan
While `extra-x86_64-build -c` is running `pacstrap` and has `/var/lib/archbuild/extra-x86_64/root/run` mounted, another user logs in, thus creating a new mountpoint `/run/user/$uid` that propagates into `/var/lib/archbuild/extra-x86_64/root/run/user/$uid` leading to a broken root chroot. Successive `extra-x86_64-build -c` calls will result in cleanup errors: ``` $ extra-x86_64-build -c ==> Creating chroot for [extra] (x86_64)... -> Deleting chroot copy 'root'... rm: skipping '/var/lib/archbuild/extra-x86_64/root/run', since it's on a different device rm: skipping '/var/lib/archbuild/extra-x86_64/root/run', since it's on a different device ==> ERROR: Working directory '/var/lib/archbuild/extra-x86_64/root' already exists ==> ERROR: Aborting... ``` Reported by and patch adjusted from archlinuxcn. Fixes FS#64698