From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 43257 invoked by alias); 21 Jul 2016 19:39:27 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 43227 invoked by uid 89); 21 Jul 2016 19:39:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2348, ISL, H*RU:209.85.220.196, Hx-spam-relays-external:209.85.220.196 X-HELO: mail-qk0-f196.google.com Received: from mail-qk0-f196.google.com (HELO mail-qk0-f196.google.com) (209.85.220.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 21 Jul 2016 19:39:15 +0000 Received: by mail-qk0-f196.google.com with SMTP id p126so7114631qke.1 for ; Thu, 21 Jul 2016 12:39:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=D+sn0V/VXZla7x6A0fDq6in3hfPQ8P/4D3qsQxPdOk4=; b=SrHbWLtLxOaraxZ7fhDer/jLNet7o0I+4wgWDswnoJ0QnlHCMOG6G37nDQu1xjzdKk HtFQvsBJFPGzbFoVgJDAP9KwC7XNxb6x5unbMmYlP8Pg95Edbzp5neOBdG1rP1e6AdYA YrrrlRukwjt5+G+lIKVL7paTEWbaQ188mTSihOdkMHdEpDW2zAdKYQYG4sT3nuvSF+wa ODZfbfz7062NT8bwIz9V8lbSapEGHM/HiqKClMvEVuZLeY1ceOCJ+NmE4x8mhN+Yvs17 7CL+uxKUu6AKm1VPxEBfPkECEHBF+kyWx17edT+WbojPK4/2P8MayMvjcrreSZ3oiFdY xfaQ== X-Gm-Message-State: ALyK8tJmLS5812D0nFRREr0rNqHe9Do7EsUGIqiwTx8kMO7CeFeK4L3T4ZphJYbMWcz3bBvYxp6vW+Hfp0zzmd71 X-Received: by 10.55.126.7 with SMTP id z7mr67938532qkc.172.1469129953427; Thu, 21 Jul 2016 12:39:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.201.208 with HTTP; Thu, 21 Jul 2016 12:39:12 -0700 (PDT) In-Reply-To: <5c5a9b7f-f8cb-ce72-489f-3fad441c494c@redhat.com> References: <6d8cc2be-c68d-81f9-2274-6a12628b8caa@redhat.com> <218664c9-aeec-c213-eba3-570ba8879516@redhat.com> <5c5a9b7f-f8cb-ce72-489f-3fad441c494c@redhat.com> From: Eric Gallager Date: Thu, 21 Jul 2016 19:39:00 -0000 Message-ID: Subject: Re: [PATCH, contrib] download_prerequisites: check for existing symlinks before making new ones To: Jeff Law Cc: gcc-patches@gcc.gnu.org, bernd.edlinger@hotmail.de Content-Type: multipart/mixed; boundary=94eb2c063b7a00f00605382a79d6 X-SW-Source: 2016-07/txt/msg01418.txt.bz2 --94eb2c063b7a00f00605382a79d6 Content-Type: text/plain; charset=UTF-8 Content-length: 1177 On 7/21/16, Jeff Law wrote: > On 07/14/2016 01:57 PM, Eric Gallager wrote: > >> >> So apparently the "-f" flag properly overwrites symlinks that point to >> regular files, but I also did this in my gcc builddir: >> >> $ mkdir isl-0.1.2.3 >> $ ln -s isl-0.1.2.3 isl-s >> $ ln -sfv isl isl-s >> isl-s/isl -> isl >> $ ln -sfFv isl isl-s >> isl-s/isl -> isl >> $ ls -l isl-s >> lrwxr-xr-x 1 root wheel 11 Jul 14 07:03 isl-s -> isl-0.1.2.3 >> $ unlink isl-s >> $ ln -sfFv isl isl-s >> isl-s -> isl >> $ ls -l isl-s >> lrwxr-xr-x 1 root wheel 3 Jul 14 15:51 isl-s -> isl >> >> ...it just doesn't overwrite symlinks that point to a directory. > Joys :( > > AFAIK unlink may not necessarily be available on the various host > systems GCC supports (solaris, aix, hpux, etc etc). > > So rather than relying on ln to remove the link, why don't we just > explicitly remove it with rm -f? > > Jeff > Sure, rm -f works, too; I just went with "unlink" in my patch because it more clearly expresses programmer intent. But I guess portability is more important. Updated patch attached, although someone else would have to commit it, as I don't have commit access. Eric --94eb2c063b7a00f00605382a79d6 Content-Type: text/plain; charset=US-ASCII; name="patch_contrib_download_prerequisites.diff" Content-Disposition: attachment; filename="patch_contrib_download_prerequisites.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 Content-length: 1497 IGNvbnRyaWIvZG93bmxvYWRfcHJlcmVxdWlzaXRlcyB8IDQgKysrKwogMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvZG93bmxvYWRfcHJlcmVxdWlzaXRlcyBiL2NvbnRyaWIvZG93bmxv YWRfcHJlcmVxdWlzaXRlcwppbmRleCA5MTdlZTIzLi4yYzk2M2YyIDEwMDc1 NQotLS0gYS9jb250cmliL2Rvd25sb2FkX3ByZXJlcXVpc2l0ZXMKKysrIGIv Y29udHJpYi9kb3dubG9hZF9wcmVyZXF1aXNpdGVzCkBAIC0zNiwxNCArMzYs MTcgQEAgTVBDPW1wYy0xLjAuMwogCiB3Z2V0IGZ0cDovL2djYy5nbnUub3Jn L3B1Yi9nY2MvaW5mcmFzdHJ1Y3R1cmUvJE1QRlIudGFyLmJ6MiB8fCBleGl0 IDEKIHRhciB4amYgJE1QRlIudGFyLmJ6MiB8fCBleGl0IDEKK2lmIHRlc3Qg LUwgbXBmcjsgdGhlbiBybSAtZiBtcGZyOyBmaQogbG4gLXNmICRNUEZSIG1w ZnIgfHwgZXhpdCAxCiAKIHdnZXQgZnRwOi8vZ2NjLmdudS5vcmcvcHViL2dj Yy9pbmZyYXN0cnVjdHVyZS8kR01QLnRhci5iejIgfHwgZXhpdCAxCiB0YXIg eGpmICRHTVAudGFyLmJ6MiAgfHwgZXhpdCAxCitpZiB0ZXN0IC1MIGdtcDsg dGhlbiBybSAtZiBnbXA7IGZpCiBsbiAtc2YgJEdNUCBnbXAgfHwgZXhpdCAx CiAKIHdnZXQgZnRwOi8vZ2NjLmdudS5vcmcvcHViL2djYy9pbmZyYXN0cnVj dHVyZS8kTVBDLnRhci5neiB8fCBleGl0IDEKIHRhciB4emYgJE1QQy50YXIu Z3ogfHwgZXhpdCAxCitpZiB0ZXN0IC1MIG1wYzsgdGhlbiBybSAtZiBtcGM7 IGZpCiBsbiAtc2YgJE1QQyBtcGMgfHwgZXhpdCAxCiAKICMgTmVjZXNzYXJ5 IHRvIGJ1aWxkIEdDQyB3aXRoIHRoZSBHcmFwaGl0ZSBsb29wIG9wdGltaXph dGlvbnMuCkBAIC01Miw1ICs1NSw2IEBAIGlmIFsgIiRHUkFQSElURV9MT09Q X09QVCIgPSAieWVzIiBdIDsgdGhlbgogCiAgIHdnZXQgZnRwOi8vZ2NjLmdu dS5vcmcvcHViL2djYy9pbmZyYXN0cnVjdHVyZS8kSVNMLnRhci5iejIgfHwg ZXhpdCAxCiAgIHRhciB4amYgJElTTC50YXIuYnoyICB8fCBleGl0IDEKKyAg aWYgdGVzdCAtTCBpc2w7IHRoZW4gcm0gLWYgaXNsOyBmaQogICBsbiAtc2Yg JElTTCBpc2wgfHwgZXhpdCAxCiBmaQo= --94eb2c063b7a00f00605382a79d6--