Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > ed686d5b6d880b81793085de99190594 > files > 3

VOCP-0.9.3-4mdk.src.rpm


# NOTE:
# This turned out to be a very messy software to 
# pack... it makes mr. lint crazy. I should remember
# to stay away from packaging GUI:s...
# 
# Should it live in /usr/local/? no...
# Should it live in /var/lib/? no...
# Should it live in /usr/lib/? no...
# Should I rewrite the whole software to please mr 
# lint? no way...
# 

%define name	VOCP
%define version	0.9.3
%define release	4mdk

Summary:	The VOCP system is a complete voice messaging solution
Name:		%{name}
Version:	%{version}
Release:	%{release}
License:	GPL
Group:		System/Servers
URL:		http://www.vocpsystem.com/
Source0:	%{name}-%{version}.tar.bz2
Source1:	%{name}-%{version}-apache.conf.bz2
Source2:	vocplogo16x16.png
Source3:	vocplogo32x32.png
Source4:	vocplogo48x48.png
PreReq:		rpm-helper
Requires:	perl
Requires:	perl-Modem-Vgetty >= 0.04
Requires:	perl-XML-Mini >= 1.2.7
Requires:	perl-Audio-DSP >= 0.02-2mdk
Requires:	perl-MIME-tools
Requires:	perl-Tk
Requires:	mgetty-voice >= 1.1.30
Requires:	mgetty-contrib >= 1.1.30
Requires:	mgetty-sendfax >= 1.1.30
Requires:	mgetty-viewfax >= 1.1.30
Requires:	mgetty >= 1.1.30
Requires:	festival
BuildRequires:	perl-devel mgetty-voice >= 1.1.30
BuildRequires:	perl-XML-Mini >= 1.2.7
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
The VOCP system is a complete voice messaging solution, featuring
voicemail boxes, email pagers and DTMF command shells.  Users can
navigate the system using a touch-tone phone, leave and retrieve
messages and execute programs on the host machine using the DTMF
command shells.

VOCP now features a graphical configuration utility, a message
retrieval, call center and faxing GUIs, as well as the core VOCP
voice messaging system and the VOCPweb web interface.  

%package	web
Summary:	VOCPweb - Part of the VOCP voice messaging system.
Group:		System/Servers
Requires:	%{name} = %{version}
Requires:	perl-Crypt-CBC >= 2.08
Requires:	perl-Crypt-Blowfish
Requires:	perl-Crypt-Rijndael >= 0.05
Requires:	apache2

%description	web
The VOCP web interface, which permits users to retrieve voicemail
from anywhere through a browser!

The program, vocpweb.cgi, lets users view the number of messages
in the box, details (date and time) for each message and allows
users to download or even hear their messages with their browsers.

%prep

%setup -q -n vocp-%{version}

# fix strange perms
find . -type f | xargs chmod 644
find . -type d | xargs chmod 755

# path hacks instead of a patch
find . -type f | xargs %{__perl} -p -i -e "s|^#\!/usr/local/bin/perl|#\!/usr/bin/perl|g"
find . -type f | xargs %{__perl} -p -i -e "s|/usr/local/vocp/lib|%{_datadir}/vocp/lib|g"
find . -type f | xargs %{__perl} -p -i -e "s|/usr/local/vocp/|%{_datadir}/vocp/|g"
find . -type f | xargs %{__perl} -p -i -e "s|/usr/local/vocp|%{_datadir}/vocp|g"
find . -type f | xargs %{__perl} -p -i -e "s|/usr/local/bin|%{_bindir}|g"
find . -type f | xargs %{__perl} -p -i -e "s|/var/spool/voice/commands|%{_datadir}/vocp/voice/commands|g"

# fix the vocweb stuff
%{__perl} -p -i -e "s|\$Web_serv_user = \'nobody\'\;|\$Web_serv_user = \'apache\'\;|g" vocpweb/vocpweb.cgi
%{__perl} -p -i -e "s|^#cachedir.*|cachedir cache|g" prog/vocp.conf
%{__perl} -p -i -e "s|^#group.*|group vocp|g" prog/vocp.conf

%build

# build the perl stuff
pushd prog/VOCP
    %{__perl} Makefile.PL INSTALLDIRS=vendor PREFIX=%{_prefix} </dev/null
    %{__make}
    %{__make} test
popd

# build binaries
gcc %{optflags} -o prog/bin/pwcheck prog/bin/pwcheck.c
gcc %{optflags} -o prog/bin/xfer_to_vocp prog/bin/xfer_to_vocp.c

%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

# install the perl stuff
pushd prog/VOCP
    %{__make} PREFIX=%{buildroot}/%{_prefix} install
popd

# make some directories
install -d %{buildroot}/var/spool/voice/messages/{num,day,system,menu}
install -d %{buildroot}/var/spool/voice/messages/incoming/cache
install -d %{buildroot}/%{_sysconfdir}/vocp
install -d %{buildroot}/%{_sysconfdir}/logrotate.d
install -d %{buildroot}/%{_datadir}/vocp/{bin,lib,run}
install -d %{buildroot}/%{_datadir}/vocp/voice/commands
install -d %{buildroot}/%{_sysconfdir}/httpd/conf.d
install -d %{buildroot}/%{_menudir}
install -d %{buildroot}/%{_liconsdir}
install -d %{buildroot}/%{_iconsdir}
install -d %{buildroot}/%{_miconsdir}
install -d %{buildroot}/%{_bindir}

mv prog/VOCP/Changes Changes.VOCP
mv doc/README doc/README.docs
mv prog/bin/README prog/README.bin

mv vocpweb/INSTALL INSTALL.vocpweb
mv vocpweb/README README.vocpweb
mv vocpweb/SECURITY SECURITY.vocpweb

# install config files
install -m644 prog/boxes.conf %{buildroot}/%{_sysconfdir}/vocp/
install -m644 prog/boxes.conf.sample %{buildroot}/%{_sysconfdir}/vocp/
install -m640 prog/boxes.conf.shadow %{buildroot}/%{_sysconfdir}/vocp/
install -m644 prog/cid-filter.conf %{buildroot}/%{_sysconfdir}/vocp/
install -m644 prog/vocp.conf %{buildroot}/%{_sysconfdir}/vocp/

# install commands
install -m755 commands/* %{buildroot}/%{_datadir}/vocp/voice/commands/

# install images
cp -aRf images %{buildroot}/%{_datadir}/vocp/

# install messages
cp -aRf messages %{buildroot}/%{_datadir}/vocp/

# install sounds
cp -aRf sounds %{buildroot}/%{_datadir}/vocp/

# install lib
install -m644 prog/lib/* %{buildroot}/%{_datadir}/vocp/lib/

# install binaries and other perl stuff
install -m755 modify_sample_rate.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/boxconf.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/callcenter.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/cnd-logger.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/convert_boxconf.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/convert_fax.sh %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/cryptpass.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/debug/beeveegetty.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/email2vm.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/pvftomp3 %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/pvftoogg %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/toggleEmail2Vm.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/txttopvf %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/view_fax.sh %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/vocphax.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/vocplocal.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/wav2rmd.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/bin/xvocp.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m755 prog/vocp.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m2755 prog/bin/messages.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m2755 prog/bin/pwcheck %{buildroot}/%{_datadir}/vocp/bin/
install -m2755 prog/bin/pwcheck.pl %{buildroot}/%{_datadir}/vocp/bin/
install -m4755 prog/bin/xfer_to_vocp %{buildroot}/%{_datadir}/vocp/bin/
install -m4755 prog/bin/xfer_to_vocp.pl %{buildroot}/%{_datadir}/vocp/bin/

# install vocpweb
cp -aRf vocpweb %{buildroot}/%{_datadir}/vocp/
bzcat %{SOURCE1} > %{buildroot}/%{_sysconfdir}/httpd/conf.d/a10_vocpweb.conf
chmod 640 %{buildroot}/%{_sysconfdir}/httpd/conf.d/a10_vocpweb.conf

# fix the doc dir (for help files)
ln -s ../doc/%{name}-%{version} %{buildroot}/%{_datadir}/vocp/doc

# fix softlinks for some of the executables
ln -s %{_datadir}/vocp/bin/xvocp.pl %{buildroot}/%{_bindir}/xvocp
ln -s %{_datadir}/vocp/bin/boxconf.pl %{buildroot}/%{_bindir}/boxconf
ln -s %{_datadir}/vocp/bin/callcenter.pl %{buildroot}/%{_bindir}/callcenter
ln -s %{_datadir}/vocp/bin/vocphax.pl %{buildroot}/%{_bindir}/vocphax

# fix menu stuff

cat > %{buildroot}/%{_menudir}/%{name} << EOF
?package(%{name}): \
command="%{_bindir}/xvocp" \
needs="X11" \
icon="vocp.png" \
section="Applications/Communications" \
title="VOCP (VOCP Graphical voice message retrieval)" \
longtitle="Xvocp presents a graphical user interface to the contents of voice mail boxes."

?package(%{name}): \
command="%{_bindir}/boxconf" \
needs="X11" \
icon="vocp.png" \
section="Applications/Communications" \
title="Boxconf (VOCP Box Configuration interface)" \
longtitle="Boxconf presents a graphical user interface used to administer the VOCP system box configuration."

?package(%{name}): \
command="%{_bindir}/callcenter" \
needs="X11" \
icon="vocp.png" \
section="Applications/Communications" \
title="Callcenter (VOCP Call Center)" \
longtitle="The VOCP call center is meant to be an \"always on\" call monitor and to give quick access to other VOCP GUIs and your call log."

?package(%{name}): \
command="%{_bindir}/vocphax" \
needs="X11" \
icon="vocp.png" \
section="Applications/Communications" \
title="VOCPhax (VOCP Fax Viewer and Sender GUI)" \
longtitle="VOCPhax presents a (hopefully) friendly and intuitive graphical interface to view and send faxes."
EOF

# install script to call the web interface from the menu.
cat > %{buildroot}/%{_datadir}/vocp/bin/%{name}-web << EOF
#!/bin/sh
url='http://localhost/vocpweb/index.html'
if ! [ -z "\$BROWSER" ] && ( which \$BROWSER ); then
  browser=\`which \$BROWSER\`
elif [ -x /usr/bin/netscape ]; then
  browser=/usr/bin/netscape
elif [ -x /usr/bin/konqueror ]; then
  browser=/usr/bin/konqueror
elif [ -x /usr/bin/lynx ]; then
  browser='xterm -bg black -fg white -e lynx'
elif [ -x /usr/bin/links ]; then
  browser='xterm -bg black -fg white -e links'
else
  xmessage "No web browser found, install one or set the BROWSER environment variable!"
  exit 1
fi
\$browser \$url
EOF
chmod 755 %{buildroot}/%{_datadir}/vocp/bin/%{name}-web

# install menu entry.
cat > %{buildroot}/%{_menudir}/%{name}-web << EOF
?package(%{name}-web): \
command="%{_datadir}/vocp/bin/%{name}-web 1>/dev/null 2>/dev/null" \
needs="X11" \
icon="vocp.png" \
section="Applications/Communications" \
title="VOCPweb (VOCP Web Remote Message Retrieval)" \
longtitle="VOCPweb allows you to log on to the VOCP voice messaging system and retrieve messages through a browser."
EOF

chmod 644 %{buildroot}/%{_menudir}/%{name}*

install -m644 %{SOURCE2} %{buildroot}/%{_miconsdir}/vocp.png
install -m644 %{SOURCE3} %{buildroot}/%{_iconsdir}/vocp.png
install -m644 %{SOURCE4} %{buildroot}/%{_liconsdir}/vocp.png

# fix logrotate stuff
cat > %{buildroot}/%{_sysconfdir}/logrotate.d/callcenter << EOF
/var/log/vocp-calls.log {
    create 0644 root vocp
    rotate 4
    missingok
    nocompress
}
EOF
chmod 644 %{buildroot}/%{_sysconfdir}/logrotate.d/callcenter

%pre
%_pre_useradd vocp /var/spool/voice /bin/true

%post
%update_menus

%postun
%_postun_userdel vocp
%clean_menus

%post		web
%update_menus

%postun		web
%clean_menus

%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc Changes.VOCP doc/* CHANGELOG INSTALL README prog/README.bin
%attr(0755,root,vocp) %dir %{_sysconfdir}/vocp
%attr(0644,root,vocp) %config(noreplace) %{_sysconfdir}/vocp/boxes.conf
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/vocp/boxes.conf.sample
%attr(0640,root,vocp) %config(noreplace) %{_sysconfdir}/vocp/boxes.conf.shadow
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/vocp/cid-filter.conf
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/vocp/vocp.conf
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/callcenter
%dir %{_datadir}/vocp
%dir %{_datadir}/vocp/voice
%dir %{_datadir}/vocp/voice/commands
%attr(0755,root,root) %{_datadir}/vocp/voice/commands/date.pl
%attr(0755,root,root) %{_datadir}/vocp/voice/commands/echo.pl
%attr(0755,root,root) %{_datadir}/vocp/voice/commands/ip.pl
%attr(0755,root,root) %{_datadir}/vocp/voice/commands/motd.pl
%attr(0755,root,root) %{_datadir}/vocp/voice/commands/seleclisting.pl
%{_datadir}/vocp/images
%{_datadir}/vocp/messages
%{_datadir}/vocp/sounds
%{_datadir}/vocp/lib
%dir %{_datadir}/vocp/bin
%attr(0755,root,root) %{_datadir}/vocp/bin/beeveegetty.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/boxconf.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/callcenter.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/cnd-logger.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/convert_boxconf.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/convert_fax.sh
%attr(0755,root,root) %{_datadir}/vocp/bin/cryptpass.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/email2vm.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/modify_sample_rate.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/pvftomp3
%attr(0755,root,root) %{_datadir}/vocp/bin/pvftoogg
%attr(0755,root,root) %{_datadir}/vocp/bin/toggleEmail2Vm.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/txttopvf
%attr(0755,root,root) %{_datadir}/vocp/bin/view_fax.sh
%attr(0755,root,root) %{_datadir}/vocp/bin/vocphax.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/vocplocal.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/vocp.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/wav2rmd.pl
%attr(0755,root,root) %{_datadir}/vocp/bin/xvocp.pl
%attr(2755,root,vocp) %{_datadir}/vocp/bin/messages.pl
%attr(2755,root,vocp) %{_datadir}/vocp/bin/pwcheck
%attr(2755,root,vocp) %{_datadir}/vocp/bin/pwcheck.pl
%attr(4755,root,vocp) %{_datadir}/vocp/bin/xfer_to_vocp
%attr(4755,root,vocp) %{_datadir}/vocp/bin/xfer_to_vocp.pl
%dir %attr(0755,root,root) %{_datadir}/vocp/run
%dir %attr(0755,root,root) %{_datadir}/vocp/doc
%dir %attr(0755,root,root) /var/spool/voice/messages/num
%dir %attr(0755,root,root) /var/spool/voice/messages/day
%dir %attr(0755,root,root) /var/spool/voice/messages/system
%dir %attr(0755,root,root) /var/spool/voice/messages/menu
%dir %attr(1777,root,vocp) /var/spool/voice/messages/incoming
%dir %attr(1777,root,vocp) /var/spool/voice/messages/incoming/cache
%{perl_vendorlib}/*.pm
%{perl_vendorlib}/VOCP
%{perl_vendorlib}/auto/VOCP
%{_mandir}/man3*/*
%attr(0755,root,root) %{_bindir}/*
%attr(0644,root,root) %{_menudir}/%{name}
%attr(0644,root,root) %{_miconsdir}/*.png
%attr(0644,root,root) %{_iconsdir}/*.png
%attr(0644,root,root) %{_liconsdir}/*.png

%files web
%defattr(-, root, root)
%doc INSTALL.vocpweb README.vocpweb SECURITY.vocpweb
%attr(0640,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/a10_vocpweb.conf
%dir %{_datadir}/vocp/vocpweb
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/index.html
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/styles.css
%attr(0755,root,root) %{_datadir}/vocp/vocpweb/vocpweb.cgi
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/vocpwebhelp.html
%dir %{_datadir}/vocp/vocpweb/img
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/img/*.gif
%dir %{_datadir}/vocp/vocpweb/tpl
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/tpl/*.html
%dir %attr(1777,root,vocp) %{_datadir}/vocp/vocpweb/sounds
%attr(0644,root,root) %{_datadir}/vocp/vocpweb/sounds/index.html
%attr(0755,root,root) %{_datadir}/vocp/bin/%{name}-web
%attr(0644,root,root) %{_menudir}/%{name}-web

%changelog
* Tue Jan 18 2005 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 0.9.3-4mdk
- Remove dependencies on perl-Tk-JPEG and perl-Tk-PNG, which are now
  provided by the package perl-Tk

* Sun Feb 29 2004 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.9.3-3mdk
- Fix DIRM (distlint)

* Sun Feb 16 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 0.9.3-2mdk
- BuildRequires: perl-XML-Mini >= 1.2.7
- ship icons unpacked

* Sun Feb 16 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 0.9.3-1mdk
- initial cooker contrib (untested because I lack the hardware)