Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package reprepro for openSUSE:Factory 
checked in at 2022-11-17 19:52:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/reprepro (Old)
 and      /work/SRC/openSUSE:Factory/.reprepro.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "reprepro"

Thu Nov 17 19:52:41 2022 rev:4 rq:1036495 version:5.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/reprepro/reprepro.changes        2022-08-16 
17:08:11.751959229 +0200
+++ /work/SRC/openSUSE:Factory/.reprepro.new.1597/reprepro.changes      
2022-11-17 19:52:41.404239451 +0100
@@ -1,0 +2,6 @@
+Thu Nov 17 17:30:56 UTC 2022 - Jan Engelhardt <[email protected]>
+
+- Update to release 5.4.1
+  * If data tar extraction fails, try again as uncompressed.
+
+-------------------------------------------------------------------

Old:
----
  reprepro_5.4.0.orig.tar.xz

New:
----
  reprepro_5.4.1.orig.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ reprepro.spec ++++++
--- /var/tmp/diff_new_pack.FSp5Xq/_old  2022-11-17 19:52:42.644246136 +0100
+++ /var/tmp/diff_new_pack.FSp5Xq/_new  2022-11-17 19:52:42.656246201 +0100
@@ -17,12 +17,12 @@
 
 
 Name:           reprepro
-Version:        5.4.0
+Version:        5.4.1
 Release:        0
 Summary:        Debian repository metadata generator
 License:        GPL-2.0-only AND GPL-2.0-or-later AND MIT
 URL:            https://salsa.debian.org/debian/reprepro
-Source:         
http://deb.debian.org/debian/pool/main/r/reprepro/reprepro_%{version}.orig.tar.xz
+Source:         
http://deb.debian.org/debian/pool/main/r/reprepro/reprepro_%version.orig.tar.xz
 BuildRequires:  automake
 BuildRequires:  gpgme-devel
 BuildRequires:  libarchive-devel
@@ -51,7 +51,7 @@
 generated Package indexes is supported.
 
 %prep
-%autosetup -p1 -n %name-%version
+%autosetup -p1
 find docs -type f -exec chmod -x {} +
 
 %build

