[Asterisk-Dev] rpm builds

marek cervenka cervajs at fpf.slu.cz
Wed Dec 29 09:31:05 MST 2004


hi,

because redhat/ directory in asterisk is deprecated and unmaintained
i'm cleaned asterisk.spec (from LSE, tnx) for 1.0.3
file is in attachment(put him into tarball)

now it is possible
rpmbuild -ta asterisk-1.0.3.tar.gz

with some work is possible autogenerate asterisk rpm from cvs snapshots
are you interested in this activity?

---------------------------------------
Marek Cervenka
Centrum Vypocetni Techniky
CVT 		- http://cvt.fpf.slu.cz
FPF SLU OPAVA 	- http://www.fpf.slu.cz
LCNA 		- http://lcna.slu.cz
=======================================
-------------- next part --------------
%define version		1.0.3
%define name		asterisk
%define release		1
%define group		Applications/Internet
%define copyright	GPL
%define uname		%{name}
%define gname		%{name}

summary		: A complete PBX in software
name		: %{name}
version		: %{version}
release		: %{release}
group		: %{group}
copyright	: %{copyright}
url		: http://www.asterisk.org/
vendor		: www.digium.com
provides	: %{name}
buildroot	: /var/tmp/%{name}-%{version}
buildrequires	: zaptel-devel, libpri-devel

source0: %{name}-%{version}.tar.gz


%description
Asterisk is an Open Source PBX and telephony toolkit.  It is, in a
sense, middleware between Internet and telephony channels on the bottom,
and Internet and telephony applications at the top.  For more information
on the project itself, please visit the Asterisk home page at:

	http://www.asterisk.org

%package devel
Summary		: Development libraries and headers for Asterisk PBX package
Group		: %{group}
requires	: %{name} >= %{release}

%description devel
Development Libraries and headers for Asterisk PBX package


%package webvmail
summary		: Asterisk Web Voicemail
group		: %{group}
requires	: %{name} >= %{release}

%description webvmail
SUID ROOT Perl cgi script for web based Voicemail retrieval.

%prep
%setup -q 

%build

#init.d/asterisk modifications
perl -pi -e's,export LD_ASSUME_KERNEL=2.4.1,#export LD_ASSUME_KERNEL=2.4.1,g' contrib/init.d/rc.redhat.asterisk
perl -pi -e's,#AST_USER="asterisk",AST_USER="asterisk",g' contrib/init.d/rc.redhat.asterisk
perl -pi -e's,#AST_GROUP="asterisk",AST_GROUP="asterisk",g' contrib/init.d/rc.redhat.asterisk

# Replace /var/run by /var/run/asterisk since we don't run as root
sed -i "s/ASTVARRUNDIR=\$(INSTALL_PREFIX)\/var\/run/ASTVARRUNDIR=\$\(INSTALL_PREFIX\)\/var\/run\/%{name}/g" Makefile
make 

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/include/linux
mkdir -p %{buildroot}/var/www/{html,cgi-bin/astcc-admin}
mkdir -p %{buildroot}/var/run/asterisk

## install asterisk
  mkdir -p %{buildroot}/var/www/{cgi-bin,html/_asterisk}
  make INSTALL_PREFIX=%{buildroot} install 
  make INSTALL_PREFIX=%{buildroot} samples
  make DESTDIR=%{buildroot} webvmail
  install -D -m 0755 contrib/init.d/rc.redhat.asterisk %{buildroot}%{_initrddir}/%{name}
  install -m 755 contrib/scripts/addmailbox %{buildroot}/%{_sbindir}


# Override wrong absolute links
rm -f %{buildroot}%{_localstatedir}/lib/%{name}/sounds/vm && \
    ln -sf ../../../spool/%{name}/vm \
           %{buildroot}%{_localstatedir}/lib/%{name}/sounds/vm
rm -f %{buildroot}%{_localstatedir}/lib/%{name}/sounds/voicemail && \
    ln -sf ../../../spool/%{name}/voicemail \
           %{buildroot}%{_localstatedir}/lib/%{name}/sounds/voicemail
rm -f %{buildroot}%{_localstatedir}/spool/%{name}/vm && \
    ln -sf voicemail/default \
           %{buildroot}%{_localstatedir}/spool/%{name}/vm

# fix samples installation
pushd %{buildroot}/%{_sysconfdir}/%{name}
for i in `find . -type f`; do
  sed s,%{buildroot},,g < $i > $i.fix
  mv -f $i.fix $i
done
popd

%clean
rm -rf %{buildroot}

%pre
# Add the "%{name}" user
/usr/sbin/useradd -c "Asterisk PBX" -G tty -s /sbin/nologin -r \
    -d "%{_localstatedir}/lib/%{name}" %{uname} 2>/dev/null || :

%post
# Register the %{name} service
/sbin/chkconfig %{name} --add 
/sbin/chkconfig %{name} on

echo "+-----------------------------------------------------------------------+"
echo "+                                                                       +"
echo "+ Asterisk is installed. To get started, read the official Digium(TM)   +"
echo "+ handbook at: http://www.digium.com/handbook-draft.pdf then see the    +"
echo "+ documentation in /usr/share/doc/asterisk-%{version}                       +"
echo "+                                                                       +"
echo "+-----------------------------------------------------------------------+"

%post webvmail
echo "+-----------------------------------------------------------------------+"
echo "+                                                                       +"
echo "+ NOTE:  Asterisk Web Voicemail is installed in your cgi-bin directory. +"
echo "+ IT USES A SETUID ROOT PERL SCRIPT, IF YOU DON'T LIKE THAT, REMOVE IT! +"
echo "+                                                                       +"
echo "+-----------------------------------------------------------------------+"

%preun
if [ $1 -eq 0 ]; then
    /sbin/service %{name} stop >/dev/null 2>&1
    /sbin/chkconfig %{name} --del 
fi

%postun
echo "+-----------------------------------------------------------------------+"
echo "+                                                                       +"
echo "+ Asterisk has been removed. The following directories may need to      +"
echo "+ be deleted manually:                                                  +"
echo "+         /etc/asterisk/                                                +"
echo "+         /var/lib/asterisk/                                            +"
echo "+         /var/spool/asterisk/                                          +"
echo "+         /var/log/asterisk/                                            +"
echo "+         /var/run/asterisk/                                            +"
echo "+         /usr/lib/asterisk/                                            +"
echo "+                                                                       +"
echo "+-----------------------------------------------------------------------+"


%files
%defattr(-  ,%{uname},%{gname})
/etc/rc.d/init.d/asterisk
/usr/lib/asterisk/modules/*
/usr/sbin/addmailbox
/usr/sbin/asterisk
/usr/sbin/astgenkey
/usr/sbin/astman
/usr/sbin/safe_asterisk
/usr/share/man/man8/asterisk.8.gz
/var/lib/asterisk/agi-bin/agi-test.agi
/var/lib/asterisk/agi-bin/eagi-sphinx-test
/var/lib/asterisk/agi-bin/eagi-test
/var/lib/asterisk/firmware/iax/iaxy.bin
/var/lib/asterisk/images/asterisk-intro.jpg
/var/lib/asterisk/keys/freeworlddialup.pub
/var/lib/asterisk/keys/iaxtel.pub
/var/lib/asterisk/mohmp3/fpm-calm-river.mp3
/var/lib/asterisk/mohmp3/fpm-sunshine.mp3
/var/lib/asterisk/mohmp3/fpm-world-mix.mp3
/var/lib/asterisk/sounds/*
/var/lib/asterisk/sounds/digits/*
/var/lib/asterisk/sounds/letters/*
/var/lib/asterisk/sounds/phonetic/*
%dir %{_sysconfdir}/%{name}
%attr(-  ,%{uname},%{gname}) %{_localstatedir}/lib/%{name}
%attr(750,%{uname},%{gname}) %{_localstatedir}/run/%{name}
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/log/%{name}
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/log/%{name}/cdr-csv
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/spool/%{name}
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/spool/%{name}/vm
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/spool/%{name}/voicemail
%attr(750,%{uname},%{gname}) %dir %{_localstatedir}/spool/%{name}/voicemail/default
%attr(640,%{uname},%{gname}) %{_localstatedir}/spool/%{name}/voicemail/default/1234/*
%attr(640,%{uname},%{gname}) %config(noreplace) %{_sysconfdir}/%{name}/*.conf
%attr(640,%{uname},%{gname}) %config(noreplace) %{_sysconfdir}/%{name}/*.adsi


%files devel
/usr/include/asterisk/*

%files webvmail
/var/www/html/_asterisk/play.gif
/var/www/html/_asterisk/animlogo.gif
/var/www/cgi-bin/vmail.cgi

%define date    %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} 19:25:55  marek cervenka <cervajs at fpf.slu.cz>
- first version



More information about the asterisk-dev mailing list