[Git][java-team/jruby][master] 6 commits: d/rules: cleanup duplicate code
Jérôme Charaoui (@lavamind)
gitlab at salsa.debian.org
Sat Dec 3 20:25:25 GMT 2022
Jérôme Charaoui pushed to branch master at Debian Java Maintainers / jruby
Commits:
d428c87f by Jérôme Charaoui at 2022-12-02T23:55:39-05:00
d/rules: cleanup duplicate code
Gbp-Dch: ignore
- - - - -
45b34962 by Jérôme Charaoui at 2022-12-03T14:47:03-05:00
d/rules: ship bin/exe binaries from default gems
This fixes one of the spec:ruby testcases.
- - - - -
1242d400 by Jérôme Charaoui at 2022-12-03T14:47:34-05:00
d/rules: apply classpaths to main jar
This is needed because we're yanking these jars from stdlib and patching
out their loading in ruby, so we need to make sure they're on the
classpath.
- - - - -
630a2e72 by Jérôme Charaoui at 2022-12-03T14:47:35-05:00
d/control: add ${mavenDepends} to dependencies
This is needed otherwise other packages declaring a dependency on
org.jruby ar build-time will expect the libraries to be present in the
local maven repo. However, they aren't strictly needed at runtime since
they're shaded (bundled) into the main jar.
There is likely room for improvement here.
- - - - -
0e2a54f0 by Jérôme Charaoui at 2022-12-03T14:47:57-05:00
d/control: improve bin and lib directories cleanup
- - - - -
c155c725 by Jérôme Charaoui at 2022-12-03T14:48:05-05:00
Update changelog for 9.3.9.0+ds-1 release
- - - - -
5 changed files:
- debian/changelog
- debian/control
- + debian/jruby.classpath
- debian/jruby.install
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -1,4 +1,4 @@
-jruby (9.3.9.0+ds-1) UNRELEASED; urgency=medium
+jruby (9.3.9.0+ds-1) unstable; urgency=medium
* New upstream release incorporating security fixes for CVE-2021-31810
CVE-2021-32066 (Closes: #895837, #1014818)
@@ -6,18 +6,15 @@ jruby (9.3.9.0+ds-1) UNRELEASED; urgency=medium
libraries, and instead bundles a set of Ruby 2.6-compatible gems in a pair
of orig-source tarballs. See d/README.source for details.
(Closes: #922682, #960247)
- * Updated d/copyright for latest release and new components, exclude
- windows binaries from sources
+ * Updated d/copyright for latest release and new components
+ * Repacked source to exclude prebuilt Windows binaries
* d/control:
- Dropped C Ruby shared system libs from Build-Deps
- Dropped jruby-openssl from Build-Deps, now bundled via orig-source gem
- Dropped upstream deprecated Build-Deps: libbytelist-java,
libmodulator-java, libunsafe-fences-java, libunsafe-mock-java, nailgun
- Dropped redundant Build-Dep: libjnr-x86asm-java
- - Dropped unneeded java-lib Depends for binary since we ship a shaded jar
+ Added minimum versions for invokebinder and jffi Build-Deps
- + Added versioned bouncycastle, jline2 and yaml-snake to Build-Deps and
- track those bundled jars with new Built-Using
+ Added myself to Uploaders
+ Flagged testsuite-related Build-Deps with !nocheck
+ Bumped Standards-Version to 4.6.1, no changes needed
@@ -27,24 +24,24 @@ jruby (9.3.9.0+ds-1) UNRELEASED; urgency=medium
+ Rebased patches for new upstream version
+ Added several patches for testsuite fixes and workarounds
* d/rules:
- - TODO clean target
+ Added get-orig-source target to pull upstream tarball and generate
tarballs containing the required gems
+ Added execute_before_dh_auto_configure target to install ruby gems into
the jruby source tree prior to subsequent build and test targets, and
replace gem-bundled jars by those shipped in Debian packages
- Streamlined build and test targets to avoid unnecessary maven invocations
- - Rather than execute the complete set of jruby unit and integration
- tests, focus on the main testsuites to keep execution time down, avoid
- edge-case related test failures while maintaining good coverage
+ - Scaled down testing scope to java tests during build to focus unit and
+ integration testing in new autopkgtests
+ Fixed bin script shebangs not to use /usr/bin/env
+ + Patched out code for loading bundled jars in readline and psych gems
+ + Removed or replaced bundled fonts in documentation
* Updated maven rules and ignoreRules, cleaned up empty mavenhelper files
- * No longer ship jruby-gem/rdoc/ri/testrb binaries
- * Updated d/watch, now implements repack
+ * Updated d/watch
* Added d/upstream/metadata
* Added autopkgtests
+ * Fixed typos in manpages
- -- Jérôme Charaoui <jerome at riseup.net> Wed, 16 Nov 2022 09:08:22 -0500
+ -- Jérôme Charaoui <jerome at riseup.net> Sat, 03 Dec 2022 12:32:59 -0500
jruby (9.2.17.0-1) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -69,6 +69,7 @@ Depends:
libjline2-java (>= 2.14.6),
libyaml-snake-java (>= 1.33),
${misc:Depends},
+ ${maven:Depends},
Recommends:
fonts-lato,
Description: 100% pure-Java implementation of Ruby
=====================================
debian/jruby.classpath
=====================================
@@ -0,0 +1 @@
+usr/share/java/jruby-core.jar /usr/share/java/jline2.jar /usr/share/java/jansi1.jar /usr/share/java/bcprov.jar /usr/share/java/bcutil.jar /usr/share/java/bctls.jar /usr/share/java/bcpkix.jar /usr/share/java/snakeyaml.jar
=====================================
debian/jruby.install
=====================================
@@ -1,10 +1,4 @@
-target/package/bin/ast usr/share/jruby/bin
-target/package/bin/gem usr/share/jruby/bin
-target/package/bin/irb usr/share/jruby/bin
-target/package/bin/jgem usr/share/jruby/bin
-target/package/bin/jirb usr/share/jruby/bin
-target/package/bin/jirb_swing usr/share/jruby/bin
-target/package/bin/jruby usr/share/jruby/bin
+target/package/bin/* usr/share/jruby/bin
target/package/bin/.jruby.module_opts usr/share/jruby/bin
target/package/bin/jrubyc usr/share/jruby/bin
target/package/lib/jni usr/share/jruby/lib
=====================================
debian/rules
=====================================
@@ -10,8 +10,8 @@ export RUBYGEMS=lib/target/rubygems
dh $@ --buildsystem=maven
execute_after_dh_auto_clean:
- @rm -rf ./lib/ruby/gems
- @rm -f ./lib/jruby.jar ./bin/jruby ./bin/irb
+ @rm -rf ./lib/ruby/gems ./lib/jruby.jar
+ @rm -f ./bin/bundle ./bin/bundler ./bin/irb ./bin/rdoc ./bin/ri
-cd ./spec/ffi/fixtures/ && rm -f *.o *.so
# we should perhaps make some attempt to cleanup lib/ruby/stdlib
# but it becomes so intertwined with the gem-installed libs that
@@ -51,10 +51,18 @@ execute_before_dh_auto_configure:
$(RUBYGEMS)/gems/psych-*/lib/psych_jars.rb
# copy ruby libs to stdlib directory (see lib/pom.rb)
cp -a $(RUBYGEMS)/gems/*/lib/* lib/ruby/stdlib
- cp bin/jirb bin/irb
# default gem specifications
mkdir -p lib/ruby/gems/shared/specifications/default
cp -a $(RUBYGEMS)/specifications/* lib/ruby/gems/shared/specifications/default
+ # default gem binaries
+ mkdir -p lib/ruby/gems/shared/gems
+ cd $(RUBYGEMS)/gems && ( \
+ find . -maxdepth 2 -type d -and \( -name bin -or -name exe \) -printf "%P\n" \
+ | while read dir; do \
+ mkdir -p $(CURDIR)/lib/ruby/gems/shared/gems/$$dir ; \
+ cp $$dir/* $(CURDIR)/lib/ruby/gems/shared/gems/$$dir ; \
+ cp $$dir/* $(CURDIR)/bin ; \
+ done )
execute_after_dh_auto_configure:
# install maven-repo symlinks to fix jruby-stdlib dependency resolution
@@ -84,16 +92,15 @@ override_dh_prep:
tar zxf $(DIST_TARBALL) -C $(DIST_TARGET_DIR) --strip-components=1
# prepare package bin/ and jni/
cd $(DIST_TARGET_DIR) && ( \
- cp ./bin/jruby.bash ./bin/jruby \
+ rm -f ./bin/jruby.sh ./bin/*.bat \
+ && mv ./bin/jruby.bash ./bin/jruby \
&& sed -i '1s|^#!/usr/bin/env\sbash|#!/bin/bash|' ./bin/jruby \
- && sed -i '1s|^#!/usr/bin/env\sjruby|#!/usr/bin/jruby|' ./bin/* \
+ && sed -i '1s|^#!/usr/bin/env\sruby|#!/usr/bin/jruby|' ./bin/* \
+ ./lib/ruby/gems/shared/gems/*/bin/* \
+ ./lib/ruby/gems/shared/gems/*/exe/* \
&& chmod 0755 ./bin/* \
&& echo "-Djruby.openssl.load.jars=false" >> ./bin/.jruby.module_opts \
&& mkdir -p ./lib/jni/ )
- # copy default gem gemspecs
- mkdir -p $(DIST_TARGET_DIR)/lib/ruby/gems/shared/specifications/default
- cp -a $(RUBYGEMS)/specifications/* \
- $(DIST_TARGET_DIR)/lib/ruby/gems/shared/specifications/default
execute_after_dh_install:
# install additional maven poms and jars
@@ -106,6 +113,8 @@ execute_after_dh_install:
./maven/jruby-complete/target/jruby-complete-$(DEB_VERSION_UPSTREAM:+ds=).jar
# remove bundled font files from stdlib (rdoc templates)
find debian/jruby/usr/share/jruby/lib/ruby/stdlib -name \*.ttf -type f -print -delete
+ # apply Class-Path attribute to main jar
+ jh_classpath
get-orig-source:
# jruby sources
View it on GitLab: https://salsa.debian.org/java-team/jruby/-/compare/3622f3da94d36227e63923842d02c974f66cc318...c155c725a717cfdda05ecf2fdfabfe607e19301a
--
View it on GitLab: https://salsa.debian.org/java-team/jruby/-/compare/3622f3da94d36227e63923842d02c974f66cc318...c155c725a717cfdda05ecf2fdfabfe607e19301a
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20221203/35d0176d/attachment.htm>
More information about the pkg-java-commits
mailing list