Skip to contentSkip to conversation

Cleanup trailing slashed from FOO_SITE

PATCH New Luca Ceresoli 3 participants 7 messages Mar 9, 2015 – Mar 10, 2015

lore
Share & tools
lore
#0 lore raw

cover Cleanup trailing slashed from FOO_SITE

Hi,

this small patch set cleans 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 <[email protected]>
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.

This series removes all these slashes and the workaround, and updates the manual which is currently suggesting an incorrect URL.

This work has been inspired by this comment from Arnout Vandecappelle:

Quoted 8 lines
Quoted 3 lines

Review

Quoted 3 lines
(quoted diff) +3 -0
+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 /...

(source: https://patchwork.ozlabs.org/patch/424980/)

Luca Ceresoli (3):
manual: download: remove trailing slash from package FOO_SITE Remove trailing slash from all package site URLs
Download: remove trailing slash cleanups for SITE URLs

 docs/manual/adding-packages-generic.txt            |  2 +-
 linux/linux.mk                                     |  2 +-
 package/autoconf-archive/autoconf-archive.mk       |  2 +-
 package/bmon/bmon.mk                               |  2 +-
 package/dos2unix/dos2unix.mk                       |  2 +-
 package/freeradius-client/freeradius-client.mk     |  2 +-
 package/gengetopt/gengetopt.mk                     |  2 +-
 package/geoip/geoip.mk                             |  2 +-
 package/hicolor-icon-theme/hicolor-icon-theme.mk   |  2 +-
 package/libevdev/libevdev.mk                       |  2 +-
 package/libiscsi/libiscsi.mk                       |  2 +-
 package/libnice/libnice.mk                         |  2 +-
 package/libphidget/libphidget.mk                   |  2 +-
 package/libseccomp/libseccomp.mk                   |  2 +-
 package/libzip/libzip.mk                           |  2 +-
 package/lightning/lightning.mk                     |  2 +-
 package/lxc/lxc.mk                                 |  2 +-
 package/mono/mono.mk                               |  2 +-
 package/monolite/monolite.mk                       |  2 +-
 package/mpdecimal/mpdecimal.mk                     |  2 +-
 package/patchelf/patchelf.mk                       |  2 +-
 package/perl/perl.mk                               |  2 +-
 package/phidgetwebservice/phidgetwebservice.mk     |  2 +-
 package/pkg-generic.mk                             |  6 +--
 package/python-django/python-django.mk             |  2 +-
 package/python-netifaces/python-netifaces.mk       |  2 +-
 package/python-pam/python-pam.mk                   |  2 +-
 package/python-six/python-six.mk                   |  2 +-
 package/python-twisted/python-twisted.mk           |  2 +-
 .../python-zope-interface/python-zope-interface.mk |  2 +-
 package/qt5cinex/qt5cinex.mk                       |  2 +-
 package/slang/slang.mk                             |  2 +-
 package/smcroute/smcroute.mk                       |  2 +-
 package/tslib/tslib.mk                             |  2 +-
 package/uclibc/uclibc.mk                           |  2 +-
 package/ustr/ustr.mk                               |  2 +-
 package/wine/wine.mk                               |  2 +-
 toolchain/toolchain-external/toolchain-external.mk | 60 +++++++++++-----------
 38 files changed, 69 insertions(+), 69 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/3 manual: download: remove trailing slash from package FOO_SITE

The recommended form is without the trailing slash. Buildroot will add a slash between FOO_SITE and FOO_SOURCE as appropriate.

---
 docs/manual/adding-packages-generic.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
docs/manual/adding-packages-generic.txt +1 -1
index e3029ed..6150bf7 100644
@@ -242,7 +242,7 @@ information is (assuming the package name is +libfoo+) :
   +LIBFOO_SITE+.
   Examples: +
     +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ +
-    +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor/+ +
+    +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ +
     +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
     +LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
 
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/3 Remove trailing slash from all package site URLs

In reply to Luca Ceresoli

The recommended form is without the trailing slash. Buildroot will add a slash between FOO_SITE and FOO_SOURCE as appropriate.

---
 linux/linux.mk                                     |  2 +-
 package/autoconf-archive/autoconf-archive.mk       |  2 +-
 package/bmon/bmon.mk                               |  2 +-
 package/dos2unix/dos2unix.mk                       |  2 +-
 package/freeradius-client/freeradius-client.mk     |  2 +-
 package/gengetopt/gengetopt.mk                     |  2 +-
 package/geoip/geoip.mk                             |  2 +-
 package/hicolor-icon-theme/hicolor-icon-theme.mk   |  2 +-
 package/libevdev/libevdev.mk                       |  2 +-
 package/libiscsi/libiscsi.mk                       |  2 +-
 package/libnice/libnice.mk                         |  2 +-
 package/libphidget/libphidget.mk                   |  2 +-
 package/libseccomp/libseccomp.mk                   |  2 +-
 package/libzip/libzip.mk                           |  2 +-
 package/lightning/lightning.mk                     |  2 +-
 package/lxc/lxc.mk                                 |  2 +-
 package/mono/mono.mk                               |  2 +-
 package/monolite/monolite.mk                       |  2 +-
 package/mpdecimal/mpdecimal.mk                     |  2 +-
 package/patchelf/patchelf.mk                       |  2 +-
 package/phidgetwebservice/phidgetwebservice.mk     |  2 +-
 package/python-django/python-django.mk             |  2 +-
 package/python-netifaces/python-netifaces.mk       |  2 +-
 package/python-pam/python-pam.mk                   |  2 +-
 package/python-six/python-six.mk                   |  2 +-
 package/python-twisted/python-twisted.mk           |  2 +-
 .../python-zope-interface/python-zope-interface.mk |  2 +-
 package/qt5cinex/qt5cinex.mk                       |  2 +-
 package/slang/slang.mk                             |  2 +-
 package/smcroute/smcroute.mk                       |  2 +-
 package/tslib/tslib.mk                             |  2 +-
 package/uclibc/uclibc.mk                           |  2 +-
 package/ustr/ustr.mk                               |  2 +-
 package/wine/wine.mk                               |  2 +-
 toolchain/toolchain-external/toolchain-external.mk | 60 +++++++++++-----------
 35 files changed, 64 insertions(+), 64 deletions(-)
linux/linux.mk +1 -1
index 672ce48..5afcd4e 100644
@@ -36,7 +36,7 @@ LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
 endif
 # release candidates are in testing/ subdir
 ifneq ($(findstring -rc,$(LINUX_VERSION)),)
-LINUX_SITE := $(LINUX_SITE)/testing/
+LINUX_SITE := $(LINUX_SITE)/testing
 endif # -rc
 endif
 
package/autoconf-archive/autoconf-archive.mk +1 -1
index 78cb6a8..4479348 100644
@@ -6,7 +6,7 @@
 
 AUTOCONF_ARCHIVE_VERSION = 2015.02.04
 AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
-AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive/
+AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
 AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
 AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
 
package/bmon/bmon.mk +1 -1
index 95168f6..9a4312f 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 BMON_VERSION = 3.6
-BMON_SITE = https://github.com/tgraf/bmon/releases/download/v$(BMON_VERSION)/
+BMON_SITE = https://github.com/tgraf/bmon/releases/download/v$(BMON_VERSION)
 BMON_DEPENDENCIES = host-pkgconf libconfuse libnl ncurses
 BMON_LICENSE = BSD-2c
 BMON_LICENSE_FILES = LICENSE
package/dos2unix/dos2unix.mk +1 -1
index fd531d4..2d7fcbb 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 DOS2UNIX_VERSION = 7.0
-DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix/
+DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix
 DOS2UNIX_DEPENDENCIES = host-gettext
 DOS2UNIX_LICENSE = BSD-2c
 DOS2UNIX_LICENSE_FILES = COPYING.txt
package/freeradius-client/freeradius-client.mk +1 -1
index 00913c7..0ed7fbe 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 FREERADIUS_CLIENT_VERSION = 1.1.7
-FREERADIUS_CLIENT_SITE = ftp://ftp.freeradius.org/pub/freeradius/
+FREERADIUS_CLIENT_SITE = ftp://ftp.freeradius.org/pub/freeradius
 FREERADIUS_CLIENT_LICENSE = BSD-2c
 FREERADIUS_CLIENT_LICENSE_FILES = COPYRIGHT
 FREERADIUS_CLIENT_INSTALL_STAGING = YES
package/gengetopt/gengetopt.mk +1 -1
index 7477d53..b7cbc7f 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 GENGETOPT_VERSION = 2.22.6
-GENGETOPT_SITE = $(BR2_GNU_MIRROR)/gengetopt/
+GENGETOPT_SITE = $(BR2_GNU_MIRROR)/gengetopt
 GENGETOPT_LICENSE = GPLv3+
 GENGETOPT_LICENSE_FILES = COPYING LICENSE
 
package/geoip/geoip.mk +1 -1
index 0afb4e2..ac88a3b 100644
@@ -6,7 +6,7 @@
 
 GEOIP_VERSION = 1.6.4
 GEOIP_SOURCE = GeoIP-$(GEOIP_VERSION).tar.gz
-GEOIP_SITE = https://github.com/maxmind/geoip-api-c/releases/download/v$(GEOIP_VERSION)/
+GEOIP_SITE = https://github.com/maxmind/geoip-api-c/releases/download/v$(GEOIP_VERSION)
 GEOIP_INSTALL_STAGING = YES
 GEOIP_LICENSE = LGPLv2.1+
 GEOIP_LICENSE_FILES = COPYING
package/hicolor-icon-theme/hicolor-icon-theme.mk +1 -1
index 768aec8..cf4578e 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 HICOLOR_ICON_THEME_VERSION = 0.13
-HICOLOR_ICON_THEME_SITE = http://icon-theme.freedesktop.org/releases/
+HICOLOR_ICON_THEME_SITE = http://icon-theme.freedesktop.org/releases
 HICOLOR_ICON_THEME_LICENSE = GPLv2
 HICOLOR_ICON_THEME_LICENSE_FILES = COPYING
 
package/libevdev/libevdev.mk +1 -1
index 56247be..45bde9f 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBEVDEV_VERSION = 1.3.2
-LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev/
+LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev
 LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz
 LIBEVDEV_LICENSE = X11
 LIBEVDEV_LICENSE_FILES = COPYING
package/libiscsi/libiscsi.mk +1 -1
index a52211b..c244830 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBISCSI_VERSION = 1.12.0
-LIBISCSI_SITE = https://sites.google.com/site/libiscsitarballs/libiscsitarballs/
+LIBISCSI_SITE = https://sites.google.com/site/libiscsitarballs/libiscsitarballs
 LIBISCSI_LICENSE = GPLv2+ LGPLv2.1+
 LIBISCSI_LICENSE_FILES = COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt
 LIBISCSI_INSTALL_STAGING = YES
package/libnice/libnice.mk +1 -1
index 10abe86..68f5eae 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBNICE_VERSION = 0.1.8
-LIBNICE_SITE = http://nice.freedesktop.org/releases/
+LIBNICE_SITE = http://nice.freedesktop.org/releases
 LIBNICE_LICENSE = MPLv1.1 or LGPLv2.1
 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL
 LIBNICE_DEPENDENCIES = libglib2 host-pkgconf
package/libphidget/libphidget.mk +1 -1
index cb151a1..1b2557d 100644
@@ -6,7 +6,7 @@
 
 LIBPHIDGET_VERSION = 2.1.8.20140319
 LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz
-LIBPHIDGET_SITE = http://www.phidgets.com/downloads/libraries/
+LIBPHIDGET_SITE = http://www.phidgets.com/downloads/libraries
 LIBPHIDGET_DEPENDENCIES = libusb
 LIBPHIDGET_CONF_OPTS = --disable-ldconfig
 LIBPHIDGET_INSTALL_STAGING = YES
package/libseccomp/libseccomp.mk +1 -1
index 44dec3f..fbc4f90 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBSECCOMP_VERSION = 2.1.1
-LIBSECCOMP_SITE = http://downloads.sourceforge.net/project/libseccomp/libseccomp-$(LIBSECCOMP_VERSION)/
+LIBSECCOMP_SITE = http://downloads.sourceforge.net/project/libseccomp/libseccomp-$(LIBSECCOMP_VERSION)
 LIBSECCOMP_LICENSE = LGPLv2.1
 LIBSECCOMP_LICENSE_FILES = LICENSE
 LIBSECCOMP_INSTALL_STAGING = YES
package/libzip/libzip.mk +1 -1
index e5d8e26..a419db7 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIBZIP_VERSION = 0.11.2
-LIBZIP_SITE = http://www.nih.at/libzip/
+LIBZIP_SITE = http://www.nih.at/libzip
 LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz
 LIBZIP_LICENSE = BSD-3c
 LIBZIP_LICENSE_FILES = LICENSE
package/lightning/lightning.mk +1 -1
index 594ba0c..9095cba 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LIGHTNING_VERSION = 2.0.5
-LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning/
+LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning
 LIGHTNING_LICENSE = LGPLv3+
 LIGHTNING_LICENSE_FILES = COPYING.LESSER
 LIGHTNING_INSTALL_STAGING = YES
package/lxc/lxc.mk +1 -1
index 69c2fb9..11a89f2 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 LXC_VERSION = 1.0.6
-LXC_SITE = https://linuxcontainers.org/downloads/
+LXC_SITE = https://linuxcontainers.org/downloads
 LXC_LICENSE = LGPLv2.1+
 LXC_LICENSE_FILES = COPYING
 LXC_DEPENDENCIES = libcap host-pkgconf
package/mono/mono.mk +1 -1
index 9ec3c24..65cd973 100644
@@ -5,7 +5,7 @@
 #############################################################
 
 MONO_VERSION = 3.12.0
-MONO_SITE = http://download.mono-project.com/sources/mono/
+MONO_SITE = http://download.mono-project.com/sources/mono
 MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2
 MONO_LICENSE = GPLv2 or MIT (compiler, tools), LGPLv2 (runtime libs), MIT (class libs) or commercial
 MONO_LICENSE_FILES = LICENSE COPYING.LIB mcs/COPYING.LIB mcs/COPYING \
package/monolite/monolite.mk +1 -1
index b759c13..ddc2e92 100644
@@ -5,7 +5,7 @@
 #############################################################
 
 MONOLITE_VERSION = 111
-MONOLITE_SITE = http://storage.bos.xamarin.com/mono-dist-master/latest/
+MONOLITE_SITE = http://storage.bos.xamarin.com/mono-dist-master/latest
 MONOLITE_SOURCE = monolite-$(MONOLITE_VERSION)-latest.tar.gz
 MONOLITE_LICENSE = LGPLv2 or commercial
 
package/mpdecimal/mpdecimal.mk +1 -1
index 060750c..07a7564 100644
@@ -7,7 +7,7 @@
 # Official site currently down
 # MPDECIMAL_SITE = http://www.bytereef.org/software/mpdecimal/releases
 
-MPDECIMAL_SITE = https://launchpad.net/ubuntu/+archive/primary/+files/
+MPDECIMAL_SITE = https://launchpad.net/ubuntu/+archive/primary/+files
 MPDECIMAL_VERSION = 2.4.1
 MPDECIMAL_SOURCE = mpdecimal_$(MPDECIMAL_VERSION).orig.tar.gz
 MPDECIMAL_INSTALL_STAGING = YES
package/patchelf/patchelf.mk +1 -1
index b6b9e05..043224d 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 PATCHELF_VERSION = 0.8
-PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-0.8/
+PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-0.8
 PATCHELF_LICENSE = GPLv3+
 PATCHELF_LICENSE_FILES = COPYING
 
package/phidgetwebservice/phidgetwebservice.mk +1 -1
index 64dfca4..f7d1b48 100644
@@ -6,7 +6,7 @@
 
 PHIDGETWEBSERVICE_VERSION = 2.1.8.20140319
 PHIDGETWEBSERVICE_SOURCE = phidgetwebservice_$(PHIDGETWEBSERVICE_VERSION).tar.gz
-PHIDGETWEBSERVICE_SITE = http://www.phidgets.com/downloads/libraries/
+PHIDGETWEBSERVICE_SITE = http://www.phidgets.com/downloads/libraries
 PHIDGETWEBSERVICE_DEPENDENCIES = libphidget
 PHIDGETWEBSERVICE_LICENSE = LGPLv3
 PHIDGETWEBSERVICE_LICENSE_FILES = COPYING
package/python-django/python-django.mk +1 -1
index 28f25bd..b67bce4 100644
@@ -7,7 +7,7 @@
 PYTHON_DJANGO_VERSION = 1.7.3
 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz
 # The official Django site has an unpractical URL
-PYTHON_DJANGO_SITE = https://pypi.python.org/packages/source/D/Django/
+PYTHON_DJANGO_SITE = https://pypi.python.org/packages/source/D/Django
 PYTHON_DJANGO_LICENSE = BSD-3c
 PYTHON_DJANGO_LICENSE_FILES = LICENSE
 PYTHON_DJANGO_SETUP_TYPE = setuptools
package/python-netifaces/python-netifaces.mk +1 -1
index 4aa53e6..f748bc1 100644
@@ -6,7 +6,7 @@
 
 PYTHON_NETIFACES_VERSION = 0.10.4
 PYTHON_NETIFACES_SOURCE = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz
-PYTHON_NETIFACES_SITE = https://pypi.python.org/packages/source/n/netifaces/
+PYTHON_NETIFACES_SITE = https://pypi.python.org/packages/source/n/netifaces
 PYTHON_NETIFACES_LICENSE = MIT
 PYTHON_NETIFACES_LICENSE_FILES = README
 PYTHON_NETIFACES_SETUP_TYPE = setuptools
package/python-pam/python-pam.mk +1 -1
index 1e8a593..d737291 100644
@@ -7,7 +7,7 @@
 PYTHON_PAM_VERSION = 0.5.0
 PYTHON_PAM_SOURCE = PyPAM-$(PYTHON_PAM_VERSION).tar.gz
 # pangalactic.org gone
-PYTHON_PAM_SITE = http://pkgs.fedoraproject.org/repo/pkgs/PyPAM/PyPAM-0.5.0.tar.gz/f1e7c2c56421dda28a75ace59a3c8871/
+PYTHON_PAM_SITE = http://pkgs.fedoraproject.org/repo/pkgs/PyPAM/PyPAM-0.5.0.tar.gz/f1e7c2c56421dda28a75ace59a3c8871
 PYTHON_PAM_SETUP_TYPE = distutils
 PYTHON_PAM_LICENSE = LGPLv2.1
 PYTHON_PAM_LICENSE_FILES = COPYING
package/python-six/python-six.mk +1 -1
index 08fe5de..24fd976 100644
@@ -6,7 +6,7 @@
 
 PYTHON_SIX_VERSION = 1.9.0
 PYTHON_SIX_SOURCE = six-$(PYTHON_SIX_VERSION).tar.gz
-PYTHON_SIX_SITE = https://pypi.python.org/packages/source/s/six/
+PYTHON_SIX_SITE = https://pypi.python.org/packages/source/s/six
 PYTHON_SIX_SETUP_TYPE = setuptools
 PYTHON_SIX_LICENSE = MIT
 PYTHON_SIX_LICENSE_FILES = LICENSE
package/python-twisted/python-twisted.mk +1 -1
index 792bb05..a2e2486 100644
@@ -6,7 +6,7 @@
 
 PYTHON_TWISTED_VERSION = 14.0.2
 PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.bz2
-PYTHON_TWISTED_SITE = https://pypi.python.org/packages/source/T/Twisted/
+PYTHON_TWISTED_SITE = https://pypi.python.org/packages/source/T/Twisted
 PYTHON_TWISTED_SETUP_TYPE = setuptools
 PYTHON_TWISTED_LICENSE = MIT
 PYTHON_TWISTED_LICENSE_FILES = LICENSE
package/python-zope-interface/python-zope-interface.mk +1 -1
index a271f77..dea6203 100644
@@ -6,7 +6,7 @@
 
 PYTHON_ZOPE_INTERFACE_VERSION = 4.1.2
 PYTHON_ZOPE_INTERFACE_SOURCE = zope.interface-$(PYTHON_ZOPE_INTERFACE_VERSION).tar.gz
-PYTHON_ZOPE_INTERFACE_SITE = https://pypi.python.org/packages/source/z/zope.interface/
+PYTHON_ZOPE_INTERFACE_SITE = https://pypi.python.org/packages/source/z/zope.interface
 PYTHON_ZOPE_INTERFACE_SETUP_TYPE = setuptools
 PYTHON_ZOPE_INTERFACE_LICENSE = ZPLv2.1
 PYTHON_ZOPE_INTERFACE_LICENSE_FILES = LICENSE.txt
package/qt5cinex/qt5cinex.mk +1 -1
index ac7c379..a79df7b 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 QT5CINEX_VERSION = 1.0
-QT5CINEX_SITE = http://quitcoding.com/download/
+QT5CINEX_SITE = http://quitcoding.com/download
 
 ifeq ($(BR2_PACKAGE_QT5CINEX_HD),y)
 QT5CINEX_HD = "rpi_"
package/slang/slang.mk +1 -1
index 025c34a..c458fe7 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 SLANG_VERSION = 2.3.0
-SLANG_SITE = http://www.jedsoft.org/releases/slang/
+SLANG_SITE = http://www.jedsoft.org/releases/slang
 SLANG_LICENSE = GPLv2+
 SLANG_LICENSE_FILES = COPYING
 SLANG_INSTALL_STAGING = YES
package/smcroute/smcroute.mk +1 -1
index 9de65f8..77e7e63 100755
@@ -6,7 +6,7 @@
 
 SMCROUTE_VERSION = 2.0.0
 SMCROUTE_SOURCE = smcroute-$(SMCROUTE_VERSION).tar.xz
-SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION)/
+SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION)
 SMCROUTE_LICENSE = GPLv2+
 SMCROUTE_LICENSE_FILES = COPYING
 
