On Wed, Mar 15, 2023 at 09:18:08PM +0100, Nicolas Schier wrote: > On Wed 15 Mar 2023 21:09:33 GMT, Leon Romanovsky wrote: > > From: Leon Romanovsky <leonro@xxxxxxxxxx> > > > > Attempt to build rpm-pkg randomly fails in tar stage, with same error > > as was reported by Nicolas [1] > > > > tar -c -f linux.tar.gz -I pigz --exclude=./linux.tar.gz --exclude-from=.tmp_filelist_exclude --owner=0 --group=0 --sort=name --transform 's:^\.:linux:S' -C . . > > tar: .: file changed as we read it > > make[1]: *** [scripts/Makefile.package:58: linux.tar.gz] Error 1 > > make[1]: *** Deleting file 'linux.tar.gz' > > make: *** [Makefile:1657: rpm-pkg] Error 2 > > > > The reason to it that tar is dependent on order of command line > > arguments and needs to have excluded file before creating it. So as a > > solution, touch that file to create it and move --exclude list before > > any tar arguments. > > thanks for digging into and proposing a solution! I'm afraid it will > not be taken because of [2] will make the whole cmd_tar definition > redundant due to the use of 'git archive'. OK, good to know. > > Nevertheless, this works for me. > > Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx> Thanks > > Kind regards, > Nicolas > > > [2]: https://lore.kernel.org/linux-kbuild/20230312200731.599706-7-masahiroy@xxxxxxxxxx/ > > > [1] https://lore.kernel.org/all/Y%2Fk+v%2FYj8VQ6q32H@xxxxxxxxx/ > > Cc: Nicolas Schier <nicolas@xxxxxxxxx> > > Fixes: 7bf4582d7aad ("kbuild: deb-pkg: create source package without cleaning") > > Signed-off-by: Riad Abo Raed <riada@xxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > > --- > > scripts/Makefile.package | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/scripts/Makefile.package b/scripts/Makefile.package > > index b941e6341b36..be4623481ca2 100644 > > --- a/scripts/Makefile.package > > +++ b/scripts/Makefile.package > > @@ -44,7 +44,7 @@ filechk_filelist = \ > > # --------------------------------------------------------------------------- > > > > quiet_cmd_tar = TAR $@ > > - cmd_tar = tar -c -f $@ $(tar-compress-opt) $(tar-exclude-opt) \ > > + cmd_tar = touch ./$@ && tar $(tar-exclude-opt) -c -f $@ $(tar-compress-opt) \ > > --owner=0 --group=0 --sort=name \ > > --transform 's:^\.:$*:S' -C $(tar-rootdir) . > > > > -- > > 2.39.2 > > -- > Nicolas Schier > > epost|xmpp: nicolas@xxxxxxxxx irc://oftc.net/nsc > ↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f > -- frykten for herren er opphav til kunnskap --