Guest User

Untitled

a guest
Apr 23rd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. print_usage() {
  4. echo "Syntax: $0 firstrun/newpackage/editpackage"
  5. echo
  6. echo "Usage Examples:-"
  7. echo
  8. echo "firstrun: $0 firstrun InstallerSourceXML \"Repository Full Name\""
  9. echo "update: $0 update"
  10. echo "newpackage: $0 newpackage packagename.zip Category Version \"Description\""
  11. echo "editpackage: $0 editpackage packagename MaintainerName MaintainerEmail Category Version \"Description\""
  12. }
  13.  
  14. ### Vars ################
  15. repofile=installer.xml
  16. repodesc="ModMyiFone.com"
  17. ### END #################
  18.  
  19. ### 1. Unzipping packages and creating metadata ##############################################
  20. steps1-3_run() {
  21. echo 1/4: Backing up, unzipping packages and creating metadata.....
  22. rm -rf /home/mmi/backup_repo/
  23. mkdir -p /home/mmi/backup_repo/
  24. cp -pR /home/mmi/public_html/repo/* /home/mmi/backup_repo/
  25. cd zips
  26. cat < /home/mmi/public_html/installer.xml | grep http | grep .zip|awk '{gsub("<string>","");gsub("</string>","");print}'| xargs wget -N
  27. cp /home/mmi/public_html/installer.xml ../scripts/installer.xml
  28. mkdir -p /home/mmi/public_html/repo/
  29. cp ../scripts/*.py /home/mmi/public_html/repo/debs/
  30. cp ../scripts/*.xml /home/mmi/public_html/repo/debs/
  31. if [ ! -f /home/mmi/public_html/repo/mpkgs ]; then
  32. cp ../scripts/mpkgs /home/mmi/public_html/repo/
  33. fi
  34. for z in *.zip; do unzip -X -K -o -qq $z -d /home/mmi/public_html/repo/debs/`basename $z .zip|tr A-Z a-z`/; done
  35. cd /home/mmi/public_html/repo/debs
  36. mkdir -p /home/mmi/cydiastuff/debug
  37. python metadata.py $repofile > /home/mmi/cydiastuff/debug/debug.txt
  38.  
  39. ### 2. Preparing packages ########################
  40. echo 2/4: Preparing packages....
  41. rm -f *.py *.pyc *.xml *.sh
  42. for x in *; do
  43. if [ -d ${x}/__MACOSX ]; then
  44. rm -rf ${x}/__MACOSX
  45. fi
  46. if [ -d ${x}/DEBIAN ]; then
  47. echo "" >> ${x}/DEBIAN/control
  48. chmod +x ${x}/DEBIAN/*
  49. fi
  50. rm -f ${x}/*.txt
  51. done
  52. find . -name '.DS_Store' -exec rm -rf {} \; -prune
  53.  
  54. ### 3. Building packages and cleaning up ##############
  55. echo 3/4: Building packages and cleaning up
  56. for x in *; do dpkg -b $x 1>/dev/null 2>/dev/null; done
  57. #ls -d * | grep -v .deb | xargs rm -rf
  58. cd ..
  59. }
  60.  
  61. ### 4. Creating Repository Info Files ##########################################################################################################
  62. step4b_run(){
  63. echo 4/4: Creating Repository Info Files
  64. chmod +x mpkgs
  65. ./mpkgs debs indices/override | awk '{gsub("Section: Network","Section: Networking");print}' > dists/stable/main/binary-darwin-arm/Packages2
  66. cp dists/stable/main/binary-darwin-arm/Packages2 dists/stable/main/binary-darwin-arm/Packages
  67. gzip -9 -f dists/stable/main/binary-darwin-arm/Packages
  68. mv dists/stable/main/binary-darwin-arm/Packages2 dists/stable/main/binary-darwin-arm/Packages
  69. }
  70.  
  71. update_repo() {
  72. steps1_3_run
  73. rm -f dists/stable/main/binary-darwin-arm/Packages*
  74. step4b_run
  75. cat<<END>dists/stable/Release
  76. `cat < dists/stable/Release | grep -v Packages.gz`
  77. END
  78. for file in dists/stable/main/binary-darwin-arm/Packages.gz; do echo " $(md5sum "${file}" | cut -d ' ' -f 1) $(du -b "${file}" | cut -d $'\t' -f 1) ${file}";done >> dists/stable/Release
  79. echo Exit Status: $?
  80. }
  81.  
  82. first_run() {
  83. rm -f *.done
  84. rm -rf /home/mmi/public_html/repo
  85.  
  86. steps1-3_run
  87.  
  88. mkdir -p indices
  89. touch indices/override
  90. mkdir -p dists/stable/main/binary-darwin-arm
  91.  
  92. cp -pR /home/mmi/edebs/* /home/mmi/public_html/repo/debs/
  93. step4b_run
  94.  
  95. cat<<END>dists/stable/Release
  96. Origin: stable
  97. Label: ${repodesc}
  98. Suite: stable
  99. Version: 1.0
  100. Codename: stable
  101. Architectures: darwin-arm
  102. Components: main
  103. Description: ${repodesc}
  104. MD5Sum:
  105.  
  106. END
  107. for file in dists/stable/main/binary-darwin-arm/Packages.gz; do echo " $(md5sum "${file}" | cut -d ' ' -f 1) $(du -b "${file}" | cut -d $'\t' -f 1) ${file}"; done >>dists/stable/Release
  108. mkdir -p conf
  109. cat<<END>conf/distributions
  110. Origin: stable
  111. Label: ${repodesc}
  112. Suite: stable
  113. Codename: stable
  114. Architectures: darwin-arm
  115. Components: main
  116. Description: ${repodesc}
  117. END
  118. echo Exit Status: $?
  119. }
  120.  
  121. run_revert() {
  122. mkdir -p /home/mmi/reverted_repo
  123. cp -pR /home/mmi/public_html/repo/* /home/mmi/reverted_repo
  124. rm -rf /home/mmi/public_html/repo
  125. mkdir -p /home/mmi/public_html/repo
  126. cp -pR /home/mmi/backup_repo/* /home/mmi/public_html/repo/
  127. rm -rf /home/mmi/backup_repo
  128. mkdir -p /home/mmi/backup_repo
  129. }
  130.  
  131. ### Debicizer option selection ##
  132. case $1 in
  133. --usage ) print_usage ;;
  134. firstrun ) first_run ;;
  135. update ) update_repo ;;
  136. revert ) run_revert ;;
  137. newpackage ) new_package ;;
  138. editpackage ) edit_package ;;
  139. "" ) print_usage ;;
  140. esac
  141. ### END #########################
  142.  
  143. ### Not implemented ####################
  144. corrupted_metadata(){
  145. for c in *; do rm -f ${c}/DEBIAN/*; done
  146. }
  147. ### END ################################
Add Comment
Please, Sign In to add comment