diff options
-rwxr-xr-x | src/deb.sh | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -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}-*" ] && \ |