From owner-freebsd-bugs@FreeBSD.ORG Tue Aug 26 09:00:12 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6440810656A6 for ; Tue, 26 Aug 2008 09:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 48B4A8FC1D for ; Tue, 26 Aug 2008 09:00:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m7Q90C9g084919 for ; Tue, 26 Aug 2008 09:00:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m7Q90Ckk084918; Tue, 26 Aug 2008 09:00:12 GMT (envelope-from gnats) Resent-Date: Tue, 26 Aug 2008 09:00:12 GMT Resent-Message-Id: <200808260900.m7Q90Ckk084918@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Etienne Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCA51106568C for ; Tue, 26 Aug 2008 08:56:08 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id B333F8FC08 for ; Tue, 26 Aug 2008 08:56:08 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m7Q8u818060397 for ; Tue, 26 Aug 2008 08:56:08 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m7Q8u8SF060396; Tue, 26 Aug 2008 08:56:08 GMT (envelope-from nobody) Message-Id: <200808260856.m7Q8u8SF060396@www.freebsd.org> Date: Tue, 26 Aug 2008 08:56:08 GMT From: Etienne To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/126849: tar -x -P doesn't follow symlinks that already exist in target location X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2008 09:00:12 -0000 >Number: 126849 >Category: misc >Synopsis: tar -x -P doesn't follow symlinks that already exist in target location >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 26 09:00:11 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Etienne >Release: FreeBSD 6.3-RELEASE >Organization: NETASQ >Environment: FreeBSD jcd.localhost 6.3-RELEASE FreeBSD 6.3-RELEASE #1: Thu Aug 7 16:37:14 CEST 2008 root@jcd.localhost:/usr/obj/usr/src/sys/SMP i386 >Description: When extracting an archive, the -P option behavior of bsdtar differs on FreeBSD 6.2 and FreeBSD 6.3 : when an archive containing "dir/file" is extracted somewhere "dir" already exists as a symlink to another location, - on FreeBSD 6.2, "dir" is left as a symlink and "file" is extracted into the target directory of the symlink (that is the behavior of gnu tar too) - on FreeBSD 6.3, "dir" is overwritten and contains "file" (there is no more symlink) The problem still exists with bsdtar 2.5.5 - libarchive 2.5.5 >How-To-Repeat: # create a tar file mkdir dir touch dir/file tar cf test.tar dir # remove files rm -fr dir #create a link mkdir real_dir ln -s real_dir dir #untar tar xPf test.tar Results depending on FreeBSD versions : FreeBSD 6.2 FreeBSD 6.3 . | . |-- dir -> real_dir | |-- dir `-- real_dir | | `-- file `-- file | `-- real_dir >Fix: >Release-Note: >Audit-Trail: >Unformatted: