11#! /usr/bin/env bash
22set -e
33
4- package_platform () {
5- echo " $( uname -m) -$( uname -s) " | tr ' [A-Z] ' ' [a-z]_'
6- }
7-
84resolve_link () {
95 $( type -p greadlink readlink | head -1) $1
106}
@@ -24,80 +20,28 @@ abs_dirname() {
2420}
2521
2622usage () {
27- echo " usage: ruby-package [-v | --verbose] [--resume] DEFINITION "
23+ echo " usage: ruby-package <command> [<args>] " >&2
2824 exit 1
2925}
3026
31- bin_root=" $( abs_dirname " $0 " ) "
27+ bin_dir=" $( abs_dirname " $0 " ) "
28+ export PATH=" ${bin_dir} /../libexec:${bin_dir} :$PATH "
3229
33- verbose= " "
34- resume= " "
30+ command= " $1 "
31+ command_path= " $( command -v ruby-package- " $1 " || true ) "
3532
36- while : ; do
37- case " $1 " in
38- " -v" | " --verbose" )
39- verbose=" -v"
40- shift
41- ;;
42- " --resume" )
43- resume=1
44- shift
45- ;;
46- " -" * )
47- usage
48- ;;
49- * )
50- break
51- ;;
52- esac
53- done
54-
55- definition=" $1 "
56- if [ -z " $definition " ]; then
57- usage
33+ if [ -z " $TMPDIR " ]; then
34+ export TMPDIR=" /tmp"
35+ else
36+ export TMPDIR=" ${TMPDIR%/ } "
5837fi
5938
60- package=" ${definition##*/ } "
61- prefix=" /tmp/ruby-build/-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/$package "
62-
63- package_dir=" ${package} .$( package_platform) "
64-
65- if [ -z " $resume " ]; then
66- " ${bin_root} /ruby-build" $verbose " $definition " " $prefix "
39+ if [ -z " $command " ]; then
40+ usage
41+ elif [ -z " $command_path " ]; then
42+ echo " ruby-package: ${command} : command not found" >&2
43+ usage
6744fi
6845
69- cwd=" $( pwd) "
70- cd " ${prefix} /.."
71-
72- mkdir -p " ${package_dir} /bin"
73- cp " ${bin_root} /../share/ruby-package/ruby-package-install" " ${package_dir} /bin"
74- cp " ${bin_root} /../share/ruby-package/ruby-package-rewrite-text" " ${package_dir} /bin"
75- cc -Wall " ${bin_root} /../share/ruby-package/ruby-package-rewrite-binary.c" -o " ${package_dir} /bin/ruby-package-rewrite-binary"
76-
77- mkdir -p " ${package_dir} /metadata"
78- echo -n " $prefix " > " ${package_dir} /metadata/prefix"
79- echo -n " $package " > " ${package_dir} /metadata/package"
80-
81- cd " $package "
82-
83- while read line; do
84- binary=" ${line# Binary file } "
85- if [ " $line " = " $binary " ]; then
86- # plain text match
87- text=" ${line%%:* } "
88- echo " $text " >> " ../${package_dir} /metadata/text-files"
89- else
90- # binary match
91- binary=" ${binary% matches} "
92- echo " $binary " >> " ../${package_dir} /metadata/binary-files"
93- fi
94- done < <( grep -m 1 -R " $prefix " * )
95-
96- tar cf " ../${package_dir} /package.tar" *
97-
98- cd ..
99-
100- tar czf " ${cwd} /${package_dir} .rubypackage" " $package_dir "
101- rm -fr " $package_dir "
102-
103- echo " ${package_dir} .rubypackage"
46+ shift
47+ exec " $command_path " " $@ "
0 commit comments