Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package transactional-update for openSUSE:Factory checked in at 2022-08-23 14:25:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/transactional-update (Old) and /work/SRC/openSUSE:Factory/.transactional-update.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update" Tue Aug 23 14:25:46 2022 rev:90 rq:998705 version:4.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes 2022-08-09 15:26:15.145265179 +0200 +++ /work/SRC/openSUSE:Factory/.transactional-update.new.2083/transactional-update.changes 2022-08-23 14:26:19.459183546 +0200 @@ -1,0 +2,11 @@ +Mon Aug 22 15:14:24 UTC 2022 - Fabian Vogt <fv...@suse.com> + +- Version 4.0.1 + - create_dirs_from_rpmdb: Just warn if no default SELinux context found + [gh#openSUSE/transactional-update#88], [bsc#1188215] + - create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure + [gh#openSUSE/transactional-update#88] + - Handle directories owned by multiple packages + [gh#openSUSE/transactional-update#90], [bsc#1188215] + +------------------------------------------------------------------- Old: ---- transactional-update-4.0.0.tar.gz New: ---- transactional-update-4.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ transactional-update.spec ++++++ --- /var/tmp/diff_new_pack.88oj0D/_old 2022-08-23 14:26:20.059184867 +0200 +++ /var/tmp/diff_new_pack.88oj0D/_new 2022-08-23 14:26:20.063184876 +0200 @@ -26,7 +26,7 @@ %{!?_distconfdir: %global _distconfdir %{_prefix}%{_sysconfdir}} Name: transactional-update -Version: 4.0.0 +Version: 4.0.1 Release: 0 Summary: Transactional Updates with btrfs and snapshots License: GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ transactional-update-4.0.0.tar.gz -> transactional-update-4.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.0/NEWS new/transactional-update-4.0.1/NEWS --- old/transactional-update-4.0.0/NEWS 2022-08-08 16:10:36.000000000 +0200 +++ new/transactional-update-4.0.1/NEWS 2022-08-22 17:09:42.000000000 +0200 @@ -2,6 +2,14 @@ Copyright (C) 2016-2022 Thorsten Kukuk, Ignaz Forster et al. +Version 4.0.1 +* create_dirs_from_rpmdb: Just warn if no default SELinux context found + [gh#openSUSE/transactional-update#88], [bsc#1188215] +* create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure + [gh#openSUSE/transactional-update#88] +* Handle directories owned by multiple packages + [gh#openSUSE/transactional-update#90], [bsc#1188215] + Version 4.0.0 * Last minute interface change: Changed "List" method of Snapshot D-Bus interface to return a map of properties instead of a comma separated diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.0/configure.ac new/transactional-update-4.0.1/configure.ac --- old/transactional-update-4.0.0/configure.ac 2022-08-08 16:10:36.000000000 +0200 +++ new/transactional-update-4.0.1/configure.ac 2022-08-22 17:09:42.000000000 +0200 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(transactional-update, 4.0.0) +AC_INIT(transactional-update, 4.0.1) # Increase on any interface change and reset revision LIBTOOL_CURRENT=4 # Increase or reset on any VERSION update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.0/sbin/create_dirs_from_rpmdb.c new/transactional-update-4.0.1/sbin/create_dirs_from_rpmdb.c --- old/transactional-update-4.0.0/sbin/create_dirs_from_rpmdb.c 2022-08-08 16:10:36.000000000 +0200 +++ new/transactional-update-4.0.1/sbin/create_dirs_from_rpmdb.c 2022-08-22 17:09:42.000000000 +0200 @@ -243,6 +243,30 @@ {.tv_sec = node->fmtime, .tv_usec = 0}, {.tv_sec = node->fmtime, .tv_usec = 0}}; + /* Check whether the directory was already handled. + * The list is sorted, so only the previous one needs to be checked. */ + if (i > 0 && strcmp(node[-1].dirname, node[0].dirname) == 0) { + struct node *last = &node[-1]; + if (debug_flag) + printf("%s already seen\n", node->dirname); + + if (last->user_id != node->user_id || last->group_id != node->group_id) + fprintf(stderr, "Warning: Conflicting owners (%ld:%ld and %ld:%ld) for %s\n", + (long)last->user_id, (long)last->group_id, + (long)node->user_id, (long)node->group_id, + node->dirname); + + if (last->fmode != node->fmode) { + char *lastperms = fmode2str(last->fmode), *nodeperms = fmode2str(node->fmode); + fprintf(stderr, "Warning: Conflicting modes (%s and %s) for %s\n", + lastperms, nodeperms, node->dirname); + free(lastperms); + free(nodeperms); + } + + continue; + } + if (verbose_flag) printf("Create %s\n", node->dirname); @@ -265,6 +289,11 @@ /* set selinux file context */ if (use_selinux) { if (selabel_lookup_raw(hnd, &newcon, node->dirname, node->fmode) < 0) { + if (errno == ENOENT) { + fprintf(stderr, "Warning: No default context for directory '%s'\n", node->dirname); + continue; + } + fprintf(stderr, "Failed to get default context for directory '%s': %m\n", node->dirname); rmdir(node->dirname); rc = 1; @@ -436,7 +465,7 @@ /* XXX missing: free list */ /* Can't do anything if this fails anyway. */ - if (rpmdb_cookie) + if (ec == 0 && rpmdb_cookie) rpmCookieWrite(rpmdb_cookie); rpmdbFreeIterator(mi);