libtasn1 | autoreconf on 4.2.21 sets wromg mtime for doc/libtasn1.texi (#57)

Read-only notification of GnuTLS library development activities <[email protected]>
Newsgroups gmane.comp.encryption.gpg.gnutls.devel
Message-ID <[email protected]>

Andreas Metzler created an issue: https://gitlab.com/gnutls/libtasn1/-/issues/57



Hello,
4.2.21 fails to build on make check after autoreconf if texinfo is not installed:
```
WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <https://www.gnu.org/software/texinfo/>
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <https://www.gnu.org/software/make/>
make[3]: *** [Makefile:1765: libtasn1.info] Error 127
```

I think this is the  reason why, libtasn1.texi mtime is set to 0 by ./configure.
```
(sid)ametzler@argenau:/tmp/TASN/libtasn1$ ls -l  doc/libtasn1.texi ;  head doc/version.texi ; autoreconf ; ls -l  doc/libtasn1.texi ;  head doc/version.texi ; ./configure > /dev/null 2>&1 ; ls -l  doc/libtasn1.texi ;  head doc/version.texi
-rw-r--r-- 1 ametzler ametzler 10949 Jan  8 12:19 doc/libtasn1.texi
@set UPDATED 8 January 2026
@set UPDATED-MONTH January 2026
@set EDITION 4.21.0
@set VERSION 4.21.0
-rw-r--r-- 1 ametzler ametzler 10949 Jan  8 12:19 doc/libtasn1.texi
@set UPDATED 8 January 2026
@set UPDATED-MONTH January 2026
@set EDITION 4.21.0
@set VERSION 4.21.0
-rw-r--r-- 1 ametzler ametzler 10949 Jan  1  1970 doc/libtasn1.texi
@set UPDATED 8 January 2026
@set UPDATED-MONTH January 2026
@set EDITION 4.21.0
@set VERSION 4.21.0

```

At build time this code in doc/Makefile is triggered because the mtime recorded in version.texi does not match the relal mtime of libtasn1.texi:
```
$(srcdir)/version.texi:  $(srcdir)/stamp-vti
$(srcdir)/stamp-vti: libtasn1.texi $(top_srcdir)/configure
	@(dir=.; test -f ./libtasn1.texi || dir=$(srcdir); \
	set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/libtasn1.texi`; \
	echo "@set UPDATED $$1 $$2 $$3"; \
	echo "@set UPDATED-MONTH $$2 $$3"; \
	echo "@set EDITION $(VERSION)"; \
	echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \
	(cmp -s vti.tmp$$$$ $(srcdir)/version.texi \
	  || (echo "Updating $(srcdir)/version.texi" && \
	      cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \
	      mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \
	rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$
	@cp $(srcdir)/version.texi $@

```
Now version.texi is newer than libtasn1.info and the latter is out of date and make thinks it needs to be rebuilt.

The code for settig the wrong time-stamp is in configure.ac
```
st_help2man=0
st_touch=197001010000.00
AC_MSG_CHECKING([for timestamps of last git commit])
if test -e "$srcdir"/.git && command -v git > /dev/null; then
   if tmp=$(git log -1 --format=%cd --date=unix); then
     st_help2man="$tmp"
   fi
   if tmp=$(env TZ=UTC0 git log -1 --format=%cd --date=format-local:%Y%m%d%H%M.%S); then
      st_touch="$tmp"
   fi
fi
AC_SUBST(SOURCETIME_HELP2MAN, "${SOURCETIME_HELP2MAN:-$st_help2man}")
AC_MSG_RESULT(help2man $SOURCETIME_HELP2MAN touch $st_touch)
env TZ=UTC0 \
    touch -m -t "$st_touch" \
          "$srcdir"/NEWS.md "$srcdir"/doc/$PACKAGE.texi

```

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/libtasn1/-/issues/57
You're receiving this email because of your account on gitlab.com.

_______________________________________________
Gnutls-devel mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnutls-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.