diff --git a/amanda-2.5.2p1-pie.patch b/amanda-2.5.2p1-pie.patch new file mode 100644 index 0000000..09cf07e --- /dev/null +++ b/amanda-2.5.2p1-pie.patch @@ -0,0 +1,199 @@ +--- amanda-2.5.2p1/client-src/Makefile.am.pie 2007-05-04 13:39:05.000000000 +0200 ++++ amanda-2.5.2p1/client-src/Makefile.am 2007-06-22 13:50:23.000000000 +0200 +@@ -13,6 +13,25 @@ LIB_EXTENSION = la + + libexec_PROGRAMS = noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix + ++noop_CFLAGS = -fPIE $(AM_CFLAGS) ++noop_LDFLAGS = -pie $(AM_LDFLAGS) ++calcsize_CFLAGS = -fPIE $(AM_CFLAGS) ++calcsize_LDFLAGS = -pie $(AM_LDFLAGS) ++killpgrp_CFLAGS = -fPIE $(AM_CFLAGS) ++killpgrp_LDFLAGS = -pie $(AM_LDFLAGS) ++rundump_CFLAGS = -fPIE $(AM_CFLAGS) ++rundump_LDFLAGS = -pie $(AM_LDFLAGS) ++runtar_CFLAGS = -fPIE $(AM_CFLAGS) ++runtar_LDFLAGS = -pie $(AM_LDFLAGS) ++selfcheck_CFLAGS = -fPIE $(AM_CFLAGS) ++selfcheck_LDFLAGS = -pie $(AM_LDFLAGS) ++sendbackup_CFLAGS = -fPIE $(AM_CFLAGS) ++sendbackup_LDFLAGS = -pie $(AM_LDFLAGS) ++sendsize_CFLAGS = -fPIE $(AM_CFLAGS) ++sendsize_LDFLAGS = -pie $(AM_LDFLAGS) ++versionsuffix_CFLAGS = -fPIE $(AM_CFLAGS) ++versionsuffix_LDFLAGS = -pie $(AM_LDFLAGS) ++ + sbin_SCRIPTS = @CLIENT_SCRIPTS_OPT@ + + libexec_SCRIPTS = patch-system +--- amanda-2.5.2p1/restore-src/Makefile.am.pie 2007-05-04 13:39:06.000000000 +0200 ++++ amanda-2.5.2p1/restore-src/Makefile.am 2007-06-22 13:42:42.000000000 +0200 +@@ -43,6 +43,13 @@ librestore_la_LIBADD = ../common-src/lib + ../tape-src/libamtape.$(LIB_EXTENSION) \ + ../server-src/libamserver.$(LIB_EXTENSION) + ++amidxtaped_CFLAGS = -fPIE $(AM_CFLAGS) ++amidxtaped_LDFLAGS = -pie $(AM_LDFLAGS) ++amrestore_CFLAGS = -fPIE $(AM_CFLAGS) ++amrestore_LDFLAGS = -pie $(AM_LDFLAGS) ++amfetchdump_CFLAGS = -fPIE $(AM_CFLAGS) ++amfetchdump_LDFLAGS = -pie $(AM_LDFLAGS) ++ + noinst_HEADERS = restore.h + + install-exec-hook: +--- amanda-2.5.2p1/amandad-src/Makefile.am.pie 2007-05-04 13:39:06.000000000 +0200 ++++ amanda-2.5.2p1/amandad-src/Makefile.am 2007-06-22 14:01:31.000000000 +0200 +@@ -12,6 +12,9 @@ LIB_EXTENSION = la + + libexec_PROGRAMS = amandad + ++amandad_CFLAGS = -fPIE $(AM_CFLAGS) ++amandad_LDFLAGS = -pie $(AM_LDFLAGS) ++ + if WANT_RUNTIME_PSEUDO_RELOC + AM_LDFLAGS = -Wl,-enable-runtime-pseudo-reloc + endif +--- amanda-2.5.2p1/tape-src/Makefile.am.pie 2007-05-04 13:39:08.000000000 +0200 ++++ amanda-2.5.2p1/tape-src/Makefile.am 2007-06-22 13:42:42.000000000 +0200 +@@ -12,6 +12,13 @@ LIB_EXTENSION = la + + sbin_PROGRAMS= ammt amdd amtapetype + ++amdd_CFLAGS = -fPIE $(AM_CFLAGS) ++amdd_LDFLAGS = -pie $(AM_LDFLAGS) ++ammt_CFLAGS = -fPIE $(AM_CFLAGS) ++ammt_LDFLAGS = -pie $(AM_LDFLAGS) ++amtapetype_CFLAGS = -fPIE $(AM_CFLAGS) ++amtapetype_LDFLAGS = -pie $(AM_LDFLAGS) ++ + libamtape_la_SOURCES = output-file.c \ + output-null.c \ + output-rait.c \ +--- amanda-2.5.2p1/changer-src/Makefile.am.pie 2007-05-04 13:39:04.000000000 +0200 ++++ amanda-2.5.2p1/changer-src/Makefile.am 2007-06-22 13:42:42.000000000 +0200 +@@ -13,10 +13,14 @@ LIB_EXTENSION = la + + if WANT_CHIO_SCSI + CHIO_SCSI = chg-scsi-chio ++chg_scsi_chio_CFLAGS = -fPIE $(AM_CFLAGS) ++chg_scsi_chio_LDFLAGS = -pie $(AM_LDFLAGS) + endif + + if WANT_CHG_SCSI + CHG_SCSI = chg-scsi ++chg_scsi_CFLAGS = -fPIE $(AM_CFLAGS) ++chg_scsi_LDFLAGS = -pie $(AM_LDFLAGS) + endif + + libexec_PROGRAMS = $(CHG_SCSI) +--- /dev/null 2007-06-20 09:13:44.480310269 +0200 ++++ amanda-2.5.2p1/config/compile 2007-06-22 13:42:42.000000000 +0200 +@@ -0,0 +1 @@ ++# Dummy compile for configure +--- amanda-2.5.2p1/configure.in.pie 2007-06-07 01:22:24.000000000 +0200 ++++ amanda-2.5.2p1/configure.in 2007-06-22 13:42:42.000000000 +0200 +@@ -2920,6 +2920,52 @@ ICE_CHECK_DECL(strcasecmp,string.h strin + AC_CHECK_FUNCS(fnmatch) + + ++AC_MSG_CHECKING([for Position Independent Executable support]) ++save_CFLAGS="$CFLAGS" ++save_LDFLAGS="$LDFLAGS" ++CFLAGS="$CFLAGS -fpie" ++LDFLAGS="$LDFLAGS -pie" ++AC_TRY_RUN( ++ [ ++int foo () __attribute__((visibility ("hidden"))); ++int foo () { return 0; } ++int main () { return foo (); } ++ ], ++ [ ++ ac_cv_pie_support=yes ++ ], ++ [ ++ ac_cv_pie_support=no ++ ], ++ [ ++ ac_cv_pie_support=no ++ ] ++) ++CFLAGS="$save_CFLAGS" ++LDFLAGS="$save_LDFLAGS" ++AC_MSG_RESULT($ac_cv_pie_support) ++if test $ac_cv_pie_support = no; then ++ AC_DEFINE(hidden,, ++ [Define as `__attribute__((visibility ("hidden")))' if the C compiler supports it, ++ or to nothing if it is not supported.]) ++ PIE_LDFLAGS= ++ PIE_SED_CMD= ++ COMPILE_PIE= ++ EXIT0_IF_NO_PIE='exit 0' ++else ++ AC_DEFINE_UNQUOTED(hidden, __attribute__((visibility ("hidden")))) ++ PIE_LDFLAGS="-pie -L.pie/ -Lopenbsd-compat/.pie/" ++changequote(<<, >>)dnl ++ PIE_SED_CMD='s_[ ]\([^ ]\)_ .pie/\1_g' ++changequote([, ])dnl ++ COMPILE_PIE=' && mkdir -p .pie && $(COMPILE) -c -fpie -o .pie/$@ \`test -f '"'"'$<'"'"' || echo '"'"'$(srcdir)/'"'"'\`$<' ++ EXIT0_IF_NO_PIE=: ++fi ++AC_SUBST(PIE_LDFLAGS) ++AC_SUBST(PIE_SED_CMD) ++AC_SUBST(COMPILE_PIE) ++AC_SUBST(EXIT0_IF_NO_PIE) ++ + dnl disk device prefixes + AC_MSG_CHECKING(disk device prefixes) + dnl Use df to find the mount point for the root filesystem. Use +--- amanda-2.5.2p1/server-src/Makefile.am.pie 2007-05-04 13:39:04.000000000 +0200 ++++ amanda-2.5.2p1/server-src/Makefile.am 2007-06-22 13:52:15.000000000 +0200 +@@ -17,11 +17,48 @@ sbin_PROGRAMS = amadmin amcheck amflu + amgetconf amlabel amtape \ + amreport + ++amadmin_CFLAGS = -fPIE $(AM_CFLAGS) ++amadmin_LDFLAGS = -pie $(AM_LDFLAGS) ++amcheck_CFLAGS = -fPIE $(AM_CFLAGS) ++amcheck_LDFLAGS = -pie $(AM_LDFLAGS) ++amflush_CFLAGS = -fPIE $(AM_CFLAGS) ++amflush_LDFLAGS = -pie $(AM_LDFLAGS) ++amgetconf_CFLAGS = -fPIE $(AM_CFLAGS) ++amgetconf_LDFLAGS = -pie $(AM_LDFLAGS) ++amlabel_CFLAGS = -fPIE $(AM_CFLAGS) ++amlabel_LDFLAGS = -pie $(AM_LDFLAGS) ++amreport_CFLAGS = -fPIE $(AM_CFLAGS) ++amreport_LDFLAGS = -pie $(AM_LDFLAGS) ++amtape_CFLAGS = -fPIE $(AM_CFLAGS) ++amtape_LDFLAGS = -pie $(AM_LDFLAGS) ++ + libexec_PROGRAMS = amindexd amlogroll amtrmidx \ + amtrmlog driver dumper \ + planner taper amcleanupdisk \ + chunker + ++ ++amindexd_CFLAGS = -fPIE $(AM_CFLAGS) ++amindexd_LDFLAGS = -pie $(AM_LDFLAGS) ++amlogroll_CFLAGS = -fPIE $(AM_CFLAGS) ++amlogroll_LDFLAGS = -pie $(AM_LDFLAGS) ++amtrmidx_CFLAGS = -fPIE $(AM_CFLAGS) ++amtrmidx_LDFLAGS = -pie $(AM_LDFLAGS) ++amtrmlog_CFLAGS = -fPIE $(AM_CFLAGS) ++amtrmlog_LDFLAGS = -pie $(AM_LDFLAGS) ++driver_CFLAGS = -fPIE $(AM_CFLAGS) ++driver_LDFLAGS = -pie $(AM_LDFLAGS) ++dumper_CFLAGS = -fPIE $(AM_CFLAGS) ++dumper_LDFLAGS = -pie $(AM_LDFLAGS) ++planner_CFLAGS = -fPIE $(AM_CFLAGS) ++planner_LDFLAGS = -pie $(AM_LDFLAGS) ++taper_CFLAGS = -fPIE $(AM_CFLAGS) ++taper_LDFLAGS = -pie $(AM_LDFLAGS) ++chunker_CFLAGS = -fPIE $(AM_CFLAGS) ++chunker_LDFLAGS = -pie $(AM_LDFLAGS) ++amcleanupdisk_CFLAGS = -fPIE $(AM_CFLAGS) ++amcleanupdisk_LDFLAGS = -pie $(AM_LDFLAGS) ++ + sbin_SCRIPTS = amcheckdb amcleanup amdump \ + amoverview amrmtape amtoc \ + amverify amverifyrun amstatus \ diff --git a/amanda-2.5.2p1-undefSymbols.patch b/amanda-2.5.2p1-undefSymbols.patch new file mode 100644 index 0000000..79da9ab --- /dev/null +++ b/amanda-2.5.2p1-undefSymbols.patch @@ -0,0 +1,11 @@ +--- amanda-2.5.2p1/server-src/Makefile.am.undefSymbols 2007-06-21 14:45:54.000000000 +0200 ++++ amanda-2.5.2p1/server-src/Makefile.am 2007-06-22 13:30:24.000000000 +0200 +@@ -98,6 +98,8 @@ amindexd_LDADD = ../common-src/libamanda + ../common-src/libamanda.$(LIB_EXTENSION) \ + ../gnulib/libgnu.$(LIB_EXTENSION) + ++libamserver_la_LIBADD = ../common-src/libamanda.$(LIB_EXTENSION) ++ + SUFFIXES = .sh .pl + + .pl: diff --git a/amanda-2.5.2p1-ylwrapNotFound.patch b/amanda-2.5.2p1-ylwrapNotFound.patch new file mode 100644 index 0000000..25cd042 --- /dev/null +++ b/amanda-2.5.2p1-ylwrapNotFound.patch @@ -0,0 +1,8 @@ +--- amanda-2.5.2p1/autogen.ylwrapNotFound 2007-05-04 13:39:08.000000000 +0200 ++++ amanda-2.5.2p1/autogen 2007-06-21 11:59:53.000000000 +0200 +@@ -16,4 +16,4 @@ if test x`ls -1t acinclude.m4 2>/dev/nul + cat config/libtool.m4i config/gnulib.m4i config/acinclude.m4i > acinclude.m4 + fi + +-autoreconf --warning=syntax --warning=no-portability --force ${1+"$@"} || exit 1 ++autoreconf --install --warning=syntax --warning=no-portability --force ${1+"$@"} || exit 1 diff --git a/amanda.spec b/amanda.spec index 48543e4..f424bfe 100644 --- a/amanda.spec +++ b/amanda.spec @@ -11,13 +11,15 @@ Summary: A network-capable tape backup solution Name: amanda Version: 2.5.2p1 -Release: 1%{?dist} +Release: 2%{?dist} Source: http://download.sourceforge.net/amanda/amanda-%{version}.tar.gz Source1: amanda.crontab Source4: disklist Source5: amanda-xinetd Source8: amandahosts -Patch1: amanda-2.5.0-pie.patch +Patch1: amanda-2.5.2p1-pie.patch +Patch3: amanda-2.5.2p1-ylwrapNotFound.patch +Patch4: amanda-2.5.2p1-undefSymbols.patch License: BSD Group: Applications/System URL: http://www.amanda.org @@ -79,6 +81,9 @@ be used to develop amanda applications. %prep %setup -q %patch1 -p1 -b .pie +%patch3 -p1 -b .ylwrapNotFound +%patch4 -p1 -b .undefSymbols +./autogen %build export CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" @@ -331,6 +336,12 @@ useradd -M -n -g %amanda_group -o -r -d %{_localstatedir}/amanda -s /bin/bash \ %{_libdir}/libamandad.so %changelog +* Fri Jun 22 2007 Radek Brich 2.5.2.p1-2 +- Fix undefined symbols in libamserver.so. +- Fix ./autogen so it automatically installs ylwrap (bug 224143). +- Run ./autogen in prep section (otherwise the -pie patch had no effect). +- Update -pie patch. + * Thu Jun 21 2007 Radek Brich 2.5.2.p1-1 - New upstream version. - Client rpm now installs amanda-client.conf.