Commit fcf228af authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm repack: pass non-library RPM Requires to DEB when repacking rpm to deb

parent f5b09afc
......@@ -222,14 +222,18 @@ __epm_repack_single()
# we have repack rules only for rpm, so use rpm step in any case
load_helper epm-repack-rpm
load_helper epm-repack-deb
# save original deb depends before deb→rpm conversion
# save original depends before deb→rpm conversion
local orig_deb_depends=""
if [ "$(get_package_type "$pkg")" = "deb" ] ; then
local orig_pkg_type="$(get_package_type "$pkg")"
if [ "$orig_pkg_type" = "deb" ] ; then
orig_deb_depends="$(epm requires "$pkg" 2>/dev/null)"
elif [ "$orig_pkg_type" = "rpm" ] ; then
# extract non-library package-name Requires from RPM
orig_deb_depends="$(epm requires --debian "$pkg" 2>/dev/null)"
fi
__epm_repack_to_rpm "$pkg" "$packversion" "$packrelease" || return
[ -n "$repacked_pkg" ] || return
__epm_repack_to_deb $repacked_pkg "$orig_deb_depends"
__epm_repack_to_deb $repacked_pkg "$orig_deb_depends" "$orig_pkg_type"
else
load_helper epm-repack-deb
__epm_repack_to_deb "$pkg" || return
......
......@@ -19,11 +19,12 @@
# fills repacked_pkg
# args: pkg [orig_deb_depends]
# args: pkg [orig_deb_depends] [orig_pkg_type]
__epm_repack_to_deb()
{
local pkg="$1"
local orig_deb_depends="$2"
local orig_pkg_type="$3"
assure_exists alien
assure_exists fakeroot
......@@ -68,10 +69,16 @@ __epm_repack_to_deb()
return 1
fi
# inject original deb depends into debian/control
# inject original depends into debian/control
if [ -n "$orig_deb_depends" ] ; then
info "Injecting Depends: $orig_deb_depends"
sed -i -e "s|\${shlibs:Depends}|$orig_deb_depends|" "$debsrcdir"debian/control
if [ "$orig_pkg_type" = "rpm" ] ; then
# RPM source: add non-lib requires alongside shlibs
sed -i -e "s|\${shlibs:Depends}|\${shlibs:Depends}, $orig_deb_depends|" "$debsrcdir"debian/control
else
# DEB source: replace shlibs placeholder with original depends
sed -i -e "s|\${shlibs:Depends}|$orig_deb_depends|" "$debsrcdir"debian/control
fi
fi
# build the deb
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment