Daniel Veillard <[EMAIL PROTECTED]> wrote:

> On Wed, Nov 14, 2007 at 03:57:10PM +0100, Jim Meyering wrote:
>> Here's another infrastructure-fixing patch.
>> I got most of the way to an honest "make distcheck",
>> but fixing a final failing sub-test wasn't worth the effort,
>> so I punted and added the top level "distuninstallcheck"
>> target to make it skip that part.
...
>   okay, lot of this makes sense. The only drawback seems to be loosing
> the ability to use wildcards to list for example the HTML pages or
> C examples ...
>   BTW, have you noticed that docs/examples/Makefile.am is automatically
> generated, so for that part you will instead need to fix index.py which
> does the indexing/generation.
>
>    okay in principle but the docs/examples/Makefile.am change need to be
> fixed differently.

Adjusted patch below.
I've changed index.py so it generates what you saw before.
I noticed differences due to use of unsorted glob.glob, so
made index.py sort that 2-item list.

Also, it now emits this first line:

+# -*- buffer-read-only: t -*- vi: set ro:

so at least two editors will see it as a read-only file.

        Make "make distcheck" work.
         * Makefile.am: Expand some "*" wildcards, and (for now) disable
           the relatively unimportant, distuninstallcheck target.
           Fix a few redirect-directly-to-target bugs.
           Add a few $(srcdir)/ prefixes and add an uninstall-local rule.
         * docs/Makefile.am: More of the same.  Split some long lines.
         * python/Makefile.am: Likewise.
         * python/tests/Makefile.am: Likewise.
         * qemud/Makefile.am: Likewise.
         * tests/Makefile.am: Remove the directories already listed in SUBDIRS.
         * docs/examples/index.py: Adapt to produce the desired changes in
           docs/examples/Makefile.am. Also, sort *.c, so results are 
reproducible,
           and emit a comment telling emacs and vi that the file is read-only.
         * docs/examples/Makefile.am: Regenerate.

