summaryrefslogtreecommitdiff
path: root/scripts/makepkg.sh.in
Commit message (Collapse)AuthorAge
* makepkg: handle "epoch=" in PKGBUILD with pkgver functionAllan McRae2014-06-29
| | | | | | | | | | After resourcing the PKGBUILD in update_pkgver(), set the epoch to 0 if it is empty. Also adjust the get_full_version function to be more robust if epoch somehow still is empty. Fixes FS#41022. Signed-off-by: Allan McRae <allan@archlinux.org>
* Use C locale for bsdtar calls during package creationAllan McRae2014-06-12
| | | | | | | This ensures packages build on a UTF-8 locale system with non-ASCII character names can be installed on non-UTF-8 systems. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Remove redundant sig generation commentJohannes Löthberg2014-06-10
| | | | | | | Remove the comment above the signature generation command as the command is self explanatory and no longer does what the comment says. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: pass "--nocolor" to pacmanAndrew DeMaria2014-05-25
| | | | | | FS#39982. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Force buildscripts to be in startdirAllan McRae2014-05-25
| | | | | | | | | | | | We expect all source file to lie in $startdir. However, using "makepkg -p <buildscript>" can currently allows people to specify buildscripts in other directories. This results in confusion about where other sources should lie (in startdir or in the directory that the buildscript is in). Explicitly disable using -p for files in other directories to avoid this issue. Fixes FS#40293. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Introduce validpgpkeys arrayThomas Bächler2014-05-23
| | | | | | | | | | If validpgpkeys is set in the PKGBUILD, signature checking fails if the fingerprint of the key used to create the signature is not listed in the array. The key's trust value is ignored. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Treat a signature from an untrusted key as an errorThomas Bächler2014-05-23
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Use read to parse status file during signature verification.Thomas Bächler2014-05-23
| | | | | | | | | | Instead of invoking grep multiple times, parse the status file once. This refactoring also changes the behvaiour when signature verification fails due to a missing public key: It is now an error instead of a warning. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: use dash instead of underscore in /usr/lib/debug/.build-idSteven Noonan2014-04-21
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* Always supply base name and version info in .PKGFILE if neededAllan McRae2014-03-27
| | | | | | | | Provide pkgbase information for non-split packages with pkgbase set. Also record the version of the "base" package. This is useful for matching package files to source packages. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: sign source packages with --signAllan McRae2014-03-27
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Reorder some entries in usage() and getoptsPierre Neidhardt2014-03-13
| | | | | Signed-off-by: Pierre Neidhardt <ambrevar@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: enforce fakeroot usageAllan McRae2014-03-12
| | | | | | | | | | Packaging outside of fakeroot can result in incorrect permissions for package files. It has been years since fakeroot issues during packaging were common, so it is safe to enforce fakeroot usage. If using fakeroot is impossible for some reason, a two line wrapper script will suffice to fool makepkg. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Remove --asroot optionAllan McRae2014-03-12
| | | | | | | The days of fakeroot being error ridden are long gone, so there is no valid reason to run makepkg as root. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Add a --noarchive option to inhibit archive creationPierre Neidhardt2014-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. Packagers who want to test the package() function, i.e. to check the content of the pkg/ folder. 2. Developers who want to check how the packaged version of a program looks, in other words how the pkg/ folder looks. 3. For users of systems with no port tree, makepkg can ease package creation. However the resulting archive of the whole makepkg process is often useless. For all situations, makepkg will usually be called several times. But no archive (the final package) is needed in any cases. The archive creation ends up being a waste of time and resource, especially for big applications and slow machines. Since this option aborts the process prematurely, it behaves like the -o,--nobuild option, i.e. any other option acting on later stages in the process will be automatically discarded. For --noarchive, it means that in $ makepkg --noarchive --install the '--install' option does not do anything. Signed-off-by: Pierre Neidhardt <ambrevar@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Comment on install_package() return codePierre Neidhardt2014-03-12
| | | | | | | | | Previously, install_package() return code was either used as exit code or ignored. This was rather confusing. The return code is now always ignored and a comment on install_package() has been added. Signed-off-by: Pierre Neidhardt <ambrevar@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Support kernel.org's PGP signature schemeThomas Bächler2014-03-03
| | | | | | | | Files hosted on kernel.org only provide signatures for the uncompressed tarball. Support this scheme by transparently uncompressing the archives and piping the data into gpg. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: implement support for stripping kernel modulesSteven Noonan2014-03-03
| | | | | | | | | | | | | | | I noticed when I built a kernel package with options 'strip' and 'debug' that the debug package was missing the debug information for the kernel modules. This patch adds kernel modules to the targets for 'strip' and is compatible with the split-out debug information packages. v2: Correct logic error -- did a 'continue' after the 2nd-level case statement instead of in the default case. v3: Oops, forgot to terminate outer case. Ran this version through the test suite and all tests passed. Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: remove unneeded "|| true"Allan McRae2014-02-02
| | | | | | | makepkg only aborts on errors during PKGBUILD functions so the remaining "|| true" statements are unneeded. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Fix typo in variable nameAllan McRae2014-02-02
| | | | | | | | | It turns out that you should refer to variables by their actual name... Introduced in commit a521cea9. FS#38414. Signed-off-by: Allan McRae <allan@archlinux.org>
* Prevent makepkg creating armored signaturesLars Gustäbel2014-02-02
| | | | | | | | | If the user has "armor" in thier gpg.conf, makepkg will create an ascii-armored signature. Use --no-armor in the gpg call to avoid. FS#38503. Signed-off-by: Allan McRae <allan@archlinux.org>
* Remove ts and sw from vim modeline when noet is setFlorian Pritz2014-01-28
| | | | | | | | | | | | Forcing vim users to view files with a tabstop of 2 seems really unnecessary when noet is set. I find it much easier to read code with ts=4 and I dislike having to override the modeline by hand. Command run: find . -type f -exec sed -i '/vim.* noet/s# ts=2 sw=2##' {} + Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Allan McRae <allan@archlinux.org>
* Update copyright years for 2014Allan McRae2014-01-06
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix check for distccMaxime Arthaud2013-12-21
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix consistency of downloaded sources permissionsSébastien Luttringer2013-12-15
| | | | | | | | | | Running 'makepkg -g' or 'makepkg' to download source files results in different permissions on the files if the user has a non-default umask. Put the umask definition at the "beginning" of the makepkg script to ensure all files generated by makepkg have a 0022 umask. Signed-off-by: Allan McRae <allan@archlinux.org>
* Improve --help switch output for pacman contrib and pacman scriptsJason St. John2013-11-15
| | | | | | | | | | | | | | | | | | | Unify the formatting of the --help switch for pacman utils, if it exists. All of the pacman utils will now output help text using the following format: util-name (pacman) v<pacman version> one line description of util's purpose Usage: util-name [options] -b, --bar whatever --bar does -f, --foo whatever --foo does -h, --help display this help message Reported-by: Karol Błażewicz <karol.blazewicz at gmail.com> Signed-off-by: Jason St. John <jstjohn@purdue.edu>
* Fix whitespace and other formatting issuesJason St. John2013-11-15
| | | | | | | | | This commit: -- replaces space-based indents with tabs per the coding standards -- removes extraneous whitespace (e.g. extra spaces between function args) -- adds missing braces for a one-line if statement Signed-off-by: Jason St. John <jstjohn@purdue.edu>
* makepkg: move update_pkgver out of extract_sourcesAllan McRae2013-11-15
| | | | | | The extract_sources function should be just extracting sources. Signed-off-by: Allan McRae <allan@archlinux.org>
* Return zero from extract_file with local source fileAllan McRae2013-11-15
| | | | | | | | The call to bsdtar to check if a file needs extracted returns 1 if it does not. We then propegate this return value accidentally which can cause makepkg to report an error later on. Explicitly return 0 in this case. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: only remove static libraries if they have a shared versionAllan McRae2013-11-08
| | | | | | | It is fairly common that packages contain static libraries with no shared counterpart. These should not be removed with !staticlibs. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Allow "static library" to be translatedAllan McRae2013-11-01
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: do not allow badly formatted arch linesAllan McRae2013-10-31
| | | | | | | | It appears there are a lot of packages with arch=('i686 x86_64') floating around. Quote the arch array when passing as a parameter to detect such things. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: allow empty source arraysAndrew Gregory2013-10-31
| | | | | | | Necessary for metapackages. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: validate updated pkgver before replacementDave Reisner2013-10-15
| | | | | | | | | | | | | | | | Validate the new pkgver efore blindly ramming it into the PKGBUILD. This gives us good feedback and prevents corrupting the PKGBUILD, e.g. ==> Starting pkgver()... ==> ERROR: pkgver is not allowed to contain colons, hyphens or whitespace. ==> ERROR: pkgver() generated an invalid version: a horse is not a pkgver As an additional failsafe, exchange a valid for invalid character as command separator in @SEDINPLACE@ expressions. For even more paranoia, exit if sed fails for any reason. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: use source_safe when resourcing BUILDFILEAllan McRae2013-10-15
| | | | | | After updating the pkgver, we still need to safely source the BUILDFILE. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add LIBRARY variableAllan McRae2013-10-14
| | | | | | | | | This points makepkg to where is library is located. Can be overridden by value in the environment. Signed-off-by: Allan McRae <allan@archlinux.org> [Ashley: Rebased] Signed-off-by: Ashley Whetter <ashley@awhetter.co.uk>
* makepkg: alphabetically order option variablesAllan McRae2013-10-14
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: do not refer to src/ or pkg/Allan McRae2013-10-14
| | | | | | Use $srcdir and $pkgdir instead. Signed-off-by: Allan McRae <allan@archlinux.org>
* Add a -C, --cleanbuild option to clear the source directory before building ↵Lukáš Jirkovský2013-10-14
| | | | | | | | | a package. Implements FS#17175. [Allan: Minor changes to output strings, fix removing of source directory] Signed-off-by: Allan McRae <allan@archlinux.org>
* Link non-vcs sources into $srcdir during extractionAllan McRae2013-10-14
| | | | | | | | | | | | | The separation between downloading and extracting for non-vsc sources was incomplete due to symlinks being made in $srcdir during the download stage. Have download_{local,file} just ensure the presence of the files in $startdir or $SRCDEST (downloading if needed) and then have extract_file symlink these files into $srcdir. Also replace "continue" with "return" in extract_file to make it clearer what is happening. Signed-off-by: Allan McRae <allan@archlinux.org>
* Remove makepkg license checkAllan McRae2013-10-14
| | | | | | | There is little reason for this field to be checked over all other fields. Signed-off-by: Allan McRae <allan@archlinux.org>
* Use $srcdir/ rather than src/ in makepkg helpAllan McRae2013-10-14
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: redirect downloader output to STDERRXyne2013-09-18
| | | | | | This allows scripts to safely capture the output of "makepkg -g". Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: include all hash types in integlistXyne2013-09-18
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: use c-style for loops for integrity checksDave Reisner2013-09-18
| | | | | | | | | | These loops already maintain an independent loop counter, so cut out the middle man. While this change doesn't necessarily require that we drop support for sparse arrays, we do via this patch. A new lint check is added in check_sanity to abort when a sparse array is encountered. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: always use read's -r flag with filenamesDave Reisner2013-09-18
| | | | | | | | These are all cases where we're reading filenames -- any backslashes are intentional and should not be interpreted. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: inline creation of checksum indentingDave Reisner2013-09-18
| | | | | | | | | With some simple math and printf formatting tokens, we can create the whitespace necessary for this without the need for a loop and string concatentation. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: cleanup a few format string injectionsDave Reisner2013-09-18
| | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add support for sha224 checksumsDave Reisner2013-09-04
| | | | | | | Implements FS#36776. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: unify list of known hash algorithmsDave Reisner2013-09-04
| | | | | | | | | Unifying this list makes adding new algorithms easier. There's also some menial cleanup in this patch to avoid use of eval and properly treat lists of data as array instead of simple strings. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>