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; }
