diff --git a/src/main/resources/com/typesafe/sbt/packager/rpm/brpJavaRepackJar b/src/main/resources/com/typesafe/sbt/packager/rpm/brpJavaRepackJar index e40438dda..747588672 100644 --- a/src/main/resources/com/typesafe/sbt/packager/rpm/brpJavaRepackJar +++ b/src/main/resources/com/typesafe/sbt/packager/rpm/brpJavaRepackJar @@ -1,6 +1 @@ -%define __os_install_post \ -%{_rpmconfigdir}/brp-compress \ -%{!?__debug_package:%{_rpmconfigdir}/brp-strip %{__strip}} \ -%{_rpmconfigdir}/brp-strip-static-archive %{__strip} \ -%{_rpmconfigdir}/brp-strip-comment-note %{__strip} %{__objdump} \ -%{nil} +%define __jar_repack %nil \ No newline at end of file diff --git a/src/main/scala/com/typesafe/sbt/packager/rpm/RpmPlugin.scala b/src/main/scala/com/typesafe/sbt/packager/rpm/RpmPlugin.scala index a705abebc..d2521a5a4 100644 --- a/src/main/scala/com/typesafe/sbt/packager/rpm/RpmPlugin.scala +++ b/src/main/scala/com/typesafe/sbt/packager/rpm/RpmPlugin.scala @@ -121,7 +121,7 @@ object RpmPlugin extends AutoPlugin { (rpmProvides, rpmRequirements, rpmPrerequisites, rpmObsoletes, rpmConflicts) apply RpmDependencies, maintainerScripts in Rpm := { val scripts = (maintainerScripts in Rpm).value - if (rpmBrpJavaRepackJars.value) { + if (!rpmBrpJavaRepackJars.value) { val pre = scripts.getOrElse(Names.Pre, Nil) val scriptBits = IO.readStream(RpmPlugin.osPostInstallMacro.openStream, Charset forName "UTF-8") scripts + (Names.Pre -> (pre :+ scriptBits)) diff --git a/src/sbt-test/rpm/changelog-test/test b/src/sbt-test/rpm/changelog-test/test index 8abe513e5..91f5a8c91 100644 --- a/src/sbt-test/rpm/changelog-test/test +++ b/src/sbt-test/rpm/changelog-test/test @@ -5,5 +5,5 @@ $ exists target/rpm/SPECS/rpm-test.spec # Check files for defaults > check-spec-file -> set NativePackagerKeys.rpmBrpJavaRepackJars := true +> set NativePackagerKeys.rpmBrpJavaRepackJars := false > check-spec-file diff --git a/src/sbt-test/rpm/scriplets-no-javarepack-rpm/build.sbt b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/build.sbt new file mode 100644 index 000000000..0c0606134 --- /dev/null +++ b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/build.sbt @@ -0,0 +1,31 @@ + +enablePlugins(JavaServerAppPackaging) + +name := "rpm-test-no-repack" + +version := "0.1.0" + +maintainer := "Josh Suereth " + +packageSummary := "Test rpm package" + +packageDescription := + """A fun package description of our software, + with multiple lines.""" + +rpmRelease := "2" + +rpmVendor := "typesafe" + +rpmUrl := Some("http://github.com/sbt/sbt-native-packager") + +rpmLicense := Some("BSD") + +rpmBrpJavaRepackJars := false + +TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) => + val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test-no-repack.spec") + assert(spec.contains("""%define __jar_repack %nil"""), "Missing java repack disabling in %pre") + out.log.success("Successfully tested rpm test file") + () +} diff --git a/src/sbt-test/rpm/scriplets-no-javarepack-rpm/project/plugins.sbt b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/project/plugins.sbt new file mode 100644 index 000000000..b53de154c --- /dev/null +++ b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version")) diff --git a/src/sbt-test/rpm/scriplets-no-javarepack-rpm/test b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/test new file mode 100644 index 000000000..6c6e1e1eb --- /dev/null +++ b/src/sbt-test/rpm/scriplets-no-javarepack-rpm/test @@ -0,0 +1,6 @@ +# Run the RPM packaging. +> rpm:package-bin +$ exists target/rpm/RPMS/noarch/rpm-test-no-repack-0.1.0-2.noarch.rpm +$ exists target/rpm/SPECS/rpm-test-no-repack.spec + +> check-spec-file \ No newline at end of file diff --git a/src/sbt-test/rpm/scriplets-use-javarepack-rpm/build.sbt b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/build.sbt new file mode 100644 index 000000000..51a881446 --- /dev/null +++ b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/build.sbt @@ -0,0 +1,31 @@ + +enablePlugins(JavaServerAppPackaging) + +name := "rpm-test-with-repack" + +version := "0.1.0" + +maintainer := "Josh Suereth " + +packageSummary := "Test rpm package" + +packageDescription := + """A fun package description of our software, + with multiple lines.""" + +rpmRelease := "2" + +rpmVendor := "typesafe" + +rpmUrl := Some("http://github.com/sbt/sbt-native-packager") + +rpmLicense := Some("BSD") + +rpmBrpJavaRepackJars := true + +TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) => + val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test-with-repack.spec") + assert(!spec.contains("""%define __jar_repack %nil"""), "%pre should not contain jar repack when set to true") + out.log.success("Successfully tested rpm test file") + () +} diff --git a/src/sbt-test/rpm/scriplets-use-javarepack-rpm/project/plugins.sbt b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/project/plugins.sbt new file mode 100644 index 000000000..b53de154c --- /dev/null +++ b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version")) diff --git a/src/sbt-test/rpm/scriplets-use-javarepack-rpm/test b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/test new file mode 100644 index 000000000..f2060ebc9 --- /dev/null +++ b/src/sbt-test/rpm/scriplets-use-javarepack-rpm/test @@ -0,0 +1,6 @@ +# Run the RPM packaging. +> rpm:package-bin +$ exists target/rpm/RPMS/noarch/rpm-test-with-repack-0.1.0-2.noarch.rpm +$ exists target/rpm/SPECS/rpm-test-with-repack.spec + +> check-spec-file \ No newline at end of file diff --git a/src/sbt-test/rpm/scriptlets-override-build-rpm/test b/src/sbt-test/rpm/scriptlets-override-build-rpm/test index 8abe513e5..91f5a8c91 100644 --- a/src/sbt-test/rpm/scriptlets-override-build-rpm/test +++ b/src/sbt-test/rpm/scriptlets-override-build-rpm/test @@ -5,5 +5,5 @@ $ exists target/rpm/SPECS/rpm-test.spec # Check files for defaults > check-spec-file -> set NativePackagerKeys.rpmBrpJavaRepackJars := true +> set NativePackagerKeys.rpmBrpJavaRepackJars := false > check-spec-file diff --git a/src/sbt-test/rpm/scriptlets-override-rpm/test b/src/sbt-test/rpm/scriptlets-override-rpm/test index 33fd27d09..f885a5382 100644 --- a/src/sbt-test/rpm/scriptlets-override-rpm/test +++ b/src/sbt-test/rpm/scriptlets-override-rpm/test @@ -20,7 +20,7 @@ $ exists var/run/rpm-test # TODO symlinks aren't checked > check-spec-file -> set NativePackagerKeys.rpmBrpJavaRepackJars := true +> set NativePackagerKeys.rpmBrpJavaRepackJars := false > check-spec-file > unique-scripts-in-spec-file \ No newline at end of file diff --git a/src/sbt-test/rpm/scriptlets-rpm/test b/src/sbt-test/rpm/scriptlets-rpm/test index af768c4e0..9c6826041 100644 --- a/src/sbt-test/rpm/scriptlets-rpm/test +++ b/src/sbt-test/rpm/scriptlets-rpm/test @@ -6,5 +6,5 @@ $ exists target/rpm/SPECS/rpm-test.spec # Check files for defaults > check-spec-file > check-rpm-version -> set NativePackagerKeys.rpmBrpJavaRepackJars := true +> set NativePackagerKeys.rpmBrpJavaRepackJars := false > check-spec-file diff --git a/src/sbt-test/rpm/sysvinit-rpm/test b/src/sbt-test/rpm/sysvinit-rpm/test index 05e6596fb..a8321338e 100644 --- a/src/sbt-test/rpm/sysvinit-rpm/test +++ b/src/sbt-test/rpm/sysvinit-rpm/test @@ -23,7 +23,7 @@ $ exists var/run/rpm-test # TODO symlinks aren't checked -> set NativePackagerKeys.rpmBrpJavaRepackJars := true +> set NativePackagerKeys.rpmBrpJavaRepackJars := false > check-spec-file > check-spec-autostart diff --git a/src/sphinx/formats/rpm.rst b/src/sphinx/formats/rpm.rst index 51b235cb9..5a9d34ea4 100644 --- a/src/sphinx/formats/rpm.rst +++ b/src/sphinx/formats/rpm.rst @@ -339,12 +339,12 @@ After Jar Repackaging ~~~~~~~~~~~~~~~ -rpm repackages jars by default (described in this `blog post`_) in order to optimize jars. -This behaviour is turned off by default with this setting: +RPM repackages jars by default in order to optimize jars. +Repacking is turned off by default. In order to enable it, set: .. code-block:: scala - rpmBrpJavaRepackJars := false + rpmBrpJavaRepackJars := true Note that this *appends* content to your ``Pre`` definition, so make sure not to override it. For more information on this topic follow these links: @@ -353,7 +353,6 @@ For more information on this topic follow these links: * `pullrequest #199`_ * `OpenSuse issue`_ - .. _blog post: http://swaeku.github.io/blog/2013/08/05/how-to-disable-brp-java-repack-jars-during-rpm-build .. _issue #195: https://github.com/sbt/sbt-native-packager/issues/195 .. _pullrequest #199: https://github.com/sbt/sbt-native-packager/pull/199 .. _OpenSuse issue: https://github.com/sbt/sbt-native-packager/issues/215