Simon Josefsson <si...@josefsson.org> writes: >> Could you check if that works better? (You can probably just start with >> ‘guix time-machine -q --commit=143faecec3c81e4c7325430a6e759b1619eb406f …’). > > With > > jas@kaka:~/src/shepherd$ git log -1 > commit f7fa03a74be697c0926c62e9297e9f78d58ff469 (HEAD, tag: v1.0.4) > Author: Ludovic Courtès <l...@gnu.org> > Date: Wed Apr 16 12:15:26 2025 +0200 > > build: Bump to version 1.0.4. > > * configure.ac: Bump to version 1.0.4. > jas@kaka:~/src/shepherd$ git clean -d -x -f; git restore --staged . > jas@kaka:~/src/shepherd$ git restore . > jas@kaka:~/src/shepherd$ guix time-machine -q > --commit=143faecec3c81e4c7325430a6e759b1619eb406f -- shell -CPDf > guix.scm texlive-scheme-basic -- sh -c 'autoreconf -fvi && ./configure > && make && make dist' > ... > jas@kaka:~/src/shepherd$ sha256sum ../shepherd-1.0.4.tar.gz > 13306a6b56dfe252464e84a23c23a7234338cc752c565e1b865f7cbf8a03f0cf > ../shepherd-1.0.4.tar.gz > jas@kaka:~/src/shepherd$ trydiffoscope --webbrowser ../shepherd-1.0.4.tar.gz > shepherd-1.0.4.tar.gz > http://try.diffoscope.org/uhcedrquzdpu
There are differences in ‘Makefile.in’: one includes ‘TODO’ and ‘missing’ in ‘EXTRA_DIST’, the other doesn’t. Was this a clean tree? Then the .m4 files are different. For example, ‘m4/gettext.m4’ is from Gettext 0.19.8 in one case (serial 68) and the other from 0.18.2 (serial 66). The interesting thing is that this doesn’t even match what’s in Guix: --8<---------------cut here---------------start------------->8--- $ head -1 $(find $(guix build gettext) -name gettext.m4) # gettext.m4 serial 71 (gettext-0.20.2) $ guix package -A ^gettext gettext 0.21 out,doc gnu/packages/gettext.scm:169:2 gettext-minimal 0.21 out,doc gnu/packages/gettext.scm:56:2 --8<---------------cut here---------------end--------------->8--- Doesn’t ‘autoreconf -vfi’ get fresh copies of these files? Anyway, those m4 differences yield to corresponding changes in ‘configure’. Then there’s the ‘UPDATED’ variable in ‘doc/version.texi’: “7 April” vs. “17 April”. Next there’s differences in .gmo files, where one has fewer strings. The ‘POT-Creation-Date’ in .po files differs, despite efforts to fix it! Line numbers and the string list differ, too. Conclusion: it’s much worse that what we first saw during the 1.0.0 release candidate cycle, which was supposedly fixed. :-/ Ideas? > Could be simple like this: > > jas@kaka:~/src/shepherd$ git archive --prefix=shepherd-$(git describe)/ -o > shepherd-$(git describe)-src.tar.gz v1.0.4 > jas@kaka:~/src/shepherd$ sha256sum shepherd-v1.0.4-src.tar.gz > 1ba6959afcb2bd8cb8c6d0967a02c3bd26698133325f64293ff9fcee1ed7a41b > shepherd-v1.0.4-src.tar.gz > jas@kaka:~/src/shepherd$ git --version > git version 2.49.0 > jas@kaka:~/src/shepherd$ > > Reproducing these git-archive artifacts is easier, but still not > trivial. It depends on the Git version you use, and I think it in > theory could also depend on build dependencies of git too. Yes; that’s the reason we take source from Git rather than from generated archives for packages in Guix. I don’t see what these ‘git archive’-generated tarballs buy us though. I would just publish the commit ID and let people fetch it directly from Git. Thanks for your feedback, Ludo’.