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

fakessh fakessh at fakessh.eu
Mer 16 Déc 22:40:56 UTC 2009


bonjour la liste

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
ummary:        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:10040 at localhost"
#USER="sid-milter"
#REJECTION=0
#EXTRA_ARGS="-h -l"

# User configuration
#
#PORT0="inet:10040 at localhost"
#PORT1="inet:10040 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:10040 at localhost"
USER="sid-milter"
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.





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