Debian Bug report logs - #882252
rpm stops build on warning "Invalid version (double separator '-')", older version works

Package: rpm; Maintainer for rpm is RPM packaging team <team+pkg-rpm@tracker.debian.org>; Source for rpm is src:rpm (PTS, buildd, popcon).

Reported by: Martin Petersen <mpetersen@samspade.de>

Date: Mon, 20 Nov 2017 18:12:25 UTC

Severity: normal

Tags: wontfix

Done: Martin Petersen <mpetersen@samspade.de>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>:
Bug#882252; Package rpm. (Mon, 20 Nov 2017 18:12:27 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Petersen <mpetersen@samspade.de>:
New Bug report received and forwarded. Copy sent to RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>. (Mon, 20 Nov 2017 18:12:27 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Martin Petersen <mpetersen@samspade.de>
To: submit@bugs.debian.org
Subject: rpm stops build on warning "Invalid version (double separator '-')", older version works
Date: Mon, 20 Nov 2017 18:27:00 +0100
Package: rpm
Version:

Dear Maintainer,

*** Reporter, please consider answering these questions, where
appropriate ***

   * What led up to the situation?
Upgrading rpm from 4.12.0.2+dfsg1-2 to 4.14.0+dfsg1-2 in a apt-get
dist-upgrade run

   * What exactly did you do (or not do) that was effective (or
     ineffective)?
Trying to build zfsonlinux kernel modules for new linux-kernels.
Building this modules for quite some time no. Failing to build startet
about kernel version 4.14-0-0.

   * What was the outcome of this action?
Converting rpm packages to deb packages failed with the error message
Invalid version (double separator '-')

   * What outcome did you expect instead?
Build deb packages

rpm stops building a package on an error which should be treated as a
warning AFAIK. Downgrading to version 4.12.0.2+dfsg1-2 builds successfully.

make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
make  pkg="spl-kmod" \
	def='--define "_without_debug 1" --define "_without_debug_kmem 1"
--define "_without_debug_kmem_tracking 1" --define "kernels
4.14.0-0.slh.2-aptosid-amd64"' rpm-common
make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
Installing spl-kmod-0.7.0-21_ged19bcc.src.rpm
error: line 68: Invalid version (double separator '-'):
4.14.0-0.slh.2-aptosid-amd64: Provides:
kernel-modules-for-kernel = 4.14.0-0.slh.2-aptosid-amd64
Makefile:1074: die Regel für Ziel „rpm-common“ scheiterte

I am fileing this bug because You were so nice to react to a bug report
considering the same behaviour with rpm compiling code from the same
project (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740245).

Please brush me of if I am in the wrong.

Kind regards,

Martin

FYI: I clone the zfsonlinux git repos for zfs and spl (git clone
https://github.com/zfsonlinux/zfs && git clone
https://github.com/zfsonlinux/spl) and run "./autogen.sh && ./configure
&& make deb".

I do this for years and I believe this to be a regression.

Complete build messages:

sam@spade-ng /home/sam/zfsonlinux/src/git/spl $ make rpm
make  pkg="spl-kmod" \
	def='--define "build_src_rpm 1" ' srpm-common
make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make  dist-gzip am__post_remove_distdir='@:'
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
if test -d "spl-0.7.0"; then find "spl-0.7.0" -type d ! -perm -200 -exec
chmod u+w {} ';' && rm -rf "spl-0.7.0" || { sleep 5 && rm -rf
"spl-0.7.0"; }; else :; fi
test -d "spl-0.7.0" || mkdir "spl-0.7.0"
 (cd include && make  top_distdir=../spl-0.7.0
distdir=../spl-0.7.0/include \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include“ wird
betreten
 (cd fs && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/fs \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/fs“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/fs“ wird
verlassen
 (cd linux && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/linux \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/linux“
wird betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/linux“
wird verlassen
 (cd rpc && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/rpc \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/rpc“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/rpc“ wird
verlassen
 (cd sharefs && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/sharefs \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sharefs“
wird betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sharefs“
wird verlassen
 (cd sys && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/sys \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys“ wird
betreten
 (cd fm && make  top_distdir=../../../spl-0.7.0
distdir=../../../spl-0.7.0/include/sys/fm \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[5]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys/fm“
wird betreten
make[5]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys/fm“
wird verlassen
 (cd fs && make  top_distdir=../../../spl-0.7.0
distdir=../../../spl-0.7.0/include/sys/fs \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[5]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys/fs“
wird betreten
make[5]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys/fs“
wird verlassen
 (cd sysevent && make  top_distdir=../../../spl-0.7.0
distdir=../../../spl-0.7.0/include/sys/sysevent \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[5]: Verzeichnis
„/home/sam/zfsonlinux/src/git/spl/include/sys/sysevent“ wird betreten
make[5]: Verzeichnis
„/home/sam/zfsonlinux/src/git/spl/include/sys/sysevent“ wird verlassen
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/sys“ wird
verlassen
 (cd util && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/util \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/util“
wird betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/util“
wird verlassen
 (cd vm && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/include/vm \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/vm“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include/vm“ wird
verlassen
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/include“ wird
verlassen
 (cd rpm && make  top_distdir=../spl-0.7.0 distdir=../spl-0.7.0/rpm \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm“ wird betreten
 (cd generic && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/rpm/generic \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm/generic“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm/generic“ wird
verlassen
 (cd redhat && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/rpm/redhat \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm/redhat“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm/redhat“ wird
verlassen
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/rpm“ wird verlassen
 (cd lib && make  top_distdir=../spl-0.7.0 distdir=../spl-0.7.0/lib \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/lib“ wird betreten
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/lib“ wird verlassen
 (cd cmd && make  top_distdir=../spl-0.7.0 distdir=../spl-0.7.0/cmd \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd“ wird betreten
 (cd splat && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/cmd/splat \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd/splat“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd/splat“ wird
verlassen
 (cd splslab && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/cmd/splslab \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd/splslab“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd/splslab“ wird
verlassen
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/cmd“ wird verlassen
 (cd man && make  top_distdir=../spl-0.7.0 distdir=../spl-0.7.0/man \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man“ wird betreten
 (cd man1 && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/man/man1 \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man/man1“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man/man1“ wird
verlassen
 (cd man5 && make  top_distdir=../../spl-0.7.0
distdir=../../spl-0.7.0/man/man5 \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man/man5“ wird
betreten
make[4]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man/man5“ wird
verlassen
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/man“ wird verlassen
 (cd scripts && make  top_distdir=../spl-0.7.0
distdir=../spl-0.7.0/scripts \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/scripts“ wird
betreten
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/scripts“ wird
verlassen
 (cd module && make  top_distdir=../spl-0.7.0 distdir=../spl-0.7.0/module \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=:
distdir)
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/module“ wird betreten
list='spl splat'; for subdir in $list; do \
	(find ../module/$subdir -name '*.c' -o -name '*.h' |\
	 xargs /bin/cp -t $distdir/$subdir); \
done
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl/module“ wird
verlassen
make  \
  top_distdir="spl-0.7.0" distdir="spl-0.7.0" \
  dist-hook
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
sed -i 's/Release:[[:print:]]*/Release:      21_ged19bcc/' \
	spl-0.7.0/META
make[3]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
test -n "" \
|| find "spl-0.7.0" -type d ! -perm -755 \
	-exec chmod u+rwx,go+rx {} \; -o \
  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -444 -exec /bin/bash
/home/sam/zfsonlinux/src/git/spl/config/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "spl-0.7.0"
tardir=spl-0.7.0 && ${TAR-tar} chof - "$tardir" | eval GZIP= gzip --best
-c >spl-0.7.0.tar.gz
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
if test -d "spl-0.7.0"; then find "spl-0.7.0" -type d ! -perm -200 -exec
chmod u+w {} ';' && rm -rf "spl-0.7.0" || { sleep 5 && rm -rf
"spl-0.7.0"; }; else :; fi
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
Wrote: /tmp/spl-build-sam-0bX5a5qb/SRPMS/spl-kmod-0.7.0-21_ged19bcc.src.rpm
make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
make  pkg="spl-kmod" \
	def='--define "_without_debug 1" --define "_without_debug_kmem 1"
--define "_without_debug_kmem_tracking 1" --define "kernels
4.14.0-0.slh.2-aptosid-amd64"' rpm-common
make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird betreten
make[2]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
Installing spl-kmod-0.7.0-21_ged19bcc.src.rpm
error: line 68: Invalid version (double separator '-'):
4.14.0-0.slh.2-aptosid-amd64: Provides:
kernel-modules-for-kernel = 4.14.0-0.slh.2-aptosid-amd64
Makefile:1074: die Regel für Ziel „rpm-common“ scheiterte
make[1]: *** [rpm-common] Fehler 1
make[1]: Verzeichnis „/home/sam/zfsonlinux/src/git/spl“ wird verlassen
Makefile:1025: die Regel für Ziel „rpm-kmod“ scheiterte
make: *** [rpm-kmod] Fehler 2



Added tag(s) wontfix. Request was from Michal Čihař <nijel@debian.org> to control@bugs.debian.org. (Mon, 20 Nov 2017 18:33:05 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>:
Bug#882252; Package rpm. (Mon, 20 Nov 2017 18:57:08 GMT) (full text, mbox, link).


Acknowledgement sent to Michal Čihař <michal@cihar.com>:
Extra info received and forwarded to list. Copy sent to RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>. (Mon, 20 Nov 2017 18:57:09 GMT) (full text, mbox, link).


Message #12 received at 882252@bugs.debian.org (full text, mbox, reply):

From: Michal Čihař <michal@cihar.com>
To: Martin Petersen <mpetersen@samspade.de>, 882252@bugs.debian.org
Subject: Re: Bug#882252: rpm stops build on warning "Invalid version (double separator '-')", older version works
Date: Mon, 20 Nov 2017 19:29:24 +0100
[Message part 1 (text/plain, inline)]
Hello

On Mon, 2017-11-20 at 18:27 +0100, Martin Petersen wrote:
> Package: rpm
> Version:
> 
> Dear Maintainer,
> 
> *** Reporter, please consider answering these questions, where
> appropriate ***
> 
>    * What led up to the situation?
> Upgrading rpm from 4.12.0.2+dfsg1-2 to 4.14.0+dfsg1-2 in a apt-get
> dist-upgrade run
> 
>    * What exactly did you do (or not do) that was effective (or
>      ineffective)?
> Trying to build zfsonlinux kernel modules for new linux-kernels.
> Building this modules for quite some time no. Failing to build
> startet
> about kernel version 4.14-0-0.

This is indeed invalid rpm version - is separator between version and
release and it is not allowed in either of them. It used to be warning
for ages and now is an error.

See upstream commit:
https://github.com/rpm-software-management/rpm/commit/5e94633660d0e2b97
0bf42f1dc24346ed46cae2e

If I'm reading it correctly, it should be possible to workaround this
by defining %_wrong_version_format_terminate_build to 0.

Anwyay, no, we're not going to diverge from upstream in this.

-- 
	Michal Čihař | https://cihar.com/ | https://weblate.org/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>:
Bug#882252; Package rpm. (Mon, 20 Nov 2017 19:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Petersen <mpetersen@samspade.de>:
Extra info received and forwarded to list. Copy sent to RPM packaging team <pkg-rpm-devel@lists.alioth.debian.org>. (Mon, 20 Nov 2017 19:15:03 GMT) (full text, mbox, link).


Message #17 received at 882252@bugs.debian.org (full text, mbox, reply):

From: Martin Petersen <mpetersen@samspade.de>
To: Michal Čihař <michal@cihar.com>, 882252@bugs.debian.org
Subject: Re: Bug#882252: rpm stops build on warning "Invalid version (double separator '-')", older version works
Date: Mon, 20 Nov 2017 19:36:55 +0100
[Message part 1 (text/plain, inline)]
Dear Michal,

thank you very much for this lightning fast response.

> This is indeed invalid rpm version - is separator between version and
> release and it is not allowed in either of them. It used to be warning
> for ages and now is an error.

This clears this up for me. I will take this bug to the 3rd party
developers whose code I wanted to compile.

Thank you again and excuse this wrongly filed bug, I should have checked
the recent status of this string handling by rpm considering warning/error.

Kind regards,

Martin



On 20.11.2017 19:29, Michal Čihař wrote:
> Hello
> 
> On Mon, 2017-11-20 at 18:27 +0100, Martin Petersen wrote:
>> Package: rpm
>> Version:
>>
>> Dear Maintainer,
>>
>> *** Reporter, please consider answering these questions, where
>> appropriate ***
>>
>>    * What led up to the situation?
>> Upgrading rpm from 4.12.0.2+dfsg1-2 to 4.14.0+dfsg1-2 in a apt-get
>> dist-upgrade run
>>
>>    * What exactly did you do (or not do) that was effective (or
>>      ineffective)?
>> Trying to build zfsonlinux kernel modules for new linux-kernels.
>> Building this modules for quite some time no. Failing to build
>> startet
>> about kernel version 4.14-0-0.
> 
> This is indeed invalid rpm version - is separator between version and
> release and it is not allowed in either of them. It used to be warning
> for ages and now is an error.
> 
> See upstream commit:
> https://github.com/rpm-software-management/rpm/commit/5e94633660d0e2b97
> 0bf42f1dc24346ed46cae2e
> 
> If I'm reading it correctly, it should be possible to workaround this
> by defining %_wrong_version_format_terminate_build to 0.
> 
> Anwyay, no, we're not going to diverge from upstream in this.
> 


[signature.asc (application/pgp-signature, attachment)]

Reply sent to Martin Petersen <mpetersen@samspade.de>:
You have taken responsibility. (Wed, 22 Nov 2017 23:15:04 GMT) (full text, mbox, link).


Notification sent to Martin Petersen <mpetersen@samspade.de>:
Bug acknowledged by developer. (Wed, 22 Nov 2017 23:15:04 GMT) (full text, mbox, link).


Message #22 received at 882252-done@bugs.debian.org (full text, mbox, reply):

From: Martin Petersen <mpetersen@samspade.de>
To: 882252-done@bugs.debian.org
Subject: Not a bug - Bug#882252: Acknowledgement (rpm stops build on warning "Invalid version (double separator '-')", older version works)
Date: Wed, 22 Nov 2017 23:46:50 +0100
Wrongly filed.

Behavior of the rpm package is correct. Cause of my error lies elsewhere.

Regards,

Martin




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 21 Dec 2017 07:27:34 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jul 2 08:23:19 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.