- 07 Oct, 2019 1 commit
-
-
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>
-
- 04 Oct, 2019 1 commit
-
-
If we use make dist to create the official, signed release tarballs, those will not have meson build files by default since autotools doesn't know what they are. Also distribute all src/common/ files. We never strictly needed any of them to be distributed with autotools, because the dist tarball dereferences the symlinks (???), but only some of them were being distributed, and meson needs them to be in the right location as we only build libcommon from the primary files. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 28 May, 2019 2 commits
-
-
When scripting/automating around makepkg, it is sometimes desirable to know how makepkg will be configured to operate. One example is the archlinux devtools, which must forward select makepkg.conf variables into a build chroot (for example PACKAGER) or use those variables itself (for example {SRC,PKG,LOG}DEST). The configuration file can be in up to 3 places, and should be capable of being overridden via environment variables. It is sufficiently complex to represent distinct functionality, and sufficiently useful to merit easy accessibility in other scripts, therefore, let us move it into a publicly exposed utility library. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
These variables must begin with .src.tar / .pkg.tar respectively, so fail early if those expectations are not matched. This prevents makepkg from creating e.g. package files literally named "./pacman-5.1.3-1-x86_64" which are actually uncompressed tarballs. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 08 May, 2019 1 commit
-
-
Since makepkg exports a public library of functions, other projects may wish to use these functions. Highlights include parseopts or our messaging functions. Install a pkg-config file in order to let downstream users detect where they can source the libmakepkg functionality. This is useful e.g. to gracefully handle the case where a thirdparty project is configured and installed into a different datarootdir from pacman, but still wants to use the installed pacman's version of libmakepkg. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 19 Mar, 2019 2 commits
-
-
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>
-
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>
-
- 07 Mar, 2019 1 commit
-
-
Allan McRae authored
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 31 Jan, 2019 3 commits
-
-
Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them raise an error. This also disallows using 'any' as an architecture specific variable Signed-off-by:
morganamilo <morganamilo@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
makepkg will now error if disallowed variables are set inside of the package function. Disallowed variables are variables that do exist, like 'makedepends' and 'pkgver' but can not be set inside of a package function. Signed-off-by:
morganamilo <morganamilo@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Refactor many of the different arrays of pkgbuild variables into scripts/libmakepkg/util/schema.sh.in. Signed-off-by:
morganamilo <morganamilo@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 10 Jan, 2019 2 commits
-
-
This can only ever be an int, and the specification states that a malformed timestamp should be considered a fatal error. https://reproducible-builds.org/specs/source-date-epoch/ Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Given the depends depends=('foo>=1.2-1.par2') and the error message ==> ERROR: pkgver in depends is not allowed to contain colons, forward slashes, hyphens or whitespace. One would be lead to believe that the problem is that they gave a pkgrel in depends at all, not that the pkgrel contains letters. Each of the (check,make,opt)depends, conflicts, and provides linters use a glob to trim off properly formed epoch an rel from the full version string, and pass the remainder to check_pkgver(). This does a good job of accepting/rejecting full versions, but doesn't do a good job of generating good error messages when rejecting if it's because of the epoch or rel. 1. Factor out check_epoch() and check_pkgrel() from lint_epoch() and lint_pkgrel(), similarly to check_pkgver(). 2. Add a check_fullpkgver() that takes a full [epoch:]ver[-rel] string and splits it in to epoch/ver/rel, and calls the appropriate check_ function on each. 3. Use check_fullpkgver() in the {,check,make,opt}depends, conflicts, and provides linters. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 28 Nov, 2018 4 commits
-
-
Now that repo-add uses libmakepkg, it needs to have $LIBRARY set before testing it in-tree. [Allan: fix "make distcheck"] Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Instead of assuming all scripts are .sh.in and leaving a comment to that effect, just take the input file directly. This depends on the first dependency for the target being the source of the script. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
All of our scripts depend on the same pattern .sh.in, and since commit b5d62d2c , they also all (not just makepkg itself) depend on libmakepkg. There's no real reason to include separate targets for them just to establish dependency rules. While we are at it, fix a longstanding bug where generated wrapper scripts did not depend on wrapper.sh.in (which due to moving to .lib, requires we regenerate the script too), by making the shared target pattern depend on it. All our generated scripts now require the wrapper, even repo-add which now uses libmakepkg. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
repo-remove and repo-elephant don't care whether repo-add.sh.in is updated... but they do require the repo-add target to be up to date, so use that instead. As a bonus, use the same rule for both of them.
-
- 27 Nov, 2018 3 commits
-
-
This opens the door for third parties to provide libmakepkg extentions for the purpose of altering the build environment. Signed-off-by:
Que Quotion <quequotion@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
This opens the door for third parties who provide extensions to libmakepkg to supply scripts that confirm the presence of their dependant executables. Signed-off-by:
Que Quotion <quequotion@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
This was only ever used by paccache, and paccache has since been moved to pacman-contrib.
-
- 21 Oct, 2018 1 commit
-
-
Remove all remnants of library/{output_format,term_colors}.sh Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 20 Oct, 2018 1 commit
-
-
Dave Reisner authored
SIZECMD was replaced in 1af76698 with a POSIX solution, and this token is no longer used/needed.
-
- 10 Aug, 2018 1 commit
-
-
Default to the standard completionsdir, which is lazy-loaded, rather than hardcoding the compatdir which is not. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 13 May, 2018 1 commit
-
-
Many of these are pointless (e.g. there is no need to explicitly turn on spellchecking and language dictionaries for the manpages by default). The only useful modelines are the ones enforcing the project coding standards for indentation style (and "maybe" filetype/syntax, but everything except the asciidoc manpages and makepkg.conf is already autodetected), and indent style can be applied more easily with .editorconfig Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 29 Apr, 2018 1 commit
-
-
depends, provides, conflicts, replaces, and other variables that are meant to contain package names, are now checked to ensure 1) the name component contains only characters that would equate to a valid pkgname. 2) the version component contains only characters that would equate to a valid pkgver. 3) comparison operator is a valid comparison operator (e.g. provides only allows exact = while optdepends doesn't allow anything) This also refactors pkgname into a shared utility function, wires up pkgbase optdepends and provides to use it, and gives pkgver a touchup to allow referencing where it was called from. Fixes FS#57833 and a bit of extra. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 15 Mar, 2018 1 commit
-
-
Currently the only things we check are: - Things that should be arrays, are not strings, and vice versa (this was mostly copy-pasted from the similar code in lint_pkgbuild). - Variables that are meant to contain pathname components cannot contain a newline character, because newline characters in pathnames are weird and also don't play well with future changes intended for the --packagelist option. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 07 Dec, 2017 2 commits
-
-
This allows for more easily extending the list of allowed compression methods, as it has to be modified in only one place. Also allow the user to specify their own preferred command + options for source packages in addition to compiled packages. Currently, makepkg.conf(5) erroneously claims this is already possible.
-
For your convenience, makepkg now has 16 distinct ways to fail. Also closes FS#54204. Signed-off-by:
Ivy Foster <iff@escondida.tk> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 14 Sep, 2017 1 commit
-
-
Not all sed implementations on linux accept the --follow-symlinks argument, so let the user configure the arguments passed to sed if required. Signed-off-by:
Alastair Hughes <hobbitalastair@gmail.com> [Allan: fixed configure summary output] Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 04 Jan, 2017 1 commit
-
-
libalpm reserves paths starting with '.' for its own use and will not extract any other than those it recognizes. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 05 Dec, 2016 2 commits
-
-
libalpm's local database format does not support paths with newlines. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
After 1f8f0bd9 all scripts that were changed to using the wrapper for in-tree use have the wrappers installed to the system instead of the actual script, so change the install command to support all wrapped scripts instead of just makepkg. Signed-off-by:
Johannes Löthberg <johannes@kyriasis.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 22 Oct, 2016 3 commits
-
-
parseopts is used in makepkg and other scripts such as pacman-key as a getopt replacement. Instead of including it in those scripts via a macro, move it to libmakepkg/util/parseopts.sh and have scripts source this file where appropriate. To keep the parseopts test, a new variable was introduced: PM_LIBMAKEPKG_DIR Signed-off-by:
Alad Wenter <alad@archlinux.info> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Allan McRae authored
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In order for the scripts to be used in testsuites, it is easiest to generate all of them so they are found in the build directory (which may be different to the source directory). Signed-off-by:
Alad Wenter <alad@archlinux.info> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 11 Oct, 2016 1 commit
-
-
Allan McRae authored
makepkg-wrapper did not get rebuilt if makepkg was regenerated due to library changes. Ensure makepkg-wrapper is always generated and linked any time makepkg changes. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 10 Oct, 2016 2 commits
-
-
Allan McRae authored
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Allan McRae authored
The people who believe that pacman-optimize is actually doing something useful are the same people who are voting for Trump. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 18 May, 2016 1 commit
-
-
Signed-off-by:
Ashley Whetter <ashley@awhetter.co.uk> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 28 Mar, 2016 1 commit
-
-
Signed-off-by:
Ashley Whetter <ashley@awhetter.co.uk> Signed-off-by:
Allan McRae <allan@archlinux.org>
-