summaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2010-10-05makepkg: canonicalize paths from environmental variablesAllan McRae1-4/+18
This prevents circular symlinks and weird final package locations when using commands like 'PKGDEST="." makepkg'. Fixes FS#20922. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05makepkg: compare paths using bash testAllan McRae1-3/+3
Compare paths using bash's "-ef" rather than by string tests as this takes symlinks into account. This will prevent issues similar to those in FS#20922 if (e.g.) $PKGDEST is a symlink to $startdir. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05makepkg: improve srcdir check and add pkgdirAllan McRae1-2/+6
The checking of the package for $srcdir references was overly sensitive and gave a lot of what appear to be false positives with binary files (in particular with debugging symbols kept). Restrict the search for $srcdir to non-binary files as this should still catch the majority of configuration issues the check was initially designed to catch. Also, add a similar check for $pkgdir. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05makepkg: remove STRIP_DIRSAllan McRae1-2/+2
For binary packages, the majority of the time used in the debugs symbol stripping process is the actual stripping of the binaries/libraries and not the testing of which files to strip. This allows more complete stripping of packages that install to "non-standard" paths that would not be generally included in makepkg.conf. Any performance hit that may be apparent for (_large_) "arch=('any')" packages can readily be avoided by disabling stripping in the PKGBUILD options array. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-27repo-add: make --quiet output more quietAllan McRae1-0/+1
Fixes FS#20403. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-09-07Remove quotes in remaining bash regexesDan McGee1-1/+1
After a8dcfeccfc, Allan noted that one more regular exprssion inside makepkg also contained quotes; these should not be there for the same reason as that commit. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-27Use pipe to create compressed package instead of an intermediate tar fileJürgen Hötzel1-13/+12
A pipe between tar and compression command is used. This improves performance by running tar and the compression command simultaneously. Using a pipe also reduces IO by not writing an intermediate tar file to disk. Signed-off-by: Juergen Hoetzel <juergen@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-27makepkg: remove trailing quote mark in regexDan McGee1-1/+1
Regular expressions in bash should not be quoted. Glad this was in the documentation and I didn't have to go to #bash to ask... Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-24Merge branch 'maint'Dan McGee2-9/+20
2010-08-24makepkg: error out on empty optdepends entriesAllan McRae1-1/+1
If optdepends was defined with empty members, then makepkg would abort late in the package building process. Detect such cases in the check_sanity() function. Fix-provided-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-24makepkg: use less local variables in check_sanityAllan McRae1-26/+20
Instead of declaring a new local variable for each loop in the check_sanity() function, just reuse $i. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-08-24makepkg: remove unnecessary variable presence checkAllan McRae1-8/+6
It is unnecessary to check for a variables existence before looping over it. Extracted from patch supplied by Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-08-24makepkg: clarify invalid backup entry errorsAllan McRae1-2/+2
"Invalid backup entry" was not a particular helpful error message, especially when it was due to the file not being in the final package. Clarify these two messages. Signed-off-by: Allan McRae <allan@archlinux.org>
2010-08-24makepkg: less code duplication in create_packageAndres P1-15/+12
Combine changelog and install file creation in create_package(). Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-08-24makepkg: use regex to match options for privilege escalationAllan McRae1-1/+1
Eases maintanence if we need to add further options in the future. Extracted from a patch supplied by Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-08-18repo-add: create relative DB symlinksDan McGee1-2/+3
As noted in FS#20498, if an absolute path is used for specifying the database when invoking repo-add, the symlink generated will point to the absolute path instead of being relative to the directory. Fix this for the two linking cases, but leave the copy untouched so that will still work. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-18makepkg: add file to the list of needed utilitiesAllan McRae1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-18makepkg: check tput support before usingAllan McRae1-6/+16
Prevent makepkg aborting whe colors are enabled and the terminal does not support setting colors by tput. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-08-08makepkg: Allow creation of uncompressed packagesThomas Bächler1-0/+3
When performing local testing, it may be useful to add PKGEXT='.pkg.tar' to the PKGBUILD to save time, especially with big packages. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-07-27Merge branch 'maint'Dan McGee1-3/+3
2010-07-27Always treat PKGLIST as an array.Dave Reisner1-3/+3
Fixes repackaging issues when multiple package names are passed to the --pkg option. Signed-off-by: Dave Reisner <d@falconindy.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-07-07Remove DBEXT usageAllan McRae2-2/+1
With commit 5dffef78, the repo database always has a symlink of the form reponame.db. Use that filename and let libarchive determine the compression type. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-07-03Merge branch 'maint'Dan McGee1-7/+6
Conflicts: scripts/makepkg.sh.in
2010-07-03makepkg: 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 McGee3-4/+8
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 McRae2-1/+2
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-24repo-add: try symlink, then hardlink, then copy for DB fileDan McGee1-1/+4
We were seeing some issues when trying to create our new database alias using symlinks on certain filesystems (see FS#19907). Have a fallback method in place where we first try a symlink, then a hard link, then just copy the database if all else fails. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-24Merge branch 'maint'Dan McGee2-9/+13
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-23rankmirrors: pipe errors to stderrAndres P1-1/+1
If this is to be scripted with AIF or another tool, it needs to respect stderr. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-23rankmirrors: fix bogus pacman configuration parsingAndres P1-2/+2
Valid pacman configuration files do not have to start with a hash for that line to be a comment, neither do directives need to be in column 0. Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-23rankmirrors: fix bogus variable assignmentAndres P1-3/+3
$replacedurl was being built from an expansion of itself. But at the time it happened, it was empty. Fixes FS#19911 Signed-off-by: Andres P <aepd87@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-21Merge branch 'maint'Dan McGee1-5/+5
2010-06-21makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-20makepkg: 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-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> 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>