openssl: remove patch's git-hash to support fat/ntfs systems
PATCH 1/1 openssl: remove patch's git-hash to support fat/ntfs systems
Altering the OpenSSL parallel build patch's source location; the change removes the Git hash reference from the URL. This is to support storing cache data on file systems which have a more restrictive character set. For this case, the downloaded patch will have the complete filename in the 'dl' directory:
openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d
For FAT/NTFS systems, it cannot handle the '?' character. By only using the patch's filename, the file can be safely stored on FAT/NTFS systems with the name:
openssl-1.0.2d-parallel-build.patch
Removing the Git reference should not be a major issue since this repository (which we are pulling the patch from), appears to be maintain a series of patches for multiple versions of OpenSSL. The patch we are fetching explicitly defines the OpenSSL version we are trying to patch. In the worst case, if the patch is changed on or removed off its head, Buildroot's hash-check will catch this.
--- package/openssl/openssl.hash | 2 +- package/openssl/openssl.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/openssl/openssl.hash +1 -1
@@ -1,4 +1,4 @@ # From https://www.openssl.org/source/openssl-1.0.2d.tar.gz.sha256 sha256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 openssl-1.0.2d.tar.gz # Locally computed -sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d +sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch
package/openssl/openssl.mk +1 -1
@@ -14,7 +14,7 @@ HOST_OPENSSL_DEPENDENCIES = host-zlib OPENSSL_TARGET_ARCH = generic32 OPENSSL_CFLAGS = $(TARGET_CFLAGS) OPENSSL_PATCH = \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch ifeq ($(BR2_USE_MMU),) OPENSSL_CFLAGS += -DHAVE_FORK=0
Signature · 1 line
1.9.5.msysgit.1
PATCH 1/1 openssl: remove patch's git-hash to support fat/ntfs systems
Quoted 6 lines · James Knight
Altering the OpenSSL parallel build patch's source location; the change removes the Git hash reference from the URL. This is to support storing cache data on file systems which have a more restrictive character set. For this case, the downloaded patch will have the complete filename in the 'dl' directory:
Quoted 7 lines
openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d
For FAT/NTFS systems, it cannot handle the '?' character. By only using the patch's filename, the file can be safely stored on FAT/NTFS systems with the name:
openssl-1.0.2d-parallel-build.patch
The same issue exists for fan-ctrl and spidev_test, but it's more difficult to
solve for these because the version is really needed.
So perhaps the solution is to sanitize the local filename by converting ?, :
and maybe others to _.
Quoted 7 lines
Removing the Git reference should not be a major issue since this repository (which we are pulling the patch from), appears to be maintain a series of patches for multiple versions of OpenSSL. The patch we are fetching explicitly defines the OpenSSL version we are trying to patch. In the worst case, if the patch is changed on or removed off its head, Buildroot's hash-check will catch this.
The thing is, it _will_ probably be removed from the head revision at some
point. For instance, the equivalent patch for 1.0.2 was removed in d93bba52f8. And even worse: we will probably not notice in the autobuilders, because by the time this happens we will probably already have bumped openssl and the patch version. But if you use a buildroot release, you'll suddenly get a download error and start scratching your head about how to solve that one...
I think that one trumps supporting FAT or NTFS as your DL_DIR filesystem, so
that's a NACK from me. Sorry.
Regards,
Arnout
Quoted 31 lines
Signed-off-by James Knight <[email protected]>--- package/openssl/openssl.hash | 2 +- package/openssl/openssl.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)package/openssl/openssl.hash +1
-1@@ -1,4 +1,4 @@ # From https://www.openssl.org/source/openssl-1.0.2d.tar.gz.sha256 sha256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 openssl-1.0.2d.tar.gz # Locally computed -sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d +sha256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f openssl-1.0.2d-parallel-build.patchpackage/openssl/openssl.mk +1
-1@@ -14,7 +14,7 @@ HOST_OPENSSL_DEPENDENCIES = host-zlib OPENSSL_TARGET_ARCH = generic32 OPENSSL_CFLAGS = $(TARGET_CFLAGS) OPENSSL_PATCH = \ - https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d + https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2d-parallel-build.patch ifeq ($(BR2_USE_MMU),) OPENSSL_CFLAGS += -DHAVE_FORK=0
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 openssl: remove patch's git-hash to support fat/ntfs systems
Arnout,
Quoted 2 lines · Arnout Vandecappelle
I think that one trumps supporting FAT or NTFS as your
DL_DIRfilesystem, so that's a NACK from me.
Agreed.
I'll try to find a way to work around the setup I have then, maybe try a sanitation method (like you've suggested). I'll mark the patch as rejected. I'd be curious if anyone else has any other comments on this.
PATCH 1/1 openssl: remove patch's git-hash to support fat/ntfs systems
Quoted 10 lines · James Knight
Arnout,
Quoted 2 lines · Arnout Vandecappelle
I think that one trumps supporting FAT or NTFS as your
DL_DIRfilesystem, so that's a NACK from me.Agreed.
I'll try to find a way to work around the setup I have then, maybe try a sanitation method (like you've suggested).
The sanitation is an infrastructural change, of course. I would start with
replacing all the uses of <pkg>_SOURCE with a newly introduced <pkg>_DL_SOURCE (which also includes the DL_DIR). Then in a second step you can sanitize _DL_SOURCE and update the download infra.
Regards,
Arnout
Quoted 4 lines
I'll mark the patch as
rejected. I'd be curious if anyone else has any other comments on this.
Signature · 6 lines
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium . . . . . BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 openssl: remove patch's git-hash to support fat/ntfs systems
Quoted 9 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
I'll try to find a way to work around the setup I have then, maybe try a sanitation method (like you've suggested).
The sanitation is an infrastructural change, of course. I would start with
replacing all the uses of <pkg>_SOURCE with a newly introduced <pkg>_DL_SOURCE (which also includes theDL_DIR). Then in a second step you can sanitize_DL_SOURCEand update the download infra.
Please keep in mind that we'll need a way to disable this and/or change the primary/backup mirror handling so they continue to work (sources.buildroot.net for one).
Signature · 1 line
Bye, Peter Korsgaard