summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-12-24makepkg: properly correlate checksums for multiple sourcesDave Reisner1-19/+13
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-24Use correct mode bits for the log file (0000 -> 0644)Evangelos Foutras1-1/+1
Following commit 086bbc5 (Use O_CLOEXEC as much as possible when opening files), the log file would be created by pacman with blank permissions. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-24pacman-db-upgrade: set umask 022Peter Wu1-0/+3
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>
2014-12-24makepkg: download sources for all architectures when making source packageAllan McRae1-1/+1
We validated all sources when making a source package, whether or not they are included in the tarball. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-24pacman-db-upgrade: be more verboseAllan McRae1-2/+2
People have mentioned that the silent upgrade to DB version 9 when no adjustments are needed for directory symlinks is confusion. Always print the upgrading message. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-22makepkg-template: Remove unused printf format stringFlorian Pritz1-1/+1
I'm pretty sure this is some kind of left over stuff that was supposed to print the filename, linenumber and line content. This is already done so just remove it. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-22Check architecture specific fields for VCS supportAllan McRae1-3/+13
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-22add VCSCLIENTS to etc/makepkg.confAllan McRae1-0/+7
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-21Fix double spaces in "Running %s as root is not allowed" messageTimothy Redaelli1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-21paclist: fix myver in usage()Evangelos Foutras1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-19updpkgsums: add more error checking before replacementv4.2.0Dave Reisner1-2/+2
Re-add some paranoia which was inadvertently lost with 768b65e934. In case 'makepkg -g' fails to generate new sums (e.g. when a remote resource cannot be fetched), or awk fails to write the new file (i have no idea when this would happen), bail out with an error. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-19Release 4.2.0Allan McRae1-4/+4
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-19Update translations from transifexAllan McRae131-12099/+22991
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-19Update NEWS for pacman-4.2 releaseAllan McRae1-0/+81
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-19Update README for pacman-4.2Allan McRae1-0/+53
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18remove.c: honor inverted patterns in noupgradeAndrew Gregory3-2/+22
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18add alpm_option_match_noupgradeAndrew Gregory2-0/+6
For parity with alpm_option_match_noextract. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18updpkgsums: drop in-place rewrite hack, use a tempfileDave Reisner1-14/+23
This apparently exposes (what I think is) a subtle bug in cygwin's handling of subst'd drives. Let's just drop the hackery and use a tempfile, which should always work. Also, introduce a proper die() function which replaces previous hand-rolled error+exit pattern, but which wrote to stdout. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18shut up GCC on -Wmaybe-initialized warningsDave Reisner2-3/+2
Admittedly, these are totally bogus, but a clean build is a happy build. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18makepkg: correctly add changelog filesDave Reisner1-1/+1
Before this, we'd see bizzare behavior of: -> Adding changelog file (systemd.install)... And, changelog files in the global section would not be added at all. The code is clearly wrong here, as it references 'install' within a loop of 'changelog' and 'install'. Let's use parameter indirection to ensure that the proper file is identified and added. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-18Fix pointer declarations to be globally consistentMicah Saint Germain4-8/+8
Refactored inconsistent pointer declarations to better improve consistency throughout the pacman codebase which will, in turn, increase readability to the user. Expected format of a pointer declaration: `typename *varname` Signed-off-by: Micah Saint Germain <micah@lexme.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-12-08doc/translation-help.txt: Transifex example usageMiguel de Val-Borro1-2/+2
Replace harcoded language code in example Signed-off-by: Miguel de Val-Borro <miguel@archlinux.net> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-26pacman-db-upgrade: fix issue with find argument list length overflowAllan McRae1-1/+4
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-21pacman-key: compatibility with gnupg-2.1Tobias Powalowski1-0/+1
GnuPG 2.1 no longer allow empty passphrases by default. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-21Remove pacsyscleanAllan McRae4-72/+0
This script parsed pacman output and was broken by the change to the use of appropriate units for package sizes. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-20pacsort: parse inputs up front into control structDave Reisner2-59/+156
This moves most of the parsing work out of the sorting path. The explode and splitfile functions now call input_new and append input_t structs to the list of sort candidates instead of raw strings. This lets us make smarter and easier decisions in the sorting callbacks, which are now also split into the version and file comparison methods for clarity. This fixes two bugs: 1) Incorrect ordering with filenames containing epoch in the pkgver 2) Incorrect ordering with package names which are substrings of each other (e.g. "systemd" and "systemd-sysvcompat"). Performance of the --files mode degrades slightly as a result of this change, but not unreasonably. Sorting with small inputs (5-10) doubles in runtime, but larger inputs (4000+) only increase by 20%. ref: https://bugs.archlinux.org/task/37631 Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-19checkupdates: do not print ignored packagesAllan McRae1-1/+1
FS#41223 Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-19version: fix memory leak in early returnDave Reisner1-1/+2
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-19Fix translation error and remove empty po filesAllan McRae9-8711/+1
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18Update po files to send to TransifexAllan McRae114-11229/+63544
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18Pull translation updates from TransifexAllan McRae126-13267/+23291
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18Do not warn about missing files in NoExtractAllan McRae1-9/+21
When checking a packages files, ignore any missing files in NoExtract Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18Add alpm_option_match_noextractAllan McRae2-0/+6
This is useful for frontends testing whether a file is in NoExtract Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18extract_single_file: fix memory leak in error conditionAllan McRae1-1/+1
The memory assigned to checkfile was leaked in the error condition. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18_alpm_backup_dup: fix memory leak in error caseAllan McRae1-2/+7
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18makepkg: symlink files in noextract into $srcdirAllan McRae1-5/+6
File in noextract should still be symlinked into $srcdir so that they can be accessed without using $SRCDEST. Using noextract on VCS files makes no sense as these are not being extracted, so now this does nothing. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-18Remove logging of NoExtract eventsAllan McRae1-2/+0
With globbing in NoExtract, these log events can quickly pile up hiding important information from the log. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-17Fix crash when using external downloaderAllan McRae1-4/+17
Commit 9d96bed9 attempts to use the same effective URL for the db and its signature download. However, this information is not available when we use an external downloader, resulting in a crash. Fall back to the old method when the effective URL is unavailable. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-17makepkg: svn: update existing sources in srcdir without removing them first.Lukáš Jirkovský1-5/+1
This matches the behaviour with non-VCS sources. It also allows incremental builds when subversion is used to obtain sources. Signed-off-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-17makepkg: only strip vcs prefixes from front of urlAndrew Gregory1-4/+4
Referenced by FS#41811 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-17makepkg: do not strip bzr+ from bzr+ssh urlsAndrew Gregory1-1/+3
bzr does not recognize bare ssh:// urls. Fixes FS#41811 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-17makepkg: bzr: update existing sources in srcdir without removing them first.Allan McRae1-5/+11
The local changes are discarded when updating. This matches the behaviour when non-VCS sources are used. It also allows incremental builds. This also changes the checkout during bzr source "extraction" to a heavyweight checkout so that pulling a specific revision does not alter the original download. Original-work-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: hg: update existing sources in srcdir without removing them first.Lukáš Jirkovský1-4/+10
The local changes are discarded when updating. This matches the behaviour when non-VCS sources are used. It also allows incremental builds. Signed-off-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: checkout a revision specified in SVN fragment in download_svn.Lukáš Jirkovský1-28/+15
Previously the sources were dowloaded in HEAD revision in the download_svn(). If a specific revision was requested in fragment, the code was updated to that revision in extract_svn(). However, because SVN is a centralized system, this means that the changed sources has to be downloaded again. By moving the fragment handling to download_svn(), we get the correct revision without having to download it later in extract_svn(). Signed-off-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: git: update existing sources in srcdir without removing them first.Lukáš Jirkovský1-5/+14
The local changes are discarded when updating. This matches the behaviour when non-VCS sources are used. It also allows incremental builds. Signed-off-by: Lukáš Jirkovský <l.jirkovsky@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: improve stripping pkgdesc of whitespace for .PKGINFOAllan McRae1-1/+6
Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: introduce .SRCINFO files for source packagesDave Reisner1-1/+98
Similar to .PKGINFO, .SRCINFO provides structured metadata from the PKGBUILD to be included with source packages. The format is structured such that it contains a "pkgbase" and one to many "pkgname" sections. Each "pkgname" section represents an "output package", and inherits all of the attributes of the "pkgbase" section, and then can define their own additive fields. For example, a simple PKGBUILD: pkgbase=ponies pkgname=('applejack' 'pinkiepie') pkgver=1.2.3 pkgrel=1 arch=('x86_64' 'i686') depends=('friendship' 'magic') build() { ...; } package_applejack() { provides=('courage') ...; } package_pinkiepie() { provides=('laughter') ...; } Would yield the following .SRCINFO file: pkgbase = ponies pkgdesc = friendship is magic pkgver = 1.2.3 pkgrel = 1 arch = x86_64 arch = i686 depends = friendship depends = magic pkgname = applejack provides = courage pkgname = pinkiepie provides = laughter The code to generate this new file is taken a project which I've been incubating[0] under the guise of 'mkaurball', which creates .AURINFO files for the AUR. AURINFO is the exactly same file as .SRCINFO, but named as such to make it clear that this is specific to the AUR. Because we're parsing shell in the packaging functions rather than executing it, there *are* some limitations, but these only really crop up in more "exotic" PKGBUILDs. Smoketesting[1] for accuracy in the Arch repos yields 100% accuracy for [core] and [extra]. [community] clocks in at ~98% accuracy (.3% difference per PKGBUILD), largely due to silly haskell packages calling pacman from inside the PKGBUILD to determine dependencies. [multilib] currently shows about 92% accuracy -- a statistic which can be largely improved by utilizing the recently merged arch-specific attribute work. This is also a smaller repo so the numbers are somewhat inflated. In reality, this is only a .8% variance per PKGBUILD. Together, we can make PKGBUILD better. [0] https://github.com/falconindy/pkgbuild-introspection [1] https://github.com/falconindy/pkgbuild-introspection/blob/master/test/smoketest Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: simplify epoch handlingDave Reisner1-3/+1
We can avoid setting a default value for epoch since we intend to mean unset and "0" as the same thing. This is also a more consistent default as the display of epoch=0 is no epoch at all in the full package version. The extra paranoia in get_full_version can be removed due to lint_epoch guarding against non-integer values of epoch. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09makepkg: ignore empty global attributes in extractionDave Reisner1-1/+1
This bug isn't currently exposed by any of the existing codepaths, but an upcoming patch to introduce SRCINFO files to makepkg will expose this. Signed-off-by: Allan McRae <allan@archlinux.org>
2014-11-09Add --assume-installed to shell completionFlorian Pritz2-3/+6
Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Allan McRae <allan@archlinux.org>