diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/deb.sh | 35 |
1 files changed, 19 insertions, 16 deletions
@@ -175,7 +175,7 @@ EOF count=0 printf '\nReading Sources file...\n' - > "${DEB_DIR}/dsc.list~" + > "${DEB_DIR}/.dsc.list~" while read line; do if [ -z "${line}" ]; then printf '%s %s\n' "${pkg}" "${dir}/${dsc}" >> "${DEB_DIR}/.dsc.list~" @@ -231,6 +231,7 @@ EOF error 'Package "%s" not found' "${pkg}" dsc="${line#${pkg} }" + rm -Rf "${DEB_TREE}/dsc/${pkg}" mkdir -p "${DEB_TREE}/dsc/${pkg}" cd "${DEB_TREE}/dsc/${pkg}" @@ -268,6 +269,7 @@ EOF ver="${ver#${pkg}_}" ver="${ver%-*}" + rm -Rf "${DEB_TREE}/work/${pkg}" mkdir -p "${DEB_TREE}/work/${pkg}" dpkg-source -x "${DEB_TREE}/dsc/${pkg}/${dsc}" \ "${DEB_TREE}/work/${pkg}/${pkg}-${ver}" @@ -294,22 +296,23 @@ EOF dsc="${line#${pkg} }" dsc="${dsc##*/}" - ver="${dsc%.dsc}" - ver="${ver#${pkg}_}" - ver="${ver%-*}" + [ ! -d "${DEB_TREE}/work/${pkg}/${pkg}-*" ] && \ + error 'Source package "%s" not unpacked for editing' "${pkg}" - ver="$(dpkg-parsechangelog \ - -l"${DEB_TREE}/work/${pkg}/${pkg}-${ver}/debian/changelog" | \ + oldverrev="${dsc%.dsc}" + oldverrev="${oldverrev#${pkg}_}" + + verrev="$(dpkg-parsechangelog \ + -l"${DEB_TREE}/work/${pkg}/${pkg}-*/debian/changelog" | \ sed -n 's/^Version: \(.*\)$/\1/p')" - base="${pkg}_${ver}" - ver="${ver%-*}" - rev="${ver#${ver}}" - rev="${rev#-}" + pkgverrev="${pkg}_${verrev}" + ver="${verrev%-*}" + rev="${verrev#*-}" - [ ! -d "${DEB_TREE}/work/${pkg}/${pkg}-${ver}" ] && \ - error 'Source package "%s" not unpacked for editing' "${pkg}" + dpkg --compare-versions "${verrev}" gt "${oldverrev}" || \ + error 'Version not incremented' - cd "${DEB_TREE}/work/${pkg}/${pkg}-${ver}" + cd "${DEB_TREE}/work/${pkg}/${pkg}-*" dpkg-buildpackage -S -us -uc cd .. @@ -317,12 +320,12 @@ EOF mkdir -p "${DEB_TREE}/pkgs/${pkg}" # XXX: This assumes source format 3.0. - mv "${base}.dsc" "${base}_source.changes" "${DEB_TREE}/pkgs/${pkg}" + mv "${pkgverrev}.dsc" "${pkgverrev}_source.changes" "${DEB_TREE}/pkgs/${pkg}" if [ -n "${rev}" ]; then cp -p "${pkg}_${ver}.orig.tar.gz" "${DEB_TREE}/pkgs/${pkg}" - mv "${base}.diff.gz" "${DEB_TREE}/pkgs/${pkg}" + mv "${pkgverrev}.diff.gz" "${DEB_TREE}/pkgs/${pkg}" else - mv "${base}.tar.gz" "${DEB_TREE}/pkgs/${pkg}" + mv "${pkgverrev}.tar.gz" "${DEB_TREE}/pkgs/${pkg}" fi debdiff \ |