summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-09-12make compute_download_size consider .part filesDave Reisner1-3/+24
Check for the existance of a partial download of a package file before jumping to delta calculations. Currently, if there were 10MiB remaining in a 100MiB the values passed to the front end do not reflect this. Refactored from an old patch originally by Dan. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-12dload: provide optional netrc supportDave Reisner1-0/+1
if ~/.netrc exists and has credentials for the hostname requested in a download, they will be provided in an http auth request. This can still be overridden by explcitly declaring user:pass in the URL. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-11makepkg: unset errexit when sourcing /etc/profileDave Reisner1-1/+3
This is a fix for a bash3 specific bug, where a file sourced by /etc/profile would exit non-zero and make its way back up to makepkg, forcing it to exit after package installation. Along with unsetting the ERR handler, temporarily unset errexit to avoid this. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-11paccache: escape . in trimming of diskspace stringDave Reisner1-1/+1
Before: ==> finished dry run: 2 candidates (diskspace saved: 7. MiB) After: ==> finished dry run: 2 candidates (diskspace saved: 7.8 MiB) Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-11download callback: show decimal places in rate if we have roomDan McGee1-2/+8
Display now looks like this, whereas before we would have just showed '2M/s' for the extra repository download. The cutoff is placed at 100.0 to ensure we only use 4 character slots of width (e.g. '99.9', '100'). :: Synchronizing package databases... testing 39.9 KiB 470K/s 00:00 [######################] 100% core 51.4 KiB 469K/s 00:00 [######################] 100% extra 768.8 KiB 2.1M/s 00:00 [######################] 100% community-testing 1941.0 B 54.4M/s 00:00 [######################] 100% multilib 26.6 KiB 458K/s 00:00 [######################] 100% community 449.8 KiB 1649K/s 00:00 [######################] 100% Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-11Move download callback static vars into functionDan McGee1-3/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08diskspace: fix memory leak on root mount not foundDave Reisner1-1/+3
Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08Print 'loading packages' message on -U operationsDan McGee1-0/+1
This will be the first thing printed when doing an upgrade. Currently there is no output at all until we start resolving dependencies, which can be a while in if specifying very large targets on the command line, in which case it is nice to let the user know we are doing something. Addresses FS#25822 in the most KISS way possible. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08makepkg: use more awk'ish syntax in sanity checksDave Reisner1-6/+6
This simplifies the flow a bit, making the pipeline a little easier to grok. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-08makepkg: avoid for loop in deleting manpage hardlinksDave Reisner1-4/+2
find can do this all on its own and remain portable. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-08makepkg: act on function return value, not outputDave Reisner1-1/+1
Correcting a typo, as this function will never output anything. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-08makepkg: refactor check_pgpsigs outputDave Reisner1-16/+18
- display associated warnings on same line as pass/fail msg, to be more consistent with checksum verification output - properly error on a revoked key (matching pacman's behavior) Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-08Use more correct integer types in diskspace checksDan McGee2-16/+20
This adjusts type usage to match POSIX provided types from <sys/types.h> rather than assuming everything will fit in a long or unsigned long. Use fsblkcnt_t (unsigned) and blkcnt_t (signed) as appropriate. These are affected the same way off_t is on 32 bit platforms, where the types are extende to 64 bits if large file support is enabled. Because most numbers here are block counts, this isn't near as pressing as using a 32-bit variable for file sizes where anything over 2GiB can burn you; we likely can support files at least 512 but mainly 4096 times larger. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08query check: use provided filelist count instead of keeping trackDan McGee1-6/+6
We don't need to keep track of how many files are in a package now that said value is provided to us. It also makes more sense to use size_t here for types rather than the (hopefully never too short) int. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08Remove unnecessary castDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08Ensure PackageRequired works as expectedDan McGee1-6/+7
Changes in commit dc3336c277 caused this to stop working as expected for sync packages, due to the way the logic is structured. Ensure we always enter the signature code if the bitflag is flipped on to check signatures for packages. Rename 'use_sig' to 'has_sig' for clarity. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-06makepkg: use globs in place of regexDave Reisner1-7/+9
We seem to enjoy using bash regex capabilities, but never referencing the result with BASH_REMATCH. Replace almost all regexes with equivalent globs which are faster and functionally equivalent in these cases. This enables the extglob shopt. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-06dload: use intmax_t when printing off_tDan McGee1-2/+4
This works for both 32-bit and 64-bit platforms. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-06makepkg: unset variables as per !{make,build}flagsDave Reisner1-4/+2
Don't just set the flag variables to zero length strings, actually unset them from the environment. This fixes issues with broken gnu Makefies that use ?= for assigment, where the presence of a var is enough to make this condition avoid assignment. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-06rankmirrors: properly sort resulting timesDave Reisner1-1/+2
- Properly read each sorted line into a new array, instead of breaking on every word. - LC_COLLATE should apply to the sort portion of the pipeline, not the printing. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-06dload: abstract dload_interrupted reasonsDave Reisner1-3/+9
This gives us some amount of room to grow in case we ever find another reason that we might return with an error from the progress callback. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-06dload: improve debug outputDave Reisner1-2/+13
We lost some of this output in the fetch->curl conversion, but I also noticed in FS#25852 that we just lack some of this useful information along the way. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-09-06sync: add missing newline in warning messageDave Reisner2-2/+2
Dan: fix the other missing one too. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-06avoid blowing out the filecache list when using tmpdirDave Reisner1-4/+2
_alpm_filecache_setup() destroys the list of cachedirs when it finds no writeable directories in the config. This put us in an awkward situation where _alpm_filecache_find() would locate a downloaded file in a r/o cachedir, but then fail to install it after _alpm_filecache_setup() is called (with a NULL argument). Change this behavior to merely prepend the temporary directory to the list of available cachedirs. Dan exposed it in e07547ee4ed4, as now a package can be found in a directory we may not be able to actually store packages in. Reported-by: Rémy Oudompheng <remy@archlinux.org> Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03More package operations cleanupDan McGee6-45/+12
Neither deltas nor filename attributes are ever present in the local database, so we can remove all of the indirection for accessing these attributes. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Add -p/--print tip for -Q operations on filepathDan McGee1-0/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Former transaction callback rename refactorDan McGee13-234/+234
Put all the callback stuff in alpm.h in one spot, and make the following renames for clarity with the new structure: ALPM_TRANS_EVT_* --> ALPM_EVENT_* ALPM_TRANS_CONV_* --> ALPM_QUESTION_* ALPM_TRANS_PROGRESS_* --> ALPM_PROGRESS_* alpm_option_get_convcb() --> alpm_option_get_questioncb() alpm_option_set_convcb() --> alpm_option_set_questioncb() Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Move all callbacks up to the handle levelDan McGee16-117/+161
This was just disgusting before, unnecessary to limit these to only usage in a transaction. Still a lot of more room for cleanup but we'll start by attaching them to the handle rather than the transaction we may or may not even want to use these callbacks. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Be fully silent on any -Sp operationDan McGee1-1/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Make delta validation/application more logicalDan McGee1-11/+19
The call to apply was tucked inside validate, and the EVENT callbacks were done outside the function rather than inside. Reorganize things a bit to make more sense. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03pacman-key: add --refresh-keys operationDan McGee2-3/+11
This allows new signatures to be pulled, revocations to be found, etc. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03pacman-key: split keyserver to a separate optionDan McGee2-17/+24
This also renames '--receive' to '-recv-keys' to match the wrapped gpg option name, rather than invent a new one, now that the calling convention is the same. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03pacman-key help and documentation cleanupDan McGee2-19/+19
We were using the mystical [<foobar>] options which is some sort of cross between a <required> argument and an [optional] one. Remove this madness and do some other general cleanup/consistency work in the manpage. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03doc: consistency when referencing other optionsDan McGee3-6/+6
Use '\--option' rather than `--option` everywhere. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03pacman-key: document --lsign-keyDan McGee2-0/+5
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-03Clean up handling of size fieldsDan McGee7-40/+13
We currently have csize, isize, and size concepts, and sometimes the difference isn't clear. Ensure the following holds: * size (aka csize): always the compressed size of the package; available for everything except local packages (where it will return 0) * isize: always the installed size of the package; available for all three package types Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01pactest: remove PACMAN_OUTPUT from ldconfig testsDan McGee6-18/+17
This removes the last usages of this rule that aren't explicitly looking at real output from pacman. Notably, these tests depended on one particular debug logger not ever being changed, which is too fragile, not to mention doesn't work at all with --nolog. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01_alpm_parsedate(): return time_t and not longDan McGee2-3/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01Add pactest for overflowing date (year 2038 problem)Dan McGee3-4/+31
This will work fine on x86_64 (or any platform that has a 64 bit long), but currently fails on i686. This test also stresses the recent changes to accommodate package size values greater than a 32 bit UINT_MAX. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01makepkg: fix overzealous PGP signature file matchingDan McGee1-2/+2
The regex wasn't rooted at the end of the filename, nor was it matching a period/dot before the file extension. The end result was this matched a file named '07_all_sig.patch' which is totally broken. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01pacman/callback: reuse strlen calculationDave Reisner1-10/+13
Call strlen earlier in the dl progress callback, and reuse this length to replace some heavier str*() calls with more optimized mem*() replacements. This also gets rid of a false assumption that the ending string will ever be longer than the original string. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01makepkg: fix sanity checking in versioningDave Reisner1-3/+3
Read the entire variable, respecting escapes, which are necessary to retain for the successive eval. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01makepkg: read filenames in a while loopDave Reisner1-6/+4
Further improvments on 2ca27ab which will allow the changelog and install script files to contain whitespace. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-01makepkg: fix breakage in eval'ing quoted stringsDave Reisner1-5/+5
Broken in 2ca27a by me, trying to fix another problem. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30pacman-key: add --lsign-key operationDan McGee1-3/+14
This allows local signing of a given key to help establish the web of trust rooted at the generated (or imported) master key. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30pacman-key master key generationDan McGee1-0/+25
This enables pacman-key, during --init, to generate a single secret key for the pacman keyring if one is not present. This will be used as the root of the web of trust for those that do not wish to manage it with their own key, as will be the default. This does not preclude later adding other secret keys to the keyring, or removing this one- we simply ensure you have at least one secret key available. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30Scale package integrity progress bar/percentage by package sizeDan McGee1-2/+17
This upgrades the simple 15/17 scaling by package number we used before to package sized based scaling, which is much more accurate. Addresses some of the issues raised in FS#25817. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30Remove outdated comment for _alpm_outerconflictsAllan McRae1-4/+1
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30Improve advice for sync ops when db.lck is presentPang Yan Han3-9/+15
When the database is locked, sync operations involving transactions, such as pacman -Syy, show the following: :: Synchronizing package databases... error: failed to update core (unable to lock database) error: failed to update extra (unable to lock database) error: failed to update community (unable to lock database) error: failed to update multilib (unable to lock database) error: failed to synchronize any databases Whereas pacman -U <pkg> shows: error: failed to init transaction (unable to lock database) if you're sure a package manager is not already running, you can remove /var/lib/pacman/db.lck Which is much more meaningful, since the presence of db.lck may indicate an erroneous lockfile instead of an ongoing transaction. Improve the error messages for sync operations by advising the user to remove db.lck if he is sure that no package manager is running. Signed-off-by: Pang Yan Han <pangyanhan@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-30Parse > 2GiB file sizes correctlyDan McGee6-6/+32
We were using atol(), which on 32 bit, cannot handle values greater than 2GiB, which is fail. Switch to a strtoull() wrapper function tailored toward parsing off_t values. This allows parsing of very large positive integer values. off_t is a signed type, but in our usages, we never parse or have a need for negative values, so the function will return -1 on error. Before: $ pacman -Si flightgear-data | grep Size Download Size : 2097152.00 K Installed Size : 2097152.00 K After: $ ./src/pacman/pacman -Si flightgear-data | grep Size Download Size : 2312592.52 KiB Installed Size : 5402896.00 KiB Signed-off-by: Dan McGee <dan@archlinux.org>