From 109815acac97bb613f2acef1914171b76c6851f1 Mon Sep 17 00:00:00 2001 From: Tibbs Date: Jun 14 2017 18:31:10 +0000 Subject: Apply corrections provided in https://pagure.io/packaging-committee/issue/689 --- diff --git a/guidelines/Packaging:Java.mw b/guidelines/Packaging:Java.mw index 89a9753..ac03183 100644 --- a/guidelines/Packaging:Java.mw +++ b/guidelines/Packaging:Java.mw @@ -2,7 +2,7 @@ These guidelines are laid out in order of relevance to packaging. == Introduction == -This page represents Fedora guidelines for packaging libraries and applications written in Java and related languages using Java Virtual Machine as bytecode interpreter. It '''DOES NOT''' aim to extensively describe packaging techniques and tips. RPM macros and commands used here are documented in man pages. Furthermore a separate [https://fedorahosted.org/released/javapackages/doc/ Java Packaging HOWTO] describes Java packaging techniques in detail and includes examples, templates and documentation aimed at packagers and Java developers who are taking their first steps in Java RPM packaging. +This page represents Fedora guidelines for packaging libraries and applications written in Java and related languages using Java Virtual Machine as bytecode interpreter. It '''DOES NOT''' aim to extensively describe packaging techniques and tips. RPM macros and commands used here are documented in man pages. Furthermore a separate [https://fedora-java.github.io/howto/latest/ Java Packaging HOWTO] describes Java packaging techniques in detail and includes examples, templates and documentation aimed at packagers and Java developers who are taking their first steps in Java RPM packaging. Fedora Java packaging is originally based on [http://www.jpackage.org JPackage Project] standards. Over time we have diverged in packaging tools in most areas but we mostly keep backward compatibility with older packages that make use of JPackage standards. @@ -72,21 +72,21 @@ If java-headless requirement is insufficient package '''MUST''' have Requires: Packages '''MUST NOT''' hardcode paths to JAR files they use. When package needs to reference a JAR file, packager '''SHOULD''' use one of tools designed to locating JAR files in the system. == Maven pom.xml files == -If upstream project is shipping Maven pom.xml files, these '''MUST''' be installed. Additionally package '''MUST''' install mapping between upstream artifact and filesystem by using either %mvn_install or %add_maven_depmap macros. +If upstream project is shipping Maven pom.xml files, these '''MUST''' be installed. Additionally package '''MUST''' install mapping between upstream artifact and filesystem by using the %mvn_install macro. -{{admon/note|Additional documentation|Usage of %add_maven_depmap macro is documented in detail in [https://fedorahosted.org/released/javapackages/doc/#_add_maven_depmap_macro Java Packaging HOWTO].}} +{{admon/note|Additional documentation|Additional artifact installation documentation is available for[https://fedora-java.github.io/howto/latest/#ant Ant projects] and [https://fedora-java.github.io/howto/latest/#maven Maven projects].}} If upstream project does not ship Maven pom.xml file, official [http://mvnrepository.com/ maven repository] should be searched and if there are pom.xml files they '''SHOULD''' be installed. If modifications to Maven pom.xml files are needed %pom_* family of macros '''SHOULD''' be used -{{admon/note|Additional documentation|Usage of %pom_* macros is documented in detail in [https://fedorahosted.org/released/javapackages/doc/#helper_macros Java Packaging HOWTO].}} +{{admon/note|Additional documentation|Usage of %pom_* macros is documented in detail in [https://fedora-java.github.io/howto/latest/#helper_macros Java Packaging HOWTO].}} == Wrapper Scripts == Applications wishing to provide a convenient method of execution '''SHOULD''' provide a wrapper script in %{_bindir}. Packages '''SHOULD''' use %jpackage_script to create these wrapper scripts. -{{admon/note|Additional documentation|Usage of %jpackage_script macro is documented in [https://fedorahosted.org/released/javapackages/doc/#_generating_application_shell_scripts Java Packaging HOWTO].}} +{{admon/note|Additional documentation|Usage of %jpackage_script macro is documented in [https://fedora-java.github.io/howto/latest#_generating_application_shell_scripts Java Packaging HOWTO].}} == Compatibility packages == In certain cases it might be necessary to create compatibility packages that provide older API/ABI level of the same library. However creating these compatibility packages is strongly discouraged. To standardize and simplify packaging of such compatibility packages following rules apply: