From 1d543c3ec033c785d619dbe66a5abafec5653ef6 Mon Sep 17 00:00:00 2001 From: jerone Date: Tue, 10 Apr 2007 21:38:26 +0000 Subject: [PATCH] Add the ability to transform Grub program names. For example, a user can easily launch ./configure --program-transform-name="s/grub/grub2/" And the installed files (in this case for i386-pc) will be: /usr/lib/grub2/i386-pc/* /usr/local/sbin/grub2-emu /usr/local/sbin/grub2-install ...etc Also grub2-install place boot files in "/boot/grub2" This allows easy integration into distributions as it allows grub2 to sit side by side with a grub legacy install without. --- ChangeLog | 8 ++++++++ Makefile.in | 16 +++++++++------- configure.ac | 3 +++ util/i386/pc/grub-install.in | 18 ++++++++++-------- util/powerpc/ieee1275/grub-install.in | 10 ++++++---- 5 files changed, 36 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index af5c00094..5e5f7eed6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-04-10 Jerone Young + + * configure.ac: Add argument for autoconf to use tranformation + ability. + * Makefile.in: Add autoconf package transformation code. + * util/i386/pc/grub-install.in: Likewise. + * util/powerpc/ieee1275/grub-install.in: Likewise. + 2007-03-19 Yoshinori K. Okuji * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro. diff --git a/Makefile.in b/Makefile.in index 35ba19159..b6979f1b9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -17,6 +17,8 @@ SHELL = /bin/sh @SET_MAKE@ +transform = @program_transform_name@ + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -34,8 +36,8 @@ libdir = @libdir@ infodir = @infodir@ mandir = @mandir@ includedir = @includedir@ -pkgdatadir = $(datadir)/@PACKAGE_TARNAME@ -pkglibdir = $(libdir)/@PACKAGE_TARNAME@/$(target_cpu)-$(platform) +pkgdatadir = $(datadir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'` +pkglibdir = $(libdir)/`echo @PACKAGE_TARNAME@/$(target_cpu)-$(platform) | sed '$(transform)'` PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ @@ -137,18 +139,18 @@ install-local: all $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_UTILITIES)'; for file in $$list; do \ if test -f "$$file"; then dir=; else dir="$(srcdir)"; fi; \ - dest="`echo $$file | sed 's,.*/,,'`"; \ + dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \ $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \ done $(mkinstalldirs) $(DESTDIR)$(sbindir) @list='$(sbin_UTILITIES)'; for file in $$list; do \ if test -f "$$file"; then dir=; else dir="$(srcdir)"; fi; \ - dest="`echo $$file | sed 's,.*/,,'`"; \ + dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \ $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \ done @list='$(sbin_SCRIPTS)'; for file in $$list; do \ if test -f "$$file"; then dir=; else dir="$(srcdir)"; fi; \ - dest="`echo $$file | sed 's,.*/,,'`"; \ + dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \ $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \ done @@ -162,11 +164,11 @@ uninstall: rm -f $(DESTDIR)$(pkglibdir)/$$dest; \ done @list='$(bin_UTILITIES)'; for file in $$list; do \ - dest="`echo $$file | sed 's,.*/,,'`"; \ + dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \ rm -f $(DESTDIR)$(bindir)/$$dest; \ done @list='$(sbin_UTILITIES) $(sbin_SCRIPTS)'; for file in $$list; do \ - dest="`echo $$file | sed 's,.*/,,'`"; \ + dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \ rm -f $(DESTDIR)$(sbindir)/$$dest; \ done diff --git a/configure.ac b/configure.ac index 1c0bbfee5..df056f4bf 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,9 @@ AC_CONFIG_HEADER([config.h]) AC_CANONICAL_HOST AC_CANONICAL_TARGET +# Program name transformations +AC_ARG_PROGRAM + case "$host_cpu" in powerpc64) host_m32=1 ;; esac diff --git a/util/i386/pc/grub-install.in b/util/i386/pc/grub-install.in index a46dd2969..c6d2cddde 100644 --- a/util/i386/pc/grub-install.in +++ b/util/i386/pc/grub-install.in @@ -18,6 +18,8 @@ # Foundation, Inc., 51 Franklin St - Suite 330, Boston, MA 02110, USA. # Initialize some variables. +transform="@program_transform_name@" + prefix=@prefix@ exec_prefix=@exec_prefix@ sbindir=@sbindir@ @@ -28,14 +30,14 @@ PACKAGE_TARNAME=@PACKAGE_TARNAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ target_cpu=@target_cpu@ platform=@platform@ -pkglibdir=${libdir}/${PACKAGE_TARNAME}/${target_cpu}-${platform} +pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}` -grub_setup=${sbindir}/grub-setup -grub_mkimage=${bindir}/grub-mkimage -grub_mkdevicemap=${sbindir}/grub-mkdevicemap -grub_probe=${sbindir}/grub-probe +grub_setup=${sbindir}/`echo grub-setup | sed ${transform}` +grub_mkimage=${bindir}/`echo grub-mkimage | sed ${transform}` +grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}` +grub_probe=${sbindir}/`echo grub-probe | sed ${transform}` rootdir= -grub_prefix=/boot/grub +grub_prefix=`echo /boot/grub | sed ${transform}` modules= install_device= @@ -132,7 +134,7 @@ case "$host_os" in netbsd* | openbsd*) # Because /boot is used for the boot block in NetBSD and OpenBSD, use /grub # instead of /boot/grub. - grub_prefix=/grub + grub_prefix=`echo /grub | sed ${transform}` bootdir=${rootdir} ;; *) @@ -141,7 +143,7 @@ netbsd* | openbsd*) ;; esac -grubdir=${bootdir}/grub +grubdir=${bootdir}/`echo grub | sed ${transform}` device_map=${grubdir}/device.map # Check if GRUB is installed. diff --git a/util/powerpc/ieee1275/grub-install.in b/util/powerpc/ieee1275/grub-install.in index 7c7da0299..977d99659 100644 --- a/util/powerpc/ieee1275/grub-install.in +++ b/util/powerpc/ieee1275/grub-install.in @@ -21,6 +21,8 @@ # http://ppc64-utils.ozlabs.org . # Initialize some variables. +transform="@program_transform_name@" + prefix=@prefix@ exec_prefix=@exec_prefix@ sbindir=@sbindir@ @@ -30,11 +32,11 @@ PACKAGE_TARNAME=@PACKAGE_TARNAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ target_cpu=@target_cpu@ platform=@platform@ -pkglibdir=${libdir}/${PACKAGE_TARNAME}/${target_cpu}-${platform} +pkglibdir= ${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}` -grub_mkimage=${bindir}/grub-mkimage +grub_mkimage=${bindir}/`echo grub-mkimage | sed ${transform}` rootdir= -grub_prefix=/boot/grub +grub_prefix=`echo /boot/grub | sed ${transform}` modules= install_device= @@ -109,7 +111,7 @@ fi # Initialize these directories here, since ROOTDIR was initialized. bootdir=${rootdir}/boot -grubdir=${bootdir}/grub +grubdir=${bootdir}/`echo grub | sed ${transform}` set $grub_mkimage dummy if test -f "$1"; then