package/tslib/tslib.mk +1 -1
index 3f93149..1100247 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 TSLIB_VERSION = 1.1
-TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION)/
+TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION)
 TSLIB_LICENSE = GPL, LGPL
 TSLIB_LICENSE_FILES = COPYING
 
package/uclibc/uclibc.mk +1 -1
index 7fe50a3..feca77b 100644
@@ -12,7 +12,7 @@ UCLIBC_LICENSE_FILES = COPYING.LIB
 ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
 UCLIBC_SITE = http://www.uclibc.org/downloads/snapshots
 else ifeq ($(BR2_UCLIBC_NG_VERSION_1_0_0),y)
-UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)/
+UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION)
 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz
 else ifeq ($(BR2_UCLIBC_VERSION_ARC_GIT),y)
 UCLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,uClibc,$(UCLIBC_VERSION))
package/ustr/ustr.mk +1 -1
index ac1fa05..e4b2fa2 100644
@@ -6,7 +6,7 @@
 
 USTR_VERSION = 1.0.4
 USTR_SOURCE = ustr-$(USTR_VERSION).tar.bz2
-USTR_SITE = http://www.and.org/ustr/$(USTR_VERSION)/
+USTR_SITE = http://www.and.org/ustr/$(USTR_VERSION)
 USTR_LICENSE = BSD-2c MIT LGPLv2+
 USTR_LICENSE_FILES = LICENCE LICENSE_BSD LICENSE_LGPL LICENSE_MIT
 
