blob: 627211095ec04f38d72f5af7d25587de8d91e466 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/bin/bash
set -e
shopt -s extglob nullglob
export PKG_BASE=$(realpath "$(dirname "$0")")
source "${PKG_BASE}/architect.sh"
export PKG_BOOT=${PKG_BASE}/Packager
rm -rf "${PKG_BOOT}"
svn export "${PKG_BASE}/over" "${PKG_BOOT}"
"${PKG_TARG}-gcc" -o "${PKG_BOOT}/usr/libexec/cydia_/godmode" "${PKG_BASE}/util/godmode.c"
"${PKG_TARG}-gcc" -o "${PKG_BOOT}/usr/libexec/cydia_/symlink" "${PKG_BASE}/util/symlink.c"
chmod +s "${PKG_BOOT}/usr/libexec/cydia_"/{godmode,symlink}
mkdir -p "${PKG_BOOT}/var/lib/dpkg/info"
PKG_REQS=(adv-cmds apt base bash coreutils cydia cydia-sources gawk grep inetutils less libarmfp libgcc nano network-cmds nvi rsync sed shell-cmds system-cmds tar unzip zip)
cd "${PKG_BASE}/data"
PKG_REQS=($({
echo "${PKG_REQS[@]}" | tr ' ' $'\n'
find -L "${PKG_REQS[@]}" -name '*.dep' | sed -e 's/.*\/\([^\/]*\)\.dep/\1/'
} | sort -u))
for PKG_NAME in "${PKG_REQS[@]}"; do
PKG_NAME=${PKG_NAME%/_metadata/priority}
PKG_NAME=${PKG_NAME##*/}
source "${PKG_BASE}/helper.sh"
rm -rf "${PKG_BASE}/temp"
dpkg -x "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb" "${PKG_BASE}/temp"
echo "merging ${PKG_NAME}..."
files=("${PKG_BASE}/temp"/*)
if [[ ${#files[@]} -ne 0 ]]; then
cp -a "${PKG_BASE}/temp"/* "${PKG_BOOT}"
fi
"${PKG_BASE}/control.sh" "${PKG_NAME}" available >>"${PKG_BOOT}/var/lib/dpkg/available"
"${PKG_BASE}/control.sh" "${PKG_NAME}" status >>"${PKG_BOOT}/var/lib/dpkg/status"
(cd "${PKG_BASE}/temp"; find | sed -e '
s/^\.\///
s/^/\//
') >"${PKG_BOOT}/var/lib/dpkg/info/${PKG_NAME}.list"
done
cd "${PKG_BOOT}"
rm -f "../Packager_${PKG_ARCH}.tgz"
tar -zcvf "../Packager_${PKG_ARCH}.tgz" *
rm -f "../Packager_${PKG_ARCH}_.zip"
zip -ry "../Packager_${PKG_ARCH}_.zip" *
cp -a bin/bash usr/libexec/cydia_
cp -a bin/chmod usr/libexec/cydia_
cp -a bin/chown usr/libexec/cydia_
cp -a bin/cp usr/libexec/cydia_
cp -a bin/df usr/libexec/cydia_
cp -a bin/grep usr/libexec/cydia_
cp -a bin/ln usr/libexec/cydia_
cp -a bin/mkdir usr/libexec/cydia_
cp -a bin/mktemp usr/libexec/cydia_
cp -a bin/rm usr/libexec/cydia_
cp -a bin/sed usr/libexec/cydia_
cp -a sbin/reboot usr/libexec/cydia_
cp -a usr/bin/basename usr/libexec/cydia_
cp -a usr/bin/du usr/libexec/cydia_
cp -a usr/lib/libhistory.5.2.dylib usr/libexec/cydia_
cp -a usr/lib/libintl.8.0.2.dylib usr/libexec/cydia_
cp -a usr/lib/libncurses.5.dylib usr/libexec/cydia_
cp -a usr/lib/libreadline.5.2.dylib usr/libexec/cydia_
cp -a usr/libexec/cydia/move.sh usr/libexec/cydia_
rm -f "../Packager_${PKG_ARCH}.xml"
find * -type l -print -o -name "terminfo" -prune | while read -r link; do
echo "<array><string>Exec</string><string>/usr/libexec/cydia_/symlink $(readlink "${link}") /${link}</string></array>"
rm -f "${link}"
done >>"../Packager_${PKG_ARCH}.xml"
rm -f "../Packager_${PKG_ARCH}.zip"
zip -qry "../Packager_${PKG_ARCH}.zip" *
rm -rf "${PKG_BOOT}"
|