Bonjour à tous,
Après près d'un an je reviens à la charge pour construire mon RPM d'anope.
J'ai déjà eu ce genre de soucis avec UnrealIrcd et ensuite avec Anope (Non prise en charge de $DESTDIR ..
Mon nouveau boulot m'avais fait lacher prise.. Fort de mes récentes réussites sous linux je reviens pour finir ce boulot inachevé.
Alors voilà les données :
Je tente de créer un RPM du logiciel
Anope (Il existe un rpm et un src.rpm mais pour Suse et trop vieux. )
Voiçi le fichier Spec :
Name: anope
Version: 1.8.2
Release: 1%{?dist}
Summary: anope IRC Services
Group: Application/Internet
License: GPL
URL:
http://www.anope.org/
Source0:
http://downloads.sourceforge.net/anope/%{name}-%{version}.tar.gz
Patch: anope-%{version}_destdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
A IRC Services
%prep
%setup -q
%patch -p1 -b conf.rej
%build
%configure --with-rungroup=%{name} \
--with-bindir=%{_sbindir} \
--with-datadir=%{_datadir}%{name} \
--with-permissions=750
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
%changelog
Et le patch appliqué car le makeinstall ne prend pas en charge DESTDIR :
diff -Naur anope-1.8.2/configure.in anope-1.8.2.orig/configure.in
--- anope-1.8.2/configure.in 2010-01-06 15:28:09.000000000 +0100
+++ anope-1.8.2.orig/configure.in 2010-01-06 15:26:27.000000000 +0100
@@ -278,9 +278,9 @@
AC_ARG_WITH(datadir, [ --with-datadir=datadir Specify the location of the services data folder], [
AC_DEFINE_UNQUOTED(SERVICES_DIR,"$withval","services bin dir")
- AC_DEFINE_UNQUOTED(MODULE_PATH,"${LIBDIR}/anope/modules/","Module dir")
+ AC_DEFINE_UNQUOTED(MODULE_PATH,"${withval}/modules/","Module dir")
DATDEST=$withval
- MODULE_PATH=${LIBDIR}/anope/modules/
+ MODULE_PATH=${withval}/modules/
])
AC_SUBST(DATDEST)
diff -Naur anope-1.8.2/Makefile.in anope-1.8.2.orig/Makefile.in
--- anope-1.8.2/Makefile.in 2010-01-06 15:27:11.000000000 +0100
+++ anope-1.8.2.orig/Makefile.in 2010-01-06 15:26:27.000000000 +0100
@@ -7,13 +7,13 @@
LDPROFILE=
SHELL=/bin/sh
SUBDIRS=src
-BINDEST=$(DESTDIR)@BINDEST@
-DATDEST=$(DESTDIR)@DATDEST@
+BINDEST=@BINDEST@
+DATDEST=@DATDEST@
INSTALL=
@install@
RM=@RM@
CP=@CP@
TOUCH=@TOUCH@
-MODULE_PATH=$(DESTDIR)@MODULE_PATH@
+MODULE_PATH=@MODULE_PATH@
MYSQL=@MYSQL@
RDB=@RDB@
LDFLAGS=@LDFLAGS@
Pour terminer voiçi l'erreur que j'obtient lors du :
rpmbuild -bc --short-circuit
Exécution_de(%install): /bin/sh -e /var/tmp/rpm-tmp.21731
+ umask 022
+ cd /home/builder/rpmbuild/BUILD
+ cd anope-1.8.2
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf /var/tmp/anope-1.8.2-1-root
+ make install DESTDIR=/var/tmp/anope-1.8.2-1-root
(cd src ; make 'CFLAGS=-pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -export-dynamic' 'CC=gcc' 'ANOPELIBS=-lnsl -lresolv -lbsd ' 'LDFLAGS=-rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto' 'BINDEST=/var/tmp/anope-1.8.2-1-root/usr/sbin' 'INSTALL=/usr/bin/install' 'INCLUDEDIR=../include' 'RM=/bin/rm' 'CP=/bin/cp' 'TOUCH=/bin/touch' 'SHELL=/bin/sh' 'DATDEST=/var/tmp/anope-1.8.2-1-root/usr/shareanope' 'RUNGROUP=anope' 'MODULE_PATH=/var/tmp/anope-1.8.2-1-root/usr/shareanope/modules/' 'RDB=rdb.c ' 'MYSQL=mysql.c ' 'SHARED=-shared' 'MODULEFLAGS=-fPIC -DPIC -shared' install)
make[1]: Entering directory `/home/builder/rpmbuild/BUILD/anope-1.8.2/src'
gcc -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -export-dynamic -fPIC -DPIC -shared -I../include/ -c mod_version.c
gcc -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -export-dynamic actions.o base64.o botserv.o channels.o chanserv.o commands.o compat.o config.o datafiles.o encrypt.o events.o helpserv.o hostserv.o init.o ircd.o language.o list.o log.o mail.o main.o memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o process.o send.o servers.o sessions.o slist.o sockutil.o timeout.o users.o rdb.o mysql.o -lnsl -lresolv -lbsd -o services -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto
test -d /var/tmp/anope-1.8.2-1-root/usr/sbin || mkdir /var/tmp/anope-1.8.2-1-root/usr/sbin
mkdir: cannot create directory `/var/tmp/anope-1.8.2-1-root/usr/sbin': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/builder/rpmbuild/BUILD/anope-1.8.2/src'
make: *** [install] Error 2
erreur: Mauvais status de sortie pour /var/tmp/rpm-tmp.21731 (%install)
Erreur de construction de RPM:
Mauvais status de sortie pour /var/tmp/rpm-tmp.21731 (%install)
Je ne comprend pas pourquoi il me met cette erreur ?
En tout cas
l'erreur d'antan semble résolue grâce au patch et a l'utilisation de DESTDIR != destdir.
Je sens que je suis sur la bonne voie.
Merci à vous !