FS-9075 [Debian Packaging] #resolve freeswitch-all package rework

the freeswitch-all package should be operationally the same as
freeswitch-meta-all it should not conflict with any other freeswitch
pacakge it should install them all via dependancy. This patch does just
that... There is probably a better way to do it, but this is needed to
avoid issues where a dep may have been added to a sub-module (say
mod_av, but it was not added to the freeswitch-all package. This will
also allow for someone to install freeswitch-all or any part there of
without forcing a deinstall of other parts of the over all FreeSWITCH
software package.
This commit is contained in:
Ken Rice 2016-04-04 10:42:54 -05:00
parent cb07788675
commit 0557e25b67
2 changed files with 13 additions and 96 deletions

92
debian/bootstrap.sh vendored
View File

@ -276,40 +276,6 @@ list_pkgs () {
map_pkgs list_pkgs_thunk
}
list_freeswitch_all_pkgs () {
list_pkgs \
| grep -v '^freeswitch-all$' \
| grep -v -- '-dbg$'
}
list_freeswitch_all_provides () {
list_freeswitch_all_pkgs \
| intersperse ',\n '
}
list_freeswitch_all_replaces () {
list_freeswitch_all_pkgs \
| postfix ' (<= ${binary:Version})' \
| intersperse ',\n '
}
list_freeswitch_all_dbg_pkgs () {
list_pkgs \
| grep -v '^freeswitch-all-dbg$' \
| grep -- '-dbg$'
}
list_freeswitch_all_dbg_provides () {
list_freeswitch_all_dbg_pkgs \
| intersperse ',\n '
}
list_freeswitch_all_dbg_replaces () {
list_freeswitch_all_dbg_pkgs \
| postfix ' (<= ${binary:Version})' \
| intersperse ',\n '
}
print_source_control () {
local libtool_dep="libtool, libtool-bin"
case "$codename" in
@ -364,22 +330,11 @@ print_core_control () {
cat <<EOF
Package: freeswitch-all
Architecture: any
Provides: $(list_freeswitch_all_provides)
Replaces: $(list_freeswitch_all_replaces)
Conflicts: $(list_freeswitch_all_replaces)
Depends: \${shlibs:Depends}, \${perl:Depends}, \${misc:Depends},
freeswitch-music-default (>= 1.0.8),
freeswitch-sounds-en-us-callie (>= 1.0.25) | freeswitch-sounds,
yasm,
$(debian_wrap "${mod_depends}")
Recommends:
$(debian_wrap "${mod_recommends}")
Suggests: freeswitch-all-dbg,
$(debian_wrap "${mod_suggests}")
Depends: freeswitch-meta-all (= \${binary:Version})
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
.
This package contains FreeSWITCH and all modules and extras.
This is a package which depends on all packaged FreeSWITCH modules.
Package: freeswitch
Architecture: any
@ -806,10 +761,7 @@ Package: freeswitch-all-dbg
Section: debug
Priority: extra
Architecture: any
Provides: $(list_freeswitch_all_dbg_provides)
Replaces: $(list_freeswitch_all_dbg_replaces)
Breaks: $(list_freeswitch_all_dbg_replaces)
Depends: \${misc:Depends}, freeswitch-all (= \${binary:Version})
Depends: \${misc:Depends}, freeswitch-meta-all (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
.
@ -1060,7 +1012,6 @@ gencontrol_per_cat () {
geninstall_per_mod () {
local f=freeswitch-${module_name//_/-}.install
(print_edit_warning; print_mod_install "$module_name") > $f
print_mod_install "$module_name" >> freeswitch-all.install
test -f $f.tmpl && cat $f.tmpl >> $f
}
@ -1082,7 +1033,6 @@ genconf () {
local p=freeswitch-conf-${conf//_/-}
local f=$p.install
(print_edit_warning; print_conf_install) > $f
print_conf_install >> freeswitch-all.install
test -f $f.tmpl && cat $f.tmpl >> $f
local f=$p.lintian-overrides
(print_edit_warning; print_conf_overrides "$p") > $f
@ -1094,7 +1044,6 @@ genlang () {
local p=freeswitch-lang-${lang//_/-}
local f=$p.install
(print_edit_warning; print_lang_install) > $f
print_lang_install >> freeswitch-all.install
test -f $f.tmpl && cat $f.tmpl >> $f
local f=$p.lintian-overrides
(print_edit_warning; print_lang_overrides "$p") > $f
@ -1324,9 +1273,6 @@ echo "Accumulating dependencies from modules..." >&2
map_modules 'mod_filter' '' 'accumulate_mod_deps'
echo "Generating debian/..." >&2
> control
> freeswitch-all.install
(print_edit_warning; print_mod_overrides "freeswitch-all") \
> freeswitch-all.lintian-overrides
(print_edit_warning; print_source_control; print_core_control) >> control
echo "Generating debian/ (conf)..." >&2
(echo "### conf"; echo) >> control
@ -1339,29 +1285,17 @@ echo "Generating debian/ (modules)..." >&2
map_modules "mod_filter" \
"gencontrol_per_cat" \
"gencontrol_per_mod geninstall_per_mod genoverrides_per_mod"
echo "Generating debian/ (-all package)..." >&2
grep -e '^Package:' control | grep -v '^freeswitch-all$' | while xread l; do
m="${l#*: }"
conf_merge freeswitch-all.install $m.install
done
echo "/usr/share/freeswitch/fonts" >> freeswitch-all.install
echo "/var/lib/freeswitch/images" >> freeswitch-all.install
for x in postinst postrm preinst prerm; do
cp -a freeswitch.$x freeswitch-all.$x
done
cp -a freeswitch-doc.docs freeswitch-all.docs
if [ ${use_sysvinit} = "true" ]; then
cp -a freeswitch-sysvinit.freeswitch.init freeswitch-all.freeswitch.init
cp -a freeswitch-sysvinit.freeswitch.default freeswitch-all.freeswitch.default
echo -n freeswitch-sysvinit >freeswitch-init.provided_by
else
cp -a freeswitch-systemd.freeswitch.service freeswitch-all.freeswitch.service
cp -a freeswitch-systemd.freeswitch.tmpfile freeswitch-all.freeswitch.tmpfile
echo -n freeswitch-systemd >freeswitch-init.provided_by
fi
##### Not sure if this is needed at all... if this is supposed to be included somewhere it should be for just the freeswitch package
#if [ ${use_sysvinit} = "true" ]; then
# cp -a freeswitch-sysvinit.freeswitch.init freeswitch-all.freeswitch.init
# cp -a freeswitch-sysvinit.freeswitch.default freeswitch-all.freeswitch.default
# echo -n freeswitch-sysvinit >freeswitch-init.provided_by
#else
# cp -a freeswitch-systemd.freeswitch.service freeswitch-all.freeswitch.service
# cp -a freeswitch-systemd.freeswitch.tmpfile freeswitch-all.freeswitch.tmpfile
# echo -n freeswitch-systemd >freeswitch-init.provided_by
#fi
echo "Generating additional lintian overrides..." >&2

17
debian/rules vendored
View File

@ -100,23 +100,6 @@ override_dh_auto_install:
dh_auto_install -- -C libs/esl pymod-install
rm -f debian/tmp/usr/share/freeswitch/grammar/model/communicator/COPYING
override_dh_installinit:
if [ `cat debian/freeswitch-init.provided_by` = freeswitch-systemd ]; then \
dh_systemd_enable -pfreeswitch-systemd --name=freeswitch; \
dh_systemd_start -pfreeswitch-systemd --name=freeswitch; \
dh_systemd_enable -pfreeswitch-all --name=freeswitch; \
dh_systemd_start -pfreeswitch-all --name=freeswitch; \
else \
dh_installinit -pfreeswitch-sysvinit --name=freeswitch; \
dh_installinit -pfreeswitch-all --name=freeswitch; \
fi
override_dh_makeshlibs:
dh_makeshlibs
sed \
-e '/^libfreeswitch 1/{s/freeswitch-all/libfreeswitch1/g}' \
-i debian/freeswitch-all/DEBIAN/shlibs
debian-bootstrap: debian/.stamp-bootstrap
debian/.stamp-bootstrap:
(cd debian && ./bootstrap.sh)