mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-15 13:55:09 -05:00
Merge branch 'maint'
This commit is contained in:
commit
bfc024eab3
@ -355,14 +355,12 @@ static int extract_single_file(struct archive *archive,
|
||||
* links, etc.
|
||||
* 12- skip extraction, dir already exists.
|
||||
*/
|
||||
struct stat lsbuf;
|
||||
if(_alpm_lstat(filename, &lsbuf) != 0) {
|
||||
|
||||
/* do both a lstat and a stat, so we can see what symlinks point to */
|
||||
struct stat lsbuf, sbuf;
|
||||
if(_alpm_lstat(filename, &lsbuf) != 0 || stat(filename, &sbuf) != 0) {
|
||||
/* cases 1,2,3: couldn't stat an existing file, skip all backup checks */
|
||||
} else {
|
||||
/* do a stat as well, so we can see what symlinks point to */
|
||||
struct stat sbuf;
|
||||
stat(filename, &sbuf);
|
||||
|
||||
if(S_ISDIR(lsbuf.st_mode) && S_ISDIR(entrymode)) {
|
||||
/* case 12: existing dir, ignore it */
|
||||
if(lsbuf.st_mode != entrymode) {
|
||||
|
@ -119,7 +119,10 @@ class pmdb:
|
||||
|
||||
# desc
|
||||
filename = os.path.join(path, "desc")
|
||||
fd = file(filename, "r")
|
||||
if not os.path.isfile(filename):
|
||||
print "invalid db entry found (desc missing) for pkg", pkgname
|
||||
return None
|
||||
fd = open(filename, "r")
|
||||
while 1:
|
||||
line = fd.readline()
|
||||
if not line:
|
||||
@ -158,7 +161,10 @@ class pmdb:
|
||||
|
||||
# files
|
||||
filename = os.path.join(path, "files")
|
||||
fd = file(filename, "r")
|
||||
if not os.path.isfile(filename):
|
||||
print "invalid db entry found (files missing) for pkg", pkgname
|
||||
return None
|
||||
fd = open(filename, "r")
|
||||
while 1:
|
||||
line = fd.readline()
|
||||
if not line:
|
||||
@ -177,6 +183,9 @@ class pmdb:
|
||||
|
||||
# depends
|
||||
filename = os.path.join(path, "depends")
|
||||
if not os.path.isfile(filename):
|
||||
print "invalid db entry found (depends missing) for pkg", pkgname
|
||||
return None
|
||||
fd = file(filename, "r")
|
||||
while 1:
|
||||
line = fd.readline()
|
||||
|
16
pactest/tests/upgrade045.py
Normal file
16
pactest/tests/upgrade045.py
Normal file
@ -0,0 +1,16 @@
|
||||
self.description = "FS#9235"
|
||||
|
||||
lp = pmpkg("foo")
|
||||
lp.files = ["etc/foo.cfg -> etc/foo.cfg"]
|
||||
lp.backup = ["etc/foo.cfg"]
|
||||
self.addpkg2db("local", lp)
|
||||
|
||||
p1 = pmpkg("foo", "1.0-2")
|
||||
p1.files = ["etc/foo.cfg*"]
|
||||
p1.backup = ["etc/foo.cfg"]
|
||||
self.addpkg(p1)
|
||||
|
||||
self.args = "-U %s" % p1.filename()
|
||||
|
||||
self.addrule("PKG_VERSION=foo|1.0-2")
|
||||
self.addrule("FILE_EXIST=etc/foo.cfg")
|
@ -196,6 +196,9 @@ def mkcfgfile(filename, root, option, db):
|
||||
def getmd5sum(filename):
|
||||
"""
|
||||
"""
|
||||
if not os.path.isfile(filename):
|
||||
print "file %s does not exist!" % filename
|
||||
return ""
|
||||
fd = open(filename, "rb")
|
||||
checksum = md5.new()
|
||||
while 1:
|
||||
@ -223,6 +226,9 @@ def mkmd5sum(data):
|
||||
def getmtime(filename):
|
||||
"""
|
||||
"""
|
||||
if not os.path.exists(filename):
|
||||
print "path %s does not exist!" % filename
|
||||
return 0, 0, 0
|
||||
st = os.stat(filename)
|
||||
return st[stat.ST_ATIME], st[stat.ST_MTIME], st[stat.ST_CTIME]
|
||||
|
||||
|
@ -998,23 +998,30 @@ devel_check() {
|
||||
# This will only be used on the first call to makepkg; subsequent
|
||||
# calls to makepkg via fakeroot will explicitly pass the version
|
||||
# number to avoid having to determine the version number twice.
|
||||
# Also do a brief check to make sure we have the VCS tool available.
|
||||
oldpkgver=$pkgver
|
||||
if [ ! -z ${_darcstrunk} ] && [ ! -z ${_darcsmod} ] ; then
|
||||
[ $(type -p darcs) ] || return 0
|
||||
msg "$(gettext "Determining latest darcs revision...")"
|
||||
newpkgver=$(date +%Y%m%d)
|
||||
elif [ ! -z ${_cvsroot} ] && [ ! -z ${_cvsmod} ] ; then
|
||||
[ $(type -p cvs) ] || return 0
|
||||
msg "$(gettext "Determining latest cvs revision...")"
|
||||
newpkgver=$(date +%Y%m%d)
|
||||
elif [ ! -z ${_gitroot} ] && [ ! -z ${_gitname} ] ; then
|
||||
[ $(type -p git) ] || return 0
|
||||
msg "$(gettext "Determining latest git revision...")"
|
||||
newpkgver=$(date +%Y%m%d)
|
||||
elif [ ! -z ${_svntrunk} ] && [ ! -z ${_svnmod} ] ; then
|
||||
[ $(type -p svn) ] || return 0
|
||||
msg "$(gettext "Determining latest svn revision...")"
|
||||
newpkgver=$(svn log $_svntrunk --limit 1 -q | sed -n 's/^r\([0-9]*\) .*$/\1/p')
|
||||
elif [ ! -z ${_bzrtrunk} ] && [ ! -z ${_bzrmod} ] ; then
|
||||
[ $(type -p bzr) ] || return 0
|
||||
msg "$(gettext "Determining latest bzr revision...")"
|
||||
newpkgver=$(bzr revno ${_bzrtrunk})
|
||||
elif [ ! -z ${_hgroot} ] && [ ! -z ${_hgrepo} ] ; then
|
||||
[ $(type -p hg) ] || return 0
|
||||
msg "$(gettext "Determining latest hg revision...")"
|
||||
if [ -d ./src/$_hgrepo ] ; then
|
||||
cd ./src/$_hgrepo
|
||||
|
Loading…
Reference in New Issue
Block a user