[CentOS-fr] nouveau fichier .spec sid-milter 1.0.0

fakessh fakessh at fakessh.eu
Ven 18 Déc 09:17:02 UTC 2009


On Fri, 18 Dec 2009 10:03:36 +0100, GanGan <gangan at zalteam.com> wrote:
> Bonjour a tous,
> 
> Moi aussi je suis entrain de faire un rpm et j'aurai quelques questions
:
> 
> que veut dire  || :   après certaine ligne ? "je ne connais pas bien
/bin/bash
> et ça : 1%{?dist}   ? cela c est le numero de version
> 
> Mon fichier psec ne contient qu'un script shell
> 
> j'ai rajouté ceci dedans : 
> 
> ### ajout
> %post
> ./pcisst/pcdsst.sh je ne sais pas ce que c est : ce script .sh
> 
> c'est la bonne technique ?
> 
> merci d'avance
> 



moi je me suis base sur le rpm source de 
http://www.c-corp.net/linux/centos/4/generic/SRPMS/
dans lequel j ai fais le minimum de modifications

le .spec cela ressemble à un script en bash en effet et je ne connais pas
bien bash

en tout cas mon .spec compile bien et donne de bon resultat sur les auto
repondeurs genre sa-test at sendmail.net

on voit bien dans le header du mail
X-SenderID: Sendmail Sender-ID Filter v1.0.0 r13151.ovh.net
<unknown-msgid>
Authentication-Results: r13151.ovh.net; sender-id=pass
header.from=fakessh at fakessh.eu; auth=pass (PLAIN); spf=pass
smtp.mfrom=fakessh at fakessh.eu


tout semble normal

pour vos question sur les rpm le mieux c est de commencer avec un rpm
source que l on connait bien et faire les modifications petits à petits


sur le wiki Fedora il y a de bonnes explications sur la construction de
rpm : mock et rpmlint


