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

commit be6b53a97e61488eb561925b4686b4d847a0e1e6
Author: Michel Hermier <herm...@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 <herm...@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 <herm...@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 <vmik...@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")
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to