summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-02-20Make "makepkg -g" ignore the current architecture.Alastair Hughes1-1/+2
Commit 663c74150ab4ba6d3adc55b0e3f539557a16e352 (makepkg: merge arch dependent variables after PKGBUILD linting) broke "makepkg -g" on a PKGBUILD which did not include the current architecture, by moving the lint_pkgbuild call before GENINTEG was processed. Fix that by setting IGNOREARCH for the "-g" option. Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20libmakepkg: increase robustness of the detection of array variablesAllan McRae2-3/+20
Extract array detection into its own utility function that ensures extglob is enabled. Suggested-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20repo-remove: fix checking for non-existent .db databaseAllan McRae1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20Add the missing limits.h include to hook.cAlastair Hughes1-0/+1
PATH_MAX is only defined in limits.h in musl libc, so ensure that it is included. Presumably this is also required on other platforms. Signed-off-by: Alastair Hughes <hobbitalastair@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20doc/index.txt: update for pacman 5.0Andrew Gregory1-4/+9
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20dump_pkg_info: fix wide character title alignmentAndrew Gregory1-5/+12
The padding added to the end of the title was based on the return value of mbstowcs which is the number of characters. This caused alignment issues for languages with characters that span multiple columns. Instead, base the padding on the number of columns needed by the translated string as returned by wcswidth. Fixes #47980 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-02-20Bring makepkg zsh completions up to dateDoug Newgard1-8/+13
Signed-off-by: Doug Newgard <scimmia@archlinux.info> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-30Release 5.0.0v5.0.0Allan McRae1-5/+5
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-30Update translationsAllan McRae118-1858/+6053
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-29Update zsh completion for pacman 5Daniel Wallace1-2/+39
also include updates from pacman 4.2 https://bugs.archlinux.org/task/47559 Original-patch-by: Boris Staletic <bstaletic@archlinux.net> Signed-off-by: Daniel Wallace <danielwallace@gtmanfred.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-29Create makepkg-template and system hook directories upon installAllan McRae1-2/+3
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-29Add HookDir to example pacman.confAllan McRae1-0/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-29bash_completion: update pacman completionAllan McRae1-5/+9
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-27bash_completion: update makepkg completionAllan McRae1-6/+7
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-27pacman.conf.5: document system hook directoryAllan McRae2-2/+4
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-27pacman.8: document --hookdirAllan McRae1-0/+7
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-26makepkg.conf.5: document option arguments in DLAGENTS need spaces escapedAllan McRae1-2/+3
Fixes FS#43304. Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-26PKGBUILD.5: document split package depends are not used during packagingAllan McRae1-0/+5
makepkg only considers global {make,}depends when checking require packages are installed before building. Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-25Remove spacing when outputting package sizesAllan McRae1-3/+3
This spacing appears to have been added to align sizes. It sometimes worked... $ pacman -Si glibc | grep Size Download Size : 8.03 MiB Installed Size : 35.08 MiB And it sometimes failed... $ pacman -Si pacman | grep Size Download Size : 662.82 KiB Installed Size : 4045.00 KiB Remove the spaces for a consistent output. Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-25makepkg: do not run prepare() and pkgver() with --repackageAllan McRae1-19/+21
Bug introduced with commit 8454daa7. Reported-by: Zuyi Hu <hzy068808@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-25Fix testing of arrays status for arch specific variablesZuyi Hu1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-17Pull translations updates from TransifexAllan McRae140-15663/+14211
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-15doc: alpm-hooks.5: Remove extra space in alpm-hooks man pageJohannes Löthberg1-1/+1
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-15Cast events to void* before passing to callbackAllan McRae2-4/+4
Silence warnings from clang about typecasting alignment. Reported-by: Rikard Falkeborn Original-patch-by: Olivier Brunel Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-15add alpm_list_appendAndrew Gregory2-10/+25
alpm_list_add always returns the provided list making it impossible for callers to check whether or not the operation actually succeeded without manually comparing the list length before and after. alpm_list_append instead returns a pointer to the newly created list item so that success can be checked. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-15test version range restrictions corner caseDominik Fischer2-0/+20
The test introduced herein illustrates a behavior that may be unexpected to package writers. It creates a package "pkg3" that is configured to depend on a "dependency" which version is between 3 and 4, inclusive. Two other packages are already present, providing "dependency" in version 2 and 5, respectively. So, the situation looks roughly like this: pkg1 pkg3 pkg2 provides depends on provides | <------------> | version __________2____________3____________4____________5___________... This seems to be enough to satisfy pacman when installing "pkg3". From an iterative standpoint, this is completely logical: First, the requirement "dependency>=3" is checked. There is a package that satisfies this restriction, it is called "pkg2". Afterwards, "dependency<=4" is covered in the same way by "pkg1". Nonetheless, what a package writer intends when specifying depends=('dependency>=3' 'dependency<=4') is most probably that pacman should only allow this package to be installed when there indeed is a package present that provides a version of "dependency" that lies _between_ 3 and 5. Signed-off-by: Dominik Fischer <d dot f dot fischer at web dot de> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Add pacsort tests with invalid inputRikard Falkeborn1-1/+17
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04pacsort, introduce define for escape_char error codeRikard Falkeborn1-5/+6
The signedness of char is implementation defined. On systems where char is unsigned, comparing a variable of type char with -1 is never true, due to integer promotion rules. To avoid this, introduce a define for invalid field separators where -1 is cast to char. This will ensure that the return value check works for both unsigned and signed char. Fixes one warning [-Wtype-limits] for comparissons with -1 when compiling with -funsigned-char. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Make alpm_graph state signedness explicitRikard Falkeborn1-1/+1
The signedness of char is implementation defined. Since the alpm_graph state is clearly meant to be signed, make the signedness explicit. This fixes bugs on systems where char is unsigned, in comparissons of the following type: if(v.state == -1) which, if state is unsigned, will never be true due to integer promotion rules. Fixes failing test/pacman/tests/sync012.py when compiling with -funsigned-char. Fixes two warnings [-Wtype-limits] for comparissons with -1 when compiling with -funsigned-char. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Update NEWS for pacman-5.0Allan McRae1-2/+62
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Update README for pacman-5.0Allan McRae1-4/+21
Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Update copyright years for 2016Allan McRae148-157/+157
make update-copyright OLD=2015 NEW=2016 Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04zsh_completion: add -q/--quiet for -Q/-SDaniel Hahler1-0/+2
This should also be added for "-Fh", but that is missing completely in zsh_completion. 1: https://lists.archlinux.org/pipermail/pacman-dev/2015-November/020538.html Signed-off-by: Daniel Hahler <git@thequod.de> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Replace mktemp's --tmpdir option with shell code.Alastair Hughes2-3/+3
bacman and updpkgsums used GNU mktemp's --tmpdir option, which is not supported by some other implementations (including busybox). Replace that with shell code. Signed-off-by: Alastair Hughes <hobbitalastair@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2016-01-04Do not warn about missing files in NoExtractAllan McRae1-2/+4
The CheckSpace option checks the size of all files in a package being replaced and gives a warning when it can not read the file. However, files in NoExtract are expected to be missing and should not be warned about. Fixes FS#47470. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15makepkg: Output full URL in case of download failureFlorian Pritz1-1/+1
Most entries in $sources contain variables so finding out why a URL fails to download is hard because one has to manually replace the variables when looking at the PKGBUILD. Simply output the full URL here so that it can be easily seen what is wrong. Old: ==> ERROR: Failure while downloading example-1.2.4.tar.gz New: ==> ERROR: Failure while downloading http://example.org/releases/1.1/example-1.2.4.tar.gz With the new format it is much more obvious that the directory name is the culprint (1.1 vs 1.2) while the old one would not display that information. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15alpm: Abort ASAP on failure in pre-transaction hooksOlivier Brunel1-0/+8
There is no need to run any/remaining pre-transaction hooks as soon as a failure has occured, which will lead to aborting the transaction. So if an error occured during the first phase (reading directories/parsing files), or as soon as a hook flagged abort_on_fail does fail, we stop processing them and return. (For post-transaction hooks, all hooks are run regardless since there's no aborting.) Signed-off-by: Olivier Brunel <jjk@jjacky.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15makepkg: run pkgver() and prepare() with --noextractAllan McRae2-13/+14
Modifications made to the source before running with --noextract may alter the version string returned by pkgver(). Always run this function if present and check build status before proceeding. Fixes FS#46800. Also run prepare() when --noextract is used (unless --noprepare is specified). Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15Give error message when --files will do nothingAllan McRae1-1/+6
Point people towards the help when using "pacman -F" or "pacman -F foo". Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15alpm-hooks: add Description fieldAllan McRae4-1/+14
The "Description" field allows a hook to provide a some text for frontends to use in describing what the hook is doing. For example: Description = updating info page directory Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15Show progress processing hooksAllan McRae3-9/+53
Introduces the ALPM_EVENT_HOOK_RUN_{START,DONE} events that are triggered at the start and end of running an individual hook. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15Add ALPM_EVENT_TRANSACTION_{START,DONE} eventsAllan McRae3-0/+13
This provides a way to detect when the processing of package changes starts, allowing pacman to delineate hook output and package installation/removal output. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-15Add events ALPM_EVENT_HOOK_{START,DONE}Olivier Brunel4-9/+41
Add events to let frontends know when hooks are being processed (and when it's done), as that might be useful to update the UI. Signed-off-by: Olivier Brunel <jjk@jjacky.com>
2015-12-15Collect all triggered hooks before running themAllan McRae1-1/+10
Having a first pass that checks which hooks are triggered followed by a second pass of the triggered hooks allows us to only provide output when a hook is actually triggered. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-09Pull translations from Transifex and prepare for next releaseAllan McRae143-42489/+66967
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-06alpm_run_chroot: remove dead codeAndrew Gregory1-5/+0
Removes a leftover error message from when fdopen and fgets were used to read from the pipe. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-06makepkg: record build information in .BUILDINFOAllan McRae1-14/+19
This information can be used to reproduce build conditions, which can then be used to determine if a package builds reproducibly. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-06makepkg: add whirlpool to the list of hashing algorithmsLuke1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-05alpm_initialize: Fix double slash in sys hook dir pathDavid Macek1-2/+5
The path of the default system hook directory was created by concatenating `myhandle->root` (usually "/"), and SYSHOOKDIR (usually "/usr/share/libalpm/hooks/"), resulting in "//usr/share/libalpm/hooks/". Fix this by skipping the initial slash from SYSHOOKDIR. Signed-off-by: Allan McRae <allan@archlinux.org>
2015-12-05db_update: always clear db flags after updateAndrew Gregory1-22/+23
Signature downloading and DB validation was being based on the most recent download status for the DB. If a DB successfully downloaded but a signature did not, db_update would move to the next server. If the next server tried does not have a more recent copy of the DB, db_update would not download the DB again and would forget that the DB had previously been updated. In this case it would skip validation entirely, leaving an updated DB with the original validation status. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>