summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2007-10-20Download delta files if UseDelta is set.Nathan Jones9-4/+300
Delta files will be used if the size is smaller than a percent (MAX_DELTA_RATIO) of the package size. Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-20Refactor md5sum checking.Nathan Jones1-44/+89
This will allow deltas and packages to share the md5sum checking code. Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-20Add pmdelta_t structure and functions to libalpm.Nathan Jones11-1/+380
Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-20Add delta information to the repository database.Nathan Jones1-1/+55
(Dan: cleaned up one if statement) Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-19Add Hungarian mirrorDan McGee1-0/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-19scripts/makepkg.sh.in: Strip bins/libs in all {bin, sbin, lib} directories.Andrew Fyfe1-1/+1
In one of the original clean up patches[1] I changed the search path for stripping binaries and libraries. This resulted in only usr/{bin,sbin,lib} being searched. This patch reverts that change. [1] 721ceee1e2c9b18425d84cf39f6541b2f04072b3 Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-10-18libalpm/package.c : fix requiredby with multiple providers.Chantry Xavier1-5/+2
The code didn't match the following comment : "A depends on B through n depends <=> A listed in B's requiredby n times" It stopped at n=1 with a break. I was surprised to see this case happens in real, that's how I noticed the bug: wine depends on both freeglut and glut, while freeglut provides glut. So when installing wine, the update_depends function listed wine twice in freeglut's requiredby. But the compute_requiredby function (used when installing freeglut, and used by testdb) listed wine only once in freeglut's requiredby. That made testdb unhappy. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-16Remove rounding on package size totalsDan McGee1-14/+2
We print the total to two decimal places, so there is no real need for rounding of the values. Remove the rounding and switch all output to two decimal places. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-15Fix scriptlet pactest cases so they 'succeed' againDan McGee2-0/+10
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-15libalpm/trans.c : fix a recently introduced breakage in scriptlets handling.Chantry Xavier1-6/+10
Commit 4853a4aad97fe36f9237ffb7356201adab507a1c used the tmpdir variable for checking the existence of /bin/sh, without resetting it. This caused /bin/sh to be deleted during the cleanup part, as soon as a scriptlet other than pre_upgrade or pre_install was executed. For example, on the first post_upgrade during a -Su. I introduced two variables : clean_tmpdir and restore_cwd, for deciding what should be done in the cleanup part. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-10-15libalpm/trans.c : remove the DBPath <-> RootDir dependence in runscriptlet.Chantry Xavier1-15/+21
This code assumed that DBPath was under RootDir, while this is not necessarily the case : pacman doesn't enforce anymore than DBPath is under RootDir. So now, all scriptlets will be put somewhere in RootDir/tmp/, so that when it chroots in RootDir, the scriptlets are still available inside the chroot. This also removes the need of normalizing both dbpath and rootdir, in order to do computation on the paths. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-10-15pacman/pacman.c : put back root check even if -r is specified.Chantry Xavier1-3/+1
Root is needed for most install / remove operation, because it's needed for chrooting, for running scriptlets. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-10-15Manually check xdelta exit codes.Nathan Jones1-9/+20
This is needed because 'xdelta delta' returns 1 even when the delta creation succeeds. This was causing makepkg to exit after the command due to bash's -e option. Some information from the xdelta man page: The delta command exits with status 0 to indicate that no differences were found, with status 1 to indicate that some differences were found, and with status 2 to indicate an error of some kind. Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-15Updates to fix Doxygen documentation generationDan McGee5-13/+11
We had way too much going on with the Doxygen manpage generation. Clean it up quite a bit by removing directory manpages, using relative paths, not having a manpage for every single alpm function, and ensuring internal functions are not documented publicly. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-10util/testdb: fix up function namingDan McGee1-4/+4
We shouldn't use the _alpm prefix (copy-paste issue, no big deal). Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Add two new pactests to check symlink behaviorNagy Gabor2-0/+37
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Add new French Arch mirrorDan McGee1-1/+1
Fix Aaron's busted-a** commit. :P Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09New French mirror at ftp.free.frAaron Griffin1-0/+1
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-10-09Add gcc format attribute to _alpm_log, catch a few bugs in the processDan McGee4-6/+8
This fixed a few of our formatted output strings that were broken before but never being checked. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09libalpm/package.c: ensure we use package name when loading packagesDan McGee1-4/+7
Some of the error messages in _alpm_pkg_load failed to use the pkgname value when printing, which made error messages rather hard to decode. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09pacman/pacman.c : add --logfile option.Chantry Xavier1-0/+10
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-10-09Update usage of gcc __attribute__ flagsDan McGee3-5/+5
Change the default visibility of libalpm functions to internal instead of hidden- this allows for slightly better optimization because it tells GCC that the function can never be called outside of the current module (see http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html). Also added some attributes to the pacman print functions so that they check the format strings being passed to them. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Clean up the scriptlet fork code a bit, honor the child return valueDan McGee1-3/+20
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Add new (failing) sync pactestNagy Gabor1-0/+18
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Remove the non-user friendly --ask optionDan McGee3-93/+35
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Fix backward compatibility with non-epoch builddatesDan McGee1-3/+8
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09Add new french mirrorDan McGee1-0/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-09pacman-optimize: add check for diff/diffutilsDan McGee1-0/+5
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-10-05Fail loudly is scriptlets cannot be run via /bin/shAaron Griffin1-0/+7
If /bin/sh is missing in the root directory, scriptlets cannot be executed, as we're explicitly calling it. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-10-05Fix -Sy and -Sp operations.Chantry Xavier2-3/+3
When the -Sy operation failed, the lock wasn't removed because alpm_trans_release wasn't called. This is fixed now. Also, after my last change in commit 52e7e6d74733f7a431376a9e528c4fe4d3732068 , Sp didn't do anything anymore. That's because needs_transaction returned false for -Sp, so the sync transaction wasn't run. However, the current implementation of -Sp requires a sync transaction. Also, since a transaction creates the lock file at the beginning, and releases it at the end, this mean that -Sp requires root access anyway.. I think I understand now why Aaron found that the current -Sp implementation is hackish :) Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-10-05makepkg: Fix typo to make xdelta creation work.Nathan Jones1-1/+1
Signed-off-by: Nathan Jones <nathanj@insightbb.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-10-04needs_transaction adjustmentsChantry Xavier3-55/+69
I just moved the root path check out of needs_transaction, and put it directly in pacman.c . I think this part is alright. For the other problems, I thought about doing the transaction first, in a new sync trans function, which will init and release a transaction. And then doing the commands like -Ss / -Sl / -Sg / -Si. The problem is that for commands like -Sys / -Syl / etc, only the refresh part of the transaction should be done. So I had to introduce an ugly sync_only hack. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-29libalpm: Optimize/inline the md5 functionalityDan McGee2-29/+5
The md5 routines are one of the chokepoints of libalpm (main chokepoint being archive extraction). Although IO delay causes a lot of it, we can at least inline some of the md5 stuff as we aren't that concerned about space and eliminate quite a few function calls. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-29libalpm/deps.c: fix memleak found by valgrindDan McGee1-0/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-29libalpm/be_files: Fix outdated code setting path for lastupdate fileDan McGee1-2/+2
The code for setting the lastupdate file path still referenced both the root and dbpath, when we should only be using dbpath. Fix it. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28makepkg: Fix output color codes for realDan McGee1-5/+5
Make sure we reset both the bold attribute and the color attributes when it is necessary. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28Remove outdated mirrorDan McGee1-1/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28makepkg: When we add an option, we should probably make it workDan McGee1-2/+2
The -A,--ignorearch option was added and given help text, but never actually listed as valid to the option parser. Fix this. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28Use ANSI 'foreground' color instead of hardcoding 'white'Aaron Griffin1-5/+5
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Allow --refresh specified for most -S optionsAaron Griffin1-24/+27
Included options are -g, -i, -s, and -l All of these will sync the DB if -y is specified and permissions are appropriate. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Break out transaction test to a separate functionAaron Griffin3-15/+23
Added needs_transaction, putting out "hey do we need root?" tests in one place. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28OMG a space!Aaron Griffin1-1/+1
Yeah, I added a space. It deserves its own commit. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Minor "cannot remove" message cleanupAaron Griffin1-1/+2
The strings differed in quotes only, this way we have only one i18n string for translation Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Remove buildtype package accessor prototypeAaron Griffin1-1/+0
This was removed a while ago, but the prototype was still hanging out. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Support for localized times in metadataAaron Griffin7-27/+49
Packages and DBs now support using the UNIX epoch (seconds since Jan 1, 1970) for use in builddate and installdate. This will only affect newly built packages. Old existing packages with the text format are still supported, but this is deprecated. In the case of removal of text time support, this code will fail gracefully, returning the start of the epoch for broken packages. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-09-28Add 'full' parameter to alpm_pkg_loadDan McGee7-22/+35
In most cases, we want to fully scan a package when we load it, which serves as a integrity verification check. However, there are times when it is only desired to read the metadata and nothing else, so allow the caller of pkg_load to choose the behavior they need. This pays big dividends in speeding up pacman cache cleaning functionality. Old (729 packages): real 1m43.717s user 1m20.785s sys 0m2.993s New (729 packages): real 0m25.607s user 0m19.389s sys 0m0.543s Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28Update comments dealing with pkgext/dbext strippingDan McGee2-4/+2
pacman/callback.c already did the work I set out to do with this commit, so update the comments accordingly in the frontend and backend. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28Reimplement pacman cache cleaning the right wayDan McGee1-5/+54
Partial cache cleaning was eliminated in a previous commit because it relied on package naming conventions. Re-add it the correct way- we actually open up each package in the cache and get a name and version out of it. If the name and version match that of an installed package, keep it. If the package is not installed or the version does not match the locally-installed version, get rid of it. This can easily be modified if some other heuristic of keeping and removing packages is desired, or if we should clean out the cache dir of any files that are not packages, etc. The biggest current problem with this new approach- speed. Here is one run on my local machine, going from 1643 to 729 packages in the cache (753 in the local DB): real 4m25.829s user 3m22.527s sys 0m6.713s This is likely best addressed by the package loading scheme, which may be loading the entirety of each package archive, which is a waste when we only need the .PKGINFO file read. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28Remove package name dependency from libalpmDan McGee7-271/+61
Previously, package names must match a specified scheme or they will cause pacman add operations to fail. This is not a very intelligent or necessary way to act, so remove the dependency on the name of the package to be installed and read all relevant information from the metadata instead. This does have one causality to be addressed later- pacman cache cleaning functionality, which has never been phenomenal, just lost most capability. Signed-off-by: Dan McGee <dan@archlinux.org>
2007-09-28libalpm: Add newline to alpm log function outputDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>