xf86-video-nv: 5 commits - compat/.gitignore configure.ac .gitignore Makefile.am man/.gitignore

Aaron Plattner aplattner at nvidia.com
Thu Nov 19 18:08:05 PST 2009


On Thu, Nov 19, 2009 at 05:09:59PM -0800, Gaetan Nadon wrote:
> On Thu, 2009-11-19 at 16:34 -0800, Aaron Plattner wrote:
> 
> 
> On Thu, Nov 19, 2009 at 04:28:24PM -0800, Gaetan Nadon wrote:
> > On Thu, 2009-11-19 at 15:34 -0800, Aaron Plattner wrote:
> >
> >
> > This causes a significant amount of breakage.  ChangeLog is now no longer
> > cleaned by any of the automake clean commands, including maintainer-clean.
> > Also, it causes dist to fail when --prefix was not specified:
> >
> >
> >
> > I'll look into this right away, starting with the most urgent issue, make
> > dist. The command copies the INSTALL file from the document directory,
> > $(prefix)/share/doc/util-macros. What looks suspicious is the
> > NONE/share/doc/util-macros. Is NONE a real directory? You can contact me
> > directly.
> 
> No, I just didn't specify it on the command line.  The fundamental problem
> is that it's trying to use the package's --prefix to find the INSTALL file
> from util-macros, which may have been installed at a different prefix:
> 
> $ ./configure --prefix=/no-such-directory
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
> [..etc..]
> 
> $ make dist
> (GIT_DIR=./.git git log > ./.changelog.tmp && mv ./.changelog.tmp ./ChangeLog) || (rm -f ./.changelog.tmp; touch ./ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
> if test -f /no-such-directory/share/doc/util-macros/INSTALL; then cp -f /no-such-directory/share/doc/util-macros/INSTALL .; else echo '/no-such-directory/share/doc/util-macros/INSTALL cannot be found.' >&2; fi
> /no-such-directory/share/doc/util-macros/INSTALL cannot be found.
> { test ! -d "xf86-video-nv-2.1.15" || { find "xf86-video-nv-2.1.15" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "xf86-video-nv-2.1.15"; }; }
> test -d "xf86-video-nv-2.1.15" || mkdir "xf86-video-nv-2.1.15"
> cp: cannot stat `./INSTALL': No such file or directory
> make: *** [distdir] Error 1
> 
> Note that it's trying to copy from
> /no-such-directory/share/doc/util-macros/INSTALL even though util-macros
> was installed with --prefix=/usr.
> 
> 
> 
> You're right, there was a hidden assumption that the prefix of
> util-macros was known. I don't think there is a reliable way of finding
> this information. This was an attempt to save from having to check-in 250
> INSTALL file. A large number of modules did not have any. It looks like
> this is the only alternative now.
> 
> To recover, the target from Makefile.am can be removed. As long as the
> INSTALL file is present in the root directory, it will be included in the
> tarball by Automake. Just for completeness, note that .gitignore has an
> entry to ignore INSTALL as it was intended to be generated.

Just checking them in to each module sounds reasonable to me, but I'd be
interested to see what others think.  I don't it's ultra-urgent that this
be fixed right away.

> It is true that ChangeLog, INSTALL NEWS, AUTHORS and some other files
> cannot be deleted. This is a designed behaviour by autoconf/automake. I
> have seen on the net not everyone agrees with that.

If they're checked into the git repository, that sounds right.  If they're
generated though, like ChangeLog is, then at least maintainer-clean (and
probably also clean or even mostlyclean) ought to clean it.  The automake
documentation describes the clean rules this way:

• If make built it, and it is commonly something that one would want to
  rebuild (for instance, a ‘.o’ file), then mostlyclean should delete it.
• Otherwise, if make built it, then clean should delete it.
• If configure built it, then distclean should delete it.
• If the maintainer built it (for instance, a ‘.info’ file), then
  maintainer-clean should delete it. However maintainer-clean should not
  delete anything that needs to exist in order to run ‘./configure &&
  make’.

-- Aaron


More information about the xorg-devel mailing list