[yum/f12/master] latest head sync up spec file

Seth Vidal skvidal at fedoraproject.org
Thu Aug 12 16:35:30 UTC 2010


commit 2eeaa70f5f00ee2482ac72ae4db8c3b9c3e55f07
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Thu Aug 12 12:35:20 2010 -0400

    latest head
    sync up spec file

 yum-HEAD.patch |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 yum.spec       |   32 ++++++++++++++---
 2 files changed, 129 insertions(+), 9 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index b1666fa..e7fde27 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -19,8 +19,75 @@ index 49d98c6..25b2c7d 100644
  
  .IP
  \fBinstallonly_limit \fR
+diff --git a/output.py b/output.py
+index 3a90995..10c7442 100755
+--- a/output.py
++++ b/output.py
+@@ -1882,10 +1882,12 @@ class DepSolveProgressCallBack:
+                 msg += _('\n        Not found')
+             return msg
+ 
+-        ipkgs = set()
+-        for pkg in sorted(yb.rpmdb.getProvides(needname)):
++        def _run_inst_pkg(pkg, msg):
+             nevr = (pkg.name, pkg.epoch, pkg.version, pkg.release)
+-            ipkgs.add(nevr)
++            if nevr in seen_pkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
++                return msg
++
++            seen_pkgs.add(nevr)
+             action = _('Installed')
+             rmed = yb.tsInfo.getMembersWithState(pkg.pkgtup, TS_REMOVE_STATES)
+             if rmed:
+@@ -1901,21 +1903,40 @@ class DepSolveProgressCallBack:
+                     if rtype not in relmap:
+                         continue
+                     nevr = (rpkg.name, rpkg.epoch, rpkg.version, rpkg.release)
+-                    ipkgs.add(nevr)
++                    seen_pkgs.add(nevr)
+                     msg += _msg_pkg(relmap[rtype], rpkg, needname)
++            return msg
+ 
+-        last = None
+-        for pkg in sorted(yb.pkgSack.getProvides(needname)):
++        def _run_avail_pkg(pkg, msg):
+             #  We don't want to see installed packages, or N packages of the
+             # same version, from different repos.
+             nevr = (pkg.name, pkg.epoch, pkg.version, pkg.release)
+-            if nevr in ipkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
+-                continue
+-            last = pkg
++            if nevr in seen_pkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
++                return False, last, msg
++            seen_pkgs.add(nevr)
+             action = _('Available')
+             if yb.tsInfo.getMembersWithState(pkg.pkgtup, TS_INSTALL_STATES):
+                 action = _('Installing')
+             msg += _msg_pkg(action, pkg, needname)
++            return True, pkg, msg
++
++        last = None
++        seen_pkgs = set()
++        for pkg in sorted(yb.rpmdb.getProvides(needname)):
++            msg = _run_inst_pkg(pkg, msg)
++
++        available_names = set()
++        for pkg in sorted(yb.pkgSack.getProvides(needname)):
++            tst, last, msg = _run_avail_pkg(pkg, msg)
++            if tst:
++                available_names.add(pkg.name)
++
++        last = None
++        for pkg in sorted(yb.rpmdb.searchNames(available_names)):
++            msg = _run_inst_pkg(pkg, msg)
++        last = None
++        for pkg in sorted(yb.pkgSack.searchNames(available_names)):
++            tst, last, msg = _run_avail_pkg(pkg, msg)
+         return msg
+     
+     def procConflict(self, name, confname):
 diff --git a/yum/__init__.py b/yum/__init__.py
-index 2ea9f20..0304fea 100644
+index 2ea9f20..3a9ef88 100644
 --- a/yum/__init__.py
 +++ b/yum/__init__.py
 @@ -294,6 +294,11 @@ class YumBase(depsolve.Depsolve):
@@ -74,8 +141,23 @@ index 2ea9f20..0304fea 100644
                          self.logger.critical(_('No Match for argument: %s') % arg)
                      else:
                          pkgs.extend(depmatches)
+@@ -3690,6 +3702,14 @@ class YumBase(depsolve.Depsolve):
+             if self.conf.protected_packages and po.pkgtup == kern_pkgtup:
+                 self.logger.warning(_("Skipping the running kernel: %s") % po)
+                 continue
++
++            if self.tsInfo.getMembers(po.pkgtup):
++                # This allows multiple reinstalls and update/downgrade "cancel"
++                for txmbr in self.tsInfo.matchNaevr(po.name):
++                    self.logger.warning(_("Removing %s from the transaction") %
++                                        txmbr)
++                    self.tsInfo.remove(txmbr.pkgtup)
++                # Now start the remove/reinstall
+             txmbr = self.tsInfo.addErase(po)
+             tx_return.append(txmbr)
+         
 diff --git a/yum/history.py b/yum/history.py
-index 502b908..6bc767a 100644
+index 502b908..014bdab 100644
 --- a/yum/history.py
 +++ b/yum/history.py
 @@ -27,7 +27,7 @@ import yum.misc as misc
@@ -104,6 +186,15 @@ index 502b908..6bc767a 100644
          rpid = cur.lastrowid
  
          if not rpid:
