summaryrefslogtreecommitdiffstats
path: root/scripts/makepkg.sh.in
AgeCommit message (Collapse)AuthorFilesLines
2009-04-26makepkg: make in-place sed portableAllan McRae1-2/+2
Do a sed replacement in-place is not very portable. On Mac OSX and BSDs, the syntax is "sed -i ''" where as with GNU sed the command is "sed -i''" or just "sed -i". This patch detects which command should be used during configure. Credit to Kevin Barry who researched this issue and provided a patch to work around this using temporary backup files. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-04-11Merge branch 'xav/repo-add'Dan McGee1-7/+16
2009-04-11makepkg: fix double check on same pathDan McGee1-1/+1
Commit 142225fd typo-ed this one, as it should look like the rest of the checks similar to it. Signed-off-by: Dan McGee <dan@archlinux.org>
2009-04-11makepkg: Fix integrity check when files are missing.Loui Chang1-8/+11
The index in the for loop wasn't being incremented, so if the first file wasn't found, the second file would be compared to the first checksum, rather than the second. Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-03-30makepkg: run tidy_install with no package() functionAllan McRae1-0/+1
After the splitpkg implementation, the tidy_install function was not being called in PKGBUILDs with only the build() function. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-29makepkg: do not bail on failure to install built packageAllan McRae1-2/+8
Fixes FS#13417. Do no exit makepkg on a failure to install the built package(s). This allows clean-up to still occur. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-25makepkg: adjust log clean-up for new filenamesAllan McRae1-1/+8
The log files now have -build or -package at the end and there are separate log files for each *_package() function. Alter clean_up() to deal with this. Also, move glob outside quotes so this actually works. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-25makepkg: adjust install_package for split packagesAllan McRae1-3/+14
Install all created packages when using the install option with package splitting. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-16Refactor testing for color message outputAllan McRae1-5/+11
Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-16makepkg: add pkgbase variableAllan McRae1-21/+23
The pkgbase variable is added to improve informational output and source package naming when using split packages. Defaults to ${pkgname[0]} if not set. Also: - move splitpkg detection to after pkgname presence is verified - add "cd" line to package_foo() functions in splitpkg proto Signed-off-by: Allan McRae <allan@archlinux.org>
2009-03-15Fix several issues with xdeltaXavier Chantry1-7/+16
1) The changes to sync.c look big but there are mostly caused by the indentation. Fix a bug where download_size == 0 because the packages and deltas are already in the cache, but we still need to build the deltas list and apply the deltas to create the final package. 2) Fix the gzip / md5sum issue by switching to xdelta3, disabling external recompression and using gzip -n in pacman, and disable bsdtar compression and using gzip -n in makepkg. Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
2009-03-15Only check checksums if there is a source fileAllan McRae1-0/+2
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-02-28makepkg : remove xdelta supportXavier Chantry1-66/+0
The pkgdelta script can be used instead. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-02-24Merge branch 'maint'Dan McGee1-2/+0
2009-02-24makepkg: fix updating pkgrel with pkgver in SCM packagesAllan McRae1-2/+0
Commit 1e656c0a introduced the changing of pkgrel to 1 when the pkgver was updated in SCM PKGBUILDs. However, the output in the "Making package:" was wrong. Attempting to fix that created another bug (FS#13416). Interestingly, pkgver was only ever being updated in the fakeroot stage which caused this problem. Now both pkgver and pkgrel are updated after the first devel_check and devel_update. Enjoy the really long explaination for a two line fix... Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-02-08Merge branch 'maint'Dan McGee1-2/+2
2009-02-08makepkg: Make stripping debug symbols cross-platformSebastian Nowicki1-2/+2
The Linux and BSD versions of strip have the --strip-debug option (as well as the -S option), however Mac OS X only has -S. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-18makepkg: test fixes, part 2Dan McGee1-19/+19
The goal of this fix was empty string comparisons: - if [ "$pkgname" != "" ]; then + if [ -n "$pkgname" ]; then Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-18makepkg: clean up test usageDan McGee1-50/+51
In a lot of places, we had the following construct: [ "$foobar" = "0" ] which is better represented by using the integer tests: [ $foobar -eq 0 ] Attempt to unify makepkg to use the latter rather than the former in all places. From here on out we should ensure anything that is set to 0, 1, etc. uses the -eq format rather than =. In addition, fix a few other test anomalies including usage of double equals. Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-17makepkg: repackage rework with package functionsAllan McRae1-20/+28
When using the optional package() function or split packages, the entire packaging step is rerun instead of just final package creation step. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-16makepkg: implement creation of split packagesAllan McRae1-16/+47
Adds the ability to create multiple packages from one PKGBUILD Signed-off-by: Allan McRae <allan@archlinux.org>
2009-01-16makepkg: Optional argument for run_package and create_packageAllan McRae1-6/+20
Generalize run_package to allow the passing of a package name directing the use of an alternative package function. A similar adjustment to create_package to prepare split packages. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-01-16makepkg: hack around tee in run_package functionAllan McRae1-1/+10
Piping the package function through tee to log the outut also clears any variables set in the package function. This is a problem in split packages as package variable overrides are done in the package function. This is fixed by creating a node which the output is piped through and duplicated using the tee function. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-01-16makepkg: add functions for backup and restore of package fieldsAllan McRae1-1/+22
Adds functions for the backup and restoration of package variables that can be over-ridden during package splitting. Variables which can be overridden are given in the splitpkg_overrides variable. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-01-16makepkg: add optional package functionAllan McRae1-2/+55
This patch allows us to split the building and packaging stages of a PKGBUILD and minimize fakeroot usage. This can be done with less code duplication (run_build and run_package look quite similiar) but the run_package function will be where the package splitting logic is implemented in the future. Signed-off-by: Allan McRae <allan@archlinux.org>
2009-01-14makepkg: fix my own stupid mistakeDan McGee1-1/+1
We don't want to bail if a certain integrity check wasn't even provided. Whoops. Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-14makepkg: use INTEGRITY_CHECK only for generation of checksumsAaron Schaefer1-7/+9
Signed-off-by: Aaron Schaefer <aaron@elasticdog.com> [Dan: fail if checksum array is incorrectly sized] Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-13makepkg : fix a lot of breakages caused by AllanXavier Chantry1-15/+5
This patch started as a simple typo fix (pugre instead of purge in two places), as well as a fix of a test which was using PURGE_TARGETS instead of $PURGE_TARGETS. It evolved in a slight handling change of the OPTIONS which have a variable affecting their behavior (strip STRIP_DIRS, docs DOC_DIRS, zipman MAN_DIRS and purge PURGE_TARGETS), as well as a clarification in makepkg.conf. Now when a variable is undefined or empty, the corresponding option will have no effect. It looked weird to have a fallback when a option is defined but empty, it seems more natural to not have any fallbacks. Also re-enable docs by default. It seems arbitrary to delete files from packages by default, and it would be more vanilla and distro agnostic to keep them. docs was also the only negated option. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: Add support for specifying LDFLAGSAllan McRae1-1/+1
Provide support for specifying LDFLAGS within makepkg.conf but leaves this undefined by default. Fixes FS#12542. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: move BUILDSCRIPT from makepkg.confAllan McRae1-0/+1
Commit 4b183bf9 moved makepkg.conf sourcing to after the parsing of options, breaking the -p option and --help output. The solution is to move BUILDSCRIPT out of makepkg.conf. This patch moves the definition BUILDSCRIPT back to makepkg itself and adds configure option to allow easy changing of this value during build time. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: Introduce purge optionAllan McRae1-2/+13
The purge option, combined with the PURGE_TARGETS variable, allows makepkg to automatically remove commonly confliting or removed files (e.g. /usr/share/info/dir, *.pod). Original work: Tim Yang Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: Add used options to PKGINFO fileAllan McRae1-3/+14
Adds defined options to the PKGINFO file in the form of "makepkgopt =". It may be useful to be able to add these to the pacman DB at some point as that would allow (e.g.) checking which packages have had their docs striped (FS#7092). Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: add fallback for when MAN_DIRS is unsetAllan McRae1-0/+4
This prevents makepkg compressing every file when MAN_DIRS is not supplied in makepkg.conf Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: provide MAN_DIRS configuration variableAllan McRae1-5/+4
Provides a MAN_DIRS variable in makepkg.conf which can be used to specify folders to look for manual (man and info) pages to be compressed. Useful for packages that install to /opt. Also clarifies that "zipman" means "zip manuals" and covers both man and info pages. Original work by: Tiago Pierezan Camargo <tcamargo at gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03Merge branch 'maint'Dan McGee1-14/+109
Conflicts: lib/libalpm/dload.c po/it.po scripts/makepkg.sh.in
2009-01-03makepkg: detect incorrect usage of provides arrayAllan McRae1-2/+10
Using > or < in the provides array is wrong so make it cause an error. Fixes FS#12540. Also, use bash substitution rather than spawning new processes where possible in the error checking. Move split package detection to a better position. Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: backport to maint] Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: tidy version package testsAllan McRae1-6/+6
The use if "! -z" to check if a string is not null is not good practice so replace with the "-n" option. Also use the AND comparison within one test rather than on two separate tests. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: quote all uses of BUILDSCRIPTAllan McRae1-4/+4
Allows specifying alternative build script with spaces in name Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: backport some of the fixes to maint] Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03makepkg: Replace getopt with internal functionAllan McRae1-2/+89
This will allow makepkg to work on systems like Mac OS X where the default getopt is too old to properly handle long options. The new parse_options function should replicate getopt's behaviour completely. Original work: Yun Zheng Hu <yunzheng.hu@gmail.com> [Allan: Rewrite and bug fixes] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-12-08Merge branch 'maint'Dan McGee1-0/+4
2008-12-08makepkg: ensure PKGBUILD does not contain CRLF charactersDan McGee1-0/+6
Do a simple check before sourcing the file to ensure we are a valid bash script. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-12-08makepkg: several small bits of tidyingAllan McRae1-22/+9
1. Do not warn people about missing arch if they are using --ignorearch. 2. Remove unneed reference to bug report about using fakeroot as little as possible. We want to do that, bug report of not. 3. Removes superfluous warning given when building as root. The user has already used the "--asroot" flag. 4. Move comment about skipping warning message to above where it occurs 5. Do not warn about skipping source retreval, integrety checks and extraction when using --repackage 6. Do not warn about skipping build when using --repackage 7. Move comment about fakeroot usage to above test condition Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-12-08makepkg: save and restore shell options before and after build()Dan McGee1-0/+4
Fix the issue uncovered by FS#12344. In this instance, the dotglob shopt was being set in the build() function but never cleared, causing issues in the remaining parts of the makepkg script. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-12-03Merge branch 'maint'Dan McGee1-1/+1
Conflicts: lib/libalpm/dload.c
2008-11-30Simplify mercurial revision commandDan McGee1-1/+1
Not only does this require less sed-magic, it also fixes FS#12286 where fetching the revision number fails if mercurial is in compact mode. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-11-01Merge branch 'maint'Dan McGee1-2/+2
2008-11-01makepkg: actually fix passing PKGBUILD from pipeAllan McRae1-2/+7
If PKGBUILD (BUILDSCRIPT) is not found, test for information from a pipe and use that. Fixes FS#9187. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-11-01makepkg: fix bash substitution to work under older versionsDan McGee1-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-29makepkg: enable passing PKGBUILD from pipeAllan McRae1-3/+9
Do not attemp to update pkgver/pkgrel when reading a SCM based PKGBUILD from a pipe. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-29Merge branch 'maint'Dan McGee1-1/+3