Remove ability to build static distribution.
authorRichard W.M. Jones <rjones@redhat.com>
Mon, 6 Dec 2010 18:16:39 +0000 (18:16 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 6 Dec 2010 18:17:30 +0000 (18:17 +0000)
We are now going to build binaries for each distribution so
there is no need to build the quasi-distro-independent static
binaries any more.

.gitignore
Makefile.am
cat/Makefile.am
df/Makefile.am
fish/Makefile.am
fuse/Makefile.am
inspector/Makefile.am
relink-static.sh [deleted file]
rescue/Makefile.am
test-tool/Makefile.am

index 0f24850..b4d8f53 100644 (file)
@@ -23,13 +23,10 @@ capitests/test*.tmp
 cat/stamp-virt-*.pod
 cat/virt-cat
 cat/virt-cat.1
-cat/virt-cat.static
 cat/virt-filesystems
 cat/virt-filesystems.1
-cat/virt-filesystems.static
 cat/virt-ls
 cat/virt-ls.1
-cat/virt-ls.static
 ChangeLog
 *.class
 *.cma
@@ -67,7 +64,6 @@ depcomp
 df/stamp-virt-df.pod
 df/virt-df
 df/virt-df.1
-df/virt-df.static
 emptydisk
 examples/create_disk
 examples/guestfs-examples.3
@@ -78,7 +74,6 @@ fish/cmds_gperf.c
 fish/cmds_gperf.gperf
 fish/completion.c
 fish/guestfish
-fish/guestfish.static
 fish/prepopts.c
 fish/prepopts.h
 fish/rc_protocol.c
@@ -86,7 +81,6 @@ fish/rc_protocol.h
 fish/stamp-guestfish.pod
 fuse/guestmount
 fuse/guestmount.1
-fuse/guestmount.static
 fuse/stamp-guestmount.pod
 generator/.pod2text.data*
 generator/generator
@@ -146,7 +140,6 @@ images/windows.img
 inspector/stamp-virt-inspector.pod
 inspector/virt-inspector
 inspector/virt-inspector.1
-inspector/virt-inspector.static
 install-sh
 *.jar
 java/api
@@ -270,7 +263,6 @@ regressions/test.out
 rescue/stamp-virt-rescue.pod
 rescue/virt-rescue
 rescue/virt-rescue.1
-rescue/virt-rescue.static
 ruby/bindtests.rb
 ruby/examples/guestfs-ruby.3
 ruby/examples/stamp-guestfs-ruby.pod
@@ -299,7 +291,6 @@ stamp-h1
 test1.img
 test-tool/libguestfs-test-tool
 test-tool/libguestfs-test-tool.1
-test-tool/libguestfs-test-tool.static
 test-tool/libguestfs-test-tool-helper
 tools/test.img
 tools/virt-*.1
index a4f24be..5f441a2 100644 (file)
@@ -193,14 +193,7 @@ CLEANFILES = \
 quickcheck:
        test-tool/run-test-tool-locally
 
-# Mostly static binary distribution.
-#
-# Some binaries are relinked partially statically.  You can make these
-# binaries "more static" by making sure that as many foo-static
-# packages are installed as possible.
-#
-# We remove the supermin appliance and adjust some directories to make
-# them non-Fedora-specific.
+# Make binary distribution.
 
 BINTMPDIR = /tmp/libguestfs-bin
 bindist:
@@ -208,26 +201,6 @@ bindist:
        mkdir $(BINTMPDIR)
        $(MAKE)
        $(MAKE) DESTDIR=$(BINTMPDIR) install
-       rm -r $(BINTMPDIR)$(libdir)/guestfs/supermin.d
-       rm $(BINTMPDIR)$(libdir)/guestfs/kmod.whitelist
-       mv $(BINTMPDIR)$(prefix)/lib64/* $(BINTMPDIR)$(libdir)
-       mv $(BINTMPDIR)/usr/lib64/* $(BINTMPDIR)$(libdir)
        -find $(BINTMPDIR) -type d -exec rmdir --ignore-fail-on-non-empty {} \;
-       $(MAKE) -C fish guestfish.static
-       cp fish/guestfish.static $(BINTMPDIR)$(bindir)/guestfish
-       $(MAKE) -C fuse guestmount.static
-       cp fuse/guestmount.static $(BINTMPDIR)$(bindir)/guestmount
-       $(MAKE) -C test-tool libguestfs-test-tool.static
-       cp test-tool/libguestfs-test-tool.static $(BINTMPDIR)$(bindir)/libguestfs-test-tool
-       $(MAKE) -C cat virt-cat.static virt-filesystems.static virt-ls.static
-       cp cat/virt-cat.static $(BINTMPDIR)$(bindir)/virt-cat
-       cp cat/virt-filesystems.static $(BINTMPDIR)$(bindir)/virt-filesystems
-       cp cat/virt-ls.static $(BINTMPDIR)$(bindir)/virt-ls
-       $(MAKE) -C df virt-df.static
-       cp df/virt-df.static $(BINTMPDIR)$(bindir)/virt-df
-       $(MAKE) -C inspector virt-inspector.static
-       cp inspector/virt-inspector.static $(BINTMPDIR)$(bindir)/virt-inspector
-       $(MAKE) -C rescue virt-rescue.static
-       cp rescue/virt-rescue.static $(BINTMPDIR)$(bindir)/virt-rescue
        (cd $(BINTMPDIR) && tar cf - .) | \
-         gzip -c -9 > libguestfs-$(VERSION)-$(host_cpu).tar.gz
+         gzip -c -9 > libguestfs-$(VERSION)-$(DISTRO)-$(host_cpu).tar.gz
index 10a768b..026a561 100644 (file)
@@ -129,17 +129,3 @@ TESTS_ENVIRONMENT = \
        LIBGUESTFS_PATH=$(top_builddir)/appliance
 
 TESTS = test-virt-cat.sh test-virt-filesystems.sh test-virt-ls.sh
-
-# Build a partly-static binary (for the binary distribution).
-
-virt-cat.static$(EXEEXT): $(virt_cat_OBJECTS) $(virt_cat_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_cat_LINK) $(virt_cat_OBJECTS) -static $(virt_cat_LDADD) $(virt_cat_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
-
-virt-filesystems.static$(EXEEXT): $(virt_filesystems_OBJECTS) $(virt_filesystems_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_filesystems_LINK) $(virt_filesystems_OBJECTS) -static $(virt_filesystems_LDADD) $(virt_filesystems_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
-
-virt-ls.static$(EXEEXT): $(virt_ls_OBJECTS) $(virt_ls_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_ls_LINK) $(virt_ls_OBJECTS) -static $(virt_ls_LDADD) $(virt_ls_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
index 053261d..2f0eff0 100644 (file)
@@ -79,9 +79,3 @@ TESTS_ENVIRONMENT = \
        LIBGUESTFS_PATH=$(top_builddir)/appliance
 
 TESTS = test-virt-df.sh
-
-# Build a partly-static binary (for the binary distribution).
-
-virt-df.static$(EXEEXT): $(virt_df_OBJECTS) $(virt_df_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_df_LINK) $(virt_df_OBJECTS) -static $(virt_df_LDADD) $(virt_df_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
index 01ed59c..75002cc 100644 (file)
@@ -128,12 +128,6 @@ rc_protocol.h: rc_protocol.x
        mv $@-t $@
 endif
 
-# Build a partly-static library (for the binary distribution).
-
-guestfish.static$(EXEEXT): $(guestfish_OBJECTS) $(guestfish_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(guestfish_LINK) $(guestfish_OBJECTS) -static $(guestfish_LDADD) $(guestfish_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -ltinfo -lpcre -lhivex -lmagic -lz -lm
-
 # Manual page.
 
 man_MANS = guestfish.1
index 692da6e..7d3b463 100644 (file)
@@ -55,12 +55,6 @@ guestmount_LDADD = \
        $(top_builddir)/src/libguestfs.la \
        ../gnulib/lib/libgnu.la
 
-# Build a partly-static library (for the binary distribution).
-
-guestmount.static$(EXEEXT): $(guestmount_OBJECTS) $(guestmount_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(guestmount_LINK) $(guestmount_OBJECTS) -static $(guestmount_LDADD) $(guestmount_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
-
 # Documentation.
 
 man_MANS = guestmount.1
index d1dcb6d..7e36611 100644 (file)
@@ -95,9 +95,3 @@ example-ubuntu.xml:
        ./run-inspector-locally ../images/ubuntu.img > $@
 example-windows.xml:
        ./run-inspector-locally ../images/windows.img | fgrep -v '<uuid>' > $@
-
-# Build a partly-static library (for the binary distribution).
-
-virt-inspector.static$(EXEEXT): $(virt_inspector_OBJECTS) $(virt_inspector_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_inspector_LINK) $(virt_inspector_OBJECTS) -static $(virt_inspector_LDADD) $(virt_inspector_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
diff --git a/relink-static.sh b/relink-static.sh
deleted file mode 100755 (executable)
index 9dd5a22..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash -
-# Copyright (C) 2010 Red Hat Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Written by Richard W.M. Jones <rjones@redhat.com>
-#
-# Take a dynamically linked ELF binary and relink it, maximizing the
-# use of static libraries.
-#
-# Example:
-#   binary foo
-#            ---> dynamically links to libbar.so.0
-#            ---> dynamically links to libzab.so.3
-# If libbar.a is available, but there is no libzab.a, then we would
-# end up with:
-#   binary foo.static with libbar.a statically inside it
-#            ---> still dynamically linking with libzab.so.3
-#
-# We need to have access to the original link command.  This script
-# works by post-processing it to find the '-lbar' arguments, which are
-# replaced sometimes by direct static library names.
-#
-# Therefore to use this, you have to add this rule to your
-# Makefile.am:
-#
-# foo.static$(EXEEXT): $(foo_OBJECTS) $(foo_DEPENDENCIES)
-#   relink-static.sh \
-#   $(foo_LINK) $(foo_OBJECTS) -static $(foo_LDADD) $(foo_LIBS)
-
-declare -a args
-
-i=0
-for arg; do
-    case "$arg" in
-    -l*)    # get just the library name (eg. "xml2")
-            lib=${arg:2}
-            # does a static version exist?
-            for d in /usr/local/lib{64,} /usr/lib{64,} /lib{64,}; do
-                path="$d/lib$lib.a"
-                if [ -f "$path" ]; then
-                    arg="$path"
-                    break
-                fi
-            done
-            ;;
-    *.la)   # hack around libtool mess
-            d=$(dirname "$arg")
-            b=$(basename "$arg")
-            b=${b:0:${#b}-3}
-            if [ -f "$d/.libs/$b.a" ]; then
-                arg="$d/.libs/$b.a"
-            fi
-            ;;
-    *) ;;
-    esac
-    args[$i]="$arg"
-    i=$(($i+1))
-done
-
-# Run the final command.
-echo "${args[@]}"
-"${args[@]}"
index 1208be1..f6f5b25 100644 (file)
@@ -59,9 +59,3 @@ stamp-virt-rescue.pod: virt-rescue.pod
          --html $(top_builddir)/html/virt-rescue.1.html \
          $<
        touch $@
-
-# Build a partly-static binary (for the binary distribution).
-
-virt-rescue.static$(EXEEXT): $(virt_rescue_OBJECTS) $(virt_rescue_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(virt_rescue_LINK) $(virt_rescue_OBJECTS) -static $(virt_rescue_LDADD) $(virt_rescue_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
index 908d2a0..15a5c8f 100644 (file)
@@ -39,12 +39,6 @@ libguestfs_test_tool_LDADD = \
 libguestfs_test_tool_helper_SOURCES = helper.c
 libguestfs_test_tool_helper_LDFLAGS = -all-static
 
-# Build a partly-static library (for the binary distribution).
-
-libguestfs-test-tool.static$(EXEEXT): $(libguestfs_test_tool_OBJECTS) $(libguestfs_test_tool_DEPENDENCIES)
-       $(top_srcdir)/relink-static.sh \
-       $(libguestfs_test_tool_LINK) $(libguestfs_test_tool_OBJECTS) -static $(libguestfs_test_tool_LDADD) $(libguestfs_test_tool_LIBS) $(LIBVIRT_LIBS) $(LIBXML2_LIBS) -lpcre -lhivex -lmagic -lz -lm
-
 libguestfs-test-tool.1: libguestfs-test-tool.pod
        $(top_srcdir)/podwrapper.sh \
          --man $@ \