---
 Makefile.am               |    3 +
 docs/Makefile.am          |   95 +++++++++++++++++++++++++++++++++++++++-----
 docs/examples/Makefile.am |   32 ++++++++-------
 docs/examples/index.py    |   34 ++++++++++------
 python/Makefile.am        |    6 ++-
 python/tests/Makefile.am  |    2 +
 qemud/Makefile.am         |   26 ++++++++----
 tests/Makefile.am         |    8 +---
 8 files changed, 151 insertions(+), 55 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index e1e6884..eaa204e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -41,3 +41,6 @@ cov-am:
          > $(top_builddir)/coverage/index.html
        for i in $(top_builddir)/src/*.gcov ; do o=`echo $$i | sed -e 
's,$(top_builddir)/src,coverage,'` ; \
          perl $(srcdir)/scripts/coverage-report-entry.pl $$i > $$o.html ; done
+
+# disable this check
+distuninstallcheck:
diff --git a/docs/Makefile.am b/docs/Makefile.am
index c7dfe24..2aa923d 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -7,18 +7,82 @@ DOC_SOURCE_DIR=../src
 PAGES= index.html bugs.html FAQ.html remote.html
 APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
     APIsymbols.html APIchunk0.html
-EXTRA_DIST=                                                    \
-          libvirt-api.xml libvirt-refs.xml apibuild.py         \
-          *.xsl *.html *.gif html/*.html html/*.png \
-          *.xml *.rng
-
 
 man_MANS=
 
+html =                 \
+  book1.html           \
+  index.html           \
+  libvirt-conf.html    \
+  libvirt-lib.html     \
+  libvirt-libvirt.html \
+  libvirt-virterror.html
+
+png =          \
+  left.png     \
+  up.png       \
+  home.png     \
+  right.png
+
+gif = \
+  Libxml2-Logo-90x34.gif \
+  architecture.gif \
+  node.gif \
+  redhat.gif
+
+dot_html = \
+  APIchunk0.html \
+  APIchunk1.html \
+  APIchunk2.html \
+  APIchunk3.html \
+  APIchunk4.html \
+  APIchunk5.html \
+  APIchunk6.html \
+  APIchunk7.html \
+  APIconstructors.html \
+  APIfiles.html \
+  APIfunctions.html \
+  APIsymbols.html \
+  FAQ.html \
+  architecture.html \
+  bugs.html \
+  downloads.html \
+  errors.html \
+  format.html \
+  hvsupport.html \
+  index.html \
+  intro.html \
+  libvir.html \
+  news.html \
+  python.html \
+  remote.html \
+  uri.html
+
+xml = \
+  libvirt-api.xml \
+  libvirt-refs.xml \
+  testdomfc4.xml \
+  testdomfv0.xml \
+  testnetdef.xml \
+  testnetpriv.xml \
+  testnode.xml
+
+rng = \
+  libvirt.rng \
+  network.rng
+
+EXTRA_DIST=                                    \
+  libvirt-api.xml libvirt-refs.xml apibuild.py \
+  site.xsl newapi.xsl api.xsl                  \
+  $(dot_html) $(gif) html                      \
+  $(xml) $(rng)
+
 all: web $(top_builddir)/NEWS $(man_MANS)
 
 virsh.1: virsh.pod
-       pod2man -c "Virtualization Support" virsh.pod > virsh.1 && cp virsh.1 
$(top_builddir)
+       pod2man -c "Virtualization Support" $(srcdir)/virsh.pod > [EMAIL 
PROTECTED]
+       mv [EMAIL PROTECTED] $@
+       cp $@ $(top_builddir)
 
 api: libvirt-api.xml libvirt-refs.xml $(APIPAGES) $(srcdir)/html/index.html
 
@@ -50,7 +114,9 @@ $(srcdir)/html/index.html: libvirt-api.xml 
$(srcdir)/newapi.xsl
          echo "Validating the resulting XHTML pages" ; \
          $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
 
-libvirt-api.xml libvirt-refs.xml: apibuild.py ../include/libvirt/*.h 
../src/*.h ../src/*.c
+libvirt-api.xml libvirt-refs.xml: apibuild.py \
+               $(srcdir)/../include/libvirt/*.h \
+               $(srcdir)/../src/*.h $(srcdir)/../src/*.c
        -(./apibuild.py)
 
 $(top_builddir)/NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html
@@ -67,8 +133,15 @@ rebuild: api all
 
 install-data-local: 
        $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/libvir.html $(srcdir)/FAQ.html 
$(srcdir)/redhat.gif $(srcdir)/Libxml2-Logo-90x34.gif $(DESTDIR)$(HTML_DIR)
+       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/libvir.html $(srcdir)/FAQ.html \
+           $(srcdir)/redhat.gif $(srcdir)/Libxml2-Logo-90x34.gif \
+         $(DESTDIR)$(HTML_DIR)
        $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
-       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/html/*.html 
$(DESTDIR)$(HTML_DIR)/html
-       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/html/*.png 
$(DESTDIR)$(HTML_DIR)/html
-
+       for h in $(html); do \
+         $(INSTALL) -m 0644 $(srcdir)/html/$$h $(DESTDIR)$(HTML_DIR)/html; done
+       for p in $(png); do \
+         $(INSTALL) -m 0644 $(srcdir)/html/$$p $(DESTDIR)$(HTML_DIR)/html; done
+
+uninstall-local:
+       for h in $(html); do rm $(DESTDIR)$(HTML_DIR)/html/$$h; done
+       for p in $(png); do rm $(DESTDIR)$(HTML_DIR)/html/$$p; done
diff --git a/docs/examples/Makefile.am b/docs/examples/Makefile.am
index c62d128..6b5963e 100644
--- a/docs/examples/Makefile.am
+++ b/docs/examples/Makefile.am
@@ -1,41 +1,45 @@
+# -*- buffer-read-only: t -*- vi: set ro:
 # Beware this is autogenerated by index.py
 SUBDIRS=python
 INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include [EMAIL 
PROTECTED]@/include
 DEPS = $(top_builddir)/src/libvirt.la
-LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la 
+LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la
 
 rebuild: examples.xml index.html
 
-examples.xml: index.py *.c
+examples.xml: index.py info1.c suspend.c
        -@($(srcdir)/index.py)
 
 index.html: examples.xml examples.xsl $(top_srcdir)/docs/site.xsl
-       -@(if [ -x $(XSLTPROC) ] ; then            $(XSLTPROC) examples.xsl 
examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html ; 
fi)
+       -@(if [ -x $(XSLTPROC) ] ; then                 \
+          $(XSLTPROC) examples.xsl examples.xml        \
+            && echo "Rebuilt web page"                 \
+            && xmllint --valid --noout index.html;     \
+          fi)
 
-install-data-local: 
+install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c 
$(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
+       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c 
$(srcdir)/*.xml \
+         $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
 
 EXTRA_DIST=examples.xsl index.py examples.xml 
 
-noinst_PROGRAMS=suspend info1 
-
-suspend_SOURCES=suspend.c
-suspend_LDFLAGS=
-suspend_DEPENDENCIES= $(DEPS)
-suspend_LDADD= $(LDADDS)
+noinst_PROGRAMS=info1 suspend 
 
 info1_SOURCES=info1.c
 info1_LDFLAGS=
 info1_DEPENDENCIES= $(DEPS)
 info1_LDADD= $(LDADDS)
 
+suspend_SOURCES=suspend.c
+suspend_LDFLAGS=
+suspend_DEPENDENCIES= $(DEPS)
+suspend_LDADD= $(LDADDS)
+
 valgrind: 
        $(MAKE) CHECKER='valgrind' tests
 
 tests: $(noinst_PROGRAMS)
        @(echo '## examples regression tests')
-       @($(CHECKER) ./suspend)
        @($(CHECKER) ./info1)
-
-
+       @($(CHECKER) ./suspend)
diff --git a/docs/examples/index.py b/docs/examples/index.py
index 2bc2b16..7ea89e1 100755
--- a/docs/examples/index.py
+++ b/docs/examples/index.py
@@ -177,10 +177,10 @@ def parse(filename, output):
            type = id.get_type()
            output.write("      <%s line='%d' name='%s'/>\n" % (type,
                         line, name))
-           
+
     output.write("    </uses>\n")
     output.write("  </example>\n")
-    
+
     return idx
 
 def dump_symbols(output):
@@ -220,24 +220,29 @@ def dump_Makefile():
         extras.append(file)
     for file in glob.glob('*.res'):
         extras.append(file)
-    Makefile="""# Beware this is autogenerated by index.py
+    Makefile="""# -*- buffer-read-only: t -*- vi: set ro:
+# Beware this is autogenerated by index.py
 SUBDIRS=python
 INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include [EMAIL 
PROTECTED]@/include
 DEPS = $(top_builddir)/src/libvirt.la
-LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la 
+LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la
 
 rebuild: examples.xml index.html
 
-examples.xml: index.py *.c
+examples.xml: index.py __C_SOURCES__
        -@($(srcdir)/index.py)
 
 index.html: examples.xml examples.xsl $(top_srcdir)/docs/site.xsl
-       -@(if [ -x $(XSLTPROC) ] ; then \
-          $(XSLTPROC) examples.xsl examples.xml && echo "Rebuilt web page" && 
xmllint --valid --noout index.html ; fi)
+       -@(if [ -x $(XSLTPROC) ] ; then                 \\
+          $(XSLTPROC) examples.xsl examples.xml        \\
+            && echo "Rebuilt web page"                 \\
+            && xmllint --valid --noout index.html;     \\
+          fi)
 
-install-data-local: 
+install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c 
$(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
+       [EMAIL PROTECTED]@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c 
$(srcdir)/*.xml \\
+         $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
 
 """
     EXTRA_DIST=""
@@ -258,7 +263,9 @@ install-data-local:
     for test in tests:
         Makefile = Makefile + "\t@($(CHECKER) %s)\n" % (test)
 #        Makefile = Makefile + '\t@(grep "MORY ALLO" .memdump  | grep -v 
"MEMORY ALLOCATED : 0" ; exit 0)\n'
-    Makefile = Makefile + "\n\n"
+
+    c_src = [("%s.c" % x) for x in examples]
+    Makefile = Makefile.replace("__C_SOURCES__", string.join(c_src, ' '))
     try:
        old = open("Makefile.am", "r").read()
        if old != Makefile:
@@ -284,13 +291,15 @@ Makefile
            print "Updated .cvsignore"
     except:
         print "Failed to read or save .cvsignore"
-    
+
 if __name__ == "__main__":
     load_api()
     output = open("examples.xml", "w")
     output.write("<examples>\n")
 
-    for file in glob.glob('*.c'):
+    c_src = glob.glob('*.c')
+    c_src.sort()
+    for file in c_src:
        parse(file, output)
        examples.append(file[:-2])
 
@@ -299,4 +308,3 @@ if __name__ == "__main__":
     output.write("</examples>\n")
     output.close()
     dump_Makefile()
-
diff --git a/python/Makefile.am b/python/Makefile.am
index 4f97610..1fe60ff 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -49,7 +49,8 @@ $(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC)
        $(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
 
 libvirt.py: $(srcdir)/libvir.py libvirtclass.py
-       cat $(srcdir)/libvir.py libvirtclass.py > libvirt.py
+       cat $(srcdir)/libvir.py libvirtclass.py > [EMAIL PROTECTED]
+       mv [EMAIL PROTECTED] $@
 
 $(libvirtmod_la_OBJECTS): $(GENERATED)
 
@@ -60,6 +61,9 @@ install-data-local:
        @(for doc in $(DOCS) ; \
           do @INSTALL@ -m 0644 $$doc $(DESTDIR)$(DOCS_DIR) ; done)
 
+uninstall-local:
+       rm -f $(DESTDIR)$(pythondir)/libvirt.py
+
 CLEANFILES= $(GENERATED) libvirt.py
 
 else
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index dfa52e4..6011fef 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -32,3 +32,5 @@ install-data-local:
        -(for test in $(PYTESTS); \
          do @INSTALL@ -m 0644 $(srcdir)/$$test $(DESTDIR)$(EXAMPLE_DIR) ; done)
 
+uninstall-local:
+       for test in $(PYTESTS); do rm -f $(DESTDIR)$(EXAMPLE_DIR)/$$test; done
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
index 3da6265..6aedf8c 100644
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -47,19 +47,23 @@ libvirtd_CFLAGS += $(AVAHI_CFLAGS)
 libvirtd_LDADD += $(AVAHI_LIBS)
 endif
 
+default_xml_dest = libvirt/qemu/networks/default.xml
 install-data-local: install-init
        mkdir -p $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart
-       $(INSTALL_DATA) $(srcdir)/default-network.xml 
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
-       sed -i -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," 
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
+       $(INSTALL_DATA) $(srcdir)/default-network.xml \
+         $(DESTDIR)$(sysconfdir)/$(default_xml_dest)
+       sed -i -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
+         $(DESTDIR)$(sysconfdir)/$(default_xml_dest)
        test -e 
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
-           ln -s ../default.xml 
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
+           ln -s ../default.xml \
+           $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
        mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu
        mkdir -p $(DESTDIR)$(localstatedir)/run/libvirt
        mkdir -p $(DESTDIR)$(localstatedir)/lib/libvirt
 
 uninstall-local: uninstall-init
        rm -f 
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
-       rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
+       rm -f $(DESTDIR)$(sysconfdir)/$(default_xml_dest)
        rmdir $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart || :
        rmdir $(DESTDIR)$(localstatedir)/log/libvirt/qemu || :
        rmdir $(DESTDIR)$(localstatedir)/run/libvirt || :
@@ -95,20 +99,24 @@ remote_dispatch_proc_switch.h: remote_generate_stubs.pl 
remote_protocol.x
 if LIBVIRT_INIT_SCRIPTS_RED_HAT
 install-init: libvirtd.init
        mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d
-       $(INSTALL_SCRIPT) libvirtd.init 
$(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
+       $(INSTALL_SCRIPT) libvirtd.init \
+         $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
        mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig
-       $(INSTALL_SCRIPT) $(srcdir)/libvirtd.sysconf 
$(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
+       $(INSTALL_SCRIPT) $(srcdir)/libvirtd.sysconf \
+         $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
 
 uninstall-init:
-       rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
+       rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd \
+               $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
 
 libvirtd.init: libvirtd.init.in
        sed                                             \
            -e [EMAIL PROTECTED]@[EMAIL PROTECTED]@!g   \
            -e [EMAIL PROTECTED]@[EMAIL PROTECTED]@!g           \
            -e [EMAIL PROTECTED]@[EMAIL PROTECTED]@!g           \
-           < $< > $@
-       chmod a+x libvirtd.init
+           < $< > [EMAIL PROTECTED]
+       chmod a+x [EMAIL PROTECTED]
+       mv [EMAIL PROTECTED] $@
 
 CLEANFILES = libvirtd.init
 else
diff --git a/tests/Makefile.am b/tests/Makefile.am
index fec2f20..998877a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -34,14 +34,8 @@ LDADDS = \
 EXTRA_DIST =           \
        xmlrpcserver.py \
        test_conf.sh    \
-       confdata        \
        qemuxml2argvdata \
-       xml2sexprdata   \
-       nodeinfodata    \
-       virshdata       \
-       xencapsdata     \
-       sexpr2xmldata   \
-       xmconfigdata
+       nodeinfodata
 
 noinst_PROGRAMS = xmlrpctest xml2sexprtest sexpr2xmltest virshtest conftest \
        reconnect xmconfigtest xencapstest qemuxml2argvtest qemuxml2xmltest \
-- 
1.5.3.5.666.gfb5f

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to