summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* makepkg: fix package arch detectionAllan McRae2012-04-30
| | | | | | | | | get_pkg_arch checked for the arch variable being overridden in the package_$1() function when used with a package as a parameter. However, when there was no override, it did not fall back to the global value. Signed-off-by: Allan McRae <allan@archlinux.org>
* contrib: remove executable bit from input filesDave Reisner2012-04-30
| | | | | | | | There's no reason to make these executable, and this also mimics what we do in the scripts/ subdir. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* zsh completion for makepkgDaniel Wallace2012-04-30
| | | | | | | | This adds zsh completion for makepkg to the _pacman file in /usr/share/zsh/site-functions/. it completes makepkg and allows for stacking of flags like -si, -sci, et cetera. Signed-off-by: Daniel Wallace <daniel.wallace@gatech.edu>
* add zsh completion to pacman-keyDaniel Wallace2012-04-30
| | | | | | | | | This patch adds zsh completion to pacman-key. It completes files/directories for --config or --gpgdir and just completes the command for --keyserver then it can complete keyids or files for all the other flags. Signed-off-by: Daniel Wallace <daniel.wallace@gatech.edu>
* Convert ALLOC_FAIL macro into a functionDan McGee2012-04-29
| | | | | | | | | | | | | This path is rarely (read: never) taken in any normal run of the code, so injecting the fprintf() call everywhere with the macro is a bit overkill. Instead, add a lightweight _alpm_alloc_fail() function that gets called instead. This does have a reasonable effect on the size of the generated code; most places using the macros provided by util.c have their code size reduced. Signed-off-by: Dan McGee <dan@archlinux.org>
* be_local: use the right length value for filename in all casesDan McGee2012-04-29
| | | | | | | Increment the strlen() provided value by 1 for the NULL byte so we use the right value in all three places we later reference it. Signed-off-by: Dan McGee <dan@archlinux.org>
* pkgdelta/repo-add: quoting fixesFlorian Pritz2012-04-29
| | | | | | Finish the job on master; most of these were applied to maint already. Signed-off-by: Florian Pritz <bluewind@xinu.at>
* Output "Packages" instead of "Targets"Allan McRae2012-04-29
| | | | | | | | | | Prefix the list of packages being installed/removed with "Packages" instead of "Targets" as they are package names by this stage. Fixes FS#23123. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* Merge remote-tracking branch 'dave/buildsys'Dan McGee2012-04-29
|\
| * libalpm: add pkg-config fileDave Reisner2012-04-25
| | | | | | | | | | | | | | | | No one seems to do this "correctly", but for the sake of having an easy method of detecting the presence and version of libalpm on a given system, we provide a straightforward .pc file. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * rankmirrors: move to contrib/Dave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | This script is of questionable value, as it ranks mirrors by an uninteresting attribute: ping. While the script itself is interesting, people should be encouraged to rank mirrors by more useful measures, such as actual speed, locality, or up to date-ness. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * paccache: adopt parseopts for options parsingDave Reisner2012-04-24
| | | | | | | | | | | | | | Add longopts and update usage. This removes the TODO item and incorporates --help/--version into the standard option set. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * configure: require bash >= 4.1 at compile timeDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | We've unofficially agreed to raise our minimum supported bash version to 4.1, and since added features that require it. Additionally, an earlier commit adds a syntax check to the builds of scripts/ and contrib/ which could conceivably fail with an earlier shell. Therefore, make this a hard requirement of the build process. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * validate bash scripts with 'bash -n' during build.Dave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | Use the no-exec mode of $(BASH_SHELL) to check for syntax errors in shell scripts. Since we use the extglob feature in various places, this requires that we pass -O extglob to the shell as well, to ensure that the parser is armed to handle this syntax. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * contrib: rename bash scripts: .in -> .sh.inDave Reisner2012-04-24
| | | | | | | | | | | | | | For consistency with the scripts/ directory, ensure that all bash scripts use the same pre-build suffix. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * contrib: use a separate build rule for bash scriptsDave Reisner2012-04-24
| | | | | | | | | | | | | | Treat bash scripts separately from the others to allow for a different build rule, which is reused from the scripts/ subdir. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | makepkg: remove subshelling from check_option and friendsDave Reisner2012-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of creating a subshell for each of these checks (of which there are many), pass in an expected value and make the check_* function do the comparison for us, returning 0 (match), 1, (mismatch), or 127 (not found). For a measureable benefit, I tested this on a fairly simple package, perl-term-readkey, and counted the number of clone(2) syscalls to try and isolate those generated by makepkg itself, rather than the user defined functions. Results as shown below: 336 before 180 after So, roughly a 50% reduction, which makes sense given that a single check_option() call could be up to 3 subprocesses in total. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | makepkg: null terminate filenames to stripDave Reisner2012-04-29
| | | | | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | pacman/package.c: show checksums with -SiiDave Reisner2012-04-29
| | | | | | | | | | | | | | | | | | These were removed entirely by f34864cc9e, but some people (myself included) still find them useful. Revive these details, but "demote" them, so that they're only displayed when extra sync data is requested. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Move short-lived realpath buffers to the stackDan McGee2012-04-29
| | | | | | | | | | | | | | | | There is little reason here to grab 4K from the heap only to return it a few lines later. Instead, just use the stack to hold the returned value saving ourselves the malloc/free cycle. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Pointer coding style cleanupsDan McGee2012-04-24
| | | | | | | | | | | | 'foo_type_t *variable' rather than 'foo_type_t* variable'. Signed-off-by: Dan McGee <dan@archlinux.org>
* | be_local: write all single-valued attributes firstDan McGee2012-04-24
| | | | | | | | | | | | | | There isn't a whole lot of reason other than code clarity for this, but it makes it a bit more obvious where multivalued attributes start. Signed-off-by: Dan McGee <dan@archlinux.org>
* | util/testdb: don't return crazy error valuesDan McGee2012-04-24
| | | | | | | | | | | | | | | | With some contrived examples, you could easily make testdb return a very high error count, which could easily overflow the 8-bit unsigned integer limit. Instead, simply return 1 or 0 based on whether errors were found. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Split check steps in Makefile into multiple targetsDan McGee2012-04-24
| | | | | | | | | | | | | | | | | | | | This allows a `make -j4 check` invocation to actually run in parallel, even though 95% of our test suite time is currently dominated by pactest. It also allows running something like `make test-vercmp`. Also, add some targets to the .PHONY list that belong in it. Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: Be more consistent with missing program messageAllan McRae2012-04-24
| | | | | | | | | | | | Also prevent "sudo" and "su" from being translated. Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: treat list of packages to be installed as an arrayAllan McRae2012-04-24
| | | | | | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: deal with overriden package arch properlyAllan McRae2012-04-24
|/ | | | | | | | | | This fixes a lot of checks done by makepkg (e.g. to see if a package is already built and choosing which package to install). Previously, if a package had both "i686" and "any" versions, the "i686" one always took precidence regardless of the value of "arch" in the PKGBUILD for that package. Fixes FS#27204. Signed-off-by: Allan McRae <allan@archlinux.org>
* pacman-key: lookup keys before receivingDave Reisner2012-04-24
| | | | | | | | Perform a search for keys that clearly aren't key IDs. This allows receiving keys by name or email address, but only if the key resolves unambiguously. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* Merge branch 'maint'Dan McGee2012-04-24
|\ | | | | | | | | Conflicts: scripts/repo-add.sh.in
| * makepkg: restrict allowed characters in pkgnameDave Reisner2012-04-20
| | | | | | | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
| * pkgdelta/repo-add: quoting fixesFlorian Pritz2012-04-20
| | | | | | | | | | | | | | | | This removes some unnecessary quotes and adds quotes in a few places to hopefully work correctly if the tempdir has spaces. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Dan McGee <dan@archlinux.org>
| * pkgdelta: implement requirments for delta generationFlorian Pritz2012-04-20
| | | | | | | | | | | | | | | | Big deltas or deltas for very small packages are not needed so we should check that and not generate any. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Dan McGee <dan@archlinux.org>
| * pkgdelta: rework option/argument parserFlorian Pritz2012-04-20
| | | | | | | | | | Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Dan McGee <dan@archlinux.org>
| * contrib: remove pactree make ruleDave Reisner2012-04-19
| | | | | | | | | | | | | | | | This is a vestige leftover from the rewrite over a year ago in 622e7fdd4. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
| * contrib: remove wget-xdelta from gitignoreDave Reisner2012-04-19
| | | | | | | | | | | | | | I removed this in ff713a51 over a year ago. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'parse-opts'Dan McGee2012-04-24
|\ \
| * | makepkg.8: remove bold from --pkg's optargDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | Keep this in line with the rest of the manpages. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | pacman-key: allow verification of multiple sig filesDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | | | | | Loop through arguments passed to verify_sig and treat each as a signature to be verified against a source file. Output each file as its checked to avoid ambiguity. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | scripts/library: remove parse_optionsDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | | This is retired, as the two consumers of this function are now using the new parseopts instead. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | bash_completion: update for changes to pacman-keyDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | | | | | - only do file completion for options which expect files - add completion for possible key ids when a relevant operation is in COMPWORDS. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | scripts: avoid dumping usage on parser failDave Reisner2012-04-24
| | | | | | | | | | | | | | | Avoid letting the error message from parseopts get lost in the usage output from pacman-key and makepkg (which is already verbose).
| * | pacman-key: adopt parseopts for option parsingDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires an ugly amount of reworking of how pacman-key handles options. The change simply to avoid passing keys, files, and directories as arguments to options, but to leave them as arguments to the overall program. This is reasonable since pacman-key limits the user to essentially one operation per invocation (like pacman). Since we now pass around the positional parameters to the various operations, we can add some better sanity checking. Each operation is responsible for testing input and making sure it can operate properly, otherwise it throws an error and exits. The doc is updated to reflect this, and uses similar verbiage as pacman, describing the non-option arguments now passed to pacman-key as targets. Similar to the doc, --help is reorganized to separate operations and options and remove argument tokens from operations. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | makepkg: allow specifying --pkg multiple timesDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | | | | | | | Make this option additive, so that the following two operations are equivalent: makepkg --pkg foo --pkg bar makepkg --pkg foo,bar
| * | makepkg: adopt parseopts for option parsingDave Reisner2012-04-24
| | | | | | | | | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org>
| * | scripts/library: introduce parseoptsDave Reisner2012-04-24
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will replace our current options parser used in pacman-key, makepkg, and ideally elsewhere. It follows heuristics closer to that of GNU getopt long (and thus pacman itself), with the exception that it does not allow for options with optional arguments. Due to the way this parser will be used, this sort of functionality will not be needed. Instead of relying on eval+set, options are normalized into an array, OPTRET, which callers should expect to be populated after returning from parseopts. This avoids problems with quotes and spaces in arguments, assuming that the user quotes properly when passing into the application. A new test harness for parseopts is added in test/scripts. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | configure: avoid linking against libsslDave Reisner2012-04-24
| | | | | | | | | | | | | | | | | | We're not linking to libssl, only libcrypto. -Wl,--as-needed will get rid of this, but there's no sense in checking for and linking against a library we don't need. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2012-04-12
|\|
| * Fix issues with unintialized variable value usageDan McGee2012-04-09
| | | | | | | | | | | | | | | | | | | | | | | | Detected by clang scan-build static code analyzer. * Don't attempt to free an uninitialized gpgme key variable * Initialize answer variable before asking frontend a question * Pass by reference instead of value if uninitialized fields are possible in download signal handler code * Ensure we never call strlen() on NULL payload->remote_name value Signed-off-by: Dan McGee <dan@archlinux.org>
* | Remove SyncFirst optionDan McGee2012-04-12
| | | | | | | | | | | | | | | | | | | | | | This has outlived its usefulness and causes more problems than it solves. It has historically only ever been used to install pacman first. That should not be needed given we provide the vercmp utility (which has no library dependencies) and so calling pacman in install scripts is a sign of poor packaging. Work-duplicated-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add more warning flagsAllan McRae2012-04-09
| | | | | | | | Signed-off-by: Allan McRae <allan@archlinux.org>