--- jdk-10/src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java.orig 2022-04-04 11:18:52.760626467 +0200 +++ jdk-10/src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java 2022-04-04 12:03:40.645325687 +0200 @@ -105,6 +105,7 @@ import jdk.internal.module.ModuleTarget; import jdk.internal.module.Resources; import jdk.tools.jlink.internal.Utils; +import java.util.TreeSet; import static java.util.stream.Collectors.joining; @@ -768,6 +769,7 @@ void processSection(JmodOutputStream out, Section section, Path path) throws IOException { + TreeSet paths = new TreeSet<>(); Files.walkFileTree(path, Set.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor() { @Override @@ -781,20 +783,24 @@ if (!relPath.toString().equals(MODULE_INFO) && !matches(relPath, excludes)) { - try (InputStream in = Files.newInputStream(file)) { - out.writeEntry(in, section, relPath.toString()); - } catch (IOException x) { - if (x.getMessage().contains("duplicate entry")) { - warning("warn.ignore.duplicate.entry", - relPath.toString(), section); - return FileVisitResult.CONTINUE; - } - throw x; - } + paths.add(file); } return FileVisitResult.CONTINUE; } }); + for (Path file : paths) { + Path relPath = path.relativize(file); + try (InputStream in = Files.newInputStream(file)) { + out.writeEntry(in, section, relPath.toString()); + } catch (IOException x) { + if (x.getMessage().contains("duplicate entry")) { + warning("warn.ignore.duplicate.entry", + relPath.toString(), section); + continue; + } + throw x; + } + } } boolean matches(Path path, List matchers) { /guix/commit/.gitignore?id=4cf4dcb8b31274a8dfba6bae3a6826a1b521da3f'>teams: Adjust shebang to use 'guix repl'....This ensures the correct Guix dependencies are always available for the script. * etc/teams.scm.in: Rename to... * etc/teams.scm: ... this. Adjust shebang. * .gitignore: No longer ignore it. * configure.ac: Do not process it with AC_CONFIG_FILES. Reported-by: Clément Lassieur <clement@lassieur.org> Fixes: https://issues.guix.gnu.org/66605 Change-Id: I7a01750c6c5f0696b6c36b1e6caa9389d9e6822c Maxim Cournoyer 2023-04-24Add mumi config....* .mumi/config: New file. * .gitignore: Add .mumi/current-issue. Arun Isaac 2022-07-03etc: Add teams.scm....* etc/teams.scm.in: New file. * configure.ac: Generate executable. * .gitignore: Ignore generated file. Ricardo Wurmus 2022-06-05gitignore: Add .DS_Store....Ignore MacOS specific file: https://en.wikipedia.org/wiki/.DS_Store Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Pavel Shlyak td>Ludovic Courtès 2021-12-23Remove VM generation dead-code....This code duplicates the (gnu system image) and (gnu build image) code. Using VM for image generation is not needed, not portable and really slow. Remove all the VM image generation code to make sure that only the image API is used. * gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ... * gnu/build/marionette.scm: ... here. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it. * tests/modules.scm: Ditto. * gnu/tests/install.scm: Ditto. * gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm, qemu-img, system-qemu-image/shared-store and system-docker-image procedures. * doc/guix.texi (G-Expressions): Adapt it. Mathieu Othacehe