summaryrefslogtreecommitdiffstats
path: root/build-aux
AgeCommit message (Collapse)AuthorFilesLines
2021-04-23meson: make our symlinking script more portableEli Schwartz1-5/+3
We do not need the --relative case as it is dead code (we only ever link a filename without directory components). For the rest, GNU-specific ln -T does two things: - if the link name is an existing directory, ln fails instead of creating a surprising link inside the directory - if the link name is a symlink to a directory, ln treats it as a file, and due to -f, unlinks it The second case can be portably solved by ln -n, and both cases can be solved by doing what the original autotools Makefile did: rm -f && ln -s If the file exists, it will be removed. If it cannot be removed, it must be an ordinary directory, and the script aborts with an error. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2021-03-25remove sed command lookup and hardcoding in edit-script.shEli Schwartz1-1/+1
We should not need to hardcode the path to sed as we simply don't care. We don't check what kind of sed we found, and we're using the same one we initially found on the PATH, which is surely still on the PATH. At one point we did care to find the system copy of sed and hardcode it in makepkg, because we also passed non-portable -i options to it and makepkg needed to continue working on macOS even if some incompatible GNU sed got installed afterward, elsewhere on the PATH. But this was never relevant to the in-tree buildsystem script running sed. In commit 3a814ee6bca9ee24a868c0dc032b321048a53e08 we removed even that, so we don't need to look it up at all. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2021-01-21gitlab-ci: print output and logs for failed testsAndrew Gregory2-0/+28
Signed-off-by: Allan McRae <allan@archlinux.org>
2020-01-27Remove unneeded ltmain patchAllan McRae1-33/+0
Many moons ago, libtool was bad - I mean worse than today! It gobbled all --as-needed and we ended up with an overlinked libalpm. This was annoying, particularly when dealing with soname bumps in libraries pacman/libalpm had no business linking to. Luckily we had a fix, stolen from GNOME I believe. And with that fix, we lived in harmony with libtool for many years. Until one day, unbeknownst to us, libtool was "fixed". We kept applying our patch, because it still applied, but it did worse than nothing. It gobbled up our other LDFLAGS, and our libalpm started missing out on RELRO and BIND_NOW. This made the Arch Security Team unhappy. We will make them happy again by stopping the patch. Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-26meson: make non-symlink scripts install for real, and use a better wrapperEli Schwartz1-6/+0
We now generate the scripts using their real name, install them using meson's builtin facility instead of an install_script, and generate the wrapper scripts in the root of the build directory, instead of a subdirectory. This gets us closer to resolving FS#64394. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-06Remove "Generated from ...; do not edit by hand" from scriptsAllan McRae1-1/+0
This is a useless piece of information. Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-06makepkg: replaces sed in-place with built in substitutionEthan Sommer1-2/+0
Reads PKGBUILD into an array and replaces the pkgver and pkgrel with bash parameter substitution, then uses shell redirection to write to to the file. Because shell redirection follows symlinks, this accomplishes the same thing as the previous default of using the GNU-specific --follow-symlinks sed flag. Removes SEDPATH and SEDINPLACEFLAGS from the build systems as they are not used elsewhere. Signed-off-by: Ethan Sommer <e5ten.arch@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2019-11-05Move update-copyright into build-auxAllan McRae1-0/+8
This is a useful function to update all our copyright years. Move it into build-aux so that it is not lost in the switch to meson. Signed-off-by: Allan McRae <allan@archlinux.org>
2019-10-07Support file with seccomp enabledEli Schwartz1-0/+1
Not all compression types can be detected in the seccomp sandbox, so we need to disable it. This requires either configuring makepkg to know the sandbox is available, or checking for file >= 5.38 in which the sandbox option is a no-op even when seccomp is disabled. - Requires autoconf-archive for autotools version compare macro. - meson version comparison could be made a lot simpler using meson-git. Fixes FS#58626 Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2019-08-12meson: remove tap-driver.py, use meson's TAP protocolDave Reisner1-296/+0
This includes a patch from Andrew to fix pactest's TAP output for subtests. Original TAP support in meson was added in 0.50, but 0.51 contains a bugfix that ensures the test still work with the --verbose flag passed to meson test, so let's depend on that.
2019-08-05build-aux: detect build dir based on build.ninjaDave Reisner1-1/+1
.ninja.log is only present after building (successful or otherwise) the project, but build.ninja is output as soon as the build dir is setup. Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19drop DU* config variablesSantiago Torres1-2/+0
Since DUFLAGS and DUPATH are not needed anymore remove them from the source Signed-off-by: Santiago Torres <santiago@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2019-03-19build: remove references to variable replacements from pacman-optimizeEli Schwartz1-2/+0
MODECMD and OWNERCMD are not used by pacman itself, so we don't need to check for and replace them now that pacman-optimize is removed. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28meson: be more accurate in comments when generating processed scriptsEli Schwartz1-1/+1
Instead of assuming all scripts are .sh.in and leaving a comment to that effect, just take the input file directly. Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-28build-aux: rm annoying and useless fileEli Schwartz1-652/+0
tap-driver.sh is added to the build tree by autoreconf, and contains upstream modifications as such. This results in dirty working trees. It was originally added in commit 403c175dbc84a8198b92bbe76f66eade613cff48 which made the testsuite use automake, but as far as I can tell, never served any purpose. Signed-off-by: Allan McRae <allan@archlinux.org>
2018-11-02meson: add a wrapper to bootstrap scripts from within build dirDave Reisner2-0/+12
This doesn't do quite as good of a job of "hiding away" the real script as we did with autotools, but it satisfies the need for being able to run scripts which depend on libmakepkg with the local copy within the repo. We do, however, improve upon the autotools script by ensuring that the bash path used in configuring pacman is the interpreter used to run the underlying script.
2018-11-02Add meson.build files to build with mesonDave Reisner4-0/+380
Provide both build systems in parallel for now, to ensure that we work out all the differences between the two. Some time from now, we'll give up on autotools. Meson tends to be faster and probably easier to read/maintain. On my machine, the full meson configure+build+install takes a little under half as long as a similar autotools-based invocation. Building with meson is a two step process. First, configure the build: meson build Then, compile the project: ninja -C build There's some mild differences in functionality between meson and autotools. specifically: 1) No singular update-po target. meson only generates individual update-po targets for each textdomain (of which we have 3). To make this easier, there's a build-aux/update-po script which finds all update-po targets and runs them. 2) No 'make dist' equivalent. Just run 'git archive' to generate a suitable tarball for distribution.
2013-08-21integrate tests with automakeAndrew Gregory1-0/+652
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2013-07-22Patch ltmain on autoreconfAllan McRae2-1/+35
We used to carry a patched version of ltmain in our repos to fix libtools issues with -Wl,-as-needed. Now that ltmain is "generated" by autoreconf, we manually patch it afterwards. Signed-off-by: Allan McRae <allan@archlinux.org>
2013-07-22Update gitignore files for use with autoreconfAllan McRae1-0/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2013-07-22Remove autotools filesAllan McRae9-15674/+0
Signed-off-by: Allan McRae <allan@archlinux.org>
2013-06-26update to automake 1.14Allan McRae6-471/+1084
Signed-off-by: Allan McRae <allan@archlinux.org>
2013-01-28Update "missing" fileAllan McRae1-311/+150
The latest automake release causes complaints about an out of date 'missing' file during configure. Sync with upstream. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-04-09buildsys: move autotools bloat to build-auxDave Reisner8-0/+15222
Signed-off-by: Dave Reisner <dreisner@archlinux.org>