From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id B1B982BCD for ; Fri, 10 Aug 2018 11:07:14 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id s12-v6so1120247wmc.0 for ; Fri, 10 Aug 2018 02:07:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/puqDP9kgMO7gRoJ3PrOOiJMxgXxgxQ/fTYpfVsK8vw=; b=Jcp2eTcggCqhbeZQd5M8urL6OagkzVWxtu+EwuHJ+dAT05ygj1jUczI+ehMlziOdCz nfQxjQ01f6mwJMiq9jgSTsXAsCLtcEvnGFBuPZhf791jIDw3Ge8KRvc+GP1peXMlEJco vcBbeQZDNV37+kzHikJ37bP+Bad3paOQMGrCU9kmGFN7EBnPgNHB+tsPz9q3T92jA4F+ jpzIxxXEcur7Jmj5lhtLKtC3wG1kGrFqNq3UZ3Fh6B4vN3tw2J6Wexgel+v0n/i20nok KL8L8QvjYqSNZrMKJ/6czdwy4YjTaUIRcVruA1C5BuPHEd7vF0MTbOgkhHlrVmeV7hMZ rEhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/puqDP9kgMO7gRoJ3PrOOiJMxgXxgxQ/fTYpfVsK8vw=; b=ouLEOeYSpoEMu2QjMLWTzV+oIjGnPqv+3DRHpFTs6NDgcPfhULTqs2RlGa5asGMHIs iSm0xLQSNg2oVQkZzYq9facro+wIYWWNxrsFFp3mwgX5+70QLk85kLXahXplMUOi8htQ XZvBwl0b/+vjdNi8NQaIM33pqtT7lzQ6dSJGdAwnspmmjViyZCrKu1jhQriWMYSukfOH vkLMVqQf1OXqNZO1yVxfksctB73XMrAzPjwWKHHOl6B2c7KBLQbwkqo0yb6pt8OMpVmT Sj3f5IVFi5FVBz8fsQOUTSWIkRUEZhVZIzu0Mb76/Ec5ZetikTZyKVigb2inwG7yb6vH ugjQ== X-Gm-Message-State: AOUpUlFMAg6AqngXQ8mdk+ZRKAMfsIKfyrFmTaN6V0GcOYJ13AiW7OQl xhj0nNHgP4+mLdL7J+cyxXY= X-Google-Smtp-Source: AA+uWPya9GOHi1SOoQe/bOik67fVroHpSArDLo7ay43N8ewv9zQ8Py6fk3VCLRutp1PPC0El+rislg== X-Received: by 2002:a1c:c44a:: with SMTP id u71-v6mr889819wmf.43.1533892034393; Fri, 10 Aug 2018 02:07:14 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id t186-v6sm1215210wmf.14.2018.08.10.02.07.13 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 02:07:13 -0700 (PDT) From: luca.boccassi@gmail.com To: Bruce Richardson Cc: Thomas Monjalon , dpdk stable Date: Fri, 10 Aug 2018 10:06:26 +0100 Message-Id: <20180810090627.28295-5-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180810090627.28295-1-luca.boccassi@gmail.com> References: <20180806105619.24253-1-luca.boccassi@gmail.com> <20180810090627.28295-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'mk: fix permissions when using make install' has been queued to LTS release 16.11.8 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Aug 2018 09:07:14 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/12/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From d006ac1f6414a7540115f356fb536199c73eba33 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 9 Aug 2018 16:22:35 +0100 Subject: [PATCH] mk: fix permissions when using make install [ upstream commit 2a1a8a5f766a10ecb86514b7dbefd41694f7e47a ] When using make install, the permissions of the resulting file should be those of the user using make install, not those of the user who ran the build. This would not be the case when a user explicitly runs: "make && sudo make install" Fix this by changing "cp -a", which preserves all attributes, to "cp -dR --preserve=timestamp", and by adding the flags "--no-same-owner --no-same-permissions" to the calls to tar. Fixes: 1fa0fd9d6b42 ("mk: allow to specify DESTDIR in build rule") Fixes: 6b62a72a70d0 ("mk: install a standard cutomizable tree") Fixes: 576de42b83e5 ("doc: render and install man pages") Signed-off-by: Bruce Richardson Acked-by: Thomas Monjalon --- mk/rte.sdkinstall.mk | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 7b0d8b5211..713c69dcb1 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -113,18 +113,22 @@ else @echo Installation in $(DESTDIR)$(prefix)/ complete endif +# when installing we want recursive copies preserving timestamps only, no +# preservation of user/group ids or permissions +CP_FLAGS=-dR --preserve=timestamps +TAR_X_FLAGS=--strip-components=1 --keep-newer-files --no-same-owner --no-same-permissions + install-runtime: $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) - $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) + $(Q)cp $(CP_FLAGS) $O/lib/* $(DESTDIR)$(libdir) $(Q)$(call rte_mkdir, $(DESTDIR)$(bindir)) $(Q)tar -cf - -C $O --exclude 'app/*.map' \ --exclude app/dpdk-pmdinfogen \ --exclude 'app/cmdline*' --exclude app/test \ --exclude app/testacl --exclude app/testpipeline app | \ - tar -xf - -C $(DESTDIR)$(bindir) --strip-components=1 \ - --keep-newer-files + tar -xf - -C $(DESTDIR)$(bindir) $(TAR_X_FLAGS) $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) - $(Q)cp -a $(RTE_SDK)/tools $(DESTDIR)$(datadir) + $(Q)cp $(CP_FLAGS) $(RTE_SDK)/tools $(DESTDIR)$(datadir) $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-setup.sh, \ $(DESTDIR)$(datadir)/tools/setup.sh) $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-devbind.py, \ @@ -136,30 +140,29 @@ install-runtime: $(DESTDIR)$(bindir)/dpdk-pmdinfo) ifneq ($(wildcard $O/doc/man/*/*.1),) $(Q)$(call rte_mkdir, $(DESTDIR)$(mandir)/man1) - $(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1 + $(Q)cp $(CP_FLAGS) $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1 endif ifneq ($(wildcard $O/doc/man/*/*.8),) $(Q)$(call rte_mkdir, $(DESTDIR)$(mandir)/man8) - $(Q)cp -a $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8 + $(Q)cp $(CP_FLAGS) $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8 endif install-kmod: ifneq ($(wildcard $O/kmod/*),) $(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir)) - $(Q)cp -a $O/kmod/* $(DESTDIR)$(kerneldir) + $(Q)cp $(CP_FLAGS) $O/kmod/* $(DESTDIR)$(kerneldir) endif install-sdk: $(Q)$(call rte_mkdir, $(DESTDIR)$(includedir)) $(Q)tar -chf - -C $O include | \ - tar -xf - -C $(DESTDIR)$(includedir) --strip-components=1 \ - --keep-newer-files + tar -xf - -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS) $(Q)$(call rte_mkdir, $(DESTDIR)$(sdkdir)) - $(Q)cp -a $(RTE_SDK)/mk $(DESTDIR)$(sdkdir) - $(Q)cp -a $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) + $(Q)cp $(CP_FLAGS) $(RTE_SDK)/mk $(DESTDIR)$(sdkdir) + $(Q)cp $(CP_FLAGS) $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)/app) - $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) - $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app + $(Q)cp $(CP_FLAGS) $O/.config $(DESTDIR)$(targetdir) + $(Q)cp $(CP_FLAGS) $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) @@ -167,12 +170,11 @@ install-doc: ifneq ($(wildcard $O/doc/html),) $(Q)$(call rte_mkdir, $(DESTDIR)$(docdir)) $(Q)tar -cf - -C $O/doc html --exclude 'html/guides/.*' | \ - tar -xf - -C $(DESTDIR)$(docdir) --strip-components=1 \ - --keep-newer-files + tar -xf - -C $(DESTDIR)$(docdir) $(TAR_X_FLAGS) endif ifneq ($(wildcard $O/doc/*/*/*pdf),) $(Q)$(call rte_mkdir, $(DESTDIR)$(docdir)/guides) - $(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides + $(Q)cp $(CP_FLAGS) $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides endif $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) - $(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir) + $(Q)cp $(CP_FLAGS) $(RTE_SDK)/examples $(DESTDIR)$(datadir) -- 2.18.0