packages: poldek/poldek-add-arch-match.patch (NEW) - adds arch match to hol...

cactus cactus at pld-linux.org
Mon Oct 26 17:30:15 CET 2009


Author: cactus                       Date: Mon Oct 26 16:30:15 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- adds arch match to hold/ignore (LP#408036)

---- Files affected:
packages/poldek:
   poldek-add-arch-match.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/poldek/poldek-add-arch-match.patch
diff -u /dev/null packages/poldek/poldek-add-arch-match.patch:1.1
--- /dev/null	Mon Oct 26 17:30:15 2009
+++ packages/poldek/poldek-add-arch-match.patch	Mon Oct 26 17:30:10 2009
@@ -0,0 +1,51 @@
+diff --git a/conf/poldek.conf b/conf/poldek.conf
+index 13b1e21..24c34a0 100644
+--- a/conf/poldek.conf
++++ b/conf/poldek.conf
+@@ -130,9 +130,11 @@
+ choose equivalents manually = yes
+ 
+ # Prevent package listed from being upgraded if they are already installed.
++# hold = kernel* foo*.i686 th-test:* *-smp-* th-ready:bar*.x86_64
+ hold = kernel*
+ 
+ # Ignore package list - packages fits given mask will be invisible.
++# Masks are same as above.
+ # ignore = *-smp-* foo*
+ ignore = vserver-packages
+ #ignore = 
+diff --git a/pkgscore.c b/pkgscore.c
+index f2a527c..0908410 100644
+--- a/pkgscore.c
++++ b/pkgscore.c
+@@ -113,23 +113,28 @@ void pkgscore_match_init(struct pkgscore_s *psc, struct pkg *pkg)
+         n += n_snprintf(psc->pkgbuf, sizeof(psc->pkgbuf),
+                         "%s:", pkg->pkgdir->name);
+ 
++    // pkgname_off - size of pkgdir_name
+     psc->pkgname_off = n;
++    // pkgbuf - "repo_name:name-ver-rel.arch"
+     
+-    pkg_snprintf(&psc->pkgbuf[n], sizeof(psc->pkgbuf) - n, pkg);
++    n_snprintf(&psc->pkgbuf[n], sizeof(psc->pkgbuf) - n, "%s-%s-%s.%s", pkg->name, pkg->ver, pkg->rel, pkg_arch(pkg));
+     psc->pkg = pkg;
+ }
+ 
+     
+-
++// return 0 if not match
+ int pkgscore_match(struct pkgscore_s *psc, const char *mask)
+ {
++    // match name
+     if (fnmatch(mask, psc->pkg->name, 0) == 0)
+         return 1;
+ 
++    // match name-ver-rel.arch as string
+     if (psc->pkgname_off &&
+         fnmatch(mask, &psc->pkgbuf[psc->pkgname_off], 0) == 0)
+         return 1;
+     
++    // match "repo_name:name-ver-rel.arch" as string
+     return fnmatch(mask, psc->pkgbuf, 0) == 0;
+ }
+ 
================================================================


More information about the pld-cvs-commit mailing list