+@@ -467,7 +470,7 @@ class YumHistory:
+         res = executeSQL(cur,
+                          """INSERT INTO trans_cmdline
+                          (tid, cmdline)
+-                         VALUES (?, ?)""", (self._tid, cmdline))
++                         VALUES (?, ?)""", (self._tid, to_unicode(cmdline)))
+         return cur.lastrowid
+ 
+     def beg(self, rpmdb_version, using_pkgs, txmbrs, skip_packages=[],
 @@ -610,7 +613,7 @@ class YumHistory:
              # open file in append
              fo = open(data_fn, 'w+')
@@ -140,7 +231,7 @@ index 502b908..6bc767a 100644
  ''']
  
 diff --git a/yum/pgpmsg.py b/yum/pgpmsg.py
-index 9cf8217..9f58fad 100644
+index 9cf8217..b23eabc 100644
 --- a/yum/pgpmsg.py
 +++ b/yum/pgpmsg.py
 @@ -1186,7 +1186,7 @@ def decode(msg) :
@@ -170,6 +261,15 @@ index 9cf8217..9f58fad 100644
      return []
  
  def decode_multiple_keys(msg):
+@@ -1266,7 +1272,7 @@ def decode_multiple_keys(msg):
+         block += '%s\n' % l
+         if l == '-----END PGP PUBLIC KEY BLOCK-----':
+             in_block = 0
+-            thesecerts = decode_msg(block)
++            thesecerts = decode_msg(block, multi=True)
+             if thesecerts:
+                 certs.extend(thesecerts)
+             block = ''
 diff --git a/yumcommands.py b/yumcommands.py
 index a7f5d9e..9c6fc75 100644
 --- a/yumcommands.py
diff --git a/yum.spec b/yum.spec
index 9ab635f..6a1611a 100644
--- a/yum.spec
+++ b/yum.spec
@@ -3,7 +3,7 @@
 Summary: RPM installer/updater
 Name: yum
 Version: 3.2.28
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.2/%{name}-%{version}.tar.gz
@@ -11,13 +11,12 @@ Source1: yum.conf.fedora
 Source2: yum-updatesd.conf.fedora
 Patch0: installonlyn-enable.patch
 Patch1: yum-mirror-priority.patch
-Patch2: yum-manpage-files.patch
 Patch3: yum-multilib-policy-best.patch
 Patch4: no-more-exactarchlist.patch
 Patch5: geode-arch.patch
 Patch6: yum-HEAD.patch
-Patch20: yum-manpage-files.patch
 
+Patch20: yum-manpage-files.patch
 
 URL: http://yum.baseurl.org/
 BuildArch: noarch
@@ -34,17 +33,20 @@ Requires: pygpgme
 Obsoletes: yum-skip-broken <= 1.1.18
 Obsoletes: yum-basearchonly <= 1.1.9
 Obsoletes: yum-allow-downgrade < 1.1.20-0
-Obsoletes: yum-plugin-allow-downgrade < 1.1.22-0 
+Obsoletes: yum-plugin-allow-downgrade < 1.1.22-0
+Obsoletes: yum-plugin-protect-packages < 1.1.27-0
 Provides: yum-skip-broken
 Provides: yum-basearchonly
 Provides: yum-allow-downgrade
 Provides: yum-plugin-allow-downgrade
+Provides: yum-protect-packages
+Provides: yum-plugin-protect-packages
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 %description
 Yum is a utility that can check for and automatically download and
 install updated RPM packages. Dependencies are obtained and downloaded 
-automatically prompting the user as necessary.
+automatically, prompting the user for permission as necessary.
 
 %package updatesd
 Summary: Update notification daemon
@@ -64,7 +66,6 @@ can notify you when they are available via email, syslog or dbus.
 %prep
 %setup -q
 %patch1 -p0
-#%%%patch2 -p0
 %patch3 -p0
 %patch4 -p0
 %patch5 -p1
@@ -92,6 +93,12 @@ rm -f $RPM_BUILD_ROOT/%{_sbindir}/yum-updatesd
 rm -f $RPM_BUILD_ROOT/%{_mandir}/man*/yum-updatesd*
 rm -f $RPM_BUILD_ROOT/%{_datadir}/yum-cli/yumupd.py*
 
+# Ghost files:
+mkdir -p $RPM_BUILD_ROOT/var/lib/yum/history
+mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins
+mkdir -p $RPM_BUILD_ROOT/var/lib/yum/yumdb
+touch $RPM_BUILD_ROOT/var/lib/yum/uuid
+
 %find_lang %name
 
 %clean
@@ -103,7 +110,9 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_sysconfdir}/yum.conf
 %dir %{_sysconfdir}/yum
 %config(noreplace) %{_sysconfdir}/yum/version-groups.conf
+%dir %{_sysconfdir}/yum/protected.d
 %dir %{_sysconfdir}/yum.repos.d
+%dir %{_sysconfdir}/yum/vars
 %config(noreplace) %{_sysconfdir}/logrotate.d/yum
 %{_sysconfdir}/bash_completion.d
 %dir %{_datadir}/yum-cli
@@ -113,6 +122,10 @@ rm -rf $RPM_BUILD_ROOT
 %{python_sitelib}/rpmUtils
 %dir /var/cache/yum
 %dir /var/lib/yum
+%ghost /var/lib/yum/uuid
+%ghost /var/lib/yum/history
+%ghost /var/lib/yum/plugins
+%ghost /var/lib/yum/yumdb
 %{_mandir}/man*/yum.*
 %{_mandir}/man*/yum-shell*
 # plugin stuff
@@ -120,6 +133,13 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/lib/yum-plugins
 
 %changelog
+* Thu Aug 12 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-3
+- latest head
+- fix gpg key import
+- more unicode fixes
+- output slightly more clear depsovling error msgs
+- sync up spec file with f13,f14
+
 * Mon Aug  9 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-2
 - fixes sqlite historydb conversion bug
 - patches up some unicide issues


More information about the scm-commits mailing list