summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Remove FORCE reading from local DBDan McGee2011-01-05
| | | | | | We never wrote it here, so no need to read it in either. Signed-off-by: Dan McGee <dan@archlinux.org>
* pactest: Use booleans where it makes senseDan McGee2011-01-05
| | | | | | No need to use 0/1 when we can use False/True for the force option. Signed-off-by: Dan McGee <dan@archlinux.org>
* pactest: remove dead functionDan McGee2011-01-05
| | | | | | Stopped being used after commit fa933df65b9. Signed-off-by: Dan McGee <dan@archlinux.org>
* Fix function indentationDan McGee2011-01-02
| | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* Merge branch 'maint'Dan McGee2010-12-30
|\ | | | | | | | | | | Conflicts: lib/libalpm/sync.c test/pacman/tests/ignore007.py
| * Respect Ignore{Pkg,Group} for group membersJakob Gruber2010-12-30
| | | | | | | | | | | | Fixes FS#19854. Signed-off-by: Dan McGee <dan@archlinux.org>
| * Move group code to separate functionJakob Gruber2010-12-30
| | | | | | | | | | | | | | This makes the following commits more readable. No logic was changed in this commit. Signed-off-by: Dan McGee <dan@archlinux.org>
| * Tests: Sync group which includes ignored pkgsJakob Gruber2010-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * FS#19854 (--ignore is ignored with groups) * http://www.archlinux.org/pipermail/pacman-dev/2009-June/008847.html (operation aborts when a package from a group is ignored/and user chooses not to install it) If a group member is ignored, we expect a) a question whether to install b) after saying 'no' to a), the ignored member not to be installed c) all other group members to be installed d) pacman to execute successfully Signed-off-by: Dan McGee <dan@archlinux.org> (cherry picked from commit 9d0b33fd3327ae6d2b15f50870c0885a2068d492)
| * doc: add website zip to clean filesDan McGee2010-12-29
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Declare all local functions staticAllan McRae2010-12-30
| | | | | | | | | | | | | | | | | | | | | | | | All functions that are limited to the local translation unit are declared static. This exposed that the _pkg_get_deltas declaration in be_local.c was being satified by the function in packages.c which when declared static caused linker failures. Fixes all warnings with -Wmissing-{declarations,prototypes}. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add const to some ALPM function signaturesJakob Gruber2010-12-30
| | | | | | | | | | | | char * -> const char *. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2010-12-29
|\|
| * Various documentation updatesDan McGee2010-12-29
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: add option to clear buildflagsAllan McRae2010-12-29
| | | | | | | | | | | | | | | | | | | | Add the "buildflags" option, which is useful in its negative form for disabling CFLAGS, CXXFLAGS and LDFLAGS when building a package. This is useful when determining of one of these flags is causing an issue with a package. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: Add check() function for running test suitesAllan McRae2010-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A PKGBUILD can have an option check() function for running test suites between the build() and package() stages. This function is run by default but can be disabled globally in with "!check" in BUILDENV in makepkg.conf. This setting can be controlled on an individual package basis using makepkg's --check and --nocheck flags. Addition dependencies needed for running the test suite can be specified in the checkdepends array and are only checked when running the check() function. Original-work-by: Jeff C <jeff@kcaccess.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Use limits.h for PATH_MAXAllan McRae2010-12-29
| | | | | | | | | | | | | | | | | | | | | | | | We use PATH_MAX everywhere by including limits.h so there is no point in doing a check for it in a different header when dealing with FreeBSD's libfetch. Also, remove autoconf check for strings.h header as it is not used anywhere. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Detect undefined PATH_MAXAllan McRae2010-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | POSIX does not require PATH_MAX be defined when there is not actual limit to its value. This affects HURD based systems. Work around this by defining PATH_MAX to 4096 (as on Linux) when this is not defined. Also, clean up inclusions of limits.h and remove autoconf check for this header as we do not use macro shields for its inclusion anyway. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Correct type for hash value storageAllan McRae2010-12-29
| | | | | | | | | | Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: escape closing bash array paren for awkDave Reisner2010-12-29
| | | | | | | | | | | | | | | | | | | | | | The closing parenthesis of bash arrays needs to be escaped in the ending address of awk expressions in order to play nicely with implementations of awk other than gawk. This change provides compatibility with gawk, nawk and mawk. Signed-off-by: Dave Reisner <d@falconindy.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: allow pkgname usage in split package functionsAllan McRae2010-12-29
| | | | | | | | | | | | | | | | | | | | | | | | Currently, using $pkgname in a split package package_*() function always returns the first value in the pkgname array rather than the name of tha package being packaged. Fix this so $pkgname gives the expected value. Fixes FS#22174 Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'depcmp-perf'Dan McGee2010-12-29
|\ \
| * | Use name hashes in depends to avoid strcmp callsDan McGee2010-12-21
| | | | | | | | | | | | | | | | | | | | | | | | Just like we did for package name comparsions, if we add a depend name_hash field on depend struct initialization, we can use it instead of doing a string name comparison, saving us a lot of checks in the depcmp code. Signed-off-by: Dan McGee <dan@archlinux.org>
| * | Remove need for memory allocation in _alpm_depcmpDan McGee2010-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed when tweaking testdb, when we run _alpm_depcmp in loops and call it seven million times, the strdup()/free() combo can add up. Remove the need for any string duplication by some pointer manipulation and use of strncmp instead of strcmp. Also kill the function logger and add an escape so we don't needlessly retrieve the list of provides. Signed-off-by: Dan McGee <dan@archlinux.org>
* | | Merge branch 'fgets-perf'Dan McGee2010-12-29
|\ \ \ | |/ / |/| |
| * | Add pactest to test long archive readsDan McGee2010-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | This creates two packages with extremely long description lines (500KB and 600 KB), causing our archive read code to perform reallocation to store the whole contents. One of the packages will successfully read while the other will fail for the time being. Signed-off-by: Dan McGee <dan@archlinux.org>
| * | pactest: allow testing of package descriptionDan McGee2010-12-21
| | | | | | | | | | | | | | | | | | | | | And modify the code to not print the full rule string if it is more than 40 characters long; truncate it instead. Signed-off-by: Dan McGee <dan@archlinux.org>
| * | Overhaul archive fgets functionDan McGee2010-12-21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old function was written in a time before we relied on it for nearly every operation. Since then, we have switched to the archive backend and now fast parsing is a big deal. The former function made a per-character call to the libarchive archive_read_data() function, which resulted in some 21 million calls in a typical "load all sync dbs" operation. If we instead do some buffering of our own and read the blocks directly, and then find our newlines from there, we can cut out the multiple layers of overhead and go from archive to parsed data much quicker. Both users of the former function are switched over to the new signature, made easier by the macros now in place in the sync backend parsing code. Performance: for a `pacman -Su` (no upgrades available), _alpm_archive_fgets() goes from being 29% of the total time to 12% The time spent on the libarchive function being called dropped from 24% to 6%. This pushes _alpm_pkg_find back to the title of slowest low-level function. Signed-off-by: Dan McGee <dan@archlinux.org>
* | testdb: update for new database formatDan McGee2010-12-20
| | | | | | | | | | | | | | | | | | Sync DB's no longer have an extracted directory, so remove the files check for those. Local databases no longer have a 'depends' file, so kill that check as well. Finally, do a little other cleanup and remove the need for PATH_MAX. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Only check diskspace availability if needs more than zeroAllan McRae2010-12-20
| | | | | | | | | | | | | | | | | | | | The amount of diskspace needed for a transaction can be less than zero. Only test this against the available disk space if it is positive, which avoids a comparison being made between signed and unsigned types (-Wsign-compare). Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Always specify arguement type in function delcarationsAllan McRae2010-12-20
| | | | | | | | | | | | | | | | Always declare a function with (void) rather than () when we expect no arguements. Fixes all warnings with -Wstrict-prototypes. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: remove last inappropriate PKGBUILD usageAllan McRae2010-12-20
| | | | | | | | | | | | | | | | We should always use $BUILDSCRIPT instead of PKGBUILD. The only remaining uses of PKGBUILD in makekg are in comments. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Use macros in sync DB parsingDan McGee2010-12-20
| | | | | | | | | | | | | | | | | | | | This simplifies a lot of the repetative code and makes it obvious where the tricky or different ones are (e.g. depends, dates). It also makes it significantly easier to change the way this code works in the future. There should be no functional change with this patch. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2010-12-15
|\|
| * doc/PKGBUILD: document that functions run in -e modeDan McGee2010-12-13
| | | | | | | | | | | | | | Caught this noted on the forums, but it is definitely worth a note in the manpage as well. Signed-off-by: Dan McGee <dan@archlinux.org>
| * Fix manpage wrap not at 80 charactersDan McGee2010-12-13
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
| * Update news and bump versionsDan McGee2010-12-12
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add a cushion for diskspace checkingDan McGee2010-12-15
| | | | | | | | | | | | It is the minimum of 5% of disk capacity or 20 MiB on a per-partition basis. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Document PKGEXT and SRCEXTAllan McRae2010-12-15
| | | | | | | | | | | | | | | | Add some basic documentation for the PKGEXT and SRCEXT options in makepkg.conf. Fixes FS#21302. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Reorganize fields in package structDan McGee2010-12-14
| | | | | | | | | | | | | | Saves a few bytes due to padding (256 -> 248 bytes), especially on x86_64, so we get the overhead of our new hash field right back. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Used hashed package name in _alpm_pkg_findDan McGee2010-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This results in huge gains to a lot of our codepaths since this is the most frequent method of random access to packages in a list. The gains are seen in both profiling and real life. $ pacman -Sii zvbi real: 0.41 sec -> 0.32 sec strcmp: 16,669,760 calls -> 473,942 calls _alpm_pkg_find: 52.73% -> 26.31% of time $ pacman -Su (no upgrades found) real: 0.40 sec -> 0.50 sec strcmp: 19,497,226 calls -> 524,097 calls _alpm_pkg_find: 52.36% -> 26.15% of time There is some minor risk with this patch, but most of it should be avoided by falling back to strcmp() if we encounter a package with a '0' hash value (which we should not via any existing code path). We also do a strcmp once hash values match to ensure against hash collisions. The risk left is that a package name is modified once it was originally set, but the hash value is left alone. That would probably result in a lot of other problems anyway. Signed-off-by: Dan McGee <dan@archlinux.org>
* | When setting package name, set hash value as wellDan McGee2010-12-14
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add hash_sdbm functionDan McGee2010-12-14
| | | | | | | | | | | | | | | | This is prepping for the addition of a hash field to each package to greatly speed up the string comparisons we frequently do on package name in _alpm_pkg_find. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Use _alpm_pkg_find in deps searchDan McGee2010-12-14
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Correctly force load of package reasonDan McGee2010-12-13
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Abstract has_scriptlet() to package ops structDan McGee2010-12-13
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Remove non-public functions from headerDan McGee2010-12-13
| | | | | | | | | | | | And rename accordingly. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Mark sync_db_read() as staticDan McGee2010-12-13
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Abort db_populate if dbpath is not setBruno Widmann2010-12-13
| | | | | | | | | | | | | | Rather than segfault. Fixes FS#21345. Signed-off-by: Bruno Widmann <bruno.widmann@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Update scripts/ .gitignoreDan McGee2010-12-12
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Create sync/ DB directory if it does not existDan McGee2010-12-12
| | | | | | | | | | | | | | Rather than error out, this is easy enough. Looks quite similar to the code in be_local for creating the local directory. Signed-off-by: Dan McGee <dan@archlinux.org>