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
df/stamp-virt-df.pod
df/virt-df
df/virt-df.1
-df/virt-df.static
emptydisk
examples/create_disk
examples/guestfs-examples.3
fish/cmds_gperf.gperf
fish/completion.c
fish/guestfish
-fish/guestfish.static
fish/prepopts.c
fish/prepopts.h
fish/rc_protocol.c
fish/stamp-guestfish.pod
fuse/guestmount
fuse/guestmount.1
-fuse/guestmount.static
fuse/stamp-guestmount.pod
generator/.pod2text.data*
generator/generator
inspector/stamp-virt-inspector.pod
inspector/virt-inspector
inspector/virt-inspector.1
-inspector/virt-inspector.static
install-sh
*.jar
java/api
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
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
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:
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
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
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
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
$(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
./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
+++ /dev/null
-#!/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[@]}"
--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
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 $@ \