diff options
Diffstat (limited to 'src/deb.sh')
-rwxr-xr-x | src/deb.sh | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -306,17 +306,21 @@ 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##*/}" + # Ensure that source package is unpacked. [ ! -d "${DEB_TREE}/work/${pkg}/${pkg}-*" ] && \ error 'Source package "%s" not unpacked for editing' "${pkg}" + # Get source package version from internal list. oldverrev="${dsc%.dsc}" oldverrev="${oldverrev#${pkg}_}" + # Get source package version from work area. verrev="$(dpkg-parsechangelog \ -l"${DEB_TREE}/work/${pkg}/${pkg}-*/debian/changelog" | \ sed -n 's/^Version: \(.*\)$/\1/p')" @@ -324,16 +328,20 @@ EOF ver="${verrev%-*}" rev="${verrev#*-}" + # Ensure that an NMU was made. dpkg --compare-versions "${verrev}" gt "${oldverrev}" || \ error 'Version not incremented' + # Build source package. cd "${DEB_TREE}/work/${pkg}/${pkg}-*" dpkg-buildpackage -S -us -uc + # Make a clean source package destination. cd .. rm -Rf "${DEB_TREE}/pkgs/${pkg}" mkdir -p "${DEB_TREE}/pkgs/${pkg}" + # Copy source package files. while read line; do if [ "${line#Files:}" != "${line}" ]; then while read sum size file; do @@ -343,6 +351,7 @@ EOF done < "${pkgverrev}.dsc" cp -p "${pkgverrev}.dsc" "${pkgverrev}_source.changes" "${DEB_TREE}/pkgs/${pkg}" + # Generate patch. debdiff \ "${DEB_TREE}/dsc/${pkg}/${dsc}" "${DEB_TREE}/pkgs/${pkg}/${base}.dsc" \ > "${DEB_TREE}/pkgs/${pkg}/${pkg}.debdiff" |