Changeset 647
- Timestamp:
- 08/09/09 02:50:34 (1 year ago)
- Location:
- trunk
- Files:
-
- 1 added
- 8 modified
-
bootstrap.sh (modified) (4 diffs)
-
construct.sh (modified) (4 diffs)
-
control.sh (modified) (2 diffs)
-
exec.sh (modified) (2 diffs)
-
folders.sh (modified) (2 diffs)
-
helper.sh (modified) (2 diffs)
-
make.sh (modified) (9 diffs)
-
package.sh (modified) (2 diffs)
-
remake.sh (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootstrap.sh
r544 r647 13 13 mkdir -p "${PKG_BOOT}/var/lib/dpkg/info" 14 14 15 PKG_REQS=(adv-cmds apt base bash coreutils cydia cydia-sources grep inetutils less libgcc nano network-cmds sed shell-cmds system-cmds tar unzip) 15 PKG_REQS=(apt7 base cydia cydia-sources essential openssh pam-modules profile.d) 16 PKG_REQS=(base cydia cydia-sources essential pam-modules profile.d) 16 17 17 18 cd "${PKG_BASE}/data" 18 19 PKG_REQS=($({ 19 20 echo "${PKG_REQS[@]}" | tr ' ' $'\n' 20 find -L "${PKG_REQS[@]}" -name '*.dep' | sed -e 's/.*\/\([^\/]*\)\.dep/\1/'21 find -L "${PKG_REQS[@]}" -name '*.dep' | grep -v '/_[^/]*\.dep' | sed -e 's/.*\/\([^\/]*\)\.dep/\1/' 21 22 } | sort -u)) 22 23 … … 54 55 PKG_RSLT="${PKG_BASE}/rslt" 55 56 mkdir -p "${PKG_RSLT}" 56 57 rm -f "${PKG_RSLT}/Manual_${PKG_ARCH}.tgz"58 tar -zcf "${PKG_RSLT}/Manual_${PKG_ARCH}.tgz" *59 57 60 58 rm -rf "${PKG_RSLT}/CydiaInstaller.bundle" … … 139 137 tar -zcf "${PKG_RSLT}/Pwnage_${PKG_ARCH}.tgz" -C "${PKG_RSLT}" CydiaInstaller.bundle 140 138 139 function stash() { 140 src=$1 141 dst=var/stash/${src##*/} 142 mv "${src}" "${dst}" 143 dst=${src//+([A-Za-z])/..}/${dst} 144 ln -s "${dst#../}" "${src}" 145 } 146 147 mkdir -p var/stash 148 mkdir -p usr/include 149 150 mv -v usr/lib/_ncurses/* usr/lib 151 rmdir usr/lib/_ncurses 152 ln -s /usr/lib usr/lib/_ncurses 153 154 #stash usr/share/gettext 155 156 rm -f "${PKG_RSLT}/Manual_${PKG_ARCH}.tgz" 157 tar -zcf "${PKG_RSLT}/Manual_${PKG_ARCH}.tgz" * 158 141 159 rm -f "${PKG_RSLT}/Manual_${PKG_ARCH}.zip" 142 160 zip -qry "${PKG_RSLT}/Manual_${PKG_ARCH}.zip" * … … 176 194 fi 177 195 178 rm -rf "${PKG_BOOT}"196 #rm -rf "${PKG_BOOT}" -
trunk/construct.sh
r280 r647 5 5 PKG_BASE=$(dirname "$(realpath "$0")") 6 6 cd "${PKG_BASE}" 7 PKG_RVSN=28 07 PKG_RVSN=282 8 8 9 PKG_REPO=/dat/web/apt.saurik.com 10 PKG_OVER=${PKG_REPO}/indices/override.tangelo.main.gz 9 PKG_REPO=/dat/web/beta.apt.saurik.com 11 10 12 11 for PKG_ARCH in "${PKG_BASE}/arch"/*; do … … 14 13 echo "scanning ${PKG_ARCH}" 15 14 16 PKG_PKGS=${PKG_REPO}/dists/tangelo/main/binary-${PKG_ARCH}/Packages 15 PKG_DCBF=${PKG_REPO}/dists/tangelo/main/binary-${PKG_ARCH} 16 mkdir -p "${PKG_DCBF}" 17 PKG_PKGS=${PKG_DCBF}/Packages 17 18 18 19 rm -rf "${PKG_BASE}/link" 19 20 mkdir "${PKG_BASE}/link" 21 20 22 for package in "${PKG_BASE}/data"/!(*_); do 21 23 PKG_NAME=$(basename "${package}") 24 25 # XXX: add to above filter 26 if [[ ${PKG_NAME} == _* ]]; then 27 continue 28 fi 29 22 30 PKG_DATA="${PKG_BASE}/data/${PKG_NAME}" 31 PKG_STAT="${PKG_BASE}/stat/${PKG_ARCH}/${PKG_NAME}" 23 32 PKG_PRIO=$(cat "${PKG_DATA}/_metadata/priority") 33 34 if [[ -e ${PKG_STAT}/fail ]]; then 35 continue 36 fi 37 24 38 echo "${PKG_NAME}" "${PKG_PRIO#+}" "$(cat "${PKG_DATA}/_metadata/section")" 25 39 26 40 PKG_FILE=${PKG_BASE}/stat/${PKG_ARCH}/${PKG_NAME}/dest-ver 27 41 if [[ -e ${PKG_FILE} ]]; then 28 PKG_FILE=${PKG_BASE}/debs/${PKG_NAME}_$(cat "${PKG_DATA}/_metadata/version")-$(cat "${PKG_FILE}")_${PKG_ARCH}.deb 29 if [[ -e ${PKG_FILE} ]]; then 42 PKG_REAL=${PKG_BASE}/stat/${PKG_ARCH}/${PKG_NAME}/real-ver 43 if [[ -e ${PKG_REAL} ]]; then 44 PKG_RVER=$(cat "${PKG_REAL}") 45 else 46 PKG_RVER=$(cat "${PKG_STAT}/data-ver")-$(cat "${PKG_FILE}") 47 fi 48 49 PKG_FILE=${PKG_BASE}/debs/${PKG_NAME}_${PKG_RVER}_${PKG_ARCH}.deb 50 if [[ -e ${PKG_FILE} && ! -e "${PKG_STAT}/exclude" ]]; then 30 51 ln -s "${PKG_FILE}" "${PKG_BASE}/link" 31 52 echo "${PKG_FILE}" … … 34 55 done >"${PKG_BASE}/overrides.txt" 35 56 36 dpkg-scanpackages link "${PKG_BASE}/overrides.txt" | sed -e 's/: link\//: debs\//' >"${PKG_PKGS}" 57 for deb in "${PKG_BASE}/xtra/${PKG_ARCH}"/*.deb; do 58 ln -s "$(readlink -f "${deb}")" "${PKG_BASE}/link" 59 done 60 61 dpkg-scanpackages -m link "${PKG_BASE}/overrides.txt" | sed -e 's/: link\//: debs\//' | while IFS= read -r line; do 62 if [[ ${line} == '' ]]; then 63 PKG_TAGS=$(cat "${PKG_BASE}/tags/${PKG_NAME}" 2>/dev/null || true) 64 if [[ -z ${PKG_TAGS} ]]; then 65 PKG_TAGS=$(cat "${PKG_BASE}/data/${PKG_NAME}/_metadata/tags" 2>/dev/null || true) 66 fi 67 PKG_ROLE="${PKG_BASE}/data/${PKG_NAME}/_metadata/role" 68 if [[ -n ${PKG_TAGS} || -e ${PKG_ROLE} ]]; then 69 echo -n "Tag: " 70 if [[ -n ${PKG_TAGS} ]]; then 71 echo -n "${PKG_TAGS}" 72 fi 73 if [[ -n ${PKG_TAGS} && -e ${PKG_ROLE} ]]; then 74 echo -n ", " 75 fi 76 if [[ -e ${PKG_ROLE} ]]; then 77 echo -n "role::$(cat "${PKG_ROLE}")" 78 fi 79 echo 80 fi 81 elif [[ ${line} == Package:* ]]; then 82 PKG_NAME=${line#Package: } 83 fi 84 85 echo "${line}" 86 done >"${PKG_PKGS}" 87 88 if [[ ${PKG_ARCH} == "iphoneos-arm" ]]; then 89 dpkg-scanpackages paid >>"${PKG_PKGS}" 90 fi 91 37 92 rm -f "${PKG_BASE}/overrides.txt" 93 done 38 94 39 gzip -c "${PKG_PKGS}" >"${PKG_PKGS}.gz" 95 for PKG_ARCH in "${PKG_BASE}/arch"/*; do 96 PKG_ARCH=$(basename "${PKG_ARCH}") 97 PKG_PKGS=${PKG_REPO}/dists/tangelo/main/binary-${PKG_ARCH}/Packages 98 bzip2 -c "${PKG_PKGS}" >"${PKG_PKGS}.bz2" 40 99 done 41 100 … … 44 103 { 45 104 cat <<EOF 46 Origin: Jay Freeman (saurik)47 Label: Telesphoreo105 Origin: Telesphoreo Tangelo 106 Label: Cydia/Telesphoreo 48 107 Suite: stable 49 108 Version: 1.0r${PKG_RVSN} 50 Codename: tangelo 109 Codename: tangelo-3.7 51 110 Architectures:$(for PKG_ARCH in "${PKG_BASE}/arch"/*; do echo -n " $(basename "${PKG_ARCH}")"; done) 52 111 Components: main 53 Description: Telesphoreo Tangelo 1.0r${PKG_RVSN} 112 Description: Distribution of Unix Software for iPhoneOS 3 113 Support: http://cydia.saurik.com/support/* 54 114 MD5Sum: 55 115 EOF -
trunk/control.sh
r545 r647 16 16 EOF 17 17 18 if [[ ${PKG_PRIO} == required || ${PKG_PRIO} ==+* ]]; then18 if [[ ${PKG_PRIO} == +* ]]; then 19 19 cat <<EOF 20 20 Essential: yes … … 62 62 fi 63 63 64 unset comma 65 for dep in "${PKG_DEPS[@]}"; do 66 if [[ ${comma+@} == @ ]]; then 67 echo -n "," 68 else 69 echo -n "Depends:" 70 comma= 64 if [[ -e ${PKG_DATA}/_metadata/predepends_ ]]; then 65 echo "Pre-Depends: $(cat "${PKG_DATA}/_metadata/predepends_")" 66 else 67 unset comma 68 69 if [[ ${PKG_ZLIB} == lzma ]]; then 70 if [[ ${comma+@} == @ ]]; then 71 echo -n "," 72 else 73 echo -n "Pre-Depends:" 74 comma= 75 fi 76 77 echo -n " dpkg (>= 1.14.25-8)" 71 78 fi 72 79 73 echo -n " $(basename "${dep}" .dep)"74 75 ver=${PKG_DATA}/_metadata/${dep%.dep}.ver.${PKG_ARCH}76 if [[ -e "${ver}" ]]; then77 echo -n " (>= $(cat "${ver}"))"78 fi79 done 80 if [[ -e ${PKG_DATA}/_metadata/predepends ]]; then 81 if [[ ${comma+@} == @ ]]; then 82 echo -n "," 83 else 84 echo -n "Pre-Depends:" 85 comma= 86 fi 80 87 81 if [[ -e ${PKG_DATA}/_metadata/depends ]]; then 82 if [[ ${comma+@} == @ ]]; then 83 echo -n "," 84 else 85 echo -n "Depends:" 86 comma= 88 echo -n " $(cat "${PKG_DATA}/_metadata/predepends")" 87 89 fi 88 90 89 echo -n " $(cat "${PKG_DATA}/_metadata/depends")" 91 if [[ ${comma+@} == @ ]]; then 92 echo 93 fi 90 94 fi 91 95 92 if [[ ${comma+@} == @ ]]; then 93 echo 96 if [[ ! -e ${PKG_DATA}/_metadata/depends_ ]]; then 97 unset comma 98 for dep in "${PKG_DEPS[@]}"; do 99 if [[ ${dep} == _* ]]; then 100 continue 101 fi 102 103 if [[ ${comma+@} == @ ]]; then 104 echo -n "," 105 else 106 echo -n "Depends:" 107 comma= 108 fi 109 110 echo -n " $(basename "${dep}" .dep)" 111 112 ver=${PKG_DATA}/_metadata/${dep%.dep}.ver.${PKG_ARCH} 113 if [[ -e "${ver}" ]]; then 114 echo -n " (>= $(cat "${ver}"))" 115 fi 116 done 117 118 if [[ -e ${PKG_DATA}/_metadata/depends ]]; then 119 if [[ ${comma+@} == @ ]]; then 120 echo -n "," 121 else 122 echo -n "Depends:" 123 comma= 124 fi 125 126 echo -n " $(cat "${PKG_DATA}/_metadata/depends")" 127 fi 128 129 if [[ ${comma+@} == @ ]]; then 130 echo 131 fi 132 elif [[ -s ${PKG_DATA}/_metadata/depends_ ]]; then 133 echo "Depends: $(cat "${PKG_DATA}/_metadata/depends_")" 94 134 fi 95 135 -
trunk/exec.sh
r551 r647 29 29 #DEP_NAME=$(basename "${dep}" .dep) 30 30 DEP_NAME=${dep} 31 DEP_MORE=$(PKG_MORE_ "${DEP_NAME}") 31 32 DEP_DEST=$(PKG_DEST_ "${DEP_NAME}") 32 33 PKG_PATH=${PKG_PATH}:${DEP_DEST} … … 38 39 if [[ -d ${DEP_DEST}${PKG_TAPF}/lib ]]; then 39 40 PKG_LIBS=${DEP_DEST}${PKG_TAPF}/lib:${PKG_LIBS} 41 fi 42 43 if [[ -d ${DEP_MORE}${PKG_TAPF}/lib ]]; then 44 PKG_LIBS=${DEP_MORE}${PKG_TAPF}/lib:${PKG_LIBS} 40 45 fi 41 46 -
trunk/folders.sh
r218 r647 13 13 export -f PKG_WORK_ 14 14 15 function PKG_MORE_() { 16 echo "${PKG_BASE}/more/${PKG_ARCH}/$1" 17 } 18 15 19 function PKG_DEST_() { 16 20 echo "${PKG_BASE}/dest/${PKG_ARCH}/$1" … … 22 26 case "${1:0:1}" in 23 27 (/) echo "${PKG_DEST}$1";; 28 (@) echo "${PKG_MORE}${1:1}";; 24 29 (%) echo "${PKG_DATA}${1:1}";; 25 30 (*) echo -"$1" | sed -e 's/^.//';; -
trunk/helper.sh
r545 r647 9 9 10 10 if [[ ${PKG_NAME} != @(-|:*) ]]; then 11 export PKG_MORE=$(PKG_MORE_ "${PKG_NAME}") 11 12 export PKG_DATA=$(PKG_DATA_ "${PKG_NAME}") 12 13 export PKG_WORK=$(PKG_WORK_ "${PKG_NAME}") … … 15 16 export PKG_STAT=${PKG_BASE}/stat/${PKG_ARCH}/${PKG_NAME} 16 17 export PKG_DATA=$(echo "${PKG_BASE}"/data/"${PKG_NAME}"?(_)) 17 export PKG_VRSN=$(cat "${PKG_DATA}/_metadata/version")18 export PKG_PRIO=$(cat "${PKG_DATA}/_metadata/priority")19 18 export PKG_RVSN=$(cat "${PKG_STAT}/dest-ver" 2>/dev/null) 19 20 if [[ -e "${PKG_DATA}/_metadata/zlib" ]]; then 21 export PKG_ZLIB=$(cat "${PKG_DATA}/_metadata/zlib") 22 else 23 export PKG_ZLIB=lzma 24 fi 25 26 if [[ -e "${PKG_DATA}/_metadata/version" ]]; then 27 export PKG_VRSN=$(cat "${PKG_DATA}/_metadata/version") 28 fi 29 30 if [[ -e "${PKG_DATA}/_metadata/priority" ]]; then 31 export PKG_PRIO=$(cat "${PKG_DATA}/_metadata/priority") 32 fi 20 33 21 34 if [[ ! -e ${PKG_DATA} ]]; then -
trunk/make.sh
r545 r647 24 24 export CODESIGN_ALLOCATE=$(which arm-apple-darwin9-codesign_allocate) 25 25 26 for DEP_NAME in "${PKG_DEPS[@]}"; do27 "${PKG_MAKE}" "${DEP_NAME}"28 done26 #for DEP_NAME in "${PKG_DEPS[@]}"; do 27 # "${PKG_MAKE}" "${DEP_NAME}" 28 #done 29 29 30 30 export PKG_HASH=$({ … … 33 33 for DEP_NAME in "${PKG_DEPS[@]}"; do 34 34 "${PKG_BASE}"/util/catdir.sh "$(PKG_DEST_ "${DEP_NAME}")" 35 DEP_MORE="$(PKG_MORE_ "${DEP_NAME}")" 36 if [[ -d ${DEP_MORE} ]]; then 37 "${PKG_BASE}"/util/catdir.sh "${DEP_MORE}" 38 fi 35 39 done 36 40 } | md5sum | cut -d ' ' -f 1) … … 46 50 rm -f "${PKG_STAT}/data-md5" 47 51 52 rm -rf "${PKG_MORE}" 53 mkdir -p "${PKG_MORE}" 54 48 55 rm -rf "${PKG_DEST}" 49 56 mkdir -p "${PKG_DEST}" … … 57 64 58 65 for diff in "${PKG_DATA}"/*.diff; do 59 if [[ ${diff} = = */_*.diff]]; then66 if [[ ${diff} =~ .*/_[^/]*.diff$ ]]; then 60 67 continue; 61 68 fi … … 116 123 PKG_CONFIG="$(realpath "${PKG_BASE}/util/pkg-config.sh")" \ 117 124 ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no \ 118 "${PKG_CONF}" \ 125 cfg=("${PKG_CONF}" \ 126 ac_cv_prog_cc_g=no ac_cv_prog_cxx_g=no \ 119 127 --build=x86_64-unknown-linux-gnu \ 120 128 --host="${PKG_TARG}" \ … … 123 131 --prefix=$(cat "${PKG_BASE}/arch/${PKG_ARCH}/prefix") \ 124 132 --localstatedir="/var/cache/${PKG_NAME}" \ 125 "$@" 133 "$@") 134 echo "${cfg[@]}" 135 "${cfg[@]}" 126 136 } 127 137 128 138 export -f pkg:configure 139 140 function pkg:make() { 141 make AR="${PKG_TARG}-ar" CFLAGS='-O2 -mthumb' 142 } 143 144 export -f pkg:make 129 145 130 146 function pkg:install() { … … 135 151 136 152 function pkg:extract() { 137 for tgz in "${PKG_DATA}"/ {*.tar.gz,*.tgz}; do153 for tgz in "${PKG_DATA}"/*.{tar.gz,tgz}; do 138 154 tar -zxf "${tgz}" 139 155 done … … 166 182 } 167 183 168 rm -rf "${PKG_DEST}/usr/share/locale"169 184 rm -rf "${PKG_DEST}/usr/share/man" 170 185 rm -rf "${PKG_DEST}/usr/share/info" 171 186 rm -rf "${PKG_DEST}/usr/share/gtk-doc" 172 187 rm -rf "${PKG_DEST}/usr/share/doc" 188 rm -rf "${PKG_DEST}/usr/share/locale" 173 189 rm -rf "${PKG_DEST}/usr/man" 174 190 rm -rf "${PKG_DEST}/usr/local/share/man" … … 203 219 done 204 220 205 cp -a "${PKG_DATA}/_metadata/version" "${PKG_STAT}/data-ver"221 cp -aL "${PKG_DATA}/_metadata/version" "${PKG_STAT}/data-ver" 206 222 echo "${PKG_HASH}" >"${PKG_STAT}/data-md5" 223 224 echo "hashed code ${PKG_NAME} to: $("${PKG_BASE}"/util/catdir.sh "${PKG_DEST}" | md5sum | cut -d ' ' -f 1)" -
trunk/package.sh
r545 r647 19 19 ./control.sh "${PKG_NAME}" control >"$(pkg_ /DEBIAN/control)" 20 20 21 if [[ -e "${PKG_DATA}"/_metadata/preinst ]]; then 22 cp -a "${PKG_DATA}"/_metadata/preinst "$(pkg_ /DEBIAN)" 23 fi 24 25 if [[ -e "${PKG_DATA}"/_metadata/postinst ]]; then 26 cp -a "${PKG_DATA}"/_metadata/postinst "$(pkg_ /DEBIAN)" 27 fi 28 29 if [[ -e "${PKG_DATA}"/_metadata/prerm ]]; then 30 cp -a "${PKG_DATA}"/_metadata/prerm "$(pkg_ /DEBIAN)" 31 fi 21 for script in preinst extrainst_ postinst prerm postrm; do 22 if [[ -e "${PKG_DATA}/_metadata/${script}.c" ]]; then 23 ./exec.sh - "${PKG_TARG}-gcc" -o "$(pkg_ /DEBIAN)/${script}" "${PKG_DATA}/_metadata/${script}.c" 24 ./exec.sh - ldid -S "$(pkg_ /DEBIAN)/${script}" 25 elif [[ -e "${PKG_DATA}/_metadata/${script}" ]]; then 26 cp -a "${PKG_DATA}/_metadata/${script}" "$(pkg_ /DEBIAN)" 27 fi 28 done 32 29 33 30 if [[ -e "${PKG_DATA}"/_metadata/conffiles ]]; then … … 52 49 else 53 50 ./control.sh "${PKG_NAME}" control "${PKG_VRSN}-${PKG_RVSN}" >"$(pkg_ /DEBIAN/control)" 54 dpkg-deb - b "${PKG_DEST}" "${PKG_PACK}"51 dpkg-deb -Z"${PKG_ZLIB}" -b "${PKG_DEST}" "${PKG_PACK}" 55 52 echo "${PKG_HASH}" >"${PKG_STAT}/dest-md5" 56 53 echo "${PKG_RVSN}" >"${PKG_STAT}/dest-ver"
