#!/bin/bash # 0setup for a32pup 190220 if [ -d ./support -a -f ./DISTRO_SPECS -a -d ./rootfs-skeleton ] ;then RUNNINGPUP='' FIND_CAT="$(pwd)/support/find_cat" #note, 3builddistro copies it into rootfs-complete/usr/local/petget when building a pup. else #want to run this script in running puppy, to update db's... FIND_CAT='/usr/local/petget/find_cat' cd /var/packages RUNNINGPUP='/var/packages/' fi WGET='wget --no-check-certificate -q --show-progress' #rm Packages-puppy-slacko14.2-official Packages-puppy-noarch-official Packages-puppy-common32-official $WGET https://raw.githubusercontent.com/puppylinux-woof-CE/woof-CE/testing/woof-distro/x86/slackware/14.2/Packages-puppy-slacko14.2-official $WGET https://raw.githubusercontent.com/puppylinux-woof-CE/woof-CE/testing/woof-distro/Packages-puppy-noarch-official $WGET https://raw.githubusercontent.com/puppylinux-woof-CE/woof-CE/testing/woof-distro/x86/Packages-puppy-common32-official for arepo in core extra community ; do $WGET https://mirror.archlinux32.org/pentium4/${arepo}/${arepo}.db.tar.gz echo "Processing ArchLinux32 ${arepo} repo please wait..." rm -rf sandbox0 2>/dev/null mkdir sandbox0 cd sandbox0 busybox tar xzf "../${arepo}.db.tar.gz" RETSTAT=$? cd .. if [ $RETSTAT -eq 0 ];then rm -f "${arepo}.db.tar.gz" for i in sandbox0/*; do cat "$i/desc" done | awk -v pkgpath="$arepo" ' function output() { if(filename == "") return; printf("%s-%s|%s|%s|%s||%0.fK|pentium4/%s|%s|%s|%s||||\n", pkgname, pkgverarr[1], pkgname, pkgverarr[1], pkgverarr[2], pkgsize, pkgpath, filename, pkgdeps, pkgdesc) printf("%s-%s|%s|%s|%s|%s|%s|%s|\n", pkgname, pkgverarr[1], pkgname, pkgverarr[1], pkgverarr[2],provides,mkdeps,optdeps) >> "sandbox0/archtemp2" pkgname=""; pkgverarr[1]=""; pkgverarr[2]=""; pkgsize=""; filename=""; pkgdeps=""; inDeps=0; pkgdesc=""; provides=""; mkdeps=""; optdeps=""; } BEGIN{ inDeps=0 } { if($1 == ""){ #do nothing }else if($1 == "%FILENAME%"){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=0 output() getline filename }else if($1 == "%NAME%"){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=0 getline pkgname }else if($1 == "%VERSION%"){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=0 getline pkgver; split(pkgver, pkgverarr, "-") }else if($1 == "%DESC%"){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=0 getline pkgdesc gsub(//, " ", pkgdesc) gsub(/\|/, " ", pkgdesc) gsub(/'\''/, " ", pkgdesc) gsub(/["]/, " ", pkgdesc) gsub(/\(/, " ", pkgdesc) gsub(/\)/, " ", pkgdesc) }else if($1 == "%ISIZE%"){ inDeps=0 getline pkgsize; pkgsize = pkgsize / 1024 }else if($1 == "%DEPENDS%"){ isMkDeps=0; isProvides=0; isOptDeps=0 inDeps=1 }else if($1 == "%MAKEDEPENDS%"){ inDeps=0; isProvides=0; isOptDeps=0 isMkDeps=1 }else if($1 == "%PROVIDES%"){ inDeps=0; isMkDeps=0; isOptDeps=0 isProvides=1 }else if($1 == "%OPTDEPENDS%"){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=1 }else if($1 ~ /^%/){ inDeps=0; isMkDeps=0; isProvides=0; isOptDeps=0 }else if(inDeps == 1){ # dependency if(pkgdeps != "") pkgdeps=pkgdeps"," pkgdeps=pkgdeps"+" sub(/>=/, "\\&ge", $0) sub(/<=/, "\\&le", $0) sub(/>/, "\\>", $0) sub(/ sandbox0/archtemp # sed 's%$%|||%' sandbox0/archtemp > sandbox0/archtemp2 ${FIND_CAT} sandbox0/archtemp xxx > ${RUNNINGPUP}Packages-arch-32-${arepo} mv sandbox0/archtemp2 ${RUNNINGPUP}Provides-arch-32-${arepo} fi done rm -rf sandbox0 2>/dev/null exit #line #41 : printf("%s-%s|%s|%s|%s||%sK|pentium4/%s|%s|%s|%s|\n", pkgname, pkgverarr[1], pkgname, pkgverarr[1], pkgverarr[2], pkgsize, pkgpath, filename, pkgdeps, pkgdesc)