summaryrefslogtreecommitdiffstats
path: root/src/deb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/deb.sh')
-rwxr-xr-xsrc/deb.sh31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/deb.sh b/src/deb.sh
index 3531a2e..5c239f1 100755
--- a/src/deb.sh
+++ b/src/deb.sh
@@ -95,6 +95,21 @@ config_save()
done > "${DEB_DIR}/config"
}
+get_dsc_url()
+{
+ _pkg="${1}"
+ _dscurl=$(grep "^${_pkg} " "${DEB_DIR}/dsc.list" | tail -n 1) || \
+ error 'Package "%s" not found' "${pkg}"
+ echo "${_dscurl#${_pkg} }"
+}
+
+get_dsc_name()
+{
+ _pkg="${1}"
+ _dscurl="$(get_dsc_url "${pkg}")"
+ echo "${dscurl##*/}"
+}
+
prompt_bool()
{
_def="${1}"
@@ -242,16 +257,14 @@ EOF
pkg="${1}"
- line="$(grep "^${pkg} " "${DEB_DIR}/dsc.list" | tail -n 1)" || \
- error 'Package "%s" not found' "${pkg}"
- dsc="${line#${pkg} }"
+ dscurl="$(get_dsc_url "${pkg}")"
rm -Rf "${DEB_TREE}/dsc/${pkg}"
mkdir -p "${DEB_TREE}/dsc/${pkg}"
cd "${DEB_TREE}/dsc/${pkg}"
printf 'Downloading source package "%s"...\n' "${pkg}"
- dget -d "${CONFIG_mirror}/${dsc}" || error 'Cannot download source package'
+ dget -d "${CONFIG_mirror}/${dscurl}" || error 'Cannot download source package'
printf '\nDone.\n'
}
@@ -272,10 +285,7 @@ EOF
pkg="${1}"
- line="$(grep "^${pkg} " "${DEB_DIR}/dsc.list")" || \
- error 'Package "%s" not found' "${pkg}"
- dsc="${line#${pkg} }"
- dsc="${dsc##*/}"
+ dsc="$(get_dsc_name "${pkg}")"
[ ! -f "${DEB_TREE}/dsc/${pkg}/${dsc}" ] && \
error 'Source package "%s" not downloaded' "${pkg}"
@@ -307,10 +317,7 @@ EOF
pkg="${1}"
# Find source package in internal list.
- line="$(grep "^${pkg} " "${DEB_DIR}/dsc.list")" || \
- error 'Package "%s" not found' "${pkg}"
- dsc="${line#${pkg} }"
- dsc="${dsc##*/}"
+ dsc="$(get_dsc_name "${pkg}")"
# Ensure that source package is unpacked.
[ ! -d "${DEB_TREE}/work/${pkg}/${pkg}-*" ] && \