Changeset 218

Show
Ignore:
Timestamp:
04/14/08 23:22:48 (5 months ago)
Author:
saurik
Message:

Fixed some dependencies, removed mDNS fix for 2.0, and factored for multi-arch support.

Location:
trunk
Files:
21 added
1 removed
185 modified
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/bootstrap.sh

    r212 r218  
    44 
    55export PKG_BASE=$(realpath "$(dirname "$0")") 
     6source "${PKG_BASE}/architect.sh" 
     7 
    68export PKG_BOOT=${PKG_BASE}/Packager 
    7 export PKG_TARG=arm-apple-darwin 
    89 
    910rm -rf "${PKG_BOOT}" 
    1011svn export "${PKG_BASE}/over" "${PKG_BOOT}" 
    1112 
    12 arm-apple-darwin-gcc -o "${PKG_BOOT}/usr/libexec/cydia_/godmode" "${PKG_BASE}/util/godmode.c" 
    13 arm-apple-darwin-gcc -o "${PKG_BOOT}/usr/libexec/cydia_/symlink" "${PKG_BASE}/util/symlink.c" 
     13"${PKG_TARG}-gcc" -o "${PKG_BOOT}/usr/libexec/cydia_/godmode" "${PKG_BASE}/util/godmode.c" 
     14"${PKG_TARG}-gcc" -o "${PKG_BOOT}/usr/libexec/cydia_/symlink" "${PKG_BASE}/util/symlink.c" 
    1415chmod +s "${PKG_BOOT}/usr/libexec/cydia_"/{godmode,symlink} 
    1516 
    1617mkdir -p "${PKG_BOOT}/var/lib/dpkg/info" 
    1718 
    18 PKG_REQS=(adv-cmds base bash bigboss coreutils cydia gawk grep inetutils iphonesurge less libarmfp modmyifone nano network-cmds rsync saurik sed shell-cmds ste system-cmds unzip zip) 
     19PKG_REQS=(adv-cmds apt base bash bigboss coreutils cydia gawk grep inetutils iphonesurge less libarmfp libgcc modmyifone nano network-cmds nvi rsync saurik sed shell-cmds ste system-cmds tar unzip zip) 
    1920 
    2021cd "${PKG_BASE}/data" 
    21 PKG_REQS=($(find -L "${PKG_REQS[@]}" | while read -r line; do realpath "${line}"; done | grep "/apl/tel/data/[^/]*$" | sed -e 's/.*\///' | sort -u)) 
     22PKG_REQS=($({ 
     23    echo "${PKG_REQS[@]}" | tr ' ' $'\n' 
     24    find -L "${PKG_REQS[@]}" -name '*.dep' | sed -e 's/.*\/\([^\/]*\)\.dep/\1/' 
     25} | sort -u)) 
    2226 
    2327for PKG_NAME in "${PKG_REQS[@]}"; do 
     
    2731 
    2832    rm -rf "${PKG_BASE}/temp" 
    29     dpkg -x "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_darwin-arm.deb" "${PKG_BASE}/temp" 
     33    dpkg -x "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb" "${PKG_BASE}/temp" 
    3034 
    3135    echo "merging ${PKG_NAME}..." 
     
    4347cd "${PKG_BOOT}" 
    4448 
    45 rm -f ../Packager.tgz 
    46 tar -zcvf ../Packager.tgz * 
     49rm -f "../Packager_${PKG_ARCH}.tgz" 
     50tar -zcvf "../Packager_${PKG_ARCH}.tgz" * 
    4751 
    4852cp -a bin/bash usr/libexec/cydia_ 
     
    6569cp -a usr/lib/libreadline.5.2.dylib usr/libexec/cydia_ 
    6670 
    67 rm -f ../Packager.xml 
     71rm -f "../Packager_${PKG_ARCH}.xml" 
    6872find * -type l -print -o -name "terminfo" -prune | while read -r link; do 
    6973    echo "<array><string>Exec</string><string>/usr/libexec/cydia_/symlink $(readlink "${link}") /${link}</string></array>" 
    7074    rm -f "${link}" 
    71 done >>../Packager.xml 
     75done >>"../Packager_${PKG_ARCH}.xml" 
    7276 
    73 rm -f ../Packager.zip 
    74 zip -qry ../Packager.zip * 
     77rm -f "../Packager_${PKG_ARCH}.zip" 
     78zip -qry "../Packager_${PKG_ARCH}.zip" * 
    7579rm -rf "${PKG_BOOT}" 
  • trunk/build.sh

    r199 r218  
    22set -e 
    33shopt -s extglob 
    4 for package in data/!(*_|cydia|ui*|iphone-python|llvm-gcc|mobileterminal|nethack); do 
     4#for package in coreutils berkeleydb bzip2 apt adv-cmds libutil gettext gawk tar network-cmds shell-cmds odcctools readline modmyifone darwintools sed pcre gnupg grep inetutils saurik gzip dpkg iphonesurge unzip libarmfp nano base bash system-cmds libresolv zip ncurses less; do 
     5for package in data/!(*_|cydia|iphone-python|mobileterminal|jocstrap|iphone-java|uicaboodle|pyobjc|python|setuptools); do 
     6#for package in data/!(*_); do 
    57    PKG_NAME=$(basename "${package}") 
    68    echo "========== ${PKG_NAME} ==========" 
    7     ./make.sh "${PKG_NAME}" 
     9    ./package.sh "${PKG_NAME}" 
    810done 
  • trunk/construct.sh

    r199 r218  
    22set -e 
    33shopt -s extglob nullglob 
    4 PKG_BASE=$(pwd) 
     4 
     5PKG_BASE=$(dirname "$(realpath "$0")") 
     6cd "${PKG_BASE}" 
     7PKG_RVSN=213 
     8 
    59PKG_REPO=/dat/web/apt.saurik.com 
    610PKG_OVER=${PKG_REPO}/indices/override.tangelo.main.gz 
    7 PKG_PKGS=${PKG_REPO}/dists/tangelo/main/binary-darwin-arm/Packages 
    8 tag=arm-apple-darwin 
    9 rm -rf link 
    10 mkdir link 
    11 for package in data/!(*_); do 
    12     PKG_NAME=$(basename "${package}") 
    13     PKG_DATA="${PKG_BASE}/data/${PKG_NAME}" 
    14     echo "${PKG_NAME}" "$(cat "${PKG_DATA}/_metadata/priority")" "$(cat "${PKG_DATA}/_metadata/section")" 
    15     ln -s "../debs/${PKG_NAME}_$(cat "${PKG_DATA}/_metadata/version")-$(cat "${PKG_BASE}/stat/${tag}/${PKG_NAME}/dest-ver")_darwin-arm.deb" link 
    16 done | gzip -9c >"${PKG_OVER}" 
    17 dpkg-scanpackages link <(zcat "${PKG_OVER}") | sed -e 's/: link\//: debs\//' >"${PKG_PKGS}" 
    18 gzip -c "${PKG_PKGS}" >"${PKG_PKGS}.gz" 
    19 #rm -rf "${PKG_REPO}/debs" 
    20 #cp -a debs "${PKG_REPO}" 
    21 cd "${PKG_REPO}/dists/tangelo" 
    2211 
    23 export PKG_RVSN=129 
     12for PKG_ARCH in "${PKG_BASE}/arch"/*; do 
     13    PKG_ARCH=$(basename "${PKG_ARCH}") 
     14    echo "scanning ${PKG_ARCH}" 
    2415 
    25 cat >main/binary-darwin-arm/Release <<EOF 
     16    PKG_PKGS=${PKG_REPO}/dists/tangelo/main/binary-${PKG_ARCH}/Packages 
     17 
     18    rm -rf "${PKG_BASE}/link" 
     19    mkdir "${PKG_BASE}/link" 
     20    for package in "${PKG_BASE}/data"/!(*_); do 
     21        PKG_NAME=$(basename "${package}") 
     22        PKG_DATA="${PKG_BASE}/data/${PKG_NAME}" 
     23        PKG_PRIO=$(cat "${PKG_DATA}/_metadata/priority") 
     24        echo "${PKG_NAME}" "${PKG_PRIO#+}" "$(cat "${PKG_DATA}/_metadata/section")" 
     25 
     26        PKG_FILE=${PKG_BASE}/stat/${PKG_ARCH}/${PKG_NAME}/dest-ver 
     27        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 
     30                ln -s "${PKG_FILE}" "${PKG_BASE}/link" 
     31                echo "${PKG_FILE}" 
     32            fi 
     33        fi 
     34    done | gzip -9c >"${PKG_OVER}" 
     35 
     36    dpkg-scanpackages "link" <(zcat "${PKG_OVER}") | sed -e 's/: link\//: debs\//' >"${PKG_PKGS}" 
     37    gzip -c "${PKG_PKGS}" >"${PKG_PKGS}.gz" 
     38    #rm -rf "${PKG_REPO}/debs" 
     39    #cp -a debs "${PKG_REPO}" 
     40 
     41    cat >"${PKG_REPO}/dists/tangelo/main/binary-${PKG_ARCH}/Release" <<EOF 
    2642Archive: stable 
    2743Version: 1.0r${PKG_RVSN} 
     
    2945Origin: Jay Freeman (saurik) 
    3046Label: Telesphoreo 
    31 Architecture: darwin-arm 
     47Architecture: ${PKG_ARCH} 
    3248EOF 
     49done 
     50 
     51cd "${PKG_REPO}/dists/tangelo" 
    3352 
    3453{ 
     
    3958Version: 1.0r${PKG_RVSN} 
    4059Codename: tangelo 
    41 Architectures: darwin-arm 
     60Architectures:$(for PKG_ARCH in "${PKG_BASE}/arch"/*; do echo -n " $(basename "${PKG_ARCH}")"; done) 
    4261Components: main 
    4362Description: Telesphoreo Tangelo 1.0r${PKG_RVSN} 
  • trunk/control.sh

    r199 r218  
    3535if [[ $1 == status || $1 == available ]]; then 
    3636    cat <<EOF 
    37 Installed-Size: $(dpkg -f "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_darwin-arm.deb" Installed-Size) 
     37Installed-Size: $(dpkg -f "${PKG_BASE}/debs/${PKG_NAME}_${PKG_VRSN}-${PKG_RVSN}_${PKG_ARCH}.deb" Installed-Size) 
    3838EOF 
    3939elif [[ $1 == control ]]; then 
     
    4545cat <<EOF 
    4646Maintainer: $(cat "${PKG_DATA}/_metadata/maintainer") 
    47 Architecture: darwin-arm 
     47Architecture: ${PKG_ARCH} 
    4848EOF 
    4949 
  • trunk/data/adv-cmds/make.sh

    r199 r218  
    1 pkg:extract 
    2 cd * 
     1pkg:setup 
    32for tproj in finger fingerd last lsvfs md ps; do 
    43    "${PKG_TARG}-gcc" -o "${tproj}" "${tproj}.tproj"/*.c -D'__FBSDID(x)=' 
  • trunk/data/apr/make.sh

    r199 r218  
    1 pkg:extract 
    2 cd * 
    3 pkg:patch 
     1pkg:setup 
    42pkg:configure --disable-static ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=no apr_cv_tcp_nodelay_with_cork=no 
    53make 
  • trunk/data/apr-util/make.sh

    r199 r218  
    1 pkg:extract 
    2 cd * 
     1pkg:setup 
    32pkg:configure --disable-static --with-apr="$(PKG_WORK_ apr)/apr-1.2.12" --with-berkeley-db="${PKG_ROOT}" 
    43make 
  • trunk/data/apt/cfnetwork.diff

    r199 r218  
    11diff -ru apt-0.6.46.4.1/methods/http.cc apt-0.6.46.4.1+iPhone/methods/http.cc 
    22--- apt-0.6.46.4.1/methods/http.cc      2006-12-04 14:37:36.000000000 +0000 
    3 +++ apt-0.6.46.4.1+iPhone/methods/http.cc       2008-04-06 10:00:37.000000000 +0000 
    4 @@ -44,6 +48,10 @@ 
     3+++ apt-0.6.46.4.1+iPhone/methods/http.cc       2008-04-13 05:59:17.000000000 +0000 
     4@@ -43,6 +47,11 @@ 
     5  
    56 // Internet stuff 
    67 #include <netdb.h> 
    7   
     8+#include <arpa/inet.h> 
     9+ 
    810+#include <CoreFoundation/CoreFoundation.h> 
    911+#include <CoreServices/CoreServices.h> 
    1012+#include <SystemConfiguration/SystemConfiguration.h> 
    11 + 
     13  
    1214 #include "connect.h" 
    1315 #include "rfc2553emu.h" 
    14  #include "http.h" 
    15 @@ -51,6 +59,47 @@ 
     16@@ -51,6 +60,47 @@ 
    1617                                                                        /*}}}*/ 
    1718 using namespace std; 
    1819  
    19 +void CfrsError(CFReadStreamRef rs) { 
     20+void CfrsError(const char *name, CFReadStreamRef rs) { 
    2021+    CFStreamError se = CFReadStreamGetError(rs); 
    2122+ 
     
    2627+        _error->Error("MacOSStatus: %ld", se.error); 
    2728+    } else if (se.domain == kCFStreamErrorDomainNetDB) { 
    28 +        _error->Error("NetDB: %s", gai_strerror(se.error)); 
     29+        _error->Error("NetDB: %s %s", name, gai_strerror(se.error)); 
    2930+    } else if (se.domain == kCFStreamErrorDomainMach) { 
    3031+        _error->Error("Mach: %ld", se.error); 
     
    6162 int HttpMethod::FailFd = -1; 
    6263 time_t HttpMethod::FailTime = 0; 
    63 @@ -1062,159 +1111,234 @@ 
     64@@ -1062,159 +1112,251 @@ 
    6465  
    6566       if (Queue == 0) 
     
    7172-        delete Server; 
    7273-        Server = new ServerState(Queue->Uri,this); 
    73 -      } 
     74+ 
     75+      CFStringEncoding se = kCFStringEncodingUTF8; 
     76+ 
     77+      char *url = strdup(Queue->Uri.c_str()); 
     78+    url: 
     79+      URI uri = Queue->Uri; 
     80+      std::string hs = uri.Host; 
     81+ 
     82+      struct hostent *he = gethostbyname(hs.c_str()); 
     83+      if (he == NULL || he->h_addr_list[0] == NULL) { 
     84+         _error->Error(hstrerror(h_errno)); 
     85+         Fail(true); 
     86+         free(url); 
     87       } 
    7488-       
    7589-      /* If the server has explicitly said this is the last connection 
     
    92106-        Server = 0; 
    93107-        continue; 
    94 -      } 
     108+ 
     109+      uri.Host = inet_ntoa(* (struct in_addr *) he->h_addr_list[0]); 
     110+ 
     111+      std::string urs = uri; 
     112+ 
     113+      CFStringRef sr = CFStringCreateWithCString(kCFAllocatorDefault, urs.c_str(), se); 
     114+      CFURLRef ur = CFURLCreateWithString(kCFAllocatorDefault, sr, NULL); 
     115+      CFRelease(sr); 
     116+      CFHTTPMessageRef hm = CFHTTPMessageCreateRequest(kCFAllocatorDefault, CFSTR("GET"), ur, kCFHTTPVersion1_1); 
     117+      CFRelease(ur); 
     118+ 
     119+      struct stat SBuf; 
     120+      if (stat(Queue->DestFile.c_str(), &SBuf) >= 0 && SBuf.st_size > 0) { 
     121+         sr = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("bytes=%li-"), (long) SBuf.st_size - 1); 
     122+         CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("Range"), sr); 
     123+         CFRelease(sr); 
     124+ 
     125+         sr = CFStringCreateWithCString(kCFAllocatorDefault, TimeRFC1123(SBuf.st_mtime).c_str(), se); 
     126+         CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("If-Range"), sr); 
     127+         CFRelease(sr);