summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2015-03-26Always create files databaseAllan McRae
Both the "db" and "files" databases are created in one call to repo-add. Only the "foo.db.tar.xz" name is passed to repo-add. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26repo-add: remove duplication finding old package detailsAllan McRae
The information needed to create a delta entry and remove the old package from the filesystem are the same. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26repo-add: check early for xdelta if it is neededAllan McRae
The check for xdelta3 was done as needed (and not in all cases). Do this check early so that repo-add does not abort part way through. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26repo-add: only update database if entire command succeededAllan McRae
It is not hard to think of situations where the repo database should not be updated unless the whole operation succeeds. Error out before a partial database update occurs. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26repo-add: move database creation into its own functionAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26repo-add: move database rotation into its own functionAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26Merge branch 'maint'Allan McRae
2015-03-26Make get_pkg_arch treat arch as an arrayIvy Foster
We use the get_pkg_arch function with the package name parameter in two places: 1) checking if the package is already built 2) installing build packages Currently this failed when a package override for "arch" was an array, despite all our documentation stating that it is indeed an array. This change makes these two places fail if there is package override for arch that is not an array - i.e. of the form arch='i686'. Signed-off-by: Ivy Foster <joyfulgirl@archlinux.us> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-26fix source package signing with SRCPKGDIR setChristian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-15libmakepkg: move helper functions into tidy/stripAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-03-03Allow UPX compression for DOS/Win executablesDavid Macek
Hi. This change allows makepkg to UPX-compress executables on Windows, but will probably affect some Linux packages as well (I'm guessing gdbserver, wine, mingw-w64). Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-20Merge branch 'maint'Allan McRae
2015-02-20Update translations from TransifexAllan McRae
2015-02-14Update translations from TransifexAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-14Fix Bazaar cloning in makepkg.Renato Silva
There was some manual check to know if the local repository was really a clone of the one specified in PKGBUILD. This check has been removed because it is buggy and not necessary. It is buggy because this check needs to be semantic, not a simple string comparison. For example, I was blocked from building a PKGBUILD because Bazaar was returning two different strings for the same location (for HTTP one was url-encoded while the other was not, and for local paths one was absolute while the other was relative). While this may be a bug in Bazaar, the check is unreliable since the comparison is not semantic (http://foo.com/%2Bplus and http://foo.com/+plus obviously refer to the same location for example). Specially, it is useless because the intention is updating the existing local clone. However, if the local clone is not a real clone of the repository specified in PKGBUILD (which was what this buggy check tried to tell), next step which is a pull operation will fail anyway. This is because bzr pull does not perform merges, it just makes one branch into a mirror of another. There was a reason provided when this manual check was added for Git, but no reason provided for copying such check when Bazaar support was added, see commits below. In fact, Mercurial lacks such manual check. * c926c39b0481ec3db931fff1f86db0c49d78976b * 3b02f80dcb3159a7ab0c673d5eae971ad7504e7f Fixes FS#43448. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12libmakepkg: make package checking functions extendableAllan McRae
To add a new package check, drop a file in libmakepkg/lint and add the function to the "lint_functions" array. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12libmakepkg: make package tidy functions extendableAllan McRae
To add a new packaging option, drop a file into libmakepkg/tidy that contains a 'packaging_options+=('<option>') and a function that implements that option. The function needs added to the 'tidy_remove' array if it removes files or the 'tidy_modify' array otherwise. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12libmakepkg: move package checking out of tidy_installAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12repo-add: improve delta file detection on removalAllan McRae
This allows use to remove a package with the name "foo.delta" from the repos. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12repo-add: only backup database signature if database was backed upAllan McRae
Ensures the backed update database and its signature are always consistent. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12repo-add: unify checking gpg keysAllan McRae
Move the PGP key checking into the check_gpg function. This also results in error messages being in colour. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12repo-add: clarify invalid repo extension messageAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-12repo-add: improve removing old packagesAllan McRae
The -R/--remove option left the old package in place when delta packages were to be generated. It was also removed before we ensure the generation of the entry for the new package was generated without error. Remove the old package at the end of database entry and delta generation. Also improve the help message to clarify it is the old package that is removed. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01makepkg: split package tidying into libmakepkgAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01makepkg: split PKGBUILD/makepkg.conf option checking to libmakepkgAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01makepkg: rename other_options to build_optionsAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01makepkg: split message functions into libmakepkgAllan McRae
This performs all the needed work for libmakepkg to be included in tarballs, installed into the correct place, and read into makepkg. Also change the install root for libmakepkg to an architecture independant location. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01add option to optimize PNG images with optipngChristian Hesse
This can decrease package size by optimizing PNG image size. Images are just stored with better compression and/or filter options. The actual image content is not altered. Additionally this can automatically fix broken PNG images which caused some trouble lately. Signed-off-by: Christian Hesse <mail@eworm.de> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01remove globbing for upx and make UPXFLAGS an array variableChristian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01Update copyright notices for 2015Allan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01Merge branch 'maint'Allan McRae
2015-02-01makepkg: refix removing static libraries when shared uses absolute symlinksAllan McRae
Commit 9e5e86aa was supposed to fix this. Instead I picked another [[ -f ]] statement in the same region and added the hardlink test to it instead, thus not fixing the bug. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-02-01makepkg: Set the working copy destination explicitly when cloning in extract_gitLukáš Jirkovský
This fixes the issue where if the user explicitly set the name of the cloned source to eg. foo.git, the directory name in $SRCDEST would be foo.git as expected, but the clone in $srcdir would be stripped of the .git suffix. Signed-off-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-12Merge branch 'maint'Allan McRae
2015-01-12makepkg: clear destination array in array_buildAllan McRae
If an already used array is passed array_build, some entries from the old array could be carried over if the old array was longer than the new one. Clear the destination array before adding elements to it to prevent this issue. Fixes: https://bugs.archlinux.org/task/43387 Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-11makepkg-template: Remove linenumber/file from errorsFlorian Pritz
die prints "at $scriptname line $linenumber." if the string does not end with "\n". This information is not of much use for us and it makes testing harder because we'd to remove it there. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2015-01-11Merge branch 'maint'Allan McRae
2015-01-11makepkg: restore attr merging for write_pkginfoDave Reisner
acc639adf20d removed this, but shouldn't have. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-11makepkg: avoid nested quoting in string replacementDave Reisner
I suspect this is just wrong -- you never need to quote the replacement side of a PE. In bash 4.3, this is essentially a no-op, but because of a bug in bash 4.2, we get embedded quotes as a result of this replacement. The relevant changelog item in bash is: Fixed a bug that caused single quotes that resulted from $'...' quoting in the replacement portion of a double-quoted ${word/pat/rep} expansion to be treated as quote characters. But this doesn't apply to us. Let's just drop the excessive quoting... Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-11makepkg: fix removing static libraries when shared use absolute symlinksAllan McRae
When a shared library uses an absolute symlink for its its .so file, the check if the shared version of a static library exists fails. Test for the presence of a broken symlink too. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-02pkgdelta: Use high compression options offered by xdelta3Mohammad Alsaleh
* Add -9 which is the highest compression level. * Use lzma for secondary compression. Decompression speed is largely unaffected as most cycles are consumed by xz for re-compression. Some numbers: clang x86_64 [3.5.0-2.1 to 3.5.0-3] 17.21MiB default (0.73) 15.67MiB -9 (0.67) 13.59MiB -9 -S djw (0.58) 12.01MiB -9 -S lzma (0.51) inkscape x86_64 [0.48.5-3 to 0.48.5-4] 02.69MiB default (0.21) 01.64MiB -9 (0.13) 01.30MiB -9 -S djw (0.10) 01.01MiB -9 -S lzma (0.08) Signed-off-by: Mohammad Alsaleh <CE.Mohammad.AlSaleh@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-01-02Merge branch 'maint'Allan McRae
2015-01-02makepkg: avoid expansion of var in arithmetic contextDave Reisner
This bombs out when "$trusted" expands to the empty string. We're better off passing the var by name and letting bash default to "0" when the var is empty Fixes: https://bugs.archlinux.org/task/43269 Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-28Merge branch 'maint'Allan McRae
2014-12-28Fix .SRCINFO output with architecture specific fieldsAllan McRae
Do not merge the architecture specific fields when creating a .SRCINFO file. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-27makepkg: print the name of the source array being checkedDave Reisner
I don't see an easy fix to avoid printing this more than once, so let's at least differentiate the messaging so that it's more clear what's going on. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-27makepkg: call out the source array(s) missing checksumsDave Reisner
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-27makepkg: fix typo in dep array nameDave Reisner
We fixed this up to check architecture specific sources in ec679e09b2, but fudged the array name in the in_array call. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-24makepkg: properly correlate checksums for multiple sourcesDave Reisner
Previously, we used a single boolean value to determine correlation of sources to checksums. Since the introduction of arch-specific sources, this is no longer sufficient, as we must ensure that we have checksums for (potentially) multiple source arrays. This change inlines the logic of have_sources to build an associative array of source array names, unsetting them as we discover their checksums. The error condition then becomes a non-empty correlation array. Fixes: https://bugs.archlinux.org/task/43192 Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-24pacman-db-upgrade: set umask 022Peter Wu
This prevents the database from becoming inaccessible for non-root users when the script was executed with a umask of 027. Signed-off-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Allan McRae <allan@archlinux.org>