classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] [RFA/build] Fix build


From: Keith Seitz
Subject: [cp-patches] [RFA/build] Fix build
Date: Fri, 10 Jun 2005 11:56:14 -0700

Hi,

For about a week now I've been noticing problems with the build on a
freshly checked-out repository. I've tracked the problem down to this
patch:

2005-06-02  Andrew John Hughes  <address@hidden>

        * lib/Makefile.am:
        Fix permissions problem with creation of META-INF tree.

The problem is that this patch (and the one before it) defines a
variable which is to contain a list of metafiles to be copied into the
build directory:

metafiles :=  $(shell cd $(top_srcdir)/resource && $(FIND) META-INF -print)

As-is, this will cause the following build failure:

$ cvs -d:ext:address@hidden:/cvs/classpath co classpath
$ mkdir linux
$ cd classpath
$ ./autogen.sh
$ cd ../linux
$ ../classpath/configure; make
[snip]
touch compile-classes
if ! [ -e gnu ]; then mkdir gnu; fi
if ! [ -e gnu/java ]; then mkdir gnu/java; fi
if ! [ -e gnu/java/locale ]; then mkdir gnu/java/locale; fi
cp: omitting directory `../../classpath/resource/META-INF'
cp: omitting directory `../../classpath/resource/META-INF/services'
cp: omitting directory `../../classpath/resource/META-INF/services/CVS'
cp: cannot create regular file `META-INF/services/CVS/Root': No such file or 
directory
cp: cannot create regular file `META-INF/services/CVS/Repository': No such file 
or directory
cp: cannot create regular file `META-INF/services/CVS/Entries': No such file or 
directory
cp: omitting directory `../../classpath/resource/META-INF/CVS'
cp: cannot create regular file `META-INF/CVS/Root': No such file or directory
cp: cannot create regular file `META-INF/CVS/Repository': No such file or 
directory
cp: cannot create regular file `META-INF/CVS/Entries': No such file or directory
make[1]: *** [resources] Error 1
make[1]: Leaving directory `/home/keiths/work/classpath/linux/lib'
make: *** [all-recursive] Error 1

Running the metafiles command from a terminal, we see what the problem
is:
$ cd classpath/resources
$ find META-INF -print
META-INF
META-INF/services
META-INF/services/javax.xml.parsers.DocumentBuilderFactory
META-INF/services/CVS
META-INF/services/CVS/Root
META-INF/services/CVS/Repository
META-INF/services/CVS/Entries
META-INF/services/javax.xml.parsers.TransformerFactory
META-INF/services/javax.xml.parsers.SAXParserFactory
META-INF/services/org.xml.sax.driver
META-INF/CVS
META-INF/CVS/Entries.Log
META-INF/CVS/Root
META-INF/CVS/Repository
META-INF/CVS/Entries

Alas, I don't think that is what Andrew really wanted. :-)

I've attached a patch which will prune the CVS dirs and eliminate non-
files:

$ find META-INF -path \*/CVS -prune -o -type f -print
META-INF/services/javax.xml.parsers.DocumentBuilderFactory
META-INF/services/javax.xml.parsers.TransformerFactory
META-INF/services/javax.xml.parsers.SAXParserFactory
META-INF/services/org.xml.sax.driver

With this patch, the build now completes.

Keith

ChangeLog
2005-06-10  Keith Seitz  <address@hidden>

        * lib/Makefile.am (metafiles): Exclude directories and CVS files.

Attachment: build.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]