++++++ reprepro_5.4.0.orig.tar.xz -> reprepro_5.4.1.orig.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/ChangeLog new/reprepro-5.4.1/ChangeLog
--- old/reprepro-5.4.0/ChangeLog        2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/ChangeLog        2022-08-17 17:32:44.000000000 +0200
@@ -1,3 +1,25 @@
+2022-08-17  Bastian Germann <[email protected]>
+
+       * debfilecontents.c: If data tar extraction fails try again as 
uncompressed
+       Some packages have an uncompressed data.tar.gz.
+       It seems that the "ar" code doesn't support reading a member more
+       than once, so it is necessary to retry the whole process in
+       uncompressed mode rather than just retrying reading the data member.
+       * signedfile.c: Prevent duplicated keyid in signing error message
+       Reported by: Uwe Kleine-König
+       * configure.ac: Release version 5.4.1 with patches from Debian bug 
tracker
+
+2022-08-17  Luca Capello <[email protected]>
+
+       * docs/mail-changes.example: new file to notify processing of .changes 
files
+
+2013-12-18  Bernhard R. Link <[email protected]>
+
+       * checkin.c, ignore.h: Add --ignore=conflictingarchall
+       This is useful if autobuilders for more than one architecture will
+       build Architecture: all packages of the same version.
+       Based on a patch by Sjoerd Simons.
+
 2022-07-27  Bastian Germann <[email protected]>
 
        Integrate Benjamin Drung's work
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/NEWS new/reprepro-5.4.1/NEWS
--- old/reprepro-5.4.0/NEWS     2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/NEWS     2022-08-17 17:32:44.000000000 +0200
@@ -1,3 +1,9 @@
+Updates between 5.4.0 and 5.4.1:
+- Add --ignore=conflictingarchall (http://bugs.debian.org/697630)
+- Add example to notify processing of .changes files 
(https://bugs.debian.org/827816)
+- If data tar extraction fails try again as uncompressed 
(https://bugs.debian.org/863061)
+- Prevent duplicated keyid in signing error message 
(https://bugs.debian.org/1006766)
+
 Updates between 5.3.1 and 5.4.0:
 - Add shunit2 based tests (https://bugs.debian.org/857302)
 - Support multiple versions. (https://bugs.debian.org/570623)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/checkin.c new/reprepro-5.4.1/checkin.c
--- old/reprepro-5.4.0/checkin.c        2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/checkin.c        2022-08-17 17:32:44.000000000 +0200
@@ -949,12 +949,13 @@
 }
 
 static retvalue changes_checkfiles(const char *filename, struct changes 
*changes) {
-       struct fileentry *e;
+       struct fileentry *e, **pe;
        retvalue r;
 
        r = RET_NOTHING;
 
-       for (e = changes->files; e != NULL ; e = e->next) {
+       pe = &changes->files;
+       while ((e = *pe) != NULL) {
                //TODO: decide earlier which files to include
                if (e->type == fe_BYHAND) {
                        /* byhand files might have the same name and not
@@ -988,6 +989,21 @@
                        return RET_ERROR_OOM;
                /* do not copy yet, but only check if it could be included */
                r = files_canadd(e->filekey, e->checksums);
+               if (r == RET_ERROR_WRONG_MD5 &&
+                   e->architecture_into == architecture_all &&
+                   IGNORABLE(conflictingarchall)) {
+                       struct fileentry *removedentry;
+
+                       fprintf(stderr,
+"Ignoring '%s' as --ignore=conflictingarchall given and there is already a 
file with different contents of that name.\n",
+                               e->name);
+
+                       removedentry = e;
+                       *pe = removedentry->next;
+                       removedentry->next = NULL;
+                       freeentries(removedentry);
+                       continue;
+               }
                if (RET_WAS_ERROR(r))
                        return r;
                /* If is was already there, remember that */
@@ -1013,6 +1029,7 @@
                        }
                        free(fullfilename);
                }
+               pe = &e->next;
        }
 
        return RET_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/configure.ac 
new/reprepro-5.4.1/configure.ac
--- old/reprepro-5.4.0/configure.ac     2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/configure.ac     2022-08-17 17:32:44.000000000 +0200
@@ -2,7 +2,7 @@
 dnl Process this file with autoconf to produce a configure script
 dnl
 
-AC_INIT(reprepro, 5.4.0)
+AC_INIT(reprepro, 5.4.1)
 AC_CONFIG_SRCDIR(main.c)
 AC_CONFIG_AUX_DIR(ac)
 AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/debfilecontents.c 
new/reprepro-5.4.1/debfilecontents.c
--- old/reprepro-5.4.0/debfilecontents.c        2022-07-27 12:11:15.000000000 
+0200
+++ new/reprepro-5.4.1/debfilecontents.c        2022-08-17 17:32:44.000000000 
+0200
@@ -137,8 +137,10 @@
 retvalue getfilelist(/*@out@*/char **filelist, size_t *size, const char 
*debfile) {
        struct ar_archive *ar;
        retvalue r;
-       bool hadcandidate = false;
-
+       bool hadcandidate;
+       bool uncompressedretry = false;
+       retrylabel:
+       hadcandidate = false;
        r = ar_open(&ar, debfile);
        if (RET_WAS_ERROR(r))
                return r;
@@ -163,6 +165,7 @@
                                free(filename);
                                continue;
                        }
+                       if (uncompressedretry) c = c_none;
                        ar_archivemember_setcompression(ar, c);
                        if (uncompression_supported(c)) {
                                struct archive *tar;
@@ -194,7 +197,13 @@
                                if (r != RET_NOTHING) {
                                        ar_close(ar);
                                        free(filename);
-                                       return r;
+                                       if ((r == RET_ERROR) && 
(!uncompressedretry)) {
+                                               uncompressedretry = true;
+                                               fprintf(stderr,"retrying 
uncompressed\n");
+                                               goto retrylabel;
+                                       } else {
+                                               return r;
+                                       }
                                }
 
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/docs/mail-changes.example 
new/reprepro-5.4.1/docs/mail-changes.example
--- old/reprepro-5.4.0/docs/mail-changes.example        1970-01-01 
01:00:00.000000000 +0100
+++ new/reprepro-5.4.1/docs/mail-changes.example        2022-08-17 
17:32:44.000000000 +0200
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+#
+# Copyright 2016 Luca Capello <[email protected]>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02111-1301  USA
+#
+#
+# This is an example script that can be hooked into reprepro
+# to send an email after a .changes file is processed.
+#
+# All you have to do is to:
+# - copy it into you conf/ directory,
+# - add the following to any distribution in conf/distributions
+#   you want to have emails sent for:
+#Log:
+# --changes mail-changes.example
+# (note the space at the beginning of the second line).
+#
+# DEPENDENCIES: mailx
+
+
+set -e
+
+
+if test "x${REPREPRO_OUT_DIR:+set}" = xset ; then
+       # Note: due to cd, REPREPRO_*_DIR will no longer
+       # be usable. And only things relative to outdir will work...
+       cd "${REPREPRO_OUT_DIR}" || exit 1
+else
+       # this will also trigger if reprepro < 3.5.1 is used,
+       # in that case replace this with a manual cd to the
+       # correct directory...
+       cat "mail-accepted.example needs to be run by reprepro!" >&2
+       exit 1
+fi
+
+
+MAIL_TO="$USER"
+
+ACTION="$1"
+CODENAME="$2"
+PACKAGENAME="$3"
+PACKAGEVERSION="$4"
+CHANGESFILE="$5"
+
+if [ "x$ACTION" = "xaccepted" ]; then
+       MAIL_FROM="$(grep Changed-By $CHANGESFILE | \
+                     sed -e 's/Changed-By/From/')"
+       ARCHITECTURE="$(grep Architecture $CHANGESFILE | \
+                        sed -e 's/Architecture: //')"
+       MAIL_SUBJECT="Accepted $PACKAGENAME $PACKAGEVERSION ($ARCHITECTURE) 
into $CODENAME"
+       cat "$CHANGESFILE" | \
+        mail -a "$MAIL_FROM" -s "$MAIL_SUBJECT" "$MAIL_TO"
+fi
+
+
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/ignore.h new/reprepro-5.4.1/ignore.h
--- old/reprepro-5.4.0/ignore.h 2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/ignore.h 2022-08-17 17:32:44.000000000 +0200
@@ -36,7 +36,8 @@
        IGN(wrongarchitecture) \
        IGN(oldfile) \
        IGN(longkeyid) \
-       IGN(missingfile)
+       IGN(missingfile) \
+       IGN(conflictingarchall)
 
 
 enum ignore {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/reprepro-5.4.0/signedfile.c 
new/reprepro-5.4.1/signedfile.c
--- old/reprepro-5.4.0/signedfile.c     2022-07-27 12:11:15.000000000 +0200
+++ new/reprepro-5.4.1/signedfile.c     2022-08-17 17:32:44.000000000 +0200
@@ -57,7 +57,7 @@
                     uidoptions != NULL && i < options->count ;
                     i++) {
                        char *u = mprintf("%s -u '%s'", uidoptions,
-                                       options->values[0]);
+                                       options->values[i]);
                        free(uidoptions);
                        uidoptions = u;
                }

Reply via email to