package/wine/wine.mk +1 -1
index 571606d..aa474f9 100644
@@ -6,7 +6,7 @@
 
 WINE_VERSION = 1.6.2
 WINE_SOURCE = wine-$(WINE_VERSION).tar.bz2
-WINE_SITE = http://downloads.sourceforge.net/project/wine/Source/
+WINE_SITE = http://downloads.sourceforge.net/project/wine/Source
 WINE_LICENSE = LGPLv2.1+
 WINE_LICENSE_FILES = COPYING.LIB LICENSE
 WINE_DEPENDENCIES = host-bison host-flex host-wine
toolchain/toolchain-external/toolchain-external.mk +30 -30

140 lines not on this page · raw message

Signature · 1 line
1.9.1
#3 lore raw

PATCH 3/3 Download: remove trailing slash cleanups for SITE URLs

In reply to Luca Ceresoli

Not needed anymore since the URLs have been cleared.

---
 package/perl/perl.mk   | 2 +-
 package/pkg-generic.mk | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
package/perl/perl.mk +1 -1
index 133e8aa..b9a3a57 100644
@@ -26,7 +26,7 @@ PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod
 # together with perl
 
 define PERL_CROSS_DOWNLOAD
-	$(call DOWNLOAD,$(PERL_CROSS_SITE:/=)/$(PERL_CROSS_SOURCE))
+	$(call DOWNLOAD,$(PERL_CROSS_SITE)/$(PERL_CROSS_SOURCE))
 endef
 PERL_POST_DOWNLOAD_HOOKS += PERL_CROSS_DOWNLOAD
 
package/pkg-generic.mk +3 -3
index c1b379b..9818141 100644
@@ -84,12 +84,12 @@ ifeq ($(DL_MODE),DOWNLOAD)
 		done ; \
 	fi
 endif
-	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
-	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
+	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE)))
+	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE)/$(p))$(sep))
 	$(foreach p,$($(PKG)_PATCH),\
 		$(if $(findstring ://,$(p)),\
 			$(call DOWNLOAD,$(p)),\
-			$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))\
+			$(call DOWNLOAD,$($(PKG)_SITE)/$(p))\
 		)\
 	$(sep))
 	$(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
Signature · 1 line
1.9.1
#4 lore raw

cover Cleanup trailing slashed from FOO_SITE

In reply to Luca Ceresoli

Dear Luca Ceresoli,

Quoted 4 lines · Luca Ceresoli

Luca Ceresoli (3):
manual: download: remove trailing slash from package FOO_SITE Remove trailing slash from all package site URLs
Download: remove trailing slash cleanups for SITE URLs

Sounds good, but shouldn't we add a check to make sure that such trailing slashes don't get added again? Like a check in pkg-generic.mk that verifies that $($(2)_SITE) is the same as $($(2)_SITE:=/) ?

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

cover Cleanup trailing slashed from FOO_SITE

Dear Thomas,

Quoted 4 lines · Thomas Petazzoni

Dear Luca Ceresoli,

On Mon, 9 Mar 2015 23:14:49 +0100, Luca Ceresoli wrote:

Quoted 8 lines
Quoted 4 lines

Luca Ceresoli (3):
manual: download: remove trailing slash from package FOO_SITE Remove trailing slash from all package site URLs
Download: remove trailing slash cleanups for SITE URLs

Sounds good, but shouldn't we add a check to make sure that such trailing slashes don't get added again? Like a check in pkg-generic.mk that verifies that $($(2)_SITE) is the same as $($(2)_SITE:=/) ?

Sure, good idea.

I had been thinking about some sort of checkpatch.pl to prevent such errors, but it would probably be uselessly complex so I didn't go down that path.

I'll have a look at implementing what you suggest.

Signature · 1 line
Luca
#6 lore raw

cover Cleanup trailing slashed from FOO_SITE

In reply to Luca Ceresoli
Quoted 35 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Luca" == Luca Ceresoli <[email protected]> writes:

Hi,
this small patch set cleans 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 <[email protected]>
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.

This series removes all these slashes and the workaround, and updates the manual which is currently suggesting an incorrect URL.

This work has been inspired by this comment from Arnout Vandecappelle:

Quoted 8 lines
Quoted 3 lines

Review

Quoted 3 lines
(quoted diff) +3 -0
+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 /...

Quoted 7 lines

(source: https://patchwork.ozlabs.org/patch/424980/)

Luca Ceresoli (3):
manual: download: remove trailing slash from package FOO_SITE Remove trailing slash from all package site URLs
Download: remove trailing slash cleanups for SITE URLs

Committed the first 2, thanks. I'll wait with the last one until you have implemented the check.

Signature · 1 line
Bye, Peter Korsgaard