From: Tom Tromey Date: Sun, 4 Aug 1996 21:04:56 +0000 (+0000) Subject: Even more bug fixes X-Git-Tag: Release-1-1b~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=43c3b86dfbc41df600757b323114bcf69c015141;p=thirdparty%2Fautomake.git Even more bug fixes --- diff --git a/ChangeLog b/ChangeLog index f0b9c4f70..7df44b601 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ Sun Aug 4 12:52:43 1996 Tom Tromey + * automake.in (handle_man_pages): Patch from Janos Farkas to fix + bug when installing man pages. Test man.test. + (initialize_global_constants): [install_man_format] Make sure man + page can actually be found in either source or build dirs. + * automake.in (handle_dist): Allow chmod's to fail. (am_primary_prefixes): New function. (am_install_var): Use it. diff --git a/THANKS b/THANKS index f7ab0f285..77ad91b38 100644 --- a/THANKS +++ b/THANKS @@ -11,6 +11,7 @@ Gord Matzigkeit Greg A. Woods Harlan Stenn Henrik Frystyk Nielsen +Janos Farkas Jason Molenda Jerome Santini Jim Meyering diff --git a/automake.in b/automake.in index eddd293cc..d25592b80 100755 --- a/automake.in +++ b/automake.in @@ -1041,15 +1041,18 @@ sub handle_man_pages # We generate the manpage install code by hand to avoid the use of # basename in the generated Makefile. local (@mans) = split (' ', $contents{'man_MANS'}); - local (%sections, %inames, %secmap, %fullsecmap); + local (%sections, %inames, %mbases, %secmap, %fullsecmap); + local ($i) = 1; foreach (@mans) { # FIXME: statement without effect: /^(.*)\.([0-9])([a-z]*)$/; $sections{$2} = 1; - $inames{$1} = $_; - $secmap{$1} = $2; - $fullsecmap{$1} = $2 . $3; + $inames{$i} = $_; + $mbases{$i} = $1; + $secmap{$i} = $2; + $fullsecmap{$i} = $2 . $3; + $i++; } # We don't really need this, but we use it in case we ever want to @@ -1075,7 +1078,7 @@ sub handle_man_pages s/\@SECTION\@/$secmap{$key}/g; s/\@MAN\@/$inames{$key}/g; s/\@FULLSECT\@/$fullsecmap{$key}/g; - s/\@MANBASE\@/$key/g; + s/\@MANBASE\@/$mbases{$key}/g; $output_rules .= $_; } $output_rules .= "\n"; @@ -1087,7 +1090,7 @@ sub handle_man_pages s/\@SECTION\@/$secmap{$key}/g; s/\@MAN\@/$inames{$key}/g; s/\@FULLSECT\@/$fullsecmap{$key}/g; - s/\@MANBASE\@/$key/g; + s/\@MANBASE\@/$mbases{$key}/g; $output_rules .= $_; } $output_rules .= "\n"; @@ -2613,7 +2616,7 @@ sub initialize_global_constants echo installing @MAN@ as $(mandir)/man$$sect/$$inst; \\ if test -f $(srcdir)/@MAN@; then file=$(srcdir)/@MAN@; \\ else file=@MAN@; fi; \\ - $(INSTALL_DATA) $(srcdir)/@MAN@ $(mandir)/man$$sect/$$inst + $(INSTALL_DATA) $$file $(mandir)/man$$sect/$$inst '; $uninstall_man_format = diff --git a/tests/ChangeLog b/tests/ChangeLog index 762db517a..441413f1d 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,7 @@ Sun Aug 4 12:47:34 1996 Tom Tromey + * man.test: New file. + * acouttbs2.test: New file. * libfiles.test: New file. diff --git a/tests/Makefile.am b/tests/Makefile.am index d6419510a..06d820324 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -10,6 +10,7 @@ target.test extra.test noinst.test instman.test mkinstall.test auxdir.test \ canon3.test mdate2.test subdir.test backsl.test package.test number.test \ insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test \ yacc.test mkinstall2.test texinfo2.test ansi.test depacl.test depacl2.test \ -error.test colon.test vtexi2.test tags.test comment.test libfiles.test +error.test colon.test vtexi2.test tags.test comment.test libfiles.test \ +man.test EXTRA_DIST = defs $(TESTS) diff --git a/tests/Makefile.in b/tests/Makefile.in index 9620c72d7..e965ea180 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -48,7 +48,8 @@ target.test extra.test noinst.test instman.test mkinstall.test auxdir.test \ canon3.test mdate2.test subdir.test backsl.test package.test number.test \ insh2.test outdir.test fpinstall.test fpinst2.test texinfo.test dejagnu.test \ yacc.test mkinstall2.test texinfo2.test ansi.test depacl.test depacl2.test \ -error.test colon.test vtexi2.test tags.test comment.test libfiles.test +error.test colon.test vtexi2.test tags.test comment.test libfiles.test \ +man.test EXTRA_DIST = defs $(TESTS) mkinstalldirs = $(top_srcdir)/mkinstalldirs diff --git a/tests/man.test b/tests/man.test new file mode 100755 index 000000000..54a35af8c --- /dev/null +++ b/tests/man.test @@ -0,0 +1,31 @@ +#! /bin/sh + +# Test for bug reported by Janos Farkas. +# Multiple man pages with the same basename don't all get installed. + +. $srcdir/defs || exit 1 + +cat > Makefile.am << 'END' +man_MANS = shadow.3 shadow.5 passwd.1 passwd.5 +END + +: > shadow.3 +: > shadow.5 +: > passwd.1 +: > passwd.5 + +$AUTOMAKE || exit 1 + +: > install +chmod +x install + +mkdir man1 man3 man5 + +make -f Makefile.in mkinstalldirs=: INSTALL_DATA=cp mandir=`pwd` \ + srcdir=`pwd` transform='' install-man \ + || exit 1 + +test -f man3/shadow.3 || exit 1 +test -f man5/shadow.5 || exit 1 +test -f man1/passwd.1 || exit 1 +test -f man5/passwd.5 || exit 1