>>>> bonjour la liste
>>>> 
>>> 
>>> 
>>> je viens de l installer sur mon rps de prod
>>> et le resultat est ok
>>> les auto respondeurs repondent sender id plus spf ok
>>> 
>>> 
>>> 
>>> comment faire pour le proposer sur epel ?
>>> 
>>> 
>>> 
>>>> il existait une ancienne version de sid-milter pour centos
>>>> 
>>>> je viens de le modifier pour l adapter à la realese en cours 1.0.0
>>>> 
>>>> quand pensez vous ?
>>>> je peux le proposer sur EPEL ?
>>>> je ne connais pas la procedure à suivre ?
>>>> 
>>>> le fichier spec
>> 
>> 
>> j ai fait encore quelques modifications que voici
>> le .spec du rpm
>> 
>> Summary:        Sendmail milter for SenderID
>> Name:           sid-milter
>> Version:        1.0.0
>> Release:        1%{?dist}
>> License:        GPL
>> Group:          System Environment/Daemons
>> URL:            http://sourceforge.net/projects/sid-milter/
>> 
>> Source0:       
>> http://prdownloads.sourceforge.net/sid-milter/%{name}-%{version}.tar.gz
>> BuildRoot:      %{ tmppath}/%{name}-%{version}-%{release}-root-%(%{  id
> u}
>> -n)
>> 
>> BuildRequires:  sendmail-devel
>> Requires:       sendmail
>> 
>> Requires(pre):  /usr/sbin/useradd
>> Requires(post): /sbin/chkconfig
>> Requires(post): /sbin/service
>> Requires(preun): /sbin/chkconfig
>> Requires(preun): /sbin/service
>> Requires(postun): /sbin/service
>> 
>> %description
>> The sid-milter package is an open source implementation of the
Sender-ID
>> sender authentication system proposed by the IETF MARID working group. 
> It
>> consists of a library that implements the MARID authentication service,
>> and
>> a milter-based filter application that can plug in to the sendmail MTA
> to
>> provide that service to sufficiently recent sendmail MTAs.
>> 
>> %prep
>> %setup -q
>> 
>> %{  cat} <<'EOF' >sid-milter.sysconfig
>> # Default values
>> #
>> #PORT="inet:10034 at localhost"
>> #USER="sid-milt"
>> #REJECTION=0
>> #EXTRA ARGS="-h -l"
>> 
>> # User configuration
>> #
>> #PORT0="inet:10034 at localhost"
>> #PORT1="inet:10035 at localhost"
>> #REJECTION1=1
>> #...
>> EOF
>> 
>> %{  cat} <<'EOF' >sid-milter.sysv
>> #!/bin/bash
>> #
>> # Init file for SenderID sendmail milter.
>> #
>> # chkconfig: - 79 21
>> # description: sid-filter is a daemon that hooks into sendmail and \
>> #              sign/verify mail according SenderID standard
>> #
>> # processname: sid-filter
>> #config: %{ sysconfdir}/sysconfig/sid-milter
>> #pidfile: %{ localstatedir}/run/sid-milter.pid
>> 
>> source %{ initrddir}/functions
>> source %{ sysconfdir}/sysconfig/network
>> 
>> # Check that networking is up.
>> [ ${NETWORKING} = "no" ] && exit 0
>> 
>> [ -x %{ sbindir}/sid-filter ] || exit 1
>> 
>> ### Default variables
>> PORT="inet:10034 at localhost"
>> USER="sid-milt"
>> REJECTION=0
>> EXTRA ARGS="-h -l"
>> SYSCONFIG="%{ sysconfdir}/sysconfig/sid-milter"
>> 
>> ### Read configuration
>> [ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
>> NUM=0
>> CMD ARGS=()
>> while [ ! -z $(eval "echo \$PORT${NUM}") ]; do
>>   LPORT=${PORT}
>>   LREJECTION=${REJECTION}
>>   LEXTRA ARGS=${EXTRA ARGS}
>>   [ ! -z $(eval "echo \$PORT${NUM}") ] && LPORT=$(eval "echo
>> \$PORT${NUM}")
>>   [ ! -z $(eval "echo \$REJECTION${NUM}") ] && LREJECTION=$(eval "echo
>> \$REJECTION${NUM}")
>>   [ ! -z $(eval "echo \$EXTRA ARGS${NUM}") ] && LEXTRA ARGS=$(eval
"echo
>> \$EXTRA ARGS${NUM}")
>>   CMD ARGS[${NUM}]="-u $USER -p $LPORT -r $LREJECTION $LEXTRA ARGS"
>>   NUM=$((${NUM}+1))
>> done
>> if [ ${#CMD ARGS[*]} -eq 0 ]; then
>>   CMD ARGS[0]="-u $USER -p $PORT -r $REJECTION $EXTRA ARGS"
>> fi
>> 
>> RETVAL=0
>> prog="sid-filter"
>> desc="SenderID milter"
>> pidfile=%{ localstatedir}/run/sid-milter.pid
>> 
>> start() {
>>         for ((i=0; $i<${#CMD ARGS[*]}; i=$(($i+1)) )); do
>> 		pidfile=%{ localstatedir}/run/${prog}${i}.pid
>> 		echo -n $"Starting $desc ($prog #$i): "
>> 		touch $pidfile
>> 		chown $USER $pidfile
>> 		daemon --user $USER %{ sbindir}/${prog} ${CMD ARGS[$i]} -P $pidfile
>> 		RETVAL=$?
>> 		echo
>> 		[ $RETVAL -eq 0 ] && touch %{ localstatedir}/lock/subsys/${prog}${i}
>>         done
>> 	return $RETVAL
>> }
>> 
>> stop() {
>> 	echo -n $"Shutting down all $desc ($prog): "
>> 	killproc $prog
>> 	RETVAL=$?
>> 	echo
>> 	if [ $RETVAL -eq 0 ]; then
>> 		for ((i=0; $i<${#CMD ARGS[*]}; i=$(($i+1)) )); do
>> 			pidfile=%{ localstatedir}/run/${prog}${i}.pid
>> 			echo -n $"Cleanup for $desc ($prog #$i): "
>> 			rm -f %{ localstatedir}/lock/subsys/${prog}${i}
>> 			echo
>> 		done
>>         fi
>> 	return $RETVAL
>> }
>> 
>> restart() {
>> 	stop
>> 	sleep 2
>> 	start
>> }
>> 
>> case "$1" in
>>   start)
>> 	start
>> 	;;
>>   stop)
>> 	stop
>> 	;;
>>   restart|reload)
>> 	restart
>> 	;;
>>   condrestart)
>> 	[ -e %{ localstatedir}/lock/subsys/${prog} ] && restart
>> 	RETVAL=$?
>> 	;;
>>   status)
>> 	status $prog
>> 	RETVAL=$?
>> 	;;
>>   *)
>> 	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
>> 	RETVAL=1
>> esac
>> 
>> exit $RETVAL
>> EOF
>> 
>> %build
>> %{  make} %{? smp mflags}
>> 
>> %install
>> %{  rm} -rf %{buildroot}
>> 
>> %{  install} -D -m0755 sid-milter.sysv
>> %{buildroot}%{ initrddir}/sid-milter
>> %{  install} -D -m0644 sid-milter.sysconfig
>> %{buildroot}%{ sysconfdir}/sysconfig/sid-milter
>> %{  install} -d -m0700 %{buildroot}%{ localstatedir}/run/sid-milter
>> %{  install} -D -m0664 sid-filter/sid-filter.8
>> %{buildroot}%{ mandir}/man8/sid-filter.8
>> %{  install} -D -m0755 obj.`uname -s`.`uname -r`.`uname
>> -p`/sid-filter/sid-filter %{buildroot}%{ sbindir}/sid-filter
>> %{  strip} %{buildroot}%{ sbindir}/sid-filter
>> %{  cp} sid-filter/README sid-filter/SID README
>> 
>> %pre
>> /usr/sbin/useradd -r -s /sbin/nologin -d %{
> localstatedir}/run/sid-milter
>> \
>> 	-c "SenderID Milter" sid-milt &>/dev/null || :
>> 
>> %post
>> /sbin/chkconfig --add sid-milter || :
>> 
>> %preun
>> if [ $1 -eq 0 ]; then
>>     /sbin/service sid-milter stop &>/dev/null || :
>>     /sbin/chkconfig --del sid-milter || :
>> fi
>> 
>> %postun
>> /sbin/service sid-milter condrestart &>/dev/null || :
>> 
>> %clean
>> %{  rm} -rf %{buildroot}
>> 
>> %files
>> %defattr(-, root, root, 0755)
>> %doc INSTALL KNOWNBUGS LICENSE README README-SenderID RELEASE NOTES 
>> sid-filter/SID README
>> %{ mandir}/man8/sid-filter.8*
>> %config(noreplace) %{ sysconfdir}/sysconfig/sid-milter
>> %{ initrddir}/sid-milter
>> %{ sbindir}/sid-filter
>> %dir %attr(-,sid-milt,root) %{ localstatedir}/run/sid-milter
>> 
>> %changelog
>> * Mon Feb 12 2007 Jacob Leaver <jleaver at c-corp.net> - 0.2.14-1
>> - Compile for CentOS
>> * Fri Jul  8 2006 Petr Vokac <vokac at kmlinux.fjfi.cvut.cz> - 0.2.13-1
>> - Initial package.
>> 
>> 
>>                                                
>> CentOS-fr mailing list
>> CentOS-fr at centos.org
>> http://lists.centos.org/mailman/listinfo/centos-fr
>> 
>>


Plus d'informations sur la liste de diffusion CentOS-fr