summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/tar
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-21 16:29:43 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-21 16:36:51 +0000
commit577dd4b3e5d4861c31824d920fa170ba3a585f63 (patch)
tree72de94197186ea29203557bc1705c51f5d9948cf /meta/recipes-extended/tar
parent05c4692320901eb5c600f04d346cbc743380bfbc (diff)
downloadpoky-577dd4b3e5d4861c31824d920fa170ba3a585f63.tar.gz
tar-replacement-native: Add a target to replace the default tar
tar < 1.24 has symlink issues where extracting a tar archive containing a symlink to a directory where that symlink already exists will cause the symlink to be dereferenced. If that target doesn't exist tar can fail with a permissions error. Since we need to be able to do this for packages containing symlinks like xorg-minimal-fonts and eglibc, we have to ensure a tar 1.25 is available early in the build process. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/tar')
-rw-r--r--meta/recipes-extended/tar/tar-replacement-native_1.25.bb5
-rw-r--r--meta/recipes-extended/tar/tar.inc11
2 files changed, 14 insertions, 2 deletions
diff --git a/meta/recipes-extended/tar/tar-replacement-native_1.25.bb b/meta/recipes-extended/tar/tar-replacement-native_1.25.bb
new file mode 100644
index 0000000000..2ec55483c0
--- /dev/null
+++ b/meta/recipes-extended/tar/tar-replacement-native_1.25.bb
@@ -0,0 +1,5 @@
1require tar_${PV}.bb
2
3inherit native
4
5BPN = "tar"
diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
index 5246efc5af..f83fb46012 100644
--- a/meta/recipes-extended/tar/tar.inc
+++ b/meta/recipes-extended/tar/tar.inc
@@ -8,11 +8,18 @@ SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
8 8
9inherit autotools gettext 9inherit autotools gettext
10 10
11EXTRAINSTALL = "do_install_extra"
12EXTRAINSTALL_virtclass-native = ""
13
11do_install () { 14do_install () {
12 autotools_do_install 15 autotools_do_install
13 install -d ${D}${base_bindir} 16 install -d ${D}${base_bindir}
14 mv ${D}${bindir}/tar ${D}${base_bindir}/tar.${PN} 17 ${EXTRAINSTALL}
15 mv ${D}${libexecdir}/rmt ${D}${libexecdir}/rmt.${PN} 18}
19
20do_install_extra () {
21 mv ${D}${bindir}/tar ${D}${base_bindir}/tar.${PN} \
22 mv ${D}${libexecdir}/rmt ${D}${libexecdir}/rmt.${PN}
16} 23}
17 24
18pkg_postinst_${PN} () { 25pkg_postinst_${PN} () {