Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
#!/bin/bash print_usage() { echo "Syntax: $0 firstrun/newpackage/editpackage" echo echo "Usage Examples:-" echo echo "firstrun: $0 firstrun InstallerSourceXML \"Repository Full Name\"" echo "update: $0 update" echo "newpackage: $0 newpackage packagename.zip Category Version \"Description\"" echo "editpackage: $0 editpackage packagename MaintainerName MaintainerEmail Category Version \"Description\"" } ### Vars ###### repofile=installer.xml repodesc="ModMyiFone" ### END ####### ### 1. Unzipping packages and creating metadata ############################################## steps1-3_run() { echo 1/5: Synchronizing with Installer Repository..... cd /home/mmi/cydiastuff/zips rm -f ../scripts/installer.xml cp /home/mmi/public_html/installer.xml ../scripts/installer.xml cat < ../scripts/installer.xml | grep http | grep .zip|awk '{gsub("<string>","");gsub("</string>","");print}'| xargs wget -N echo 2/5: Unzipping packages and creating metadata..... mkdir -p ../unzipped/debs cp ../scripts/*.py ../unzipped/debs/ cp ../scripts/*.xml ../unzipped/debs/ if [ ! -f ../unzipped/mpkgs ]; then cp ../scripts/mpkgs ../unzipped/ fi for z in *.zip; do unzip -K -o -qq $z -d ../unzipped/debs/`basename $z .zip|tr A-Z a-z`/; done cd ../unzipped/debs mkdir -p ../../debug python metadata.py $repofile > ../../debug/debug.txt ### 2. Preparing packages ######################## echo 3/5: Preparing packages.... rm -f *.py *.pyc *.xml *.sh for x in *; do if [ -d ${x}/__MACOSX ]; then rm -rf ${x}/__MACOSX fi if [ -d ${x}/DEBIAN ]; then echo "" >> ${x}/DEBIAN/control chmod +x ${x}/DEBIAN/* fi if [ -e ${x}/test.txt ]; then rm -f ${x}/test.txt fi done find . -name '.DS_Store' -exec rm -rf {} \; -prune ### 3. Building packages and cleaning up ############## echo 4/5: Building packages and cleaning up for x in *; do dpkg -b $x 1>/dev/null 2>/dev/null; done cp -pR /home/mmi/edebs/* ./ ls -d * | grep -v .deb | xargs rm -rf cd .. } ### 4. Creating Repository Info Files ########################################################################################################## step4b_run(){ echo 5/5: Creating Repository Info Files chmod +x mpkgs ./mpkgs debs indices/override | awk '{gsub("Section: Network\n","Section: Networking\n");print}' > dists/stable/main/binary-darwin-arm/Packages2 cp dists/stable/main/binary-darwin-arm/Packages2 dists/stable/main/binary-darwin-arm/Packages gzip -9 -f dists/stable/main/binary-darwin-arm/Packages mv dists/stable/main/binary-darwin-arm/Packages2 dists/stable/main/binary-darwin-arm/Packages mkdir -p dists/stable/main/binary-iphoneos-arm/ rm -f dists/stable/main/binary-iphoneos-arm/Packages* touch dists/stable/main/binary-iphoneos-arm/Packages cp dists/stable/main/binary-iphoneos-arm/Packages dists/stable/main/binary-iphoneos-arm/Packages2 gzip dists/stable/main/binary-iphoneos-arm/Packages mv dists/stable/main/binary-iphoneos-arm/Packages2 dists/stable/main/binary-iphoneos-arm/Packages } update_repo() { steps1-3_run rm -f dists/stable/main/binary-darwin-arm/Packages* step4b_run cat<<END>dists/stable/Release `cat < dists/stable/Release | grep -v Packages` END cd dists/stable for file in main/binary-darwin-arm/{Packages,Packages.gz}; do echo " $(md5sum "${file}" | cut -d ' ' -f 1) $(du -b "${file}" | cut -d $'\t' -f 1) ${file}"; done >>Release for file in main/binary-iphoneos-arm/{Packages,Packages.gz}; do echo " $(md5sum "${file}" | cut -d ' ' -f 1) $(du -b "${file}" | cut -d $'\t' -f 1) ${file}"; done >>Release rm -f Release.gpg cd ../../ gpg -abs -o dists/stable/Release.gpg dists/stable/Release echo Exit Status: $? cp -pR ./* /home/mmi/public_html/repo/ exit } first_run() { cd /home/mmi/cydiastuff/zips rm -f *.done rm -rf ../unzipped steps1-3_run mkdir -p indices touch indices/override mkdir -p dists/stable/main/binary-darwin-arm step4b_run cat<<END>dists/stable/Release Origin: stable Label: ${repodesc} Suite: stable Version: 1.0 Codename: stable Architectures: darwin-arm Components: main Description: ${repodesc} MD5Sum: END cd dists/stable for file in main/binary-darwin-arm/{Packages,Packages.gz}; do echo " $(md5sum "${file}" | cut -d ' ' -f 1) $(du -b "${file}" | cut -d $'\t' -f 1) ${file}"; done >>Release cd ../../ gpg -abs -o dists/stable/Release.gpg dists/stable/Release mkdir -p conf cat<<END>conf/distributions Origin: stable Label: ${repodesc} Suite: stable Codename: stable Architectures: darwin-arm Components: main Description: ${repodesc} END echo Exit Status: $? rm -rf /home/mmi/public_html/repo/ mkdir -p /home/mmi/public_html/repo/ cp -pR ./* /home/mmi/public_html/repo/ exit } ### Debicizer option selection ## case $1 in --usage ) print_usage ;; run ) first_run ;; up ) update_repo ;; newpackage ) new_package ;; editpackage ) edit_package ;; "" ) print_usage ;; esac ### END ######################### ### Not implemented #################### corrupted_metadata(){ for c in *; do rm -f ${c}/DEBIAN/*; done } ### END ################################
Pasted July 05, 2008 1:53PM EDT
Embed