summaryrefslogtreecommitdiff
path: root/scripts/makepkg.sh.in
Commit message (Collapse)AuthorAge
* 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>
* makepkg: allow make-style environment var overridesDave Reisner2013-08-21
| | | | | | | This allows for VAR=value and VAR+=value variable declarations. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* Do not refer to FlySpray numbersAllan McRae2013-08-21
| | | | | | | | These references to bug numbers assume we will forever be using that bug tracker. It is better to properly comment the code instead (which was done in almost all cases anyway). Signed-off-by: Allan McRae <allan@archlinux.org>
* Fix whitespace in makepkg.sh.in and makepkg-template.pl.inJason St. John2013-07-30
| | | | | | | | Replace spaces with tabs in one instance. Remove extra spaces. Signed-off-by: Jason St. John <jstjohn@purdue.edu> Signed-off-by: Allan McRae <allan@archlinux.org>
* Install makedepends and checkdepends togetherAshley Whetter2013-07-22
| | | | | | | Fixes FS#31557 Signed-off-by: Ashley Whetter <awhetter.2011@my.bristol.ac.uk> Signed-off-by: Allan McRae <allan@archlinux.org>
* Merge branch 'maint'Allan McRae2013-06-26
|\
| * Respect paths with spaces on --installAndrea Scarpino2013-06-23
| | | | | | | | | | | | | | makepkg --install doesn't quote the absolute path, so if the path contains spaces pacman -U fails. Signed-off-by: Allan McRae <allan@archlinux.org>
* | Merge branch 'maint'Allan McRae2013-06-18
|\|
| * makepkg: fix typo for distcc testAllan McRae2013-06-16
| | | | | | | | | | | | Introduced in commit 9dd42dc0. Fixes FS#35741. Signed-off-by: Allan McRae <allan@archlinux.org>
* | Merge branch 'maint'Allan McRae2013-06-06
|\|
| * Restrict pkgname from starting with a dot.Allan McRae2013-06-04
| | | | | | | | | | | | | | | | | | Adding this restriction means we can filter any FILENAME entry from starting with a "/" or a ".". Use the term "dot" as it is more computing relevant compared to "full stop" or "period" which vary depending on English locale. Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: add support for CARCH environment varPhillip Smith2013-05-29
| | | | | | | | | | | | | | | | | | | | Add support for overriding configuration in /etc/makepkg.conf and ~/.makepkg.conf by setting the environment variable CARCH similar to how SRCDEST and PKGDEST behave. Fixes FS#35030. Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: remove support for PKGBUILDs without a package() functionAllan McRae2013-05-29
| | | | | | | | | | | | | | | | | | | | | | Not having a package() function means all building occurs as root and repackaging can lose permissions. Given the use of package() functions has been around for years and we deprecated not having one in pacman-4.1, we can remove support for PKGBUILDs without package() functions altogether. However, keep PKGBUILDs that have neither a build() or package() function working. Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: Add helper to test for functions in build scriptAllan McRae2013-05-29
| | | | | | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: remove sourcing PKGBUILD from stdinAllan McRae2013-05-29
| | | | | | | | | | | | | | | | | | Using PKGBUILDs from stdin means that we can not use pkgver() in packages. Given we have the "-p" option to pass any file to makepkg and passing a PKGBUILD in the form "cat foo | makepkg" does not work, this feature is unneeded. Signed-off-by: Allan McRae <allan@archlinux.org>
* | Merge branch 'maint'Allan McRae2013-05-29
|\|
| * makepkg: Use LOGDEST for logpipeAllan McRae2013-05-18
| | | | | | | | | | | | | | If LOGDEST is set, we may not check that $startdir is writable. Store the log pipe in LOGDEST instead. Signed-off-by: Allan McRae <allan@archlinux.org>
| * makepkg: fixup broken revision and repo referencesDave Reisner2013-05-18
| | | | | | | | | | | | | | | | | | | | | | | | bzr support "worked", but didn't handle any of the actual features we wanted with makepkg. This moves the revision specification to the proper place (extraction, rather than download), and fixes an additional broken reference to $repo which was never set. Fixes FS#35281. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* | Merge branch 'maint'Allan McRae2013-05-07
|\|
| * Add -V/--version option to makepkg's usage function and man pageEric Bélanger2013-04-30
| | | | | | | | | | Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
| * makepkg: avoid redirecting stdoutDave Reisner2013-04-28
| | | | | | | | | | | | | | | | | | | | If stdout is already redirected, redirecting stderr to stdout can lead to undesirable results. Fixes FS#34974. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
| * makepkg: fix svn repo extractionAllan McRae2013-04-12
| | | | | | | | | | | | | | Copy SVN repos rather than using "svn export" to keep all anotation files in the repo for build scripts that use (e.g.) "svin info". Signed-off-by: Allan McRae <allan@archlinux.org>
| * Do not use checkout directory for SVN configAllan McRae2013-04-12
| | | | | | | | | | | | | | | | Using the checkout directory for the SVN config can result in clashes between config files and files from the SVN checkout. Instead, use a ".makepkg" directory within the checkout. Signed-off-by: Allan McRae <allan@archlinux.org>
| * Add support for all bzr URLs in the PKGBUILD source arrayMaxime Gauduin2013-04-11
| | | | | | | | | | | | | | | | | | | | Add support for all bzr URLs, including "lp:" URLs, in the source array. This, however, requires an internet connection and will fall back to the current behavior for offline builds. In that case, only the URL reported by 'bzr config parent_location' run inside the local repo can be used, and is outputted. Signed-off-by: Maxime Gauduin <alucryd@gmail.com>
| * makepkg: don't run remove_deps twice when unneededWilliam Giokas2013-04-11
| | | | | | | | | | | | | | | | | | | | remove_deps already has a check and won't run unless -r is specified, so if this was meant to remove dependencies of a failure no matter what, then it's not doing it, and with -r it is run twice on a failure for no real reason. Signed-off-by: William Giokas <1007380@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* | Add --noprepare option to makepkgEric Bélanger2013-04-30
| | | | | | | | | | | | | | | | This new option disables the prepare function. Useful in combination with -o to get an unpatched copy of the sources for testing purpose. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: avoid file|grep dependency for CRLF checkDave Reisner2013-04-06
| | | | | | | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: remove extra ansi color codesAndrew Gregory2013-04-06
|/ | | | | | | | All those extra '\e[1;'s were just setting bold redundantly or immediately being cancelled. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* remove continue from download_localDaniel Wallace2013-04-01
| | | | | | | | | | Bug exposed by a6291858cc1570e56204c4a1e7a68f76c4853336 popd doesn't run in the for loop in download_sources() if the continue in download_files is executed. Causing the extract_files to extract everything into $SRCDEST instead of $srcdir Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: unset GREP_OPTIONSAndrew Gregory2013-03-31
| | | | | | | | | | grep allows options to be set from the environment with GREP_OPTIONS. Many of these options will alter grep's output, breaking makepkg. GREP_OPTIONS=--line-number breaks installed dependency removal, for instance. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Ensure we are always in $SRCDEST before downloadingAllan McRae2013-03-30
| | | | | | | | | | | When VCS sources were updated, we changed into their root directory. Any following source was then downloaded to an incorrect place causing a failure in makepkg. Ensure we are always in the $SRCDEST directory before starting any download. Fixes FS#34488. Signed-off-by: Allan McRae <allan@archlinux.org>
* Remove duplicate optionAllan McRae2013-03-26
| | | | | | | The "skippgpcheck" option was specified twice. Also, fix alphabetical ordering. Signed-off-by: Allan McRae <allan@archlinux.org>
* Revert "makepkg: Use a recursive git clone."Allan McRae2013-03-14
| | | | | | | | | | | | | This reverts commit 8b03b1a8776043978aeac31682f94d65b4f3e514. It is much better to download the submodules using separate source entries and adjust the submodule configs to point at these versions in the prepare() function. See https://mailman.archlinux.org/pipermail/pacman-dev/2013-March/016771.html for an example. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Add --verifysource to only download/verify source filesOlivier Brunel2013-03-10
| | | | | | | | | Because --noextract also implies to not download/verify source files, it wasn't possible to simply do that, without either extracting and/or building. (Note: --verifysource takes precedence over --noextract) Signed-off-by: Olivier Brunel <i.am.jack.mail@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>