This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 6208ca279f60ce3969d44ba3044a2f48c9e748fc (commit) via 77dbce23344640830348f4e28149ce7ad9e5b1b8 (commit) via 0976fbe45f23c2a74ed02661d778a0dc5e69166b (commit) via e38af8382bc90ba5494aacbbd86321cbd442c555 (commit) via 0e6831826e756054ffbf95d159db62f9edf1a16f (commit) via 920b801b6e82dcc46a2d52e52167d977e281b5a6 (commit) via a383339280029fd4ef8a1fe494f9f0447540ab88 (commit) via 6a67c5b8b95f1c18623153c1607ca258dc333f26 (commit) from e2b71093c7bfa63106306b38f6293b7264cadb8d (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 6208ca279f60ce3969d44ba3044a2f48c9e748fc Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 15:40:12 2012 +0200
libdb + db4: The devel packages should conflict each other.
commit 77dbce23344640830348f4e28149ce7ad9e5b1b8 Merge: e38af83 0976fbe Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 15:38:16 2012 +0200
Merge remote-tracking branch 'stevee/systemd-fix'
commit 0976fbe45f23c2a74ed02661d778a0dc5e69166b Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sun Apr 22 15:29:04 2012 +0200
systemd: Fix installation of target and service files.
There was a typo in old installation process, so the wrong target files have been removed. As a result of this, the system started with no additional services, gettys and also the rootfs was read-only mounted.
Fixes #10093.
commit e38af8382bc90ba5494aacbbd86321cbd442c555 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 14:57:45 2012 +0200
pakfire: Sync to upstream version.
Includes fixes for removing packages and some more minor fixes.
commit 0e6831826e756054ffbf95d159db62f9edf1a16f Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 14:29:28 2012 +0200
lvm2: Update to 2.02.95.
udisks needs a more recent version to compile than the previous one.
commit 920b801b6e82dcc46a2d52e52167d977e281b5a6 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 14:26:16 2012 +0200
kernel: Re-enable capabilities in chroots.
The grsecurity patch creates an option to disallow using most of the capabilities. This is good to deny non-root users to allow changing networking stuff (NET_ADMIN) and more.
However, we make a lot use of chroots, but to keep the chrooted services able to their things, we need to give them the rights to do so.
The change requires to change the grsecurity security level option from HIGH to CUSTOM.
commit a383339280029fd4ef8a1fe494f9f0447540ab88 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 14:24:20 2012 +0200
pygobject2: The devel package contained all files.
The DEVEL template was missing in the -devel package generation.
commit 6a67c5b8b95f1c18623153c1607ca258dc333f26 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 22 14:19:18 2012 +0200
dracut: The plymouth plugin calls files in /usr/libexec.
However, we don't have /usr/libexec and thus are replacing those paths by /usr/lib.
-----------------------------------------------------------------------
Summary of changes: db4/db4.nm | 8 +- dracut/dracut.nm | 7 +- kernel/config-armv7hl-omap | 15 + kernel/config-generic | 16 +- kernel/config-x86-generic | 11 + kernel/kernel.nm | 2 +- libdb/libdb.nm | 8 +- lvm2/lvm2.nm | 16 +- pakfire/pakfire.nm | 2 +- ...g-index-data-after-the-transaction-is-do.patch} | 15 +- .../0002-find-provides-Accept-bogous-soname.patch | 28 ++ ...right-package-format-to-all-actions-in-th.patch | 75 +++ ...on-Don-t-make-internal-server-errors-fata.patch | 500 ++++++++++++++++++++ ...w-to-install-multiple-non-default-kernels.patch | 32 ++ ...y-remove-installed-packages-from-database.patch | 26 + ...packages-from-the-database-by-their-UUIDs.patch | 29 ++ ...-Fixes-for-removing-files-and-configfiles.patch | 51 ++ pakfire/patches/pakfire-provides-soname.patch | 23 - pygobject2/pygobject2.nm | 5 +- systemd/systemd.nm | 9 +- 20 files changed, 820 insertions(+), 58 deletions(-) rename pakfire/patches/{pakfire-internalize-index.patch => 0001-Fix-accessing-index-data-after-the-transaction-is-do.patch} (70%) create mode 100644 pakfire/patches/0002-find-provides-Accept-bogous-soname.patch create mode 100644 pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch create mode 100644 pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch create mode 100644 pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch create mode 100644 pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch create mode 100644 pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch create mode 100644 pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch delete mode 100644 pakfire/patches/pakfire-provides-soname.patch
Difference in files: diff --git a/db4/db4.nm b/db4/db4.nm index 8f99439..82e7255 100644 --- a/db4/db4.nm +++ b/db4/db4.nm @@ -7,7 +7,7 @@ name = db4 version_major = 4.8 version_minor = 30 version = %{version_major}.%{version_minor} -release = 4 +release = 5 epoch = 1 thisapp = db-%{version}
@@ -88,6 +88,12 @@ packages # Overwrite because of epoch != 0. requires = %{name}=%{epoch}:%{thisver}
+ # You cannot install libdb-devel and db4-devel + # at the same time. + conflicts + libdb-devel + end + files %{includedir} %{libdir}/libdb.so diff --git a/dracut/dracut.nm b/dracut/dracut.nm index b0a70fd..6890ab1 100644 --- a/dracut/dracut.nm +++ b/dracut/dracut.nm @@ -5,7 +5,7 @@
name = dracut version = 018 -release = 1 +release = 2 arch = noarch
groups = System/Boot @@ -29,6 +29,11 @@ build prepare_cmds # Disable dash syntax check as we don't have dash. sed -e "s/dash/true/g" -i Makefile + + # The plymouth plugin contains a lot of hardcoded libexec paths. + # We don't use libexec and so we need to change this. + sed -e "s/libexec/lib/g" -i \ + modules.d/50plymouth/module-setup.sh end
dracutlibdir = %{prefix}/lib/dracut diff --git a/kernel/config-armv7hl-omap b/kernel/config-armv7hl-omap index 66aba75..e2fc099 100644 --- a/kernel/config-armv7hl-omap +++ b/kernel/config-armv7hl-omap @@ -575,6 +575,21 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 CONFIG_OC_ETM=y
# +# Kernel Auditing +# +CONFIG_GRKERNSEC_RWXMAP_LOG=y +CONFIG_GRKERNSEC_AUDIT_TEXTREL=y + +# +# Non-executable pages +# +CONFIG_PAX_NOEXEC=y +CONFIG_PAX_PAGEEXEC=y +CONFIG_PAX_MPROTECT=y +# CONFIG_PAX_MPROTECT_COMPAT is not set +CONFIG_PAX_ELFRELOCS=y + +# # Miscellaneous hardening features # CONFIG_PAX_REFCOUNT=y diff --git a/kernel/config-generic b/kernel/config-generic index 79c38a9..1703ee3 100644 --- a/kernel/config-generic +++ b/kernel/config-generic @@ -3852,8 +3852,8 @@ CONFIG_STRICT_DEVMEM=y CONFIG_GRKERNSEC=y # CONFIG_GRKERNSEC_LOW is not set # CONFIG_GRKERNSEC_MEDIUM is not set -CONFIG_GRKERNSEC_HIGH=y -# CONFIG_GRKERNSEC_CUSTOM is not set +# CONFIG_GRKERNSEC_HIGH is not set +CONFIG_GRKERNSEC_CUSTOM=y
# # Memory Protections @@ -3898,7 +3898,7 @@ CONFIG_GRKERNSEC_CHROOT_UNIX=y CONFIG_GRKERNSEC_CHROOT_FINDTASK=y CONFIG_GRKERNSEC_CHROOT_NICE=y CONFIG_GRKERNSEC_CHROOT_SYSCTL=y -CONFIG_GRKERNSEC_CHROOT_CAPS=y +# CONFIG_GRKERNSEC_CHROOT_CAPS is not set
# # Kernel Auditing @@ -3914,8 +3914,6 @@ CONFIG_GRKERNSEC_SIGNAL=y CONFIG_GRKERNSEC_FORKFAIL=y CONFIG_GRKERNSEC_TIME=y CONFIG_GRKERNSEC_PROC_IPADDR=y -CONFIG_GRKERNSEC_RWXMAP_LOG=y -CONFIG_GRKERNSEC_AUDIT_TEXTREL=y
# # Executable Protections @@ -3936,8 +3934,7 @@ CONFIG_GRKERNSEC_BLACKHOLE=y # # Sysctl support # -CONFIG_GRKERNSEC_SYSCTL=y -CONFIG_GRKERNSEC_SYSCTL_ON=y +# CONFIG_GRKERNSEC_SYSCTL is not set
# # Logging Options @@ -3964,11 +3961,6 @@ CONFIG_PAX_HAVE_ACL_FLAGS=y # # Non-executable pages # -CONFIG_PAX_NOEXEC=y -CONFIG_PAX_PAGEEXEC=y -CONFIG_PAX_MPROTECT=y -# CONFIG_PAX_MPROTECT_COMPAT is not set -CONFIG_PAX_ELFRELOCS=y CONFIG_PAX_KERNEXEC_PLUGIN_METHOD=""
# diff --git a/kernel/config-x86-generic b/kernel/config-x86-generic index 0d70756..b9a309b 100644 --- a/kernel/config-x86-generic +++ b/kernel/config-x86-generic @@ -775,9 +775,20 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_GRKERNSEC_IO is not set
# +# Kernel Auditing +# +CONFIG_GRKERNSEC_RWXMAP_LOG=y +CONFIG_GRKERNSEC_AUDIT_TEXTREL=y + +# # Non-executable pages # +CONFIG_PAX_NOEXEC=y +CONFIG_PAX_PAGEEXEC=y CONFIG_PAX_EMUTRAMP=y +CONFIG_PAX_MPROTECT=y +# CONFIG_PAX_MPROTECT_COMPAT is not set +CONFIG_PAX_ELFRELOCS=y
# # Address Space Layout Randomization diff --git a/kernel/kernel.nm b/kernel/kernel.nm index ec46938..f515447 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -5,7 +5,7 @@
name = kernel version = 3.2.12 -release = 2 +release = 3 thisapp = linux-%{version}
maintainer = Michael Tremer michael.tremer@ipfire.org diff --git a/libdb/libdb.nm b/libdb/libdb.nm index 9fd6508..bee134c 100644 --- a/libdb/libdb.nm +++ b/libdb/libdb.nm @@ -8,7 +8,7 @@ version_major = 5 version_minor = 2 version_patch = 36 version = %{version_major}.%{version_minor}.%{version_patch} -release = 2 +release = 3 thisapp = db-%{version}
soversion = %{version_major}.%{version_minor} @@ -87,6 +87,12 @@ packages package %{name}-devel template DEVEL
+ # You cannot install libdb-devel and db4-devel + # at the same time. + conflicts + db4-devel + end + files += !%{libdir}/libdb-%{soversion}.so files += !%{libdir}/libdb_sql-%{soversion}.so end diff --git a/lvm2/lvm2.nm b/lvm2/lvm2.nm index d8e09b2..49b4828 100644 --- a/lvm2/lvm2.nm +++ b/lvm2/lvm2.nm @@ -4,8 +4,8 @@ ###############################################################################
name = lvm2 -version = 2.02.54 -release = 3 +version = 2.02.95 +release = 1 thisapp = LVM2.%{version}
groups = System/Base @@ -14,15 +14,15 @@ license = GPLv2 summary = Userland logical volume management tools.
description - LVM2 includes all of the support for handling read/write operations on \ - physical volumes (hard disks, RAID-Systems, magneto optical, etc., \ - multiple devices (MD), see mdadd(8) or even loop devices, see \ - losetup(8)), creating volume groups (kind of virtual disks) from one \ - or more physical volumes and creating one or more logical volumes \ + LVM2 includes all of the support for handling read/write operations on + physical volumes (hard disks, RAID-Systems, magneto optical, etc., + multiple devices (MD), see mdadd(8) or even loop devices, see + losetup(8)), creating volume groups (kind of virtual disks) from one + or more physical volumes and creating one or more logical volumes (kind of logical partitions) in volume groups. end
-source_dl = +source_dl = ftp://sources.redhat.com/pub/lvm2/ sources = %{thisapp}.tgz
build diff --git a/pakfire/pakfire.nm b/pakfire/pakfire.nm index a1913b0..eef125a 100644 --- a/pakfire/pakfire.nm +++ b/pakfire/pakfire.nm @@ -5,7 +5,7 @@
name = pakfire version = 0.9.22 -release = 2 +release = 3
maintainer = Michael Tremer michael.tremer@ipfire.org groups = System/Packaging diff --git a/pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch b/pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch new file mode 100644 index 0000000..8559607 --- /dev/null +++ b/pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch @@ -0,0 +1,39 @@ +From b856696a0a8173eaacdd03833971272de06118ce Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Sat, 14 Apr 2012 21:16:30 +0200 +Subject: [PATCH 1/8] Fix accessing index data after the transaction is done. + +--- + python/pakfire/client/builder.py | 1 + + python/pakfire/repository/system.py | 3 +++ + 2 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/python/pakfire/client/builder.py b/python/pakfire/client/builder.py +index a039e65..2ade5dc 100644 +--- a/python/pakfire/client/builder.py ++++ b/python/pakfire/client/builder.py +@@ -334,6 +334,7 @@ class ClientBuilder(object): + pkgs = [] + + for pkg in installed_packages: ++ assert pkg.uuid, "%s has got no UUID" + pkgs.append((pkg.friendly_name, pkg.uuid)) + + return self.conn.build_upload_buildroot(self.build_id, pkgs) +diff --git a/python/pakfire/repository/system.py b/python/pakfire/repository/system.py +index 642c4bd..5dcdd04 100644 +--- a/python/pakfire/repository/system.py ++++ b/python/pakfire/repository/system.py +@@ -52,6 +52,9 @@ class RepositorySystem(base.RepositoryFactory): + # Commit the database to disk. + self.db.commit() + ++ # Make sure that all data in the index is accessable. ++ self.index.optimize() ++ + def add_package(self, pkg): + # Add package to the database. + self.db.add_package(pkg) +-- +1.7.7.6 + diff --git a/pakfire/patches/0002-find-provides-Accept-bogous-soname.patch b/pakfire/patches/0002-find-provides-Accept-bogous-soname.patch new file mode 100644 index 0000000..49920bf --- /dev/null +++ b/pakfire/patches/0002-find-provides-Accept-bogous-soname.patch @@ -0,0 +1,28 @@ +From cf4f218f42c2a43a520eac4f3a6251d557dcbe80 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Tue, 17 Apr 2012 17:36:52 +0200 +Subject: [PATCH 2/8] find-provides: Accept bogous soname. + +This is a kind of weird bug. Some libs are "versioned" by +using their SONAME for symbol maps. This caused trouble +because the SONAME was not added to the list of provides +which is now changed by this commit. +--- + tools/find-provides | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/tools/find-provides b/tools/find-provides +index 2e138ba..06b3c47 100755 +--- a/tools/find-provides ++++ b/tools/find-provides +@@ -69,7 +69,6 @@ for file in ${binary_files}; do + /Version definitions:/ { START=1; } + /^[0-9]/ && (START==1) { print $4; } + /^$/ { START=0; }' | \ +- grep -v ${soname} | \ + while read symbol ; do + echo "${soname}(${symbol})$(${is_64} && echo ${mark64} | sed 's/()//')" + done +-- +1.7.7.6 + diff --git a/pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch b/pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch new file mode 100644 index 0000000..31b2fab --- /dev/null +++ b/pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch @@ -0,0 +1,75 @@ +From 39097e291ae050dbefe2dfa265e55dd330328acd Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Thu, 19 Apr 2012 16:56:03 +0200 +Subject: [PATCH 3/8] Fix adding right package format to all actions in the + transaction. + +--- + python/pakfire/transaction.py | 23 +++++++++++++++-------- + 1 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/python/pakfire/transaction.py b/python/pakfire/transaction.py +index 0b417d2..58b52c6 100644 +--- a/python/pakfire/transaction.py ++++ b/python/pakfire/transaction.py +@@ -301,7 +301,7 @@ class Transaction(object): + + @property + def downloads(self): +- return sorted([a for a in self.actions if a.needs_download]) ++ return sorted([a.pkg_solv for a in self.actions if a.needs_download]) + + def download(self, logger=None): + if logger is None: +@@ -309,16 +309,13 @@ class Transaction(object): + + # Get all download actions as a list. + downloads = [d for d in self.downloads] +- downloads.sort() + + # If there are no downloads, we can just stop here. + if not downloads: + return + + # Calculate downloadsize. +- download_size = 0 +- for action in downloads: +- download_size += action.pkg.size ++ download_size = sum([d.size for d in downloads]) + + # Get free space of the download location. + path = os.path.realpath(REPO_CACHE_DIR) +@@ -334,9 +331,19 @@ class Transaction(object): + time_start = time.time() + + i = 0 +- for action in downloads: ++ for pkg in downloads: + i += 1 +- action.download(text="(%d/%d): " % (i, len(downloads)), logger=logger) ++ ++ # Download the package file. ++ bin_pkg = pkg.download(text="(%d/%d): " % (i, len(downloads)), logger=logger) ++ ++ # Search in every action if we need to replace the package. ++ for action in self.actions: ++ if not action.pkg_solv.uuid == bin_pkg.uuid: ++ continue ++ ++ # Replace the package. ++ action.pkg = bin_pkg + + # Write an empty line to the console when there have been any downloads. + width, height = util.terminal_size() +@@ -420,7 +427,7 @@ class Transaction(object): + + # Calculate the size of all files that need to be downloaded this this + # transaction. +- download_size = sum([a.pkg.size for a in self.downloads]) ++ download_size = sum([d.size for d in self.downloads]) + if download_size: + s.append(_("Total download size: %s") % util.format_size(download_size)) + +-- +1.7.7.6 + diff --git a/pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch b/pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch new file mode 100644 index 0000000..5112827 --- /dev/null +++ b/pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch @@ -0,0 +1,500 @@ +From e3eb933336605515fe8cc9968a83a37b7df6b257 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Thu, 19 Apr 2012 17:02:09 +0200 +Subject: [PATCH 4/8] client/daemon: Don't make internal server errors fatal + for keepalives/updates. + +Because sometime, the hub could have some hiccups, this is no +reason to kill the daemon. It should retry sending the request in a short +time. + +However, we should now about the error and so the last try would +raise an exception. +--- + po/pakfire.pot | 137 ++++++++++++++++++++---------------- + python/pakfire/client/base.py | 43 ++++++++---- + python/pakfire/client/transport.py | 8 ++ + python/pakfire/errors.py | 4 + + 4 files changed, 117 insertions(+), 75 deletions(-) + +diff --git a/po/pakfire.pot b/po/pakfire.pot +index 10f4e2a..4fd12e7 100644 +--- a/po/pakfire.pot ++++ b/po/pakfire.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2012-04-14 14:32+0200\n" ++"POT-Creation-Date: 2012-04-19 16:57+0200\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME EMAIL@ADDRESS\n" + "Language-Team: LANGUAGE LL@li.org\n" +@@ -116,7 +116,7 @@ msgstr "" + + #: ../python/pakfire/base.py:382 ../python/pakfire/base.py:450 + #: ../python/pakfire/base.py:487 ../python/pakfire/base.py:546 +-#: ../python/pakfire/base.py:567 ../python/pakfire/transaction.py:389 ++#: ../python/pakfire/base.py:567 ../python/pakfire/transaction.py:396 + msgid "Nothing to do" + msgstr "" + +@@ -416,7 +416,7 @@ msgstr "" + msgid "Give name of at least one package to check." + msgstr "" + +-#: ../python/pakfire/cli.py:348 ../python/pakfire/transaction.py:398 ++#: ../python/pakfire/cli.py:348 ../python/pakfire/transaction.py:405 + msgid "Repository" + msgstr "" + +@@ -740,7 +740,7 @@ msgid "Job: %(name)s" + msgstr "" + + #: ../python/pakfire/cli.py:1078 ../python/pakfire/packages/base.py:107 +-#: ../python/pakfire/transaction.py:397 ++#: ../python/pakfire/transaction.py:404 + msgid "Arch" + msgstr "" + +@@ -777,140 +777,151 @@ msgstr "" + msgid "Pakfire daemon command line interface." + msgstr "" + +-#: ../python/pakfire/cli.py:1161 ++#: ../python/pakfire/cli.py:1156 + msgid "Pakfire key command line interface." + msgstr "" + +-#: ../python/pakfire/cli.py:1205 ../python/pakfire/cli.py:1215 ++#: ../python/pakfire/cli.py:1200 ../python/pakfire/cli.py:1210 + msgid "Import a key from file." + msgstr "" + +-#: ../python/pakfire/cli.py:1207 ++#: ../python/pakfire/cli.py:1202 + msgid "The real name of the owner of this key." + msgstr "" + +-#: ../python/pakfire/cli.py:1209 ++#: ../python/pakfire/cli.py:1204 + msgid "The email address of the owner of this key." + msgstr "" + +-#: ../python/pakfire/cli.py:1217 ++#: ../python/pakfire/cli.py:1212 + msgid "Filename of that key to import." + msgstr "" + +-#: ../python/pakfire/cli.py:1223 ++#: ../python/pakfire/cli.py:1218 + msgid "Export a key to a file." + msgstr "" + +-#: ../python/pakfire/cli.py:1225 ++#: ../python/pakfire/cli.py:1220 + msgid "The ID of the key to export." + msgstr "" + +-#: ../python/pakfire/cli.py:1227 ++#: ../python/pakfire/cli.py:1222 + msgid "Write the key to this file." + msgstr "" + +-#: ../python/pakfire/cli.py:1233 ++#: ../python/pakfire/cli.py:1228 + msgid "Delete a key from the local keyring." + msgstr "" + +-#: ../python/pakfire/cli.py:1235 ++#: ../python/pakfire/cli.py:1230 + msgid "The ID of the key to delete." + msgstr "" + +-#: ../python/pakfire/cli.py:1241 ++#: ../python/pakfire/cli.py:1236 + msgid "List all imported keys." + msgstr "" + +-#: ../python/pakfire/cli.py:1247 ++#: ../python/pakfire/cli.py:1242 + msgid "Sign one or more packages." + msgstr "" + +-#: ../python/pakfire/cli.py:1249 ++#: ../python/pakfire/cli.py:1244 + msgid "Key that is used sign the package(s)." + msgstr "" + +-#: ../python/pakfire/cli.py:1251 ++#: ../python/pakfire/cli.py:1246 + msgid "Package(s) to sign." + msgstr "" + +-#: ../python/pakfire/cli.py:1257 ++#: ../python/pakfire/cli.py:1252 + msgid "Verify one or more packages." + msgstr "" + +-#: ../python/pakfire/cli.py:1261 ++#: ../python/pakfire/cli.py:1256 + msgid "Package(s) to verify." + msgstr "" + +-#: ../python/pakfire/cli.py:1268 ++#: ../python/pakfire/cli.py:1263 + msgid "Generating the key may take a moment..." + msgstr "" + +-#: ../python/pakfire/cli.py:1316 ++#: ../python/pakfire/cli.py:1311 + #, python-format + msgid "Signing %s..." + msgstr "" + +-#: ../python/pakfire/cli.py:1333 ++#: ../python/pakfire/cli.py:1328 + #, python-format + msgid "Verifying %s..." + msgstr "" + +-#: ../python/pakfire/cli.py:1343 ++#: ../python/pakfire/cli.py:1338 + msgid "This signature is valid." + msgstr "" + +-#: ../python/pakfire/cli.py:1346 ++#: ../python/pakfire/cli.py:1341 + msgid "Unknown key" + msgstr "" + +-#: ../python/pakfire/cli.py:1347 ++#: ../python/pakfire/cli.py:1342 + msgid "Could not check if this signature is valid." + msgstr "" + +-#: ../python/pakfire/cli.py:1350 ../python/pakfire/keyring.py:96 ++#: ../python/pakfire/cli.py:1345 ../python/pakfire/keyring.py:96 + #, python-format + msgid "Created: %s" + msgstr "" + +-#: ../python/pakfire/cli.py:1354 ../python/pakfire/keyring.py:99 ++#: ../python/pakfire/cli.py:1349 ../python/pakfire/keyring.py:99 + #, python-format + msgid "Expires: %s" + msgstr "" + +-#: ../python/pakfire/client/builder.py:173 ++#. If the keepalive message could not successfully be sent, we don't ++#. bother, because the client will soon retry. ++#: ../python/pakfire/client/base.py:213 ++msgid "Could not send a keepalive message to the hub." ++msgstr "" ++ ++#. Don't give a shit either. ++#: ../python/pakfire/client/base.py:247 ++msgid "Could not update the host information." ++msgstr "" ++ ++#: ../python/pakfire/client/builder.py:179 + msgid "Less than 2GB of free space. Cannot request a new job." + msgstr "" + + #. Log all XMLRPC protocol errors. +-#: ../python/pakfire/client/transport.py:78 ++#: ../python/pakfire/client/transport.py:90 + msgid "XMLRPC protocol error:" + msgstr "" + +-#: ../python/pakfire/client/transport.py:79 ++#: ../python/pakfire/client/transport.py:91 + #, python-format + msgid "URL: %s" + msgstr "" + +-#: ../python/pakfire/client/transport.py:80 ++#: ../python/pakfire/client/transport.py:92 + msgid " HTTP headers:" + msgstr "" + +-#: ../python/pakfire/client/transport.py:83 ++#: ../python/pakfire/client/transport.py:95 + #, python-format + msgid "Error code: %s" + msgstr "" + +-#: ../python/pakfire/client/transport.py:84 ++#: ../python/pakfire/client/transport.py:96 + #, python-format + msgid "Error message: %s" + msgstr "" + +-#: ../python/pakfire/client/transport.py:104 ++#: ../python/pakfire/client/transport.py:116 + #, python-format + msgid "Trying again in %(timeout)s second(s). %(tries)s tries left." + msgstr "" + +-#: ../python/pakfire/client/transport.py:109 ++#: ../python/pakfire/client/transport.py:121 + msgid "Maximum number of tries was reached. Giving up." + msgstr "" + +@@ -981,7 +992,7 @@ msgstr "" + msgid "Running pakfire-build in a pakfire container?" + msgstr "" + +-#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:468 ++#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:475 + msgid "Transaction test was not successful" + msgstr "" + +@@ -996,10 +1007,14 @@ msgid "" + msgstr "" + + #: ../python/pakfire/errors.py:106 +-msgid "Could not find the requested URL." ++msgid "A request could not be fulfilled by the server." + msgstr "" + + #: ../python/pakfire/errors.py:110 ++msgid "Could not find the requested URL." ++msgstr "" ++ ++#: ../python/pakfire/errors.py:114 + msgid "An unforseable problem on the XML-RPC transport connection occured." + msgstr "" + +@@ -1070,7 +1085,7 @@ msgstr "" + msgid "Name" + msgstr "" + +-#: ../python/pakfire/packages/base.py:110 ../python/pakfire/transaction.py:397 ++#: ../python/pakfire/packages/base.py:110 ../python/pakfire/transaction.py:404 + msgid "Version" + msgstr "" + +@@ -1078,7 +1093,7 @@ msgstr "" + msgid "Release" + msgstr "" + +-#: ../python/pakfire/packages/base.py:115 ../python/pakfire/transaction.py:398 ++#: ../python/pakfire/packages/base.py:115 ../python/pakfire/transaction.py:405 + msgid "Size" + msgstr "" + +@@ -1356,93 +1371,93 @@ msgid "" + "perform transaction." + msgstr "" + +-#: ../python/pakfire/transaction.py:330 ++#: ../python/pakfire/transaction.py:327 + #, python-format + msgid "Not enough space to download %s of packages." + msgstr "" + +-#: ../python/pakfire/transaction.py:333 ++#: ../python/pakfire/transaction.py:330 + msgid "Downloading packages:" + msgstr "" + +-#: ../python/pakfire/transaction.py:397 ++#: ../python/pakfire/transaction.py:404 + msgid "Package" + msgstr "" + +-#: ../python/pakfire/transaction.py:402 ++#: ../python/pakfire/transaction.py:409 + msgid "Installing:" + msgstr "" + +-#: ../python/pakfire/transaction.py:403 ++#: ../python/pakfire/transaction.py:410 + msgid "Reinstalling:" + msgstr "" + +-#: ../python/pakfire/transaction.py:404 ++#: ../python/pakfire/transaction.py:411 + msgid "Updating:" + msgstr "" + +-#: ../python/pakfire/transaction.py:405 ++#: ../python/pakfire/transaction.py:412 + msgid "Downgrading:" + msgstr "" + +-#: ../python/pakfire/transaction.py:406 ++#: ../python/pakfire/transaction.py:413 + msgid "Removing:" + msgstr "" + +-#: ../python/pakfire/transaction.py:412 ++#: ../python/pakfire/transaction.py:419 + msgid "Transaction Summary" + msgstr "" + +-#: ../python/pakfire/transaction.py:419 ++#: ../python/pakfire/transaction.py:426 + msgid "package" + msgstr "" + +-#: ../python/pakfire/transaction.py:425 ++#: ../python/pakfire/transaction.py:432 + #, python-format + msgid "Total download size: %s" + msgstr "" + +-#: ../python/pakfire/transaction.py:429 ++#: ../python/pakfire/transaction.py:436 + #, python-format + msgid "Installed size: %s" + msgstr "" + +-#: ../python/pakfire/transaction.py:432 ++#: ../python/pakfire/transaction.py:439 + #, python-format + msgid "Freed size: %s" + msgstr "" + +-#: ../python/pakfire/transaction.py:443 ++#: ../python/pakfire/transaction.py:450 + msgid "Is this okay?" + msgstr "" + +-#: ../python/pakfire/transaction.py:449 ++#: ../python/pakfire/transaction.py:456 + msgid "Running Transaction Test" + msgstr "" + +-#: ../python/pakfire/transaction.py:461 ++#: ../python/pakfire/transaction.py:468 + msgid "Transaction Test Succeeded" + msgstr "" + + #. Make a nice progressbar. +-#: ../python/pakfire/transaction.py:494 ++#: ../python/pakfire/transaction.py:501 + msgid "Verifying signatures..." + msgstr "" + +-#: ../python/pakfire/transaction.py:526 ++#: ../python/pakfire/transaction.py:533 + #, python-format + msgid "Found %s signature error(s)!" + msgstr "" + +-#: ../python/pakfire/transaction.py:531 ++#: ../python/pakfire/transaction.py:538 + msgid "Going on because we are running in permissive mode." + msgstr "" + +-#: ../python/pakfire/transaction.py:532 ++#: ../python/pakfire/transaction.py:539 + msgid "This is dangerous!" + msgstr "" + +-#: ../python/pakfire/transaction.py:553 ++#: ../python/pakfire/transaction.py:560 + msgid "Running transaction" + msgstr "" + +diff --git a/python/pakfire/client/base.py b/python/pakfire/client/base.py +index 632ec8b..cd661ca 100644 +--- a/python/pakfire/client/base.py ++++ b/python/pakfire/client/base.py +@@ -204,7 +204,15 @@ class PakfireBuilderClient(BuildMixin, PakfireClient): + # Collect the current loadavg and send it to the hub. + loadavg = ", ".join(("%.2f" % round(l, 2) for l in os.getloadavg())) + +- needs_update = self.conn.send_keepalive(loadavg, overload, free_space) ++ try: ++ needs_update = self.conn.send_keepalive(loadavg, overload, free_space) ++ ++ except XMLRPCInternalServerError: ++ # If the keepalive message could not successfully be sent, we don't ++ # bother, because the client will soon retry. ++ log.warning(_("Could not send a keepalive message to the hub.")) ++ ++ return + + if force or needs_update: + log.debug("The hub is requesting an update.") +@@ -215,20 +223,27 @@ class PakfireBuilderClient(BuildMixin, PakfireClient): + + config = pakfire.config.ConfigDaemon() + +- self.conn.send_update( +- # Supported architectures. +- system.supported_arches, ++ try: ++ self.conn.send_update( ++ # Supported architectures. ++ system.supported_arches, ++ ++ # CPU information. ++ system.cpu_model, ++ system.cpu_count, ++ ++ # Amount of memory in bytes. ++ system.memory / 1024, + +- # CPU information. +- system.cpu_model, +- system.cpu_count, ++ # Send the currently running version of Pakfire. ++ PAKFIRE_VERSION, + +- # Amount of memory in bytes. +- system.memory / 1024, ++ # Send the host key. ++ config.get("signatures", "host_key", None), ++ ) + +- # Send the currently running version of Pakfire. +- PAKFIRE_VERSION, ++ except XMLRPCInternalServerError: ++ # Don't give a shit either. ++ log.warning(_("Could not update the host information.")) + +- # Send the host key. +- config.get("signatures", "host_key", None), +- ) ++ return +diff --git a/python/pakfire/client/transport.py b/python/pakfire/client/transport.py +index 4fb8a8f..ac7de8d 100644 +--- a/python/pakfire/client/transport.py ++++ b/python/pakfire/client/transport.py +@@ -72,6 +72,14 @@ class XMLRPCMixin: + # Cannot go on. + raise XMLRPCNotFoundError(e) + ++ elif e.errcode == 500: ++ # This could have various reasons, so we can not ++ # be sure to kill connections here. ++ # But to visualize the issue, we will raise an ++ # exception on the last try. ++ if tries == 1: ++ raise XMLRPCInternalServerError(e) ++ + elif e.errcode == 503: + # Possibly the hub is not running but the SSL proxy + # is. Just try again in a short time. +diff --git a/python/pakfire/errors.py b/python/pakfire/errors.py +index c0f711f..3af257d 100644 +--- a/python/pakfire/errors.py ++++ b/python/pakfire/errors.py +@@ -102,6 +102,10 @@ class XMLRPCForbiddenError(XMLRPCError): + message = _("You are forbidden to perform this action. Maybe you need to check your credentials.") + + ++class XMLRPCInternalServerError(XMLRPCError): ++ message = _("A request could not be fulfilled by the server.") ++ ++ + class XMLRPCNotFoundError(XMLRPCError): + message = _("Could not find the requested URL.") + +-- +1.7.7.6 + diff --git a/pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch b/pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch new file mode 100644 index 0000000..4d9d888 --- /dev/null +++ b/pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch @@ -0,0 +1,32 @@ +From acf9ff3a740f37550287b4e263e6d7e76cef3e36 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Sun, 22 Apr 2012 14:42:37 +0200 +Subject: [PATCH 5/8] Allow to install multiple non-default kernels. + +--- + python/pakfire/constants.py | 9 ++++++++- + 1 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/python/pakfire/constants.py b/python/pakfire/constants.py +index 0899dd0..44d1d02 100644 +--- a/python/pakfire/constants.py ++++ b/python/pakfire/constants.py +@@ -184,7 +184,14 @@ end + PACKAGE_INFO_DESCRIPTION_LINE = PACKAGE_INFO_DEPENDENCY_LINE = "\t\t%s" + + # XXX make this configurable in pakfire.conf +-PAKFIRE_MULTIINSTALL = ["kernel", "kernel-PAE",] ++PAKFIRE_MULTIINSTALL = [ ++ "kernel", ++ "kernel-kirkwood", ++ "kernel-legacy", ++ "kernel-omap", ++ "kernel-versatile", ++ "kernel-devel", ++] + + SCRIPTLET_INTERPRETER = "/bin/sh" + SCRIPTLET_TIMEOUT = 60 * 15 +-- +1.7.7.6 + diff --git a/pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch b/pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch new file mode 100644 index 0000000..3867cf1 --- /dev/null +++ b/pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch @@ -0,0 +1,26 @@ +From e13f4e02e11afa45d8bcb6ceb46bd50c3b6c9aae Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Sun, 22 Apr 2012 14:44:51 +0200 +Subject: [PATCH 6/8] Actually remove installed packages from database. + +When removing packages, the metadata was not removed from +the local package database. +--- + python/pakfire/repository/system.py | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/python/pakfire/repository/system.py b/python/pakfire/repository/system.py +index 5dcdd04..ce3e979 100644 +--- a/python/pakfire/repository/system.py ++++ b/python/pakfire/repository/system.py +@@ -62,6 +62,7 @@ class RepositorySystem(base.RepositoryFactory): + + def rem_package(self, pkg): + # Remove package from the database. ++ self.db.rem_package(pkg) + self.index.rem_package(pkg) + + @property +-- +1.7.7.6 + diff --git a/pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch b/pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch new file mode 100644 index 0000000..29901e5 --- /dev/null +++ b/pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch @@ -0,0 +1,29 @@ +From b8f51d988734a75e8e41496a5d272057d18ecfda Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Sun, 22 Apr 2012 14:47:43 +0200 +Subject: [PATCH 7/8] Select packages from the database by their UUIDs. + +--- + python/pakfire/repository/database.py | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/python/pakfire/repository/database.py b/python/pakfire/repository/database.py +index 11321ae..6f8f397 100644 +--- a/python/pakfire/repository/database.py ++++ b/python/pakfire/repository/database.py +@@ -334,9 +334,9 @@ class DatabaseLocal(Database): + + # Get the ID of the package in the database. + c = self.cursor() +- #c.execute("SELECT id FROM packages WHERE uuid = ? LIMIT 1", (pkg.uuid,)) +- c.execute("SELECT id FROM packages WHERE name = ? AND epoch = ? AND version = ?" +- " AND release = ? LIMIT 1", (pkg.name, pkg.epoch, pkg.version, pkg.release,)) ++ c.execute("SELECT id FROM packages WHERE uuid = ? LIMIT 1", (pkg.uuid,)) ++ #c.execute("SELECT id FROM packages WHERE name = ? AND epoch = ? AND version = ?" ++ # " AND release = ? LIMIT 1", (pkg.name, pkg.epoch, pkg.version, pkg.release,)) + + id = None + for row in c: +-- +1.7.7.6 + diff --git a/pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch b/pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch new file mode 100644 index 0000000..53d8acd --- /dev/null +++ b/pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch @@ -0,0 +1,51 @@ +From d38612fe50395a35d6fdc0774d56c7c2ddc58cf7 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Sun, 22 Apr 2012 14:48:10 +0200 +Subject: [PATCH 8/8] Fixes for removing files (and configfiles). + +There were some problems when the user removed those +files earlier. +--- + python/pakfire/packages/base.py | 12 ++++++++++++ + 1 files changed, 12 insertions(+), 0 deletions(-) + +diff --git a/python/pakfire/packages/base.py b/python/pakfire/packages/base.py +index e27c3f7..9162536 100644 +--- a/python/pakfire/packages/base.py ++++ b/python/pakfire/packages/base.py +@@ -516,6 +516,12 @@ class Package(object): + + # Rename configuration files. + if _file.is_config(): ++ # Skip already removed config files. ++ try: ++ os.lstat(file) ++ except OSError: ++ continue ++ + file_save = "%s%s" % (file, CONFIG_FILE_SUFFIX_SAVE) + + try: +@@ -530,6 +536,7 @@ class Package(object): + + # Handle regular files and symlinks. + if os.path.isfile(file) or os.path.islink(file): ++ log.debug("Removing %s..." % _file) + try: + os.remove(file) + except OSError: +@@ -545,6 +552,11 @@ class Package(object): + except OSError: + pass + ++ # Handle files that have already been removed ++ # by somebody else. ++ elif not os.path.exists(file): ++ pass ++ + # Log all unhandled types. + else: + log.warning("Cannot remove file: %s. Filetype is unhandled." % file) +-- +1.7.7.6 + diff --git a/pakfire/patches/pakfire-internalize-index.patch b/pakfire/patches/pakfire-internalize-index.patch deleted file mode 100644 index 3e3e8b6..0000000 --- a/pakfire/patches/pakfire-internalize-index.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit b856696a0a8173eaacdd03833971272de06118ce -Author: Michael Tremer michael.tremer@ipfire.org -Date: Sat Apr 14 21:16:30 2012 +0200 - - Fix accessing index data after the transaction is done. - -diff --git a/python/pakfire/client/builder.py b/python/pakfire/client/builder.py -index a039e65..2ade5dc 100644 ---- a/python/pakfire/client/builder.py -+++ b/python/pakfire/client/builder.py -@@ -334,6 +334,7 @@ class ClientBuilder(object): - pkgs = [] - - for pkg in installed_packages: -+ assert pkg.uuid, "%s has got no UUID" - pkgs.append((pkg.friendly_name, pkg.uuid)) - - return self.conn.build_upload_buildroot(self.build_id, pkgs) -diff --git a/python/pakfire/repository/system.py b/python/pakfire/repository/system.py -index 642c4bd..5dcdd04 100644 ---- a/python/pakfire/repository/system.py -+++ b/python/pakfire/repository/system.py -@@ -52,6 +52,9 @@ class RepositorySystem(base.RepositoryFactory): - # Commit the database to disk. - self.db.commit() - -+ # Make sure that all data in the index is accessable. -+ self.index.optimize() -+ - def add_package(self, pkg): - # Add package to the database. - self.db.add_package(pkg) diff --git a/pakfire/patches/pakfire-provides-soname.patch b/pakfire/patches/pakfire-provides-soname.patch deleted file mode 100644 index 8cc8b61..0000000 --- a/pakfire/patches/pakfire-provides-soname.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit cf4f218f42c2a43a520eac4f3a6251d557dcbe80 -Author: Michael Tremer michael.tremer@ipfire.org -Date: Tue Apr 17 17:36:52 2012 +0200 - - find-provides: Accept bogous soname. - - This is a kind of weird bug. Some libs are "versioned" by - using their SONAME for symbol maps. This caused trouble - because the SONAME was not added to the list of provides - which is now changed by this commit. - -diff --git a/tools/find-provides b/tools/find-provides -index 2e138ba..06b3c47 100755 ---- a/tools/find-provides -+++ b/tools/find-provides -@@ -69,7 +69,6 @@ for file in ${binary_files}; do - /Version definitions:/ { START=1; } - /^[0-9]/ && (START==1) { print $4; } - /^$/ { START=0; }' | \ -- grep -v ${soname} | \ - while read symbol ; do - echo "${soname}(${symbol})$(${is_64} && echo ${mark64} | sed 's/()//')" - done diff --git a/pygobject2/pygobject2.nm b/pygobject2/pygobject2.nm index 6938a56..9840278 100644 --- a/pygobject2/pygobject2.nm +++ b/pygobject2/pygobject2.nm @@ -5,7 +5,7 @@
name = pygobject2 version = 2.27.0 -release = 1 +release = 2
groups = Development/Tools url = http://www.pygtk.org/ @@ -42,7 +42,6 @@ end
packages package %{name} - end
package %{name}-codegen summary = The code generation program for PyGObject. @@ -58,6 +57,8 @@ packages end
package %{name}-devel + template DEVEL + requires glib2-devel %{name}-codegen diff --git a/systemd/systemd.nm b/systemd/systemd.nm index 5e5a2f5..95bf4f7 100644 --- a/systemd/systemd.nm +++ b/systemd/systemd.nm @@ -5,7 +5,7 @@
name = systemd version = 44 -release = 3 +release = 4
maintainer = Stefan Schantl stefan.schantl@ipfire.org groups = System/Base @@ -76,9 +76,10 @@ build cp -vf %{DIR_SOURCE}/{locale,vconsole}.conf %{BUILDROOT}%{sysconfdir}
# Recreate all targets - rm -rfv %{BUILDROOT}%{unitdir}/*.target.wants - for i in basic.target.wants default.target.wants dbus.target.wants syslog.target.wants; do - mkdir -pv %{BUILDROOT}%{unitdir}/${i} || exit 1 + rm -rfv %{BUILDROOT}/%{sysconfdir}/systemd/system/*.target.wants + for i in basic.target.wants default.target.wants dbus.target.wants getty.target.wants \ + multi-user.target.wants syslog.target.wants; do + mkdir -pv %{BUILDROOT}/%{sysconfdir}/systemd/system/${i} || exit 1 done
# Remove runlevel targets and graphical.target
hooks/post-receive -- IPFire 3.x development tree