Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New package: jruby-9.3.8.0 #38900

Closed

Conversation

chloris-pale-green
Copy link
Contributor

Testing the changes

  • I tested the changes in this PR: YES

New package

Local build testing

  • I built this PR locally for my native architecture, (x86_64)
  • I built this PR locally for these architectures (if supported. mark crossbuilds):
    • armv6l (crossbuild)

Motivation

The reference Ruby interpreter can not execute threads on multiple CPU cores because of GIL. JRuby is able to perform real threading.

@chloris-pale-green
Copy link
Contributor Author

chloris-pale-green commented Aug 25, 2022

All Musl builds seem to be experiencing the same issue:

ERROR: jruby-9.3.7.0_1: file /usr/lib/ruby/gems/shared/specifications/did_you_mean-1.3.0.gemspec has write permission for other users
ERROR: jruby-9.3.7.0_1: post-install_14-fix-permissions: 'find "$PKGDESTDIR" -type f -perm -0002' exited with 1

On my local machine (x86_64), permissions of all the files in the /usr/lib/ruby/gems/shared/specifications directory are 644. Anybody has any idea why post-install_14-fix-permissions seems to fail?

EDIT: Curiously, I was able to cross-build the package for x86_64-musl architecture without errors on my machine. 14-fix-permissions executes successfully. Perhaps the build only fails when building on a Musl architecture natively?

@classabbyamp
Copy link
Member

have you tried a native musl build locally? see the instructions for making another masterdir in the readme

@chloris-pale-green
Copy link
Contributor Author

have you tried a native musl build locally? see the instructions for making another masterdir in the readme

I've installed the x86_64-musl version of Void in a VM and tried building the package. I got the same error as observed here on GitHub. It seems that the file permission issues are Musl-specific.

Consequently, I've added a find command to the template that removes group and other write permissions from all files and directories that happen to have them, if the package is being build on a Musl machine.

I've also changed the way binaries are installed, since I've noticed that one of them did not posses the execute permission. vbin should take care of that (but copies the whole binary rather than a symlink - that's the purpose of the other if clause).

Strangely enough, on a Musl architecture, even with the use of vbin, the binary /usr/bin/irb seems to lack execute permission (644) after installing the package, and I get "permission denied" if I try to run it. The package is still functional, though.

@classabbyamp
Copy link
Member

oh you didn't need to go through the trouble of making a whole VM, you can just add another masterdir

@chloris-pale-green
Copy link
Contributor Author

chloris-pale-green commented Aug 25, 2022

oh you didn't need to go through the trouble of making a whole VM, you can just add another masterdir

Thank you for the tip. 😊 At first, I went with the method I knew well, but now I've tried the masterdir approach to test x86_64-musl build check error. I have no idea what the error means and I can build the package successfully in x86_64-musl masterdir on my machine.

@chloris-pale-green
Copy link
Contributor Author

I recommend that the x86_64-musl PR check is re-run. The error seems very random (and does not appear in other Musl architectures), and I am able to build the package in a x86_64-musl VM without any errors.

@chloris-pale-green
Copy link
Contributor Author

This time it didn't even get to the build part and stopped at Run common/travis/changed_templates.sh:

Your branches is based on too old copy.
Please rebase to newest copy.
Error: Process completed with exit code 1.

I don't understand the error. Is there some Git wizardry I was supposed to do and have not?

@classabbyamp
Copy link
Member

if you don't already have it, add this repo as a remote:

$ git remote add upstream https://github.com/void-linux/void-packages.git

then rebase your branch on the upstream master branch:

$ git pull --rebase upstream master

and force-push:

$ git push --force

@chloris-pale-green
Copy link
Contributor Author

Thank you for your help. 😊 The PR is now in the green.

@chloris-pale-green chloris-pale-green changed the title New package: jruby-9.3.7.0 New package: jruby-9.3.8.0 Sep 15, 2022
@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Dec 15, 2022
@github-actions github-actions bot closed this Dec 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-package This PR adds a new package Stale
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants