summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2008-02-07pactest: make more resiliant to missing filesDan McGee3-2/+33
Add a bunch of guards around function calls like open() and stat() to ensure we are not going to get ourselves a python error. This made implementing and testing the new upgrade045 pactest much easier, as its whole purpose was to create a dead symlink and debug a segfault of pacman (which caused no DB entries to be written) to support the previously checked in fix for FS#9235 (commit 0c2206f542ce6df2606586d43f190cd5a423fb13). Both of these cases are now non-fatal in pactest. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-07libalpm/add.c : safety check for fixing FS#9235.Chantry Xavier1-6/+4
Fixes FS#9235. We already had the following case in extract_single_file : /* cases 1,2,3: couldn't stat an existing file, skip all backup checks */ But we actually only did a lstat here. And if lstat worked, we did a stat without checking. When lstat works and stat fails, it means we have a broken symlink, like in FS#9235. We can actually treat this case like a non-existing file. The broken symlink will then be simply overwritten. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-06libalpm/package.c : add _alpm_pkgname_pkg_cmp function.Nagy Gabor3-4/+9
_alpm_pkgname_pkg_cmp(pkgname, pkg) returns true iff pkg's name is pkgname. This is useful if you want to remove a package from pmpkg_t* list, and you want to search for package name. This allows cleaning the -Ru code a bit, by removing the need of a dummy pkg. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-06New remove option : -u / --unneeded (FS#6505).Nagy Gabor8-7/+78
With --unneeded option 'pacman -R' doesn't stop in case of dependency error; it removes the needed-dependency targets from the target-list instead. See also: http://archlinux.org/pipermail/pacman-dev/2007-October/009653.html . The patch also adds a new causingpkg field to pmdepmissing_t which indicates the to-be-removed package which would cause a dependency break. This is needed, because miss->depend.name may be a provision. miss->causingpkg will be useful in -R dependency error messages too. [Xavier: renamed inducer to causingpkg, removed the _alpm_pkgname_pkg_cmp helper function as requested by Aaron. This might be added by a further commit. Other small cleanups, updated manpage and bash completion.] Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-05remove --force option from repo-add.Chantry Xavier4-54/+8
The force option should only be specified in the PKGBUILD with options=(force). This information should be handled like any other meta info, and there is no need to have a special repo-add option for it. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> [Dan: fix up a few more references in contrib/ scripts, etc] Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05Merge branch 'maint'Dan McGee12-14/+84
Conflicts: contrib/gensync contrib/updatesync
2008-02-05Don't follow symlinks with -Qo.Chantry Xavier1-4/+11
Fixes FS#9473 and the issue reported there : http://www.archlinux.org/pipermail/pacman-dev/2008-February/011061.html Only the dirname should be resolved, not the basename. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05pacman/util.c: add mdirname functionDan McGee2-0/+29
This function mirrors mbasename and will be used by the 'owns' machinery. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05Remove "Installed Size" hackerationDan McGee1-5/+1
Keeping this hack around where installed size is only shown if it is greater than total download size encourages broken repository databases. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05doc/makepkg: document --log, address locale issuesDan McGee1-1/+13
Looks like no one ever documented -L/--log, so do that now. In addition, address some of the issues brought up in FS#9156 and add a note about build output and logs being in the current locale. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-05Add new ChangeLog.proto file.Chantry Xavier2-1/+17
Fixes FS#7231. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-02-02add 'force' to PKGINFO, have repo-add respect it.Chantry Xavier2-2/+5
Ref: http://www.archlinux.org/pipermail/pacman-dev/2008-January/011023.html Also see FS#9347 and FS#9349. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Clarify the "failed to add target" errors.Chantry Xavier3-5/+6
Make the error message printed when addtarget fails consistent between add.c, remove.c and sync.c. The main problem was that the "failed to add target" in case of a removal operation could sound confusing. There was also a little output problem with -U ("failed" was missing). Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02repo-remove: print an error in case of an empty dbChantry Xavier1-1/+3
When removing the last packages from a database, repo-remove silently failed. Now an error is printed. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Remove gettext calls from gensync/updatesyncDan McGee2-30/+30
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Remove gensync and updatesync from normal distributionDan McGee8-30/+16
Move these two scripts into contrib/, and start the process of de-automaking them by removing the @sysconfdir@ references and the gettext initialization. The removal of all gettext will soon follow. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Add deprecation warnings to gensync and updatesyncDan McGee2-0/+14
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Merge branch 'maint'Dan McGee3-34/+39
2008-02-02Remove /bin/true from install.protoRoman Kyrylych1-28/+29
Signed-off-by: Roman Kyrylych <roman@archlinux.org> [Dan: update indentation inside functions] Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02updatesync: incorrect package deletion logicAlex Merry1-5/+9
Fixes FS#9279. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-02-02Update libtool version (1.5.24 -> 1.5.26)Dan McGee4-38/+105
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27makepkg: ensure binaries in /opt/* are strippedDan McGee1-1/+1
The path selection for stripping binaries was slightly off, so any binaries in subdirectories of opt/ were missed. Fixes FS#9342. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27pmsyncpkg_t cleanupNagy Gabor4-84/+56
Fix for sync044.py and reason001.py. Rename sync->data to sync->removes (alpm_list_t *) Replace pmsynctype_t sync->type by pmpkgreason_t sync->newreason The type field was set to UPGRADE or DEPEND or REPLACE. Instead of using type = UPGRADE or DEPEND, we now rather use a "pmpkgreason_t newreason" field directly (= explicit or depend) which allows a better handling of the install reason. And the REPLACE type is now deduced implicitly when the sync->removes list is not empty. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27Merge branch 'maint'Dan McGee3-8/+5
2008-01-27Fix PM_ERR_CONFLICTING_DEPS handling in sync.cNagy Gabor1-13/+14
* eliminate asymmetry (innerconflict vs. outerconflict) * fix a memleak (in case of PM_ERR_MEMORY deps wasn't freed) * fix wrong pmconflict_t duplication (*retconflict = *conflict) Note: the new code introduces some code duplication which shall disappear by fixing FS#7524. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27New _alpm_conflict_dup functionNagy Gabor2-0/+12
Added function to cleanly duplicate a conflict. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-27small sync.c code clean-upNagy Gabor1-16/+6
Remove unnecessary synclist_free function, and use our standard way (alpm_list_free_inner + alpm_list_free) instead. This slightly reduces code duplication. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27Clarify the "cancel current operation" message.Chantry Xavier1-6/+3
Fixes FS#9295. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> [Dan: 'new pacman' -> 'new pacman version'] Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-27makepkg : improve determination of svn revision.Chantry Xavier1-1/+1
The previous sed command matched every line starting with r. For example, with mpd-svn package in aur, the svn log output was rather big, and there were several lines starting with r (the actual revision : r7155, but also other lines starting with reverting and run), so this broke makepkg: > makepkg ==> Determining latest svn revision... -> Version found: 7155 everting un sed: -e expression #1, char 27: unterminated `s' command To make the sed command more bullet proof, I added the -q option of svn log, which produces a quieter output, without the log. And I changed the sed command to only match numbers for the revision. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-24doc/makepkg.8: add missing '-' to manpage optionDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23libalpm/sync.c : conflicts resolving cleanup.Chantry Xavier3-158/+115
The original patch from Nagy tried to resolve target vs target conflicts, and so broke the following pactests : sync040, sync041 and sync990 Nagy's proposal to solve this situation was to choose the interactive way, ask the user how to deal with it: either remove pkg1 or remove pkg2 or stop here. So he left this as a TODO. But instead of trying to resolve these conflicts or asking the user, I tried to find a more conservative way, looking at what the current pactests expected: If between the two conflicting packages, one provides the other, pacman will keep that one and remove the other from the target list. That breaks sync893 and sync897. But Dan agreed these two looked weird and should be changed. This commit should close FS#8897, FS#8899 and FS#9024. Reference: http://www.archlinux.org/pipermail/pacman-dev/2007-October/009745.html http://www.archlinux.org/pipermail/pacman-dev/2007-December/010393.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23Fix flip-flopped parameters to CALLOC macroDan McGee1-2/+2
The mixup causes a fail in the build using --enable-debug on x86_64 but not i686, so none of us caught this right away. Fix it. FS#9297. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23libalpm/cache.c : don't duplicate packages in pkgcache.Chantry Xavier2-13/+5
Edit _alpm_db_add_pkgincache to not duplicate packages, because this is not needed, is slower, and uses more memory. This made the max memory usage during base reinstall go from 10.4MB to 9.7MB. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23testdb : add conflicts checking.Chantry Xavier1-0/+8
Testdb will now scan the local database to check there are no conflicts. I'm not sure how it's possible to get this situation. At least pacman doesn't allow installing a package that conflicts with a local one, without removing the local one. But maybe in a very weird situation, or because of a bug, it could be possible. But anyway, this only requires 5 lines of code. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23Add new public alpm_checkdbconflicts function.Chantry Xavier4-5/+11
This function has a limited purpose, but might be interesting to do a sanity check from a frontend (eg testdb). Also removed the private _alpm_checkconflicts function to avoid confusion. This function was used only once in libalpm, in sync.c, and was just a single line anyway. Having to do it manually makes it explicit that we are looking for two kind of conflicts (targ vs targ and db vs targ). Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-23small memleak fix in sync.c.Chantry Xavier1-1/+2
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-21pactest: remove check for root permissions messageDan McGee1-5/+0
Pacman isn't designed to fail when under fakeroot anymore, so kill this check off which fails anyway if the logfile is missing (such as when the --valgrind flag is used). Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-21conflict.c: move debug message out of inner loopDan McGee1-2/+2
We have a debug message in the target vs. target file conflict check, and this is a bit rediculous when it comes to watching output from something like smoke001.py. Instead, put the output outside this inner loop so we only see it at most once per target, which is much more reasonable. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-21Fix memleak found by add004.pyDan McGee1-12/+8
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-21Merge branch 'maint'Dan McGee7-16/+30
2008-01-21New --asexplicit optionNagy Gabor8-11/+64
This is the symmetric of --asdeps, install packages explicitly. Documentation and completion files were updated accordingly. Added sync301.py and upgrade032.py pactest files to test this. I also made a little modification in ALLDEPS handling too. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-21Move the deptest code from frontend to backend.Chantry Xavier8-58/+51
The deptest code (pacman -T) used by makepkg was mostly in the frontend. There were 2 drawbacks: 1) the public splitdep function returns a pmdepend_t struct, but the _alpm_dep_free function for freeing it is private. So there was a memleak. 2) there is a helper in the backend (satisfycmp in deps.c) which makes this function much easier. So this adds a new public alpm_deptest in libalpm/deps.c, which cleans pacman_deptest in pacman/deptest.c a lot. Besides, alpm_splitdep was made private, because the frontend no longer requires it, and _alpm_dep_free is also private. Finally the deptest001 pactest was extended. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-21Convert deltas to dynamic allocationDan McGee4-19/+28
Another elimination of a static length structure in libalpm. Should result in a little more memory saved during execution of packages with lots of deltas attached. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-20two string fixes.Chantry Xavier2-2/+2
* added a newline to a conflict message in add.c * removed the trailing dot in a replace message in callback.c. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-20workaround for a gettext string starting with --.Chantry Xavier1-1/+1
Workaround found in Advanced Bash-Scripting Guide, localization section. "added a \0 (NULL) at the beginning of the sentence." Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-20Remove frontend translation of "debug:" messageDan McGee1-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-20makepkg: add check to ensure we have non-URL files in build dirDan McGee1-0/+6
Pacman 3.0 printed the following message if a file could not be found: ERROR: xxx was not found in the build directory and is not a proper URL. We lost this logic in 3.1 when moving to the DLAGENT type stuff, so a not-found file got passed all the way to the download logic where it failed with a odd error message. Bring back some logic to ensure only files with URLs get past a certain point, and fail if the file is not available. Fixes FS#9208. Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-19Final changes before 3.1.1 releaseDan McGee2-6/+7
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-01-19Update TRANSLATORS file.Chantry Xavier1-5/+12
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2008-01-18Merge branch 'maint'Dan McGee26-8453/+7687