Package: reprepro Version: 5.3.0-1.2 Severity: wishlist Tags: patch Hi,
the attached patch allows suite pattern *- for conf/updates in addition to */. Needed for bullseye security, -backports and -updates in the main archive. Regards, Stefan Examples: Name: security-buster Method: http://security.debian.org/debian-security Suite: */updates Name: security Method: http://security.debian.org/debian-security Suite: *-updates Name: backports Method: http://ftp.debian.org/debian Suite: *-backports Name: updates Method: http://ftp.debian.org/debian Suite: *-updates
diff -uNrp reprepro-5.3.0.orig/docs/reprepro.1 reprepro-5.3.0/docs/reprepro.1 --- reprepro-5.3.0.orig/docs/reprepro.1 2018-09-09 07:17:15.000000000 +0200 +++ reprepro-5.3.0/docs/reprepro.1 2022-10-13 17:04:32.150363395 +0200 @@ -1678,7 +1678,7 @@ if both get their \fBMethod\fP informati .B Suite The suite to update from. If this is not present, the codename of the distribution using this one is used. Also "*/whatever" -is replaced by "<codename>/whatever" +is replaced by "<codename>/whatever", "*-whatever" is replaced by "<codename>-whatever" .TP .B Components The components to update. Each item can be either the name diff -uNrp reprepro-5.3.0.orig/updates.c reprepro-5.3.0/updates.c --- reprepro-5.3.0.orig/updates.c 2019-02-02 12:14:59.000000000 +0100 +++ reprepro-5.3.0/updates.c 2022-10-13 17:15:28.735408139 +0200 @@ -593,6 +593,7 @@ CFfinishparse(update_pattern) { } if (n->suite_from != NULL && strcmp(n->suite_from, "*") != 0 && strncmp(n->suite_from, "*/", 2) != 0 && + strncmp(n->suite_from, "*-", 2) != 0 && strchr(n->suite_from, '*') != NULL) { fprintf(stderr, "%s:%u to %u: Unsupported suite pattern '%s'\n", @@ -755,8 +756,8 @@ static inline char *translate_suite_patt if (p == NULL || strcmp(p->suite_from, "*") == 0) return strdup(codename); - if (p->suite_from[0] == '*' && p->suite_from[1] == '/') - return calc_dirconcat(codename, p->suite_from + 2); + if (p->suite_from[0] == '*' && (p->suite_from[1] == '/' || p->suite_from[1] == '-')) + return mprintf("%s%s", codename, p->suite_from + 1); else if (strchr(p->suite_from, '*') == NULL) return strdup(p->suite_from); //TODO: implement this