How does a plist work

I am trying to update the ruby-gems port to a version which works with ruby 3.0 but I struggle with the plist.

According to check-plist i have extra files in my STAGEDIR

Bash:
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%/gems/bundler-2.2.29/exe/bundle
Error: Orphaned: /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%/gems/bundler-2.2.29/exe/bundler
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%/gems/bundler-2.2.29/exe
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%/gems/bundler-2.2.29
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%/gems
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/%%SPEC_DIR%%
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby/gems/%%RUBY_VER%%
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby/gems
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work/stage
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems/work
Error: Orphaned: @dir /wrkdirs/usr/ports/devel/ruby-gems
Error: Orphaned: @dir /wrkdirs/usr/ports/devel
Error: Orphaned: @dir /wrkdirs/usr/ports
Error: Orphaned: @dir /wrkdirs/usr
Error: Orphaned: @dir /wrkdirs

But when I check these files do not exist.
Bash:
# ls /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby/gems/3.0/specifications
default

And a find shows only one location which would match the pattern (exe/bundle) but if I would remove that it complains that it is in my plist but not in stagedir.


Bash:
# find /wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/ -name bundler
/wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/bin/bundler
/wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby/gems/3.0/gems/bundler-2.2.29/exe/bundler
/wrkdirs/usr/ports/devel/ruby-gems/work/stage/usr/local/lib/ruby/site_ruby/3.0/bundler


Bash:
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%GEMS_DIR%%/bundler-2.2.29/exe/bundle

To reproduce set DEFAULT_VERSIONS= ruby=3.0 and use the attached git patch.
I'm completely lost how a plist should be constructed.
 

Attachments

  • 0001-devel-ruby-gems-Update-3.0.8-3.2.29.patch.txt
    22 KB · Views: 112
Please show your port's Makefile. The pkg-plist can also be generated dynamically. That could interfere with what make makeplist generates (and why there's a note at the top indicating that you need to edit that file).
 
Back
Top