diff --git a/ChangeLog b/ChangeLog index f7206738..55edad61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21706,3 +21706,7 @@ * Updated Debian package dependencies for shared libraries. 2021-05-18 Fred Gleason * Added an 'hpklinux-dev' build dependency for DEB packages. +2021-05-19 Fred Gleason + * Fixed typos in 'debian/control'. + * Implemented 'postinst', 'prerm' and 'postrm' script for + DEB packages. diff --git a/debian/control.src b/debian/control.src index 91df7675..1090386b 100644 --- a/debian/control.src +++ b/debian/control.src @@ -7,7 +7,7 @@ Standards-Version: 4.4.1 Package: rivendell Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, mysql-client, libqt5sql5-mysql, apache2, curl, rsyslog, rivendell-pypad (= @VERSION@) +Depends: ${shlibs:Depends}, ${misc:Depends}, mysql-client, libqt5sql5-mysql, apache2, curl, rsyslog, rivendell-pypad (= @VERSION@-1) Description: Radio Broadcast Automation System Rivendell is a complete radio broadcast automation solution, with facilities for the acquisition, management, scheduling and playout of @@ -16,7 +16,7 @@ Description: Radio Broadcast Automation System Package: rivendell-importers Architecture: any -Depends: ${misc:Depends}, rivendell (= @VERSION@) +Depends: ${misc:Depends}, rivendell (= @VERSION@-1) Description: Library importers for the Rivendell Broadcast Automation System This package contains various importer scripts, which can be used to import audio from existing legacy automation systems into Rivendell. @@ -43,7 +43,7 @@ Description: Client libraries for interfacing with Rivendell's Web API. Package: rivendell-dev Architecture: any -Depends: ${misc:Depends}, rivendell (= @VERSION@) +Depends: ${misc:Depends}, rivendell (= @VERSION@-1) Description: Header files and example code for development with Rivendell APIs This package contains header files and example code for development using Rivendell's Web C API, which can be used to integrate with Rivendell Web @@ -51,7 +51,7 @@ Description: Header files and example code for development with Rivendell APIs Package: rivendell-select Architecture: any -Depends: ${misc:Depends}, rivendell (= @VERSION@) +Depends: ${misc:Depends}, rivendell (= @VERSION@-1) Description: The RDSelect system selector tool for Rivendell. This package contains the RDMonitor/RDSelect tool for Rivendell, which can be used to select which amoung multiple Rivendell instances a host should be @@ -59,13 +59,13 @@ Description: The RDSelect system selector tool for Rivendell. Package: rivendell-webget Architecture: any -Depends: ${misc:Depends}, rivendell (= @VERSION@) +Depends: ${misc:Depends}, rivendell (= @VERSION@-1) Description: The WebGet audio fetcher service for Rivendell This package contains the WebGet audio fetching tool for Rivendell. Package: rivendell-pypad Architecture: all -Depends: python3, python3-pycurl, python3-pymysql, python3-serial, python3-requests +Depends: python3, python3-pycurl, python3-mysqldb, python3-serial, python3-requests Description: PyPAD Program Associated Data script system for Rivendell This package contains Rivendell's PyPAD scripting system for transmitting Program Associated Data (PAD) using Python scripts. diff --git a/debian/postinst b/debian/postinst index 032957fc..906a800d 100644 --- a/debian/postinst +++ b/debian/postinst @@ -1,15 +1,69 @@ #!/bin/sh -# postinst script for padpoint +# postinst script for Rivendell case "$1" in configure) ldconfig - if test ! -e /etc/padpoint.conf ; then - cp /usr/share/doc/padpoint/padpoint.conf-sample /etc/padpoint.conf - fi /bin/systemctl daemon-reload - /bin/systemctl enable padpoint - /bin/systemctl restart padpoint + /usr/sbin/groupadd -r -g 150 rivendell + /usr/sbin/useradd -o -u 150 -g rivendell -s /bin/false -r -c "Rivendell radio automation system" -d /var/snd rivendell + /usr/sbin/groupadd -r -g 151 pypad + /usr/sbin/useradd -o -u 151 -g pypad -s /bin/false -r -c "Rivendell PyPAD scripts" -d /dev/null pypad + if test ! -e /var/snd ; then + mkdir -p /var/snd + chown rivendell:rivendell /var/snd + chmod 775 /var/snd + fi + if test ! -d /etc/rivendell.d ; then + mkdir -p /etc/rivendell.d + chmod 775 /etc/rivendell.d + fi + if test ! -e /etc/rd.conf ; then + cp /usr/share/rivendell/rd.conf-sample /etc/rivendell.d/rd-default.conf + ln -s /etc/rivendell.d/rd-default.conf /etc/rd.conf + fi + if test ! -h /etc/rd.conf ; then + mv /etc/rd.conf /etc/rivendell.d/rd-default.conf + ln -s /etc/rivendell.d/rd-default.conf /etc/rd.conf + fi + # + # FIXME: Configure ALSA Here! + # + /usr/sbin/rddbmgr --modify + /bin/systemctl restart rivendell + /bin/systemctl enable rivendell + ln -f -s ../conf-available/rd-bin.conf /etc/apache2/conf-enabled/rd-bin.conf + chown rivendell:rivendell /var/www/rd-bin/rdxport.cgi + chmod 6755 /var/www/rd-bin/rdxport.cgi + /bin/systemctl restart apache2 + /bin/systemctl enable apache2 + + if test -x /usr/bin/gtk-update-icon-cache ; then + /usr/bin/gtk-update-icon-cache -f --quiet /usr/share/icons/hicolor + fi + if test ! -e /var/www/rd-bin/logos ; then + mkdir -p /var/www/rd-bin/logos + fi + if test ! -f /var/www/rd-bin/logos/webget_logo.png ; then + mkdir -p /var/www/rd-bin/logos + cp -f /usr/share/rivendell/logos/webget_logo.png /var/www/rd-bin/logos/webget_logo.png + fi + + mkdir -p /var/log/rivendell + if test ! -e /etc/rsyslog.d/rivendell.conf ; then + cp /usr/share/rivendell/syslog.conf-sample /etc/rsyslog.d/rivendell.conf + fi + /bin/systemctl restart rsyslog + + if test -x /usr/bin/rdselect_helper ; then + chown root:root /usr/bin/rdselect_helper + chmod 4755 /usr/bin/rdselect_helper + fi + + if test -x /var/www/rd-bin/webget.cgi ; then + chown root:root /var/www/rd-bin/webget.cgi + chmod 6755 /var/www/rd-bin/webget.cgi + fi ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/debian/postrm b/debian/postrm index 333ec3b0..fdf3929c 100644 --- a/debian/postrm +++ b/debian/postrm @@ -1,5 +1,5 @@ #!/bin/sh -# postrm script for fdk-aac +# postrm script for Rivendell # # see: dh_installdeb(1) @@ -21,8 +21,12 @@ set -e case "$1" in purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - /bin/systemctl daemon-reload - ldconfig + if test -x /usr/bin/gtk-update-icon-cache ; then + /usr/bin/gtk-update-icon-cache --quiet /usr/share/icons/hicolor + fi + /bin/systemctl daemon-reload + rm -f /etc/apache2/conf-enabled/rd-bin.conf + /bin/systemctl restart apache2 ;; *) diff --git a/debian/prerm b/debian/prerm index b8cca930..86157ed7 100644 --- a/debian/prerm +++ b/debian/prerm @@ -1,5 +1,5 @@ #!/bin/sh -# prerm script for fdk-aac +# prerm script for Rivendell # # see: dh_installdeb(1) @@ -19,8 +19,8 @@ set -e case "$1" in remove|upgrade|deconfigure) - /bin/systemctl stop padpoint - /bin/systemctl disable padpoint + /bin/systemctl stop rivendell + /bin/systemctl disable rivendell ;; failed-upgrade) diff --git a/debian/rules b/debian/rules index 19c4afba..0ce387c7 100755 --- a/debian/rules +++ b/debian/rules @@ -93,7 +93,8 @@ binary: mv debian/tmp/usr/share/man/man7/rd_savepodcast.7 debian/rivendell-dev/usr/share/man/man7/ mv debian/tmp/usr/share/man/man7/rd_trimaudio.7 debian/rivendell-dev/usr/share/man/man7/ mv debian/tmp/usr/share/man/man7/rd_unassignschedcode.7 debian/rivendell-dev/usr/share/man/man7/ - + mkdir -p debian/rivendell/usr/share/rivendell + cp conf/rd.conf-sample debian/rivendell/usr/share/rivendell/ # # rivendell-pypad @@ -101,7 +102,9 @@ binary: mkdir -p debian/rivendell-pypad/usr/lib/rivendell/pypad cp -a apis/pypad/scripts/pypad* debian/rivendell-pypad/usr/lib/rivendell/pypad/ mkdir -p debian/rivendell-pypad/usr/lib/python3.8/pypad - mv debian/tmp/usr/lib/python3.8/site-packages/* debian/rivendell-pypad/usr/lib/python3.8/pypad/ + mv debian/tmp/usr/lib/python3.8/site-packages/pypad.py debian/rivendell-pypad/usr/lib/python3.8/pypad/ + mv debian/tmp/usr/lib/python3.8/site-packages/__pycache__ debian/rivendell-pypad/usr/lib/python3.8/pypad/ + rmdir debian/tmp/usr/lib/python3.8/site-packages # # rivendell-select @@ -136,8 +139,9 @@ binary: rm -rf debian/tmp/var mkdir -p debian/rivendell/etc/logrotate.d cp conf/logrotate-sample debian/rivendell/etc/logrotate.d/rivendell + mkdir -p debian/rivendell/usr/share/rivendell/logos + cp icons/webget_logo.png debian/rivendell/usr/share/rivendell/logos/ mkdir -p debian/rivendell/usr/share/doc/rivendell/logos - cp icons/webget_logo.png debian/rivendell/usr/share/doc/rivendell/logos/ cp AUTHORS debian/rivendell/usr/share/doc/rivendell/ cp NEWS debian/rivendell/usr/share/doc/rivendell/ cp README debian/rivendell/usr/share/doc/rivendell/ @@ -146,10 +150,11 @@ binary: cp conf/*.conf debian/rivendell/usr/share/doc/rivendell/ cat conf/rd.conf-sample | sed s/SyslogFacility=1/SyslogFacility=23/ > debian/rivendell/usr/share/doc/rivendell/rd.conf-sample cp conf/asound.conf-sample debian/rivendell/usr/share/doc/rivendell/ - mkdir -p debian/rivendell/usr/share/doc/rivendell/misc - cp conf/syslog.conf-sample debian/rivendell/usr/share/doc/rivendell/ + mkdir -p debian/rivendell/usr/share/rivendell + cp conf/syslog.conf-sample debian/rivendell/usr/share/rivendell/ mkdir -p debian/rivendell/etc/fail2ban/filter.d cp conf/rivendell-webapi.conf debian/rivendell/etc/fail2ban/filter.d/ + mkdir -p debian/rivendell/usr/share/doc/rivendell/misc cp docs/misc/colors debian/rivendell/usr/share/doc/rivendell/misc/ cp docs/misc/reports.txt debian/rivendell/usr/share/doc/rivendell/misc/ cp docs/misc/ALSA.txt debian/rivendell/usr/share/doc/rivendell/misc/