summaryrefslogtreecommitdiff
path: root/lib/libalpm
Commit message (Collapse)AuthorAge
* xgettext : change pass-c-format flag to c-format.Chantry Xavier2008-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently xgettext apparently attempts to autodetect c format strings (eg a string with a %s) to decide whether to use c-format flag or not. If we use --flag=_:1:c-format instead of --flag=_:1:pass-c-format, the c-format will be applied everywhere. I couldn't find this documented anywhere though. But the pass prefix is mentioned here : http://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html#xgettext-Invocation "Specifies additional flags for strings occurring as part of the argth argument of the function word. The possible flags are the possible format string indicators, such as ‘c-format’, and their negations, such as ‘no-c-format’, possibly prefixed with ‘pass-’." And c-format is documented there : http://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html#c_002dformat-Flag "This situation happens quite often. The printf function is often called with strings which do not contain a format specifier. Of course one would normally use fputs but it does happen. In this case xgettext does not recognize this as a format string but what happens if the translation introduces a valid format specifier? The printf function will try to access one of the parameters but none exists because the original code does not pass any parameters." And that's exactly what happened with FS#9658. So using c-format for every string will prevent this issue from happening again. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* libalpm/sync.c : fix poorly worded debug message.Chantry Xavier2008-02-25
| | | | Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* Update Russian translationSergey Tereschenko2008-02-24
| | | | | | Some corrections from the previous translation. Signed-off-by: Dan McGee <dan@archlinux.org>
* Add new Simplified Chinese translation甘露(Lu.Gan)2008-02-22
| | | | | | Thanks a lot! Now we get to fix the breakage this causes in output messages. Signed-off-by: Dan McGee <dan@archlinux.org>
* Final updates to Polish translationMateusz Herych2008-02-19
| | | | | | Good job on the group effort guys, thanks for getting this one complete. Signed-off-by: Dan McGee <dan@archlinux.org>
* Update libalpm russian translation.Sergey Tereschenko2008-02-18
| | | | | | Cleaned up by Oleg Finkelshteyn. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* Do not warn about up to date package when downloading onlyAllan McRae2008-02-18
| | | | | | | | | Stops the "<pkg> is up to date -- reinstalling" message when using the download only flag. Ref: http://archlinux.org/pipermail/pacman-dev/2008-January/010952.html Signed-off-by: Allan McRae <mcrae_allan@hotmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* More small updates to German translationMatthias Gorissen2008-02-15
| | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* Merge branch 'translations' into maintDan McGee2008-02-14
|\
| * Updated Czech translation for 3.1.2 releaseVojtěch Gondžala2008-02-12
| | | | | | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
| * Update french translation.Chantry Xavier2008-02-12
| | | | | | | | | | Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* | Ensure DESC infolevel is loaded before checking pkg->filenameDan McGee2008-02-13
| | | | | | | | | | | | | | | | | | | | | | This is the first step of fixing FS#9547. This should not break any existing code that may rely on this function behaving the way it did, and should be good for inclusion in a maint release. In addition, update pactest so it fills the FILENAME field in the DB entries it creates so we can move forward with a real fix to this issue. Signed-off-by: Dan McGee <dan@archlinux.org>
* | Move some translations to their generic language codeDan McGee2008-02-11
| | | | | | | | | | | | | | | | | | | | | | | | For our Czech, Polish, and Russian translations, they do not need to be at the more specific 'lang_COUNTRY' code, but can live at just plain 'lang'. This follows the pattern of most other translated programs out there as Roman pointed out on IRC. ru_RU: 2 (pacman and libalpm) ru: 128 for him, 131 for me (everything else) Signed-off-by: Dan McGee <dan@archlinux.org>
* | ensure chk_fileconflicts reads entire file listDan McGee2008-02-11
|/ | | | | | | | | | | | If the end of the pB list was reached before the end of pA, we failed to read any remaining files from the pA list. Add an additional loop to ensure all entries of pA are added to the return list regardless of whether we have reached the end of pB. This new loop also eliminates the now-unnecessary check for a null pB, as we need to ensure we are excluding directories in the resulting output anyway. Signed-off-by: Dan McGee <dan@archlinux.org>
* libalpm/add.c : safety check for fixing FS#9235.Chantry Xavier2008-02-07
| | | | | | | | | | | | | | | 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>
* Portuguese Brazilian translation update for pacman 3.1.1João Felipe Santos2008-01-19
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* Corrections of German translationMatthias Gorissen2008-01-18
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* Spanish translation update for pacman 3.1.1Juan Pablo Gonzalez2008-01-16
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* Czech translation update for pacman 3.1.1Vojtěch Gondžala2008-01-16
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* English (British) translation update for pacman 3.1.1Jeff Bailes2008-01-16
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* Hungarian translation update for pacman 3.1.1Nagy Gabor2008-01-16
| | | | Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
* Update message files for 3.1.1 releaseDan McGee2008-01-14
| | | | | | | | | | | We are in string freeze for the 3.1.1 release. This commit updates all the message files to the latest code, and all translation updates should be based off of these po-files. Please attempt to keep the line number changes to a minimum- there should be no reason to update these po files with just new line numbers. That way we can more easily see exactly which translations were updated. Signed-off-by: Dan McGee <dan@archlinux.org>
* Change the versioned provision format.Chantry Xavier2008-01-14
| | | | | | | | | | | | | | | | | | | | | | Change the 'provname provver' format to 'provname=provver'. In .PKGINFO, the provisions are copied from the PKGBUILD without quotes. So the provision version was actually handled as a different provision... See FS#9171. Dan: Unfortunately we have to change our original specification for versioned provisions with this patch, but it ends up being the simpler and cleaner solution in the long run, and if there is any time to change it the time is now before many packages have been built. Keeping the ' ' based format would have required us to do special parsing in repo-add, as well as being susceptible to users not using quotes in their provides array. Hopefully this will resolve the issues we had with our initial plan. Sorry for the confusion. Acked-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* FS#9183 : force correct permissions on tmp/.Jaroslaw Swierczynski2008-01-13
| | | | | | | [Xav: removed unneeded makepath_internal function, and fixed the permission value : 1777 -> 01777] Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Ensure correct dir permissions in the database.Chantry Xavier2008-01-13
| | | | | | | | | | | | Fix for FS#9176. A previous commit (6e8daa553bbd5) already forced all database files to 644. Now the directories are also forced to 755. Additionally, repo-add now sets the umask to 022, just like makepkg does, to fix the problem at its root. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* util.c : fix segfault when the cachedir isn't usable.Chantry Xavier2008-01-13
| | | | | | | | | | | | For example, if the cachedir is a broken symlink or a non writable directory, pacman fallbacks to /tmp/. Just before doing that, it freed the handle->cachedirs list twice ! once in _alpm_filecache_setup, and once in alpm_option_set_cachedirs. So the first one was removed. Fixes FS#9186. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* small checkdeps speed-upNagy Gabor2008-01-12
| | | | | | | | | | | | | In the old code 'alpm_list_diff(_alpm_db_get_pkgcache(db), dblist, _alpm_pkg_cmp);' was slow. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> [Xav: In my opinion, computing both dblist and modified in one for loop also makes the code clearer, besides being more efficient. Also renamed joined to targets since I also find that clearer.] Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* don't send CHECKDEPS_DONE event when NODEPS is set.Chantry Xavier2008-01-12
| | | | | Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Only notify of dependency check in removal if performedAllan McRae2008-01-11
| | | | | | | | | Moves "checking dependencies..." notification into code block where dependency checking is performed to stop spurious notification. Reference: http://archlinux.org/pipermail/pacman-dev/2008-January/010714.html Signed-off-by: Allan McRae <mcrae_allan@hotmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Fix library interfaceDan McGee2008-01-11
| | | | | | | | | | | | Two functions defined in alpm.h were not marked with SYMEXPORT, causing linking errors if they were used. In addition, remove the incorrect use of the 'alpm_' prefix from an internal function and replace it with '_alpm_'. Fixes FS#9155. Signed-off-by: Dan McGee <dan@archlinux.org>
* Move the fallback on providers from backend to frontend.Chantry Xavier2008-01-09
| | | | | | | | | | | This reverts commit e28973169d2e5eda8b64ebdda11ece0dc761d978. This code might fit better in the frontend than in the backend finally. Ref: http://www.archlinux.org/pipermail/pacman-dev/2007-November/010150.html I also changed it for fixing FS#8763 : if there is exactly one provider, pacman will pull it and print a warning. if there are several providers, pacman will list them and fail. It's up to the user to pick one. Add sync501 pactest to reflect that.
* Remove upgradedelay and all code associated with itDan McGee2008-01-08
| | | | | | | | It wasn't even implemented correctly, and it really doesn't have a use if packagers just do their job correctly anyway for a distro. Let's not try to solve a problem with the wrong solution now. Signed-off-by: Dan McGee <dan@archlinux.org>
* Remove unused date element from pmpkg_t structDan McGee2008-01-08
| | | | | | | We had an unused date element in the pmpkg_t struct (not builddate or installdate). Kill it off and fix the one function that was using it. Signed-off-by: Dan McGee <dan@archlinux.org>
* conflict.c : fix for FS#8156, detect conflict between symlink and dir.Chantry Xavier2008-01-06
| | | | | | | | | | | | | | | The previous fileconflict check (package vs filesystem) skipped the conflict when the file on the filesystem was a directory or a symlink to a directory, no matter what the file in the package was. Now, the conflict will only be skipped if the file in the package is a directory (so compatible with a dir or a dir symlink on the filesystem). So in the case of 8156 (new fileconflict003 pactest for this case), instead of silently ignoring the extraction of the test symlink, pacman will now fail because of a file conflict between the test symlink in the pkg2 package and the test directory on the filesystem. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* Don't stat cachedir immediatelyDan McGee2008-01-05
| | | | | | | | | | | | By attempting to stat the cachedir when we load the pacman config, pacman bails out if it is a non-existant directory, even if it will never be needed. This is unfortunate as it is only used for sync transactions anyway. Instead, wait until we need it in _alpm_filecache_setup to actually do anything. Reported as FS#9096. Signed-off-by: Dan McGee <dan@archlinux.org>
* sync.c: add sanity check so we don't dereference a null pointerDan McGee2008-01-05
| | | | | | | | | | Originally noticed in FS#9024, but was fixed in previous changes anyway. However, it doesn't hurt to still check it. Also add a pactest from Chantry Xavier for the original problem to ensure we can't reproduce it. Signed-off-by: Dan McGee <dan@archlinux.org>
* conflict.c : fix for upgrade042.Chantry Xavier2008-01-05
| | | | | | | | | | | Thanks to the proactive backup handling, we don't need to add the moving file to the skip_add list. The backup handling will make sure nothing gets overwritten. Ref: http://www.archlinux.org/pipermail/pacman-dev/2007-December/010610.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* add.c : fix upgrade026 pactest.Chantry Xavier2008-01-05
| | | | | | | | | | | | | | | This was the case of the bash packaging error where a file was removed from the package but not the backup array. I just added a sanity check so that only the files from the backup array that are also in the filelist are used. I had to edit upgrade026 pactest slightly : it required the file to be copied to .pacsave instead of moved. But just moving it should be enough, as we agreed on the ML : http://www.archlinux.org/pipermail/pacman-dev/2007-December/010440.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Update of German translationMatthias Gorissen2008-01-05
| | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* Small code cleanups with indents/spacesDan McGee2008-01-01
| | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* Remove gettext calls from debug-level messagesDan McGee2008-01-01
| | | | | | | | | | These used FUNCTION output level and not DEBUG, so I didn't catch them way back when I removed those gettext calls. Remove them now (which exposed a nice little memory access error elsewhere in the code). This should have a slight speedup effect on the code too as we no longer have to make the gettext call even when these messages aren't printed. Signed-off-by: Dan McGee <dan@archlinux.org>
* Fix another usage of pkg_new in _alpm_sync_addtargetDan McGee2008-01-01
| | | | | | Use _alpm_pkg_dup instead. Signed-off-by: Dan McGee <dan@archlinux.org>
* Switch pkg_new -> pkg_dup in find_replacementsDan McGee2008-01-01
| | | | | | | | | | Ugh, it was a pain to figure out why the Total Removed Size was showing up wrong in the output of removed packages, but this was why- we used a stupid _alpm_pkg_new call instead of just duping the package. Fix this. In the long run, we really need to figure out better ways to not duplicate all this package information. Signed-off-by: Dan McGee <dan@archlinux.org>
* new upgade042 pactest + bugfix in chk_filedifference.Chantry Xavier2008-01-01
| | | | | | | | | | | | This adds a pactest for the relocation of a config file between two packages (case of etc/profile moving from bash to filesystem). While running this pactest, I found out that chk_filedifference didn't work correctly with an empty list as second argument. So that's fixed now. Ref: http://www.archlinux.org/pipermail/pacman-dev/2007-December/010610.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Remove .FILELIST generation from makepkg (and elsewhere)Dan McGee2007-12-29
| | | | | | | | | | | | | | This is something pacman can do on its own straight from the archive, and we will reduce the chance of problems occurring becuase of inproper FILELIST generation as we have had in the past with special characters in filenames. Once we remove it from makepkg. we can remove any usage of it from all of our other tools, including pacman, pactest, and contrib/ utilities. Note that removing it from pacman uncovered a few other bugs anyway, so this was probably a good move. Signed-off-by: Dan McGee <dan@archlinux.org>
* add a new upgrade026 pactest for backup handling.Chantry Xavier2007-12-29
| | | | | | | | | | | | This is the bash case when the /etc/profile file was removed by error from the package, but stayed in the backup array. Ref: http://www.archlinux.org/pipermail/arch-dev-public/2007-December/003556.html Also fixed a little typo in add.c, but it's disabled code. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* libalpm/add.c: disable buggy backup handling code that didn't do anything.Chantry Xavier2007-12-28
| | | | | | | | | | | | | As I mentioned earlier on the ML : http://www.archlinux.org/pipermail/pacman-dev/2007-December/010416.html the first part of commit 843d368ef6 had no effect because of a bug. So I fixed the bug, but since this would change backup handling behavior, and possibly require other bigger changes to work right, I decided to just disable that part temporarily, and left a TODO in the code. Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* french translation : one broken message caused a segfault.Chantry Xavier2007-12-28
| | | | | | pacman segfaulted on sync012 pactest because of one broken translation. Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
* libalpm/remove.c : switch back to lstat usage.Chantry Xavier2007-12-28
| | | | | | | | | | commit b55abdce7a changed every instance of lstat to alpm_stat to remove an eventual trailing /, but in remove.c, this is not wanted. Ref: http://www.archlinux.org/pipermail/pacman-dev/2007-December/010451.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Allow NULL parameter in alpm_trans_commitAllan McRae2007-12-28
| | | | | | | | | | Fixes FS#7380: alpm crashes on passing NULL to alpm_trans_commit in a sync operation. Adds check that data parameter is not NULL in several functions. Signed-off-by: Allan McRae <mcrae_allan@hotmail.com> [Dan: fix whitespace] Signed-off-by: Dan McGee <dan@archlinux.org>