[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#35570] [PATCH 1/8] gnu: ant-build-system: Don't override symlinks.
From: |
Björn Höfling |
Subject: |
[bug#35570] [PATCH 1/8] gnu: ant-build-system: Don't override symlinks. |
Date: |
Sun, 5 May 2019 00:37:16 +0200 |
When repacking jar-files, don't work on symlinks: Otherwise, they would be
overridden with the repacked jar-file.
* guix/build/ant-build-system.scm (regular-jar-file-predicate): New procedure.
(generate-jar-indices, strip-jar-timestamps): Use it.
---
guix/build/ant-build-system.scm | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index d79a2d55ed..0fec06f497 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2019 Björn Höfling <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -171,6 +172,12 @@ to the default GNU unpack strategy."
#:allow-other-keys)
(apply invoke `("ant" ,build-target ,@make-flags)))
+(define (regular-jar-file-predicate file stat)
+ "Predicate returning true if FILE is ending on '.jar'
+and STAT indicates it is a regular file."
+ (and ((file-name-predicate "\\.jar$") file stat)
+ (eq? 'regular (stat:type stat))))
+
(define* (generate-jar-indices #:key outputs #:allow-other-keys)
"Generate file \"META-INF/INDEX.LIST\". This file does not use word wraps
and is preferred over \"META-INF/MANIFEST.MF\", which does use word wraps,
@@ -181,7 +188,10 @@ dependencies of this jar file."
(invoke "jar" "-i" jar))
(for-each (match-lambda
((output . directory)
- (for-each generate-index (find-files directory "\\.jar$"))))
+ (for-each generate-index
+ (find-files
+ directory
+ regular-jar-file-predicate))))
outputs)
#t)
@@ -222,7 +232,8 @@ repack them. This is necessary to ensure that archives are
reproducible."
(for-each (match-lambda
((output . directory)
- (for-each repack-archive (find-files directory "\\.jar$"))))
+ (for-each repack-archive
+ (find-files directory regular-jar-file-predicate))))
outputs)
#t)
--
2.21.0
pgpOmSakSnc1n.pgp
Description: OpenPGP digital signature
- [bug#35570] java-tomcat: Make it the full package, Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 1/8] gnu: ant-build-system: Don't override symlinks.,
Björn Höfling <=
- [bug#35570] [PATCH 2/8] gnu: java-javaee-servletapi: Don't use unstable tarball., Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 3/8] gnu: java-javaee-servletapi: Add properties-files to jar., Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 4/8] gnu: Remove dependencies on java-tomcat, use servlet API, Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 5/8] gnu: java-commons-daemon: Update to 1.1.0., Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 6/8] gnu: Add java-ecj in version 4.6.3., Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 8/8] gnu: java-tomcat: Update to 8.5.40., Björn Höfling, 2019/05/04
- [bug#35570] [PATCH 7/8] gnu: java-tomcat: Build the full Tomcat package., Björn Höfling, 2019/05/04