Merge branch 'maint'

Conflicts:

	lib/libalpm/be_files.c
	lib/libalpm/package.c
This commit is contained in:
Dan McGee 2008-02-15 19:40:22 -06:00
commit 6b07b5d345
29 changed files with 4678 additions and 4705 deletions

13
NEWS
View File

@ -1,5 +1,18 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
3.1.2 - updates to proto.install, add ChangeLog.proto (FS#7231)
- add 'force' option to packages, and have repo-add respect it
- mark gensync and updatesync as deprecated
- fix pacman -Qo behavior on symlinks (FS#9473)
- fix segfault on a broken symlinks in backup code (FS#9235)
- fix chk_fileconflicts brokenness, ensure it reads entire list
- minor documentation and message updates
- moved some translations to their more generic lang codes
- makepkg:
- check to ensure we have non-URL sources (FS#9208)
- ensure we strip binaries in /opt/ dirs (FS#9342)
- check for VCS executable before using (FS#9230)
- set sane umask before source extraction (FS#9242, FS#9362)
3.1.1 - fix versioned provisions handling- use '=' instead of ' ' which
differs from original spec but better in long run (FS#9171)
- rename query --orphans to --unrequired (FS#9144)

View File

@ -12,7 +12,7 @@ your language to the mix.
* indicates the last active translator.
Czech (cs_CZ):
Czech (cs):
* Vojtěch Gondžala <vogo@seznam.cz>
German (de):
* Matthias Gorissen <matthias@archlinux.de>
@ -30,7 +30,7 @@ Italian (it):
* Giovanni 'voidnull' Scafora <linuxmania@gmail.com>
Alessio 'mOLOk' Bolognino <themolok@gmail.com>
Lorenzo '^zanDarK' Masini <lorenxo86@gmail.com>
Polish (pl_PL):
Polish (pl):
* Mateusz Jędrasik <m.jedrasik@gmail.com>
Brazilian Portuguese (pt_BR):
* João Felipe Santos <joao.eel@gmail.com>
@ -38,6 +38,6 @@ Brazilian Portuguese (pt_BR):
Hugo Doria <hugodoria@archlinux-br.org>
Lincoln de Sousa <lincoln@archlinux-br.org>
Leandro Inácio <leandro@archlinux-br.org>
Russian (ru_RU):
Russian (ru):
Vladimir Bayrakovskiy <4rayven@gmail.com>

View File

@ -273,10 +273,7 @@ static alpm_list_t *chk_filedifference(alpm_list_t *filesA, alpm_list_t *filesB)
alpm_list_t *ret = NULL;
alpm_list_t *pA = filesA, *pB = filesB;
if(pB == NULL) {
return(alpm_list_strdup(pA));
}
/* if both filesA and filesB have entries, do this loop */
while(pA && pB) {
const char *strA = pA->data;
const char *strB = pB->data;
@ -301,6 +298,15 @@ static alpm_list_t *chk_filedifference(alpm_list_t *filesA, alpm_list_t *filesB)
}
}
}
/* ensure we have completely emptied pA */
while(pA) {
const char *strA = pA->data;
/* skip directories */
if(strA[strlen(strA)-1] != '/') {
ret = alpm_list_add(ret, strdup(strA));
}
pA = pA->next;
}
return(ret);
}

View File

@ -162,11 +162,12 @@ const char SYMEXPORT *alpm_pkg_get_filename(pmpkg_t *pkg)
ASSERT(handle != NULL, return(NULL));
ASSERT(pkg != NULL, return(NULL));
if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
}
if(pkg->filename == NULL || strlen(pkg->filename) == 0) {
/* construct the file name, it's not in the desc file */
if(pkg->origin == PKG_FROM_CACHE && !(pkg->infolevel & INFRQ_DESC)) {
_alpm_db_read(pkg->origin_data.db, pkg, INFRQ_DESC);
}
char buffer[PATH_MAX];
if(pkg->arch && strlen(pkg->arch) > 0) {
snprintf(buffer, PATH_MAX, "%s-%s-%s" PKGEXT,

View File

@ -1,11 +1,11 @@
# Set of available languages.
cs_CZ
cs
de
en_GB
es
fr
hu
it
pl_PL
pl
pt_BR
ru_RU
ru

View File

@ -1,14 +1,14 @@
# translation of cs_CZ.po to Čeština
# translation of cs.po to Čeština
# Copyright (C) YEAR Judd Vinet <jvinet@zeroflux.org>
# This file is distributed under the same license as the PACKAGE package.
#
# Vojtěch Gondžala <vogo@seznam.cz>, 2007, 2008.
msgid ""
msgstr ""
"Project-Id-Version: cs_CZ\n"
"Project-Id-Version: cs\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2008-01-14 23:08-0600\n"
"PO-Revision-Date: 2008-01-15 21:56+0100\n"
"PO-Revision-Date: 2008-02-12 09:28+0100\n"
"Last-Translator: Vojtěch Gondžala <vogo@seznam.cz>\n"
"Language-Team: Čeština\n"
"MIME-Version: 1.0\n"
@ -32,7 +32,7 @@ msgstr "v seznamu cílů byly nalezeny konfliktní balíčky\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr "nemůžete instalovat dva konfliktní balíčky současně\n"
msgstr "nemůžete instalovat dva konfliktní balíčky společně\n"
#: lib/libalpm/add.c:170
msgid "replacing packages with -A and -U is not supported yet\n"
@ -48,7 +48,7 @@ msgid ""
"directory permissions differ on %s\n"
"filesystem: %o package: %o\n"
msgstr ""
"přístupová práva adresáře v %s se liší\n"
"přístupová práva adresáře %s se neshodují\n"
"souborový systém: %o balíček: %o\n"
#: lib/libalpm/add.c:404
@ -64,12 +64,12 @@ msgstr "rozbalení: nepřepisuji adresář souborem %s\n"
#: lib/libalpm/add.c:466 lib/libalpm/add.c:610 lib/libalpm/util.c:428
#, c-format
msgid "could not extract %s (%s)\n"
msgstr "%s nelze rozbalit (%s)\n"
msgstr "nelze rozbalit %s (%s)\n"
#: lib/libalpm/add.c:517
#, c-format
msgid "could not rename %s (%s)\n"
msgstr "%s nelze přejmenovat (%s)\n"
msgstr "nelze přejmenovat %s (%s)\n"
#: lib/libalpm/add.c:524 lib/libalpm/add.c:544 lib/libalpm/trans.c:508
#, c-format
@ -84,7 +84,7 @@ msgstr "%s uložen jako %s\n"
#: lib/libalpm/add.c:568
#, c-format
msgid "could not install %s as %s: %s\n"
msgstr "%s nelze nainstalovat jako %s: %s\n"
msgstr "nelze nainstalovat %s jako %s: %s\n"
#: lib/libalpm/add.c:571
#, c-format
@ -94,7 +94,7 @@ msgstr "%s nainstalován jako %s\n"
#: lib/libalpm/add.c:588
#, c-format
msgid "extracting %s as %s.pacnew\n"
msgstr "%s rozbaluji jako %s.pacnew\n"
msgstr "rozbaluji %s jako %s.pacnew\n"
#: lib/libalpm/add.c:723 lib/libalpm/trans.c:526
msgid "could not get current working directory\n"
@ -103,12 +103,12 @@ msgstr "nelze určit aktuální pracovní adresář\n"
#: lib/libalpm/add.c:777
#, c-format
msgid "problem occurred while upgrading %s\n"
msgstr "při aktualizaci %s nastal problém\n"
msgstr "nastal problém při aktualizaci %s\n"
#: lib/libalpm/add.c:782
#, c-format
msgid "problem occurred while installing %s\n"
msgstr "při instalaci %s nastal problém\n"
msgstr "nastal problém při instalaci %s\n"
#: lib/libalpm/add.c:797
#, c-format
@ -118,7 +118,7 @@ msgstr "nelze aktualizovat záznam databáze %s-%s\n"
#: lib/libalpm/add.c:805
#, c-format
msgid "could not add entry '%s' in cache\n"
msgstr "nelze přidat položku '%s' do keše\n"
msgstr "nelze přidat položku '%s' do cache\n"
#: lib/libalpm/be_files.c:221
#, c-format
@ -163,7 +163,7 @@ msgstr "%s bude nainstalován před %s, na kterém závisí\n"
#: lib/libalpm/deps.c:588
#, c-format
msgid "cannot resolve \"%s\", a dependency of \"%s\"\n"
msgstr "nemohu získat \"%s\", závislost \"%s\"\n"
msgstr "nemohu vyřešit \"%s\", závislost \"%s\"\n"
#: lib/libalpm/error.c:41
msgid "out of memory!"
@ -227,11 +227,11 @@ msgstr "nelze aktualizovat databázi"
#: lib/libalpm/error.c:73
msgid "could not remove database entry"
msgstr "nelze odstranit položku databáze"
msgstr "nelze odstranit záznam v databázi"
#: lib/libalpm/error.c:76
msgid "invalid url for server"
msgstr "nesprávná URL pro server"
msgstr "nesprávná url pro server"
#: lib/libalpm/error.c:83
msgid "could not set parameter"
@ -311,11 +311,11 @@ msgstr "není žádný takový repositář"
#: lib/libalpm/error.c:126
msgid "corrupted delta"
msgstr "poškozený rozdíl"
msgstr "poškozený delta rozdíl"
#: lib/libalpm/error.c:128
msgid "delta patch failed"
msgstr "rozdílový patch selhal"
msgstr "aplikace delta rozdílu selhala"
#: lib/libalpm/error.c:131
msgid "group not found"
@ -355,7 +355,7 @@ msgstr "nesprávný regulární výraz"
#: lib/libalpm/error.c:153
msgid "connection to remote host failed"
msgstr "spojení ke vzdálenému hostiteli selhalo"
msgstr "spojení se vzdáleným hostitelem selhalo"
#: lib/libalpm/error.c:156
msgid "unexpected error"
@ -364,12 +364,12 @@ msgstr "neočekávaná chyba"
#: lib/libalpm/package.c:122
#, c-format
msgid "could not get md5sum for package %s-%s\n"
msgstr "nelze zjistit MD5 kontrolní součet balíčku %s-%s\n"
msgstr "nelze zjistit md5 kontrolní součet balíčku %s-%s\n"
#: lib/libalpm/package.c:131
#, c-format
msgid "md5sums do not match for package %s-%s\n"
msgstr "MD5 kontrolní součet balíčku %s-%s nesouhlasí\n"
msgstr "md5 kontrolní součet balíčku %s-%s nesouhlasí\n"
#: lib/libalpm/package.c:844
#, c-format
@ -389,7 +389,7 @@ msgstr "nelze získat soubor s popisem balíčku k %s\n"
#: lib/libalpm/package.c:1033
#, c-format
msgid "could not parse package description file in %s\n"
msgstr "nelze získat soubor s popisem balíčku z %s\n"
msgstr "nelze zpracovat soubor s popisem balíčku v %s\n"
#: lib/libalpm/package.c:1038
#, c-format
@ -429,16 +429,16 @@ msgstr "nelze odstranit záznam databáze %s-%s\n"
#: lib/libalpm/remove.c:346
#, c-format
msgid "could not remove entry '%s' from cache\n"
msgstr "nelze odstranit položku '%s' z keše\n"
msgstr "nelze odstranit položku '%s' z cache\n"
#: lib/libalpm/server.c:54
#, c-format
msgid "url '%s' is invalid, ignoring\n"
msgstr "URL '%s' je chybná, ignoruji\n"
msgstr "url '%s' je chybná, ignoruji\n"
#: lib/libalpm/server.c:58
msgid "url scheme not specified, assuming http\n"
msgstr "schéma URL nedefinováno, předpokládám http\n"
msgstr "schéma url nedefinováno, předpokládám http\n"
#: lib/libalpm/server.c:239
msgid "disk"
@ -447,7 +447,7 @@ msgstr "disk"
#: lib/libalpm/server.c:243
#, c-format
msgid "failed retrieving file '%s' from %s : %s\n"
msgstr "selhalo získání souboru '%s' z %s: %s\n"
msgstr "selhalo získání souboru '%s' z %s: %s\n"
#: lib/libalpm/server.c:273
msgid "cannot resume download, starting over\n"
@ -479,7 +479,7 @@ msgstr "spouštím XferCommand: větvení selhalo!\n"
#: lib/libalpm/server.c:443
msgid "URL does not contain a file for download\n"
msgstr "URL neobsahuje stahovaný soubor\n"
msgstr "URL neobsahuje soubor pro stažení\n"
#: lib/libalpm/server.c:456
#, c-format
@ -513,7 +513,7 @@ msgstr "%s-%s je aktuální -- přeinstalovávám\n"
#: lib/libalpm/sync.c:596 lib/libalpm/sync.c:601
msgid "unresolvable package conflicts detected\n"
msgstr "zjištěn nerozlišitelný konflikt balíčků\n"
msgstr "zjištěn konflikt nerozlišitelných balíčků\n"
#: lib/libalpm/sync.c:611
#, c-format
@ -528,7 +528,7 @@ msgstr "příkaz: %s\n"
#: lib/libalpm/sync.c:876 lib/libalpm/sync.c:886
#, c-format
msgid "can't get md5 checksum for file %s\n"
msgstr "nelze zjistit MD5 kontrolní součet pro soubor %s\n"
msgstr "nelze získat md5 kontrolní součet pro soubor %s\n"
#: lib/libalpm/sync.c:902
#, c-format
@ -579,7 +579,7 @@ msgstr "nelze odstranit zamykací soubor %s\n"
#: lib/libalpm/trans.c:483
msgid "No /bin/sh in parent environment, aborting scriptlet\n"
msgstr "Nenalezen /bin/sh v rodičovském prostředí, ruším provádění skriptů\n"
msgstr "V rodičovském prostředí chybí /bin/sh, ruším provádění skriptů\n"
#: lib/libalpm/trans.c:494
msgid "could not create temp directory\n"
@ -617,7 +617,7 @@ msgstr "volání waitpid selhalo (%s)\n"
#: lib/libalpm/trans.c:603
msgid "scriptlet failed to execute correctly\n"
msgstr "správné spouštění skriptu selhalo\n"
msgstr "správné spuštění skriptu selhalo\n"
#: lib/libalpm/trans.c:612
#, c-format
@ -637,19 +637,18 @@ msgstr "nelze otevřít %s: %s\n"
#: lib/libalpm/util.c:579
#, c-format
msgid "no %s cache exists, creating...\n"
msgstr "neexistuje keš %s, vytvářím...\n"
msgstr "neexistuje cache %s, vytvářím...\n"
#: lib/libalpm/util.c:595
msgid "couldn't create package cache, using /tmp instead\n"
msgstr "nelze vytvořit keš balíčků, používám /tmp\n"
msgstr "nelze vytvořit cache balíčků, používám /tmp\n"
#: lib/libalpm/util.c:644
#, c-format
msgid "md5: %s can't be opened\n"
msgstr "MD5: %s nemohl být otevřen\n"
msgstr "md5: %s nemohl být otevřen\n"
#: lib/libalpm/util.c:646
#, c-format
msgid "md5: %s can't be read\n"
msgstr "MD5: %s nemohl být přečten\n"
msgstr "md5: %s nemohl být přečten\n"

View File

@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n"
"POT-Creation-Date: 2008-01-14 23:08-0600\n"
"PO-Revision-Date: 2008-01-17 19:04+0100\n"
"PO-Revision-Date: 2008-02-15 09:26+0100\n"
"Last-Translator: Matthias Gorissen <matthias@archlinux.de>\n"
"Language-Team: German <archlinux.de>\n"
"MIME-Version: 1.0\n"
@ -37,7 +37,9 @@ msgstr "In Konflikt stehende Pakete wurden in Ziel-Liste gefunden\n"
#: lib/libalpm/add.c:167
msgid "you cannot install two conflicting packages at the same time\n"
msgstr "Sie können nicht zwei in Konflikt stehende Pakete zur selben Zeit installieren\n"
msgstr ""
"Sie können nicht zwei in Konflikt stehende Pakete zur selben Zeit "
"installieren\n"
#: lib/libalpm/add.c:170
msgid "replacing packages with -A and -U is not supported yet\n"
@ -400,7 +402,7 @@ msgstr "%s: Lokale Version (%s) ist neuer als %s (%s)\n"
#: lib/libalpm/package.c:1027
#, c-format
msgid "error extracting package description file to %s\n"
msgstr "Fehler beim Entpacken der Paket-Beschreibungsdatei nach %s\n"
msgstr "Fehler beim Entpacken der Paket-Beschreibungsdatei nach %s\n"
#: lib/libalpm/package.c:1033
#, c-format

View File

@ -657,12 +657,3 @@ msgstr "md5: l'ouverture de %s a échoué\n"
#, c-format
msgid "md5: %s can't be read\n"
msgstr "md5: la lecture de %s a échoué\n"
#~ msgid "loading package data for %s : level=%d\n"
#~ msgstr "chargement des données du paquet %s : niveau=%d\n"
#~ msgid "adding '%s' to package cache for db '%s'\n"
#~ msgstr "ajout de '%s' au cache de paquets pour la base de données '%s'\n"
#~ msgid "could not remove tempfile %s\n"
#~ msgstr "la suppression du fichier temporaire %s a échoué\n"

View File

@ -261,6 +261,7 @@ def db_write(self, pkg):
if pkg.reason:
data.append(_mksection("REASON", pkg.reason))
else:
data.append(_mksection("FILENAME", pkg.filename()))
if pkg.replaces:
data.append(_mksection("REPLACES", pkg.replaces))
if pkg.force:

View File

@ -0,0 +1,16 @@
self.description = "Upgrade a package with a filesystem conflict"
p = pmpkg("dummy", "2.0-1")
p.files = ["bin/dummy", "usr/share/file"]
self.addpkg(p)
lp = pmpkg("dummy", "1.0-1")
lp.files = ["bin/dummy"]
self.addpkg2db("local", lp)
self.filesystem = ["usr/share/file"]
self.args = "-U %s" % p.filename()
self.addrule("PACMAN_RETCODE=1")
self.addrule("PKG_VERSION=dummy|1.0-1")

View File

@ -27,4 +27,5 @@
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@ -4,7 +4,7 @@
lp1.files = ["bin/dummy"]
lp2 = pmpkg("foobar")
lp2.files = ["bin/foobar"
lp2.files = ["bin/foobar",
"usr/share/file"]
for p in lp1, lp2:
@ -27,4 +27,5 @@
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@ -0,0 +1,31 @@
self.description = "File relocation between two packages (reverse order, --force)"
lp1 = pmpkg("dummy")
lp1.files = ["bin/dummy"]
lp2 = pmpkg("foobar")
lp2.files = ["bin/foobar",
"usr/share/file"]
for p in lp1, lp2:
self.addpkg2db("local", p)
p1 = pmpkg("dummy")
p1.files = ["bin/dummy",
"usr/share/file"]
p2 = pmpkg("foobar")
p2.files = ["bin/foobar"]
for p in p1, p2:
self.addpkg(p)
self.args = "-Uf %s" % " ".join([p.filename() for p in p1, p2])
self.addrule("PACMAN_RETCODE=0")
for p in p1, p2:
self.addrule("PKG_EXIST=%s" % p.name)
self.addrule("FILE_MODIFIED=bin/dummy")
self.addrule("FILE_MODIFIED=bin/foobar")
self.addrule("FILE_EXIST=usr/share/file")
self.addrule("FILE_MODIFIED=usr/share/file")

View File

@ -1,11 +1,11 @@
# Set of available languages.
cs_CZ
cs
de
en_GB
es
fr
hu
it
pl_PL
pl
pt_BR
ru_RU
ru

File diff suppressed because it is too large Load Diff

1171
po/de.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

629
po/es.po

File diff suppressed because it is too large Load Diff

544
po/fr.po

File diff suppressed because it is too large Load Diff

1003
po/hu.po

File diff suppressed because it is too large Load Diff

579
po/it.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -675,9 +675,6 @@ run_build() {
msg "$(gettext "Starting build()...")"
cd "$srcdir"
# ensure we have a sane umask set
umask 0022
# ensure all necessary build variables are exported
export CFLAGS CXXFLAGS MAKEFLAGS CHOST
@ -1417,6 +1414,9 @@ else
warning "$(gettext "pacman was not found in PATH; skipping dependency checks.")"
fi
# ensure we have a sane umask set
umask 0022
# get back to our src directory so we can begin with sources
mkdir -p "$srcdir"
cd "$srcdir"

View File

@ -231,11 +231,11 @@ static void cleanup(int signum)
exit(signum);
}
/** Sets all libalpm required paths in one go. Called after the command line and
* inital config file parsing. Once this is complete, we can see if any paths were
* defined. If a rootdir was defined and nothing else, we want all of our paths to
* live under the rootdir that was specified. Safe to call multiple times (will only
* do anything the first time).
/** Sets all libalpm required paths in one go. Called after the command line
* and inital config file parsing. Once this is complete, we can see if any
* paths were defined. If a rootdir was defined and nothing else, we want all
* of our paths to live under the rootdir that was specified. Safe to call
* multiple times (will only do anything the first time).
*/
static void setlibpaths(void)
{
@ -244,6 +244,8 @@ static void setlibpaths(void)
int ret = 0;
pm_printf(PM_LOG_DEBUG, "setlibpaths() called\n");
/* Configure root path first. If it is set and dbpath/logfile were not
* set, then set those as well to reside under the root. */
if(config->rootdir) {
char path[PATH_MAX];
ret = alpm_option_set_root(config->rootdir);
@ -258,10 +260,12 @@ static void setlibpaths(void)
}
if(!config->logfile) {
snprintf(path, PATH_MAX, "%s%s", alpm_option_get_root(), LOGFILE);
ret = alpm_option_set_dbpath(path);
config->logfile = strdup(path);
}
}
/* Set other paths if they were configured. Note that unless rootdir
* was left undefined, these two paths (dbpath and logfile) will have
* been set locally above, so the if cases below will now trigger. */
if(config->dbpath) {
ret = alpm_option_set_dbpath(config->dbpath);
if(ret != 0) {