Eric Blake wrote: > Would it still be possible to keep symlink development (yes, that means > during development, the linked files bear a looser license than necessary, > but only on the developer's machine), so long as a maintainer-check > guarantees a fresh gnulib checkout with proper licenses at 'make dist' > time (so that the tarball has the correct license)?
This sounds like a good compromise. If a developer never makes releases of a particular package, this approach causes no trouble to him. If a developer is a maintainer, he only has to remember to tell gnulib-tool to update the copyright notices during the last gnulib import before the release. I'm adding this patch to gnulib-tool. It should be complemented by some patch to build-aux/bootstrap and coreutils/Makefile.maint. 2007-07-13 Bruno Haible <[EMAIL PROTECTED]> New gnulib-tool option --more-symlinks. * gnulib-tool (func_usage): Document --more-symlinks. (do_copyrights): New variable. Recognize option --more-symlinks. (func_import): Don't add a copyright notice transform to sed_transform_lib_file if do_copyrights is empty. *** gnulib-tool 13 Jul 2007 01:17:00 -0000 1.247 --- gnulib-tool 14 Jul 2007 01:36:27 -0000 *************** *** 167,172 **** --- 167,174 ---- -s, --symbolic, --symlink Make symbolic links instead of copying files. --local-symlink Make symbolic links instead of copying files, only for files from the local override directory. + -S, --more-symlinks Make symbolic links instead of copying files, and + don't replace copyright notices. Report bugs to <bug-gnulib@gnu.org>." } *************** *** 578,585 **** # - autoconf_minversion minimum supported autoconf version # - do_changelog false if --no-changelog was given, : otherwise # - doit : if actions shall be executed, false if only to be printed ! # - symbolic true if --symlink was given, blank otherwise # - lsymbolic true if --local-symlink was given, blank otherwise { mode= destdir= --- 580,589 ---- # - autoconf_minversion minimum supported autoconf version # - do_changelog false if --no-changelog was given, : otherwise # - doit : if actions shall be executed, false if only to be printed ! # - symbolic true if --symlink or --more-symlinks was given, blank ! # otherwise # - lsymbolic true if --local-symlink was given, blank otherwise + # - do_copyrights blank if --more-symlinks was given, true otherwise { mode= destdir= *************** *** 601,606 **** --- 605,611 ---- doit=: symbolic= lsymbolic= + do_copyrights=true supplied_opts="$@" *************** *** 767,772 **** --- 772,781 ---- --local-symlink | --local-symlin | --local-symli | --local-syml | --local-sym | --local-sy | --local-s ) lsymbolic=true shift ;; + -S | --more-symlinks | --more-symlink | --more-symlin | --more-symli | --more-syml | --more-sym | --more-sy | --more-s | --more- | --more | --mor | --mo ) + symbolic=true + do_copyrights= + shift ;; --help | --hel | --he | --h ) func_usage func_exit $? ;; *************** *** 1751,1756 **** --- 1760,1767 ---- # - symbolic true if files should be symlinked, copied otherwise # - lsymbolic true if files from local_gnulib_dir should be symlinked, # copied otherwise + # - do_copyrights true if copyright notices in files should be replaced, + # blank otherwise func_import () { # Get the cached settings. *************** *** 1958,1969 **** break fi done ! if test -n "$lgpl"; then ! # Update license. ! sed_transform_lib_file=$sed_transform_lib_file' ! s/GNU General/GNU Lesser General/g ! s/version 2\([ ,]\)/version 2.1\1/g ! ' fi # Determine final file list. --- 1969,1982 ---- break fi done ! if test -n "$do_copyrights"; then ! if test -n "$lgpl"; then ! # Update license. ! sed_transform_lib_file=$sed_transform_lib_file' ! s/GNU General/GNU Lesser General/g ! s/version 2\([ ,]\)/version 2.1\1/g ! ' ! fi fi # Determine final file list.