packages/lang/ruby/ruby_missingfiles
Luiz Angelo Daros de Luca 16ae59c1b3 ruby: update to 3.1.2
Ruby 3.1.0 major changes:
- YJIT: New experimental in-process JIT compiler
- debug gem: A new debugger
- error_highlight: Fine-grained error location in backtrace
- IRB Autocomplete and Documentation Display
- Many more. See:
  https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/

Ruby 3.1.1 changes:
- Many non-security bug fixes. See:
  https://www.ruby-lang.org/en/news/2022/02/18/ruby-3-1-1-released/

Ruby 3.1.2 changes:
- CVE-2022-28738: Double free in Regexp compilation
- CVE-2022-28739: Buffer overrun in String-to-Float conversion

Packaging changes:
- Dropped 100-musl.patch (upstream fix)
- Added: ruby-error_highlight, ruby-random_formatter,
  ruby-ruby2_keywords
- Removed: ruby-dbm, ruby-gdbm, ruby-fiber, ruby-gdbm, ruby-tracer
- ruby_find_pkgsdeps script:
  * cleaned some ignored and weak dependencies
- ruby_missingfiles script:
  * fix the example cmdline
  * let diff use all terminal columns

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2022-04-25 12:13:08 -07:00

45 lines
1.6 KiB
Bash

#!/bin/bash
#
# bash feeds/packages/lang/ruby/ruby_missingfiles staging_dir/target-x86_64_musl/ bin/packages/x86_64/packages/*ruby*_3.1.2*
#
function list_staging_files {
cd "$1"; find \
\( \( -name "root-*" -or -name "packages" -or -name "stamp" -or -name "pkginfo" -or -name "host" -or -name man \) -prune \) -or -true \
\( -path "*ruby*" -or -name "erb" -or -name "gem" -or -name "irb" -or -name "rake" -or -name "rdoc" -or -name "ri" -or -name "testrb" -or -name "racc" -or -name "racc2y" -or -name "y2racc" \) \
-not -path "*/usr/lib/ruby/gems/*/cache/*" \
-not -name "*test_case.rb" \
-not -name "*.rdoc" \
-not -name "*.doc" \
-not -name "*.md" \
-not -name "*.txt" \
-not -name "*.travis.yml" \
-not -regex ".*/usr/lib/ruby/gems/[^/]*/gems/[^/]*/benchmark/.*" \
-not -regex ".*/usr/lib/ruby/gems/[^/]*/gems/[^/]*/evaluation/.*" \
-not -regex ".*/usr/lib/ruby/gems/[^/]*/gems/[^/]*/sample/.*" \
-not -regex ".*/usr/lib/ruby/gems/[^/]*/gems/[^/]*/test/.*" \
-not -regex ".*/usr/lib/ruby/gems/[^/]*/gems/[^/]*/doc/.*" \
-not -type d \
-print | sort
}
function list_ipkg_files {
for OPKG; do
tar --to-stdout -xzf "$OPKG" ./data.tar.gz | tar tzv | grep -v ^d | sed -e 's,.* \./,./,;s/ -> .*//'
done | sort -u | grep -v ./usr/lib/ruby/ruby...-bin
}
set -e
: ${1:?First arg is staging_dir}
: ${2:?Second and following args are ruby ipkg packages}
STAGING_DIR=$1; shift
(cd "$STAGING_DIR" )
if ! [ -e "$1" ]; then
echo "$1 does not exist!"
exit 1
fi
printf '%-62s %-62s\n' "Installed in Staging" "From Packages Files"
diff -d -y <(list_staging_files "$STAGING_DIR") <(list_ipkg_files "$@") -W $COLUMNS