summaryrefslogtreecommitdiffstats
path: root/scripts/makepkg.sh.in
AgeCommit message (Collapse)AuthorFilesLines
2010-07-02makepkg: undeclared local variablesAndres P1-8/+20
Variables that are only meaningful within the function they are declared in are now prefixed by "local". Signed-off-by: Andres P <aepd87@gmail.com> [Allan: fix whitespace] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-07-01makepkg: fix sudo/su calling of pacmanAllan McRae1-7/+6
This fixes two issues: 1) using "sudo -l" results in excess password asking under certian configurations. Revert to the pre 3.4 behaviour of always using sudo if it is installed. 2) Properly escape the command so that that versioned dependencies, such as "foo>4", do not get treated as output redirection when using su. This also unifies the generation of the pacman line and its privilege escalation. Based on patches supplied by Andres P <aepd87@gmail.com> with minor adjustments for suitability for the maint branch. Original-work-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-30Merge branch 'maint'Dan McGee1-3/+3
2010-06-30makepkg: clarify aborting on packaging failureAllan McRae1-2/+3
When makepkg catches a command failure it currently prints "Aborting..." and exits. Clarify the reason for aborting from packaging is a failure during one of the PKGBUILDs functions. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-30makepkg: try standard paths for coreutils duAllan McRae1-1/+1
Attempt to find "du" from coreutils in the standard paths and if not revert to the version in the users PATH. Using the full path prevents issues such as FS#19932, where a different and incompatible version of du is put earlier in the users path. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-30makepkg: remove bash4-only parameter expansion in check_sanityAndres P1-1/+1
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-30makepkg: Only check regular files in $srcdir checkThomas Bächler1-1/+1
The 'grep -R' in the $srcdir check would not only grep regular files, but also devices, symlinks (that might potentially point outside of $pkgdir), pipes and so on. Use find to ensure only regular files are examined. This should fix https://bugs.archlinux.org/task/19975 Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-24Merge branch 'maint'Dan McGee1-3/+7
2010-06-24makepkg: Place source packages symlinks in build dir when SRCPKGDEST is usedEric Bélanger1-1/+11
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-24makepkg: fix regression in split package function checkingAndres P1-1/+1
Commit 13748ca0529 inversed the nature of one test wherein the if clause would throw a fatal error if a legitimate package function was defined in PKGBUILD. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-23makepkg: prevent error trap activation in bash-3.2Allan McRae1-3/+7
Running "pacman -T foo" is expected to return a non-zero value when "foo" is not installed. This sets of the error trap in bash-3.2 but not bash 4.x. Work around this by disabling the error trap around this pacman call as we are manually checking the return value anyway. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-20Merge branch 'maint'Dan McGee1-5/+5
2010-06-20makepkg: revert bash4-ismAllan McRae1-5/+5
Commit 3d67d9b1 introduced multiple bash4 string manipulations. Revert those in order retain compatibility with bash-3.2 which is still widely used. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-21makepkg: remove unnecessary use of sortAndres P1-2/+2
pacman -Qq output is sorted according to the users LC_COLLATE setting as is needed for comm. Signed-off-by: Andres P <aepd87@gmail.com> [Allan: adjust commit message] Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: use parameter expansion instead of basenameAndres P1-1/+1
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: fix inconsistent output when checking dependenciesAndres P1-2/+2
Instead of writing: ==> Checking Runtime Dependencies... ==> Checking Buildtime Dependencies... ==> Installing missing dependencies... Just make it homogeneous: ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: merge in-line splitpkg handling logicAndres P1-22/+16
Ease maintainace; the two parts that have been combined into a function were identical. Signed-off-by: Andres P <aepd87@gmail.com> [Allan: rename function] Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: add to variables without expanding themAndres P1-8/+8
Use foo+=" bar" instead of foo="${foo} bar" Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: less code repetition for empty variable checkingAndres P1-12/+7
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: use "declare -f" to test for function presenceAndres P1-4/+4
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21makepkg: fix variable checks when writing pkginfoAndres P1-8/+8
Regression caused by c71fe7db. Was checking for "optdepend" and "conflict" rather than "optdepends" and "conflicts" when populating .PKGINFO. Signed-off-by: Andres P <aepd87@gmail.com> [Allan: adjust commit message] Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-16makepkg: fallback to sane defaults for library strippingAllan McRae1-0/+3
If the library stripping variables are not defined in makepkg.conf, libraries will be fully stripped and become broken. Fallback to a sane default stripping level. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-17makepkg: Extract from any file bsdtar can recognizeNezmer1-3/+6
If "file -bizL" does not return a supported type, check if the file is recognized by bsdtar and if yes extract from it. Dan: use '-q' option to prevent needing to seek the entire archive. Signed-off-by: Nezmer <git@nezmer.info> Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-17makepkg: use printf when writing pkginfoAndres P1-25/+9
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-17makepkg: use single redirection when writing PKGINFOAndres P1-25/+25
Instead of specifying the output file on every echo, leave it to the caller of write_pkginfo to specify the target. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-17makepkg: use double bracketsAndres P1-6/+4
Change all instances of the (test) [ builtin to the [[ keyword. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-17makepkg: use type -p's return value for PATH checksAndres P1-13/+13
Rely on type -p's return value instead of a string check. And gettext was previously being checked with type -t, which was inconsistent with the rest of the tests pertaining commands that aren't expected to be functions nor builtins. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-17makepkg: fallback to sane defaults for library strippingAllan McRae1-0/+3
If the library stripping variables are not defined in makepkg.conf, libraries will be fully stripped and become broken. Fallback to a sane default stripping level. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-09makepkg: use BUILDFILE rather than BUILDSCRIPTAllan McRae1-2/+2
In check_sanity, BUILDFILE needs to be checked rather than BUILDSCRIPT. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-09makepkg: fix errors with multiple install or changelog filesAllan McRae1-4/+4
Another issue caused by fe1e3471. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-09Fix creation of source packagesAllan McRae1-4/+4
Source packages were getting created with only links to local source files. Caused by commit 5cddcc90. Also, fix dangling symlinks to install and changelog files. Caused by commit fe1e3471. Thanks to Christopher Rogers <slaxemulator@gmail.com> for pointing out areas that were failing. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-03makepkg: refactor absolute filename detectionCedric Staniewski1-48/+45
Move the absolute filename detection to a new function to reduce code duplication. This patch also fixes the --allsource option that did not include remote source files if they reside in $startdir instead of $SRCDEST. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-03makepkg: print only base filename of install/changelog filesCedric Staniewski1-1/+1
The complete file path of a temporary symlink is really useless information. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-27makepkg: remove code duplication in buildscript parsingAndres P1-37/+14
Merges code in two almost identical chunks in create_srcpackage and check_sanity. Also discards the space kept by regex in ae73d75660 and earlier, since the for loop discards it later on. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-24makepkg: replace unnecessary uses of grepAndres P1-7/+7
Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-24makepkg: fix permissions on install and changelog filesAllan McRae1-0/+2
The .INSTALL and .CHANGELOG files in a package retained the permissions that they had in $startdir. Do a chmod after copying to ensure that the permissions are sane. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-24makepkg: don't decompress when stripping binariesAndres P1-3/+1
f569c4a042 wrongly relied on file's output. The fix is to not decompress files in the first place. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-18makepkg: allow skipping integrity checks when making source packageAllan McRae1-3/+9
Extends the use of the --skipinteg option to creating a source package. Fixes FS#15984. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-18Resolve dependencies whenever --syncdeps is passed and --nodeps is notNezmer1-2/+2
With this patch, dependencies will be resolved and not silently ignored when running: makepkg --nobuild --syncdeps makepkg --repackage --syncdeps Also, a warning is displayed when repackaging and dependencies are not being resolved. Thank you Allan for the feedback. Signed-off-by: Nezmer <git@nezmer.info> [Allan: Only warn when repackaging with a package function] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-18fix for incorrect checking of return code, which causes syntax errorsDieter Plaetinck1-2/+2
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg: rework --skipintegAllan McRae1-7/+7
The current --skipinteg is a bit weird. It does not skip integrity checks, but instead does them and prints a warning. Change this behaviour to actually skipping the checks. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg -g: use checksums defined in the pkgbuildXavier Chantry1-1/+26
Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Allan: amend documentation] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg: handle multiple install and changelog filesAllan McRae1-24/+47
The presence of all install and changelog files (multiple files may be used with package splitting) is checked for in check_sanity(). All install and changelog files are copied to the source location when using --source. The check for install and changelog file presence is removed in create_srcpackage() as this is redundant to the checks performed in check_sanity(). Moved install and changelog handling in create_srcpackage() to after source array files, as this is more logical and readily allows for the following. A check is made when creating a source package that a symlink to an install file has not already been added. This can occur if the install file is used multiple times or if it is listed in the source array. Fixes FS#18831, FS#18394 and partially fixes FS#16004 Signed-off-by: Allan McRae <allan@archlinux.org>
2010-05-05makepkg: fall back to su if sudo is not availableRay Kohler1-7/+8
Signed-off-by: Ray Kohler <ataraxia937@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg: improve removal of installed dependenciesAllan McRae1-16/+20
Compare a list of packages on the system before and after dependency resolution in order to get a complete list of packages to remove. This allows makepkg to remove packages installed due to provides. Bail in cases where packages that were on the system originally have been removed as there is a risk of breaking the system when removing the new packages. Fixes FS#15144. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26makepkg: BSD find compatibility fixAllan McRae1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26makepkg: deprecate repackaging without a package functionAllan McRae1-5/+15
File permissions are not guaranteed to stay the same on exit from fakeroot, so repackaging may result in files with different permissions. This is avoided when using a package() function (or split packages) as the packaging step is rerun. Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: touched up message for translation purposes] Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Bump copyright dates to 2010Dan McGee1-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: always update symlinks to compressed man pagesAllan McRae1-11/+12
When a man page has both symbolic and hard links, any symlink pointing to other than the alphabetically first hardlink was not "compressed" and left dangling towards the uncompressed man page. Fixes FS#18569. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: make strip options configurableCedric Staniewski1-4/+4
The newly added variables STRIP_BINARIES, STRIP_SHARED and STRIP_STATIC, that are set in makepkg.conf, specify the strip options used on binaries and shared and static libraries. In addition, files are now stripped more aggressively by default. Implements FS#13592 the way it was suggested by Allan in the comments. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>