2021-05-17 Fred Gleason <fredg@paravelsystems.com>

* Added a 'make dep' target.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-05-17 10:18:35 -04:00
parent 83f2bffa95
commit 69b393c2e2
14 changed files with 492 additions and 1 deletions

View File

@@ -21642,3 +21642,5 @@
rdairplay(1) to salted SHA1.
2021-04-27 Fred Gleason <fredg@paravelsystems.com>
* Updated the 'Required build packages' list for Ubuntu in 'INSTALL'.
2021-05-17 Fred Gleason <fredg@paravelsystems.com>
* Added a 'make dep' target.

View File

@@ -26,7 +26,8 @@ if ALSA_RD_AM
ALSACONFIG_RD_OPT = rdalsaconfig
endif
SUBDIRS = icons\
SUBDIRS = debian\
icons\
helpers\
lib\
$(HPI_RD_OPT) apis\
@@ -67,6 +68,9 @@ ACLOCAL_AMFLAGS = -I m4
maintainer-clean-local:
rm -rf m4
deb: dist
./build_debs.sh
rpm: dist
mkdir -p $(HOME)/rpmbuild/SOURCES
cp rivendell-$(VERSION).tar.gz $(HOME)/rpmbuild/SOURCES/
@@ -93,9 +97,15 @@ EXTRA_DIST = autogen.sh\
UPGRADING
CLEANFILES = *~\
*.buildinfo\
*.changes\
*.ddeb\
*.deb\
*.dsc\
*.mo\
*.rpm\
*.tar.gz\
*.tar.xz\
*.tgz\
*.zip\
py-compile

30
build_debs.sh.in Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
# build_debs.sh
#
# Build Debian packages.
#
# (C) Copyright 2021 Fred Gleason <fredg@paravelsystems.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
tar -zvxf rivendell-@VERSION@.tar.gz
mv rivendell-@VERSION@.tar.gz rivendell_@VERSION@.orig.tar.gz
cd rivendell-@VERSION@
dpkg-buildpackage -us -uc
cd ..
rm -rf rivendell-@VERSION@

View File

@@ -506,6 +506,8 @@ ln -s ../../icons/redx.png docs/opsguide/redx.png
AC_CONFIG_FILES([rivendell.spec \
debian/Makefile \
debian/source/Makefile \
Makefile \
conf/rd-bin.conf \
icons/Makefile \
@@ -596,10 +598,12 @@ AC_CONFIG_FILES([rivendell.spec \
xdg/Makefile \
xdg/rdalsaconfig-root-consolehelper \
xdg/rddbconfig-root-consolehelper \
build_debs.sh \
])
AC_OUTPUT()
chmod 755 helpers/install_python.sh
chmod 755 build_debs.sh
#
# Create symlinks in 'utils/rdselect_helper/'

31
debian/Makefile.am vendored Normal file
View File

@@ -0,0 +1,31 @@
## automake.am
##
## Automake.am for rivendell debian/
##
## (C) Copyright 2021 Fred Gleason <fredg@paravelsystems.com>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of
## the License, or (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public
## License along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
##
## Use automake to process this into a Makefile.in
SUBDIRS = source
EXTRA_DIST = changelog\
control\
copyright\
postinst\
postrm\
prerm\
rules

5
debian/changelog vendored Normal file
View File

@@ -0,0 +1,5 @@
rivendell (3.5.0int0-1) unstable; urgency=medium
* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>
-- Fred Gleason <fredg@paravelsystems.com> Wed, 05 May 2021 14:12:22 -0400

71
debian/control vendored Normal file
View File

@@ -0,0 +1,71 @@
Source: rivendell
Section: audio
Priority: optional
Maintainer: Fred Gleason <fredg@paravelsystems.com>
Build-Depends: debhelper-compat (= 12), autotools-dev
Standards-Version: 4.4.1
Package: rivendell
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Radio Broadcast Automation System
Rivendell is a complete radio broadcast automation solution, with
facilities for the acquisition, management, scheduling and playout of
audio content. Modules for the production and management of podcast
audio are also included.
Package: rivendell-importers
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
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.
Currently, scripts exist for the AirForce Wings, Prophet NexGen and Sierra
Automated Systems SASAuto systems, as well as from another Rivendell system
(useful for 'merging' multiple databases). Additionally, scripts for
initializing switcher matrices for the Christian Radio Consortium
(CRC) Unity4000 network and copying RDCatch event lists between hosts
are included.
Package: rivendell-opsguide
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Rivendell Operations and Administration Guide
This package contains the Rivendell Operations and Administration Guide,
in both HTML and PDF formats.
Package: rivendell-webapi
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Client libraries for interfacing with Rivendell's Web API.
This package contains client libraries for interfacing with Rivendell's
Web API subsystem.
Package: rivendell-devel
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
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
API Interface.
Package: rivendell-select
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
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
associated with.
Package: rivendell-webget
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: The WebGet audio fetcher service for Rivendell
This package contains the WebGet audio fetching tool for Rivendell.
Package: rivendell-pypad
Architecture: all
Depends:
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.

31
debian/copyright vendored Normal file
View File

@@ -0,0 +1,31 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: rivendell
Upstream-Contact: fredg@paravelsystems.com
Source: http://rivendellaudio.org/ftpdocs/rivendell/
Files: *
Copyright: 2002-2021 Fred Gleason <fredg@paravelsystems.com>
License: GPL-2
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
Files: docs/*
Copyright: 2002-2021 Fred Gleason <fredg@paravelsystems.com>
License: GFDL-1.3
Permission is granted to copy, distribute and/or modify this documentation
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in "/usr/share/common-licenses/GFDL-1.3".

29
debian/postinst vendored Normal file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
# postinst script for padpoint
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
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

39
debian/postrm vendored Normal file
View File

@@ -0,0 +1,39 @@
#!/bin/sh
# postrm script for fdk-aac
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
/bin/systemctl daemon-reload
ldconfig
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

40
debian/prerm vendored Normal file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
# prerm script for fdk-aac
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove|upgrade|deconfigure)
/bin/systemctl stop padpoint
/bin/systemctl disable padpoint
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

175
debian/rules vendored Executable file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/make -f
build:
dh_update_autotools_config
dh_autoreconf
./configure --prefix=/usr --libdir=/usr/lib --libexecdir=/var/www/rd-bin --sysconfdir=/etc/apache2/conf-available MUSICBRAINZ_LIBS="-ldiscid -lmusicbrainz5cc -lcoverartcc"
make $(DEBUILD_MAKE_ARGS)
binary:
dh_testroot
dh_prep
dh_auto_install
dh_installchangelogs ChangeLog
#
# rivendell-webapi
#
mkdir -p debian/rivendell-webapi/usr/lib
mv debian/tmp/usr/lib/librivwebcapi.so.* debian/rivendell-webapi/usr/lib/
#
# rivendell-importers
#
mkdir -p debian/rivendell-importers/usr/bin
mv debian/tmp/usr/bin/wings_filter debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/rivendell_filter debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/nexgen_filter debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/sas_filter debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/crc-unity4k.sh debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/rdcatch_copy debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/panel_copy debian/rivendell-importers/usr/bin/
mv debian/tmp/usr/bin/rddgimport debian/rivendell-importers/usr/bin/
#
# rivendell-opsguide
#
mkdir -p debian/rivendell-opsguide/usr/share/rivendell
mv debian/tmp/usr/share/rivendell/opsguide.pdf debian/rivendell-opsguide/usr/share/rivendell/
mv debian/tmp/usr/share/rivendell/html debian/rivendell-opsguide/usr/share/rivendell/
#
# rivendell-devel
#
mkdir -p debian/rivendell-devel/usr/lib
mv debian/tmp/usr/lib/librivwebcapi.so debian/rivendell-devel/usr/lib/
mv debian/tmp/usr/lib/librivwebcapi.a debian/rivendell-devel/usr/lib/
mkdir -p debian/rivendell-devel/usr/share/pkgconfig
mv debian/tmp/usr/lib/pkgconfig/rivwebcapi.pc debian/rivendell-devel/usr/share/pkgconfig/
mkdir -p debian/rivendell-devel/usr/include
mv debian/tmp/usr/include/rivwebcapi debian/rivendell-devel/usr/include/
mkdir -p debian/rivendell-devel/usr/share/man/man7
mv debian/tmp/usr/share/man/man7/rd_addcart.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_addcut.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_addlog.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_assignschedcode.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_audioinfo.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_audiostore.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_copyaudio.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_createticket.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_deleteaudio.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_deletelog.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_deletepodcast.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_editcart.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_editcut.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_export.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_exportpeaks.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_getuseragent.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_getversion.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_import.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcart.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcartcuts.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcarts.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcartscuts.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcartschedcodes.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcut.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listcuts.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listgroup.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listgroups.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listlog.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listlogs.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listschedcodes.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listservices.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_listsystemsettings.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_postimage.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_postpodcast.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_postrss.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_removecart.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_removecut.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_removeimage.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_removepodcast.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_removerss.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_savelog.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_savepodcast.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_trimaudio.7 debian/rivendell-devel/usr/share/man/man7/
mv debian/tmp/usr/share/man/man7/rd_unassignschedcode.7 debian/rivendell-devel/usr/share/man/man7/
#
# rivendell-pypad
#
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/
#
# rivendell-select
#
mkdir -p debian/rivendell-select/usr/bin
mv debian/tmp/usr/bin/rdselect debian/rivendell-select/usr/bin/
mv debian/tmp/usr/bin/rdselect_helper debian/rivendell-select/usr/bin/
mv debian/tmp/usr/bin/rdmonitor debian/rivendell-select/usr/bin/
mkdir -p debian/rivendell-select/etc/X11/xinit/xinitrc.d
mv debian/tmp/etc/X11/xinit/xinitrc.d/start-rdmonitor.sh debian/rivendell-select/etc/X11/xinit/xinitrc.d/
#
# rivendell-webget
#
mkdir -p debian/rivendell-webget/var/www/rd-bin
mv debian/tmp/var/www/rd-bin/webget.cgi debian/rivendell-webget/var/www/rd-bin/
mv debian/tmp/var/www/rd-bin/webget.js debian/rivendell-webget/var/www/rd-bin/
#
# rivendell
#
mkdir -p debian/rivendell
rsync -a debian/tmp/etc debian/rivendell/
rm -rf debian/tmp/etc
rsync -a debian/tmp/lib debian/rivendell/
rm -rf debian/tmp/lib
rsync -a debian/tmp/usr debian/rivendell/
rm -rf debian/tmp/usr
rsync -a debian/tmp/var debian/rivendell/
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/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/
cp UPGRADING debian/rivendell/usr/share/doc/rivendell/
cp CODINGSTYLE debian/rivendell/usr/share/doc/rivendell/
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/etc/fail2ban/filter.d
cp conf/rivendell-webapi.conf debian/rivendell/etc/fail2ban/filter.d/
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/
cp docs/misc/RDMONITOR.txt debian/rivendell/usr/share/doc/rivendell/misc/
cp docs/misc/scheduler_formats.ods debian/rivendell/usr/share/doc/rivendell/misc/
cp docs/misc/ando_interface.odt debian/rivendell/usr/share/doc/rivendell/misc/
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_dwz
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
%:
dh $@

23
debian/source/Makefile.am vendored Normal file
View File

@@ -0,0 +1,23 @@
## automake.am
##
## Automake.am for GlassPlayer debian/source
##
## (C) Copyright 2021 Fred Gleason <fredg@paravelsystems.com>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of
## the License, or (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public
## License along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
##
## Use automake to process this into a Makefile.in
EXTRA_DIST = format

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)