[Frugalware-git] systemd: pacman-g2-3.7.9-2-i686

Michel Hermier hermier at frugalware.org
Fri Nov 26 22:24:42 CET 2010


Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=systemd.git;a=commitdiff;h=be6b53a97e61488eb561925b4686b4d847a0e1e6

commit be6b53a97e61488eb561925b4686b4d847a0e1e6
Author: Michel Hermier <hermier at frugalware.org>
Date:   Fri Nov 26 22:22:54 2010 +0100

pacman-g2-3.7.9-2-i686

* We require some changes from upstream (be able to install without
beeing able to detect available size).

diff --git a/source/base/pacman-g2/FrugalBuild b/source/base/pacman-g2/FrugalBuild
index 17f4fae..224c94c 100644
--- a/source/base/pacman-g2/FrugalBuild
+++ b/source/base/pacman-g2/FrugalBuild
@@ -8,7 +8,7 @@ USE_MINIMAL=${USE_MINIMAL:-"n"}
pkgname=pacman-g2
pkgver=3.7.9
Fuse $USE_DEVEL && pkgver=3.7.3.32.gedb838c
-pkgrel=1
+pkgrel=2
pkgdesc="A .tar.xz based package manager library (libpacman) and client (pacman-g2) with dependency support."
url="http://ftp.frugalware.org/pub/other/pacman-g2/"
backup=(etc/{makepkg,pacman-g2}.conf etc/pacman-g2/repos/{frugalware,frugalware-current})
@@ -26,8 +26,8 @@ archs=('i686' 'x86_64' 'ppc')
_F_archive_nosort=y
up2date="Flasttar $url/releases/"
if ! Fuse $USE_DEVEL; then
-	source=($url/releases/$pkgname-$pkgver.tar.gz)
-	signatures=("$source.asc")
+	source=($url/releases/$pkgname-$pkgver.tar.gz current.diff)
+	signatures=("$source.asc" '')
else
_F_scm_type="git"
_F_scm_url="git://git.frugalware.org/pub/other/pacman-g2/pacman-g2"
diff --git a/source/base/pacman-g2/current.diff b/source/base/pacman-g2/current.diff
new file mode 100644
index 0000000..0f2ff4e
--- /dev/null
+++ b/source/base/pacman-g2/current.diff
@@ -0,0 +1,114 @@
+commit 24e18c44dda28f67df841012c798caf1666ebd8b
+Author: Michel Hermier <hermier at frugalware.org>
+Date:   Thu Nov 25 13:02:25 2010 +0100
+
+    lib/libpacman/util.c: _pacman_check_freespace handle get_freespace return code.
+
+    * The free space checking may return negative value on getmntent failure
+      (like /etc/mtab does not exist yet).
+
+diff --git a/lib/libpacman/util.c b/lib/libpacman/util.c
+index afdc6a4..0928974 100644
+--- a/lib/libpacman/util.c
++++ b/lib/libpacman/util.c
+@@ -760,6 +760,10 @@ int _pacman_check_freespace(pmtrans_t *trans, pmlist_t **data)
+ 		}
+ 	}
+ 	freespace = get_freespace();
++	if(freespace < 0) {
++		_pacman_log(PM_LOG_WARNING, _("check_freespace: total pkg size: %lld, disk space: unknown"), pkgsize);
++		return(0);
++	}
+ 	_pacman_log(PM_LOG_DEBUG, _("check_freespace: total pkg size: %lld, disk space: %lld"), pkgsize, freespace);
+ 	if(pkgsize > freespace) {
+ 		if(data) {
+
+commit 77df8f87bb01ae7eaea3e16bf1ba5661bea5870a
+Author: Michel Hermier <hermier at frugalware.org>
+Date:   Thu Nov 25 12:59:01 2010 +0100
+
+    lib/libpacman/util.c: get_freespace fix (FILE *) mntent leak.
+
+diff --git a/lib/libpacman/util.c b/lib/libpacman/util.c
+index 8a07936..afdc6a4 100644
+--- a/lib/libpacman/util.c
++++ b/lib/libpacman/util.c
+@@ -727,7 +727,7 @@ static long long get_freespace(void)
+
+ 	fp = setmntent (table, "r");
+ 	if(!fp)
+-		        return(-1);
++		return(-1);
+ 	while ((mnt = getmntent (fp)))
+ 	{
+ 		struct statvfs64 buf;
+@@ -735,6 +735,7 @@ static long long get_freespace(void)
+ 		statvfs64(mnt->mnt_dir, &buf);
+ 		ret += buf.f_bavail * buf.f_bsize;
+ 	}
++	endmntent(fp);
+ 	return(ret);
+ }
+
+
+commit aba9cdc0ef445e69d37f481b28beb251d13bc89e
+Author: Miklos Vajna <vmiklos at frugalware.org>
+Date:   Wed Nov 17 14:10:52 2010 +0100
+
+    Make sure provides() is for all versions
+
+    Before:
+    pkgname=foo
+    pkgver=1.0
+    provides=('bar')
+    => provides=('bar>=1.0')
+
+    After:
+    pkgname=foo
+    pkgver=1.0
+    provides=('bar')
+    => provides=('bar')
+
+diff --git a/lib/libpacman/deps.c b/lib/libpacman/deps.c
+index b9fa6f6..432f3eb 100644
+--- a/lib/libpacman/deps.c
++++ b/lib/libpacman/deps.c
+@@ -358,8 +358,10 @@ pmlist_t *_pacman_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, pmli
+  					pmpkg_t *p = (pmpkg_t *)k->data;
+  					/* see if the package names match OR if p provides depend.name */
+  					if(!strcmp(p->name, depend.name) || _pacman_list_is_strin(depend.name, _pacman_pkg_getinfo(p, PM_PKG_PROVIDES))) {
+-						if(depend.mod == PM_DEP_MOD_ANY) {
+-							/* accept any version */
++						if(depend.mod == PM_DEP_MOD_ANY ||
++								_pacman_list_is_strin(depend.name, _pacman_pkg_getinfo(p, PM_PKG_PROVIDES))) {
++							/* depend accepts any version or p provides depend (provides - by
++							 * definition - is for all versions) */
+ 							found = 1;
+ 						} else {
+ 							char *ver = strdup(p->version);
+diff --git a/pactest/tests/sync993.py b/pactest/tests/sync993.py
+new file mode 100644
+index 0000000..31edcaf
+--- /dev/null
++++ b/pactest/tests/sync993.py
+@@ -0,0 +1,20 @@
++self.description = "System upgrade (Ignoring version on provides)"
++
++sp1 = pmpkg("pkg1", "1.0-2")
++sp1.depends = ["pkg3>=2.0"]
++self.addpkg2db("sync", sp1);
++
++lp1 = pmpkg("pkg1")
++self.addpkg2db("local", lp1)
++
++lp2 = pmpkg("pkg2", "1.0-1")
++lp2.conflicts = ["pkg3"]
++lp2.provides = ["pkg3"]
++self.addpkg2db("sync", lp2)
++self.addpkg2db("local", lp2)
++
++self.args = "-Su"
++
++self.addrule("PACMAN_RETCODE=0")
++self.addrule("PKG_MODIFIED=pkg1")
++self.addrule("PKG_EXIST=pkg2")


More information about the Frugalware-git mailing list