Package: devscripts
Version: 2.10.61
Severity: wishlist
In CDBS 1/rules/upstream-tarball.mk targets for repackaging tarballs are
included. I believe that this functionality is better suited for
descripts than a packaging helper scripts. Please consider merging
something like that in the devscripts package.
get-orig-source:
@@dh_testdir
@@mkdir -p "$(DEB_UPSTREAM_WORKDIR)"
@if [ ! -s "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)"
] ; then \
if [ -f
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" ] ; then \
rm
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" ; \
fi ; \
echo "Downloading $(cdbs_upstream_received_tarball) from
$(DEB_UPSTREAM_URL)/$(cdbs_upstream_tarball) ..." ; \
wget -nv -T10 -t3 -O
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)"
"$(DEB_UPSTREAM_URL)/$(cdbs_upstream_tarball)" ; \
else \
echo "Upstream source tarball have been already downloaded:
$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" ; \
fi
@md5current=`md5sum
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" | sed -e 's/
.*//'`; \
if [ -n "$(DEB_UPSTREAM_TARBALL_MD5)" ] ; then \
if [ "$$md5current" != "$(DEB_UPSTREAM_TARBALL_MD5)" ] ; then \
echo "Expecting upstream tarball md5sum
$(DEB_UPSTREAM_TARBALL_MD5), but $$md5current found" ; \
echo "Upstream tarball md5sum is NOT trusted! Possible
upstream tarball forge!" ; \
echo "Purging downloaded file. Try new download." ; \
rm -f
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" ; \
false ; \
else \
echo "Upstream tarball is trusted!" ; \
fi; \
else \
echo "Upstream tarball NOT trusted (current md5sum is
$$md5current)!" ; \
fi
# TODO: Rewrite using make variables like cdbs_upstream_unpack_cmd and
# DEB_UPSTREAM_SUPPORTED_COMPRESSIONS (recent dpkg supports bz2)
# TODO: Add .orig suffix to top folder inside tarball when only
# recompressing (when $uncompress set and ...REPACKAGE_EXCLUDE unset)
@untar="tar -x -C"; \
case "$(cdbs_upstream_received_tarball)" in \
*.tar.gz) unpack="gunzip -c";; \
*.tar.bz2) unpack="bunzip2 -c"; grep -q '3.0 (quilt)'
debian/source/format || uncompress="bunzip2";; \
*.tar.Z) unpack="uncompress -c"; uncompress="uncompress";; \
*.zip) unpack="unzip -q"; uncompress="false";
untar="-d"; nopipe="true";; \
*.tar) unpack="cat"; uncompress="true";; \
*) echo "Unknown extension for upstream tarball
$(cdbs_upstream_received_tarball)"; false;; \
esac && \
if [ -n "$(strip $(DEB_UPSTREAM_REPACKAGE_EXCLUDES))" ] || [
"$$uncompress" = "false" ]; then \
echo "Repackaging tarball ..." && \
mkdir -p
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)" && \
if [ -n "$$nopipe" ]; then \
$$unpack
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" \
$$untar
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)"; \
else \
$$unpack
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)" \
| $$untar
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)"; \
fi && \
if [ -n "$(cdbs_upstream_findargs_files)" ]; then \
(set -e; cd
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)/$(DEB_UPSTREAM_TARBALL_SRCDIR)"
&& find $(cdbs_upstream_findargs_files) -delete); \
fi && \
if [ -n "$(cdbs_upstream_findargs_dirs)" ]; then \
(set -e; cd
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)/$(DEB_UPSTREAM_TARBALL_SRCDIR)"
&& find $(cdbs_upstream_findargs_dirs) -exec rm -rf '{}' +;) \
fi && \
if [ "$(DEB_UPSTREAM_TARBALL_SRCDIR)" !=
"$(cdbs_upstream_local_srcdir)" ]; then \
mv -T
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)/$(DEB_UPSTREAM_TARBALL_SRCDIR)"
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)/$(cdbs_upstream_local_srcdir)";
\
fi && \
GZIP=-9 tar -b1 -czf
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_basename).orig.tar.gz" -C
"$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)"
"$(cdbs_upstream_local_srcdir)" && \
echo "Cleaning up" && \
rm -rf "$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)";
\
elif [ -n "$$uncompress" ]; then \
echo "Recompressing tarball ..." && \
$$uncompress
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_received_tarball)"; \
gzip -9
"$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_basename).orig.tar"; \
fi
fail-source-not-repackaged:
$(cdbs_python_exclude_check)
@if find $(cdbs_upstream_findargs_files) $(and
$(cdbs_upstream_findargs_files),$(cdbs_upstream_findargs_dirs),-o)
$(cdbs_upstream_findargs_dirs) | grep '.*'; then \
echo; \
echo 'ERROR: Source contains the files/paths listed above'; \
echo ' which was intended to not be distributed with the
source.'; \
echo ' Please repackage source with these items
stripped!'; \
echo ' (set DEB_UPSTREAM_REPACKAGE_EXCLUDES and use
get-orig-source target)'; \
exit 1; \
fi
--
To unsubscribe, send mail to [email protected].