[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