[opensuse-factory] rpmlint 1.10 env-script-interpreter and build failures of perl scripts

Hey, I got some emails from OBS about Archiving:Backup/storeBackup build failures in Factory and Tumbleweed. I think that the rpmlint 1.10 updated "caused" them: https://lists.opensuse.org/opensuse-factory/2017-10/msg00217.html I fixed the errors in home:jritzerfeld:branches:Archiving:Backup/storeBackup[0]. However, the example in the posting above is about python and not perl. Could anyone have a quick look at my fix before I submit it to Archiving:Backup/storeBackup and then to openSUSE:Factory? Thank you, Jan [0] https://build.opensuse.org/package/rdiff/home:jritzerfeld:branches:Archiving... -- It is better to risk saving a guilty man, than to condemn an innocent one. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

Hi Jan, On Sun, Mar 18, 2018 at 06:12:27PM +0100, Jan Ritzerfeld wrote:
Your change looks good, just go ahead and create submit request. I might also consider: 1] edit files via sed instead of patching all the files manually find . -type f -name '*.pl' -print0 | \ xargs -0 sed -i '1s@#![[:blank:]]*/usr/bin/env[[:blank:]]\+\(perl.*\)@#!/usr/bin/\1@' "for every *.pl file replace #!usr/bin/env <perl...> with #!/usr/bin/perl..." this will work even when set of files will differ so you won't need to change patch every time 2] don't worry to file submit request and ask there - maintainer can say just "ok" and accept change in the first round Thank you for your effort, S_W

Am Montag, 19. März 2018, 09:35:21 CEST schrieb Tomáš Čech:
Your change looks good, just go ahead and create submit request.
Many thanks for your review!
Cool. I used a less sophisticated find xargs sed chain. And I finally learned to use quilt. :) However, I only patched the executable perl files to keep the patch file as small as possible.
this will work even when set of files will differ so you won't need to change patch every time
Yes. And just to be sure: You would still create a patch file? Or would you put the find xargs sed chain somewhere in the spec file?
2] don't worry to file submit request and ask there - maintainer can say just "ok" and accept change in the first round
Dimstar accepted it in Factory. :)
Thank you for your effort,
S_W
I'm happy to help! Gruß Jan -- Wear the right costume and the part plays itself. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Tue, 27 Mar 2018, 12:06:29 +0200, Jan Engelhardt wrote:
Since when? "find -exec" spawns a new process for every file it finds, while xargs collects arguments until "it reaches a system-defined limit" (usually ARG_MAX). This helps to reduce the amount of exec's and can be easily compared: $ find /usr/share/ -xdev -type f -exec true \; | grep -w true | wc -l vs. $ find /usr/share/ -xdev -type f -print0 | xargs -0 -r true | grep -w true 2> /dev/null | wc -l time'ing that documents that pretty impressively (elapsed time 0m47.699s vs. 0m0.181s). Cheers. l8er manfred

Manfred Hollstein <mhollstein@t-online.de> wrote:
GNU find is a very old fashioned find.... it did not support execplus 20 years ago. Execplus has been introduced in 1989 for SVr4 by David Korn. Execplus has become part of the POSIX standard in 1995. GNU find added it very recently after I asked the authors why they still ignore POSIX. Jörg -- EMail:joerg@schily.net (home) Jörg Schilling D-13353 Berlin joerg.schilling@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.org/private/ http://sf.net/projects/schilytools/files/' -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Mär 27 2018, Manfred Hollstein <mhollstein@t-online.de> wrote:
Twenty years ago, GNU find didn't suport it yet. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

Hi Jan, On Sun, Mar 18, 2018 at 06:12:27PM +0100, Jan Ritzerfeld wrote:
Your change looks good, just go ahead and create submit request. I might also consider: 1] edit files via sed instead of patching all the files manually find . -type f -name '*.pl' -print0 | \ xargs -0 sed -i '1s@#![[:blank:]]*/usr/bin/env[[:blank:]]\+\(perl.*\)@#!/usr/bin/\1@' "for every *.pl file replace #!usr/bin/env <perl...> with #!/usr/bin/perl..." this will work even when set of files will differ so you won't need to change patch every time 2] don't worry to file submit request and ask there - maintainer can say just "ok" and accept change in the first round Thank you for your effort, S_W

Am Montag, 19. März 2018, 09:35:21 CEST schrieb Tomáš Čech:
Your change looks good, just go ahead and create submit request.
Many thanks for your review!
Cool. I used a less sophisticated find xargs sed chain. And I finally learned to use quilt. :) However, I only patched the executable perl files to keep the patch file as small as possible.
this will work even when set of files will differ so you won't need to change patch every time
Yes. And just to be sure: You would still create a patch file? Or would you put the find xargs sed chain somewhere in the spec file?
2] don't worry to file submit request and ask there - maintainer can say just "ok" and accept change in the first round
Dimstar accepted it in Factory. :)
Thank you for your effort,
S_W
I'm happy to help! Gruß Jan -- Wear the right costume and the part plays itself. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Tue, 27 Mar 2018, 12:06:29 +0200, Jan Engelhardt wrote:
Since when? "find -exec" spawns a new process for every file it finds, while xargs collects arguments until "it reaches a system-defined limit" (usually ARG_MAX). This helps to reduce the amount of exec's and can be easily compared: $ find /usr/share/ -xdev -type f -exec true \; | grep -w true | wc -l vs. $ find /usr/share/ -xdev -type f -print0 | xargs -0 -r true | grep -w true 2> /dev/null | wc -l time'ing that documents that pretty impressively (elapsed time 0m47.699s vs. 0m0.181s). Cheers. l8er manfred
participants (7)
-
Andreas Schwab
-
Jan Engelhardt
-
Jan Ritzerfeld
-
Joerg Schilling
-
Manfred Hollstein
-
Michal Kubecek
-
Tomáš Čech