Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/3] Cleanup trailing slashes from FOO_SITE
@ 2015-10-03 17:22 Luca Ceresoli
  2015-10-03 17:22 ` [Buildroot] [PATCH v4 1/3] toolchain-external: strip trailing slash from autogenerated FOO_SITE Luca Ceresoli
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Luca Ceresoli @ 2015-10-03 17:22 UTC (permalink / raw)
  To: buildroot

Hi,

here's the respin of my patch set to clean up the form of FOO_SITE
variables by removing all trailing slashes.

Those slashes are useless and potentially armful, which led to introducing a
workaround to strip them:

    commit 1cbffbd015106ea90fe49e27433375769dc1035b
    Author: Shawn J. Goff <shawn7400@gmail.com>
    Date:   Fri Apr 12 09:40:30 2013 +0000

        eliminate double slashes caused by FOO_SITE ending in a slash
    
        When a FOO_SITE variable ends in a slash and gets joined with a
        FOO_SOURCE variable like $(FOO_SITE)/$(FOO_SOURCE), the resulting URI
        has a double slash. While double-slashes are fine in unix paths, they
        are reserved in URIs - the part following '//' must be an authority.
    
        Signed-off-by: Shawn J. Goff <shawn7400@gmail.com>
        Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>

v1 removed all these slashes but did not add a check to prevent some
more ones from slipping in new pagkages, and of course they did. v3
proposed a check, but taht was not ideal. So here's the new, shiny,
fully-make-based version that Arnout's headache produced! :)

Patches from v3 have already be merged that remove the slashes in
existing packages and to state in tha manual that trailing slashes are
incorrect. Here's what's left.

Patch 1 fixes toolchain-external, which introduces a trailing slash on
its own. Patch 2 adds a the check to block trailing slashes before
building. Finally patch 3 removes the workaround that is not needed
anymore.

This work has been inspired by this comment from Arnout Vandecappelle [1]:
>>>>>>>>>>>> >>>>>> >>> >> > +else
>>>>>>>>>>>> >>>>>> >>> >> > +ifneq ($$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_SOURCE))
>>>>>>>>>>>> >>>>>> >>> >> > +          $(call DOWNLOAD,$$($(2)_ACTUAL_SOURCE_SITE:/=)/$$($(2)$($(PKG)_SITE:/=)_ACTUAL_SOURCE_TARBALL))
>>>> >> > > 
>>>> >> > >  I think the $($(PKG)_SITE:/=) construct was just introduced because for some
>>>> >> > > packages, the _SITE ends with a / and that should be stripped, and we were too
>>>> >> > > lazy to fix the packages. Hm, looks like all the the external toolchain _SITEs
>>>> >> > > end with a /...

[0] http://lists.busybox.net/pipermail/buildroot/2015-March/121502.html
[1] https://patchwork.ozlabs.org/patch/424980/

Luca Ceresoli (3):
  toolchain-external: strip trailing slash from autogenerated FOO_SITE
  pkg-generic: prevent _SITE URLs with a trailing slash
  download: get rid of trailing slash removal hack for FOO_SITE

 package/pkg-generic.mk                             | 6 +++++-
 toolchain/toolchain-external/toolchain-external.mk | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-10-04 14:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-03 17:22 [Buildroot] [PATCH v4 0/3] Cleanup trailing slashes from FOO_SITE Luca Ceresoli
2015-10-03 17:22 ` [Buildroot] [PATCH v4 1/3] toolchain-external: strip trailing slash from autogenerated FOO_SITE Luca Ceresoli
2015-10-04 12:35   ` Arnout Vandecappelle
2015-10-03 17:22 ` [Buildroot] [PATCH v4 2/3] pkg-generic: prevent _SITE URLs with a trailing slash Luca Ceresoli
2015-10-04 12:38   ` Arnout Vandecappelle
2015-10-04 12:46     ` Luca Ceresoli
2015-10-03 17:22 ` [Buildroot] [PATCH v4 3/3] download: get rid of trailing slash removal hack for FOO_SITE Luca Ceresoli
2015-10-04 12:39   ` Arnout Vandecappelle
2015-10-04 14:47 ` [Buildroot] [PATCH v4 0/3] Cleanup trailing slashes from FOO_SITE Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox