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\""
}
repofile=installer.xml
repodesc="ModMyiFone"
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
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
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 ..
}
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<<END>dists/stable/Release
`cat < dists/stable/Release | grep -v Packages`
ENDEND
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<<END>dists/stable/Release
Origin: stable
Label: ${repodesc}
Suite: stable
Version: 1.0
Codename: stable
Architectures: darwin-arm
Components: main
Description: ${repodesc}
MD5Sum:
ENDEND
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<<END>conf/distributions
Origin: stable
Label: ${repodesc}
Suite: stable
Codename: stable
Architectures: darwin-arm
Components: main
Description: ${repodesc}
ENDEND
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
}
case $1 in
--usage ) print_usage ;;
run ) first_run ;;
up ) update_repo ;;
newpackage ) new_package ;;
editpackage ) edit_package ;;
"" ) print_usage ;;
esac
corrupted_metadata(){
for c in *; do rm -f ${c}/DEBIAN/*; done
}