The following commit has been merged in the lenny branch:
commit 4d1fe39cd9135ea5c58d4763b0fd812721caa2e2
Author: Raphael Hertzog <[email protected]>
Date: Sun Feb 1 10:38:49 2009 +0100
dpkg-deb: produce GNU tar archives inside .deb
* dpkg-deb/build.c: Ensure that data.tar and control.tar
archives created inside a .deb use the GNU format that is compatible
with dpkg itself. And remove TAR_OPTIONS from environment to
avoid unexpected user customizations of the resulting archives.
diff --git a/ChangeLog b/ChangeLog
index 6cccc74..77dec82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-02 Raphael Hertzog <[email protected]>
+
+ * dpkg-deb/build.c: Ensure that data.tar and control.tar
+ archives created inside a .deb use the GNU format that is compatible
+ with dpkg itself. And remove TAR_OPTIONS from environment to
+ avoid unexpected user customizations of the resulting archives.
+
2008-12-29 Guillem Jover <[email protected]>
* configure.ac: Bump version to 1.14.25~.
diff --git a/debian/changelog b/debian/changelog
index a028cd8..344d4f8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,10 @@ dpkg (1.14.25) UNRELEASED; urgency=low
* Fix typo in package description ('privides' -> 'provides').
Thanks to Pascal De Vuyst <[email protected]>. Closes: #510755
+ [ Raphael Hertzog ]
+ * dpkg-deb now always produces GNU tarballs inside .deb and ignores
+ TAR_OPTIONS. Closes: #513863
+
[ Updated dpkg translations ]
* Basque (Piarres Beobide). Closes: #506092, #509851
* Simplified Chinese (Deng Xiyue). Closes: #506177
diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
index 8e854b2..e967bbd 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
@@ -344,12 +344,13 @@ void do_build(const char *const *argv) {
if (setvbuf(ar, NULL, _IONBF, 0))
ohshite(_("unable to unbuffer `%.255s'"), debar);
/* Fork a tar to package the control-section of the package */
+ unsetenv("TAR_OPTIONS");
m_pipe(p1);
if (!(c1= m_fork())) {
m_dup2(p1[1],1); close(p1[0]); close(p1[1]);
if (chdir(directory)) ohshite(_("failed to chdir to `%.255s'"),directory);
if (chdir(BUILDCONTROLDIR)) ohshite(_("failed to chdir to .../DEBIAN"));
- execlp(TAR, "tar", "-cf", "-", ".", NULL);
+ execlp(TAR, "tar", "-cf", "-", "--format=gnu", ".", NULL);
ohshite(_("failed to exec tar -cf"));
}
close(p1[1]);
@@ -422,7 +423,7 @@ void do_build(const char *const *argv) {
m_dup2(p1[0],0); close(p1[0]); close(p1[1]);
m_dup2(p2[1],1); close(p2[0]); close(p2[1]);
if (chdir(directory)) ohshite(_("failed to chdir to `%.255s'"),directory);
- execlp(TAR, "tar", "-cf", "-", "--null", "-T", "-", "--no-recursion",
NULL);
+ execlp(TAR, "tar", "-cf", "-", "--format=gnu", "--null", "-T", "-",
"--no-recursion", NULL);
ohshite(_("failed to exec tar -cf"));
}
close(p1[0]);
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]