Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- distro=devuan
- distro_ver=ascii
- repo_filename="/var/packages/repo/Packages-devuan-ascii-main"
- #a_stream=main
- a_repo_url="http://deb.devuan.org/merged/"
- cat ~/awk_dep_test.in | awk -v PKGOS="$distro" -v PKGOSVER="$distro_ver" -v REPOFNM="$repo_filename" \
- 'function fixdepends_jamesbond(s, a,p,sout) {
- split(s,a,",")
- for (p in a) {
- gsub(/[ \t]*\(.*\)|[ \t]\|.*|:any/,"",a[p])
- sout = sout "," a[p]
- }
- sub(/^,/,"",sout) ; return sout;
- }
- function get_inequality(s){
- switch(s){
- case "<":
- return "lt"
- break
- case ">":
- return "gt"
- break
- case "<=":
- return "le"
- break
- case ">=":
- return "ge"
- break
- case "=":
- return "eq"
- break
- }
- return ""
- }
- function fixdepends(s, p,a,dep_i,dep_split,pkg_i,ver_i,v,ineq,sout) {
- print "fixing depends"
- split(s,a,",")
- for (p in a) {
- #split(a[p],dep_i) #Split into seperate dependencies
- print "p=" p
- print "a[p]]=" a[p]
- #match(dep_i,/^[ \t]*([^ \t]+)[ \t]*(\((.*)\))?/,dep_split)
- match(a[p],/^[ \t]*([^ \t]+)[ \t]*(\((.*)\))?/,dep_split)
- pkg_i = dep_split[1]
- print "pkg_i=" pkg_i
- sout = sout ",+" pkg_i
- if ( length(dep_split) > 1 ){
- ver_i=dep_split[3]
- print "ver_i=" ver_i
- split(ver_i,v," ")
- print "v[1]=" v[1]
- ineq=get_inequality(v[1])
- print "ineq=" ineq
- if ( length(v) > 1 ){
- print "v[2]=" v[2]
- sout = sout "&" ineq v[2]
- print "sout=" sout
- }
- }
- #sout = sout "," "+" a[p]
- }
- sub(/^,/,"",sout) ; return sout;
- }
- /^Package:/ { sub(/^Package: /,""); PKG=$0; }
- /^Version:/ { sub(/^Version: /,""); PKGVER=$0; }
- /^Filename:/ { sub(/^Filename: /,""); PKGPATH=$0; sub(/\/[^\/]*$/,"",PKGPATH); sub(/.*\//,""); PKGFILE=$0; }
- /^Priority:/ { sub(/^Priority: /,""); PKGPRIO=$0; }
- /^Section:/ { sub(/^Section: /,""); PKGSECTION=$0; }
- /^Installed-Size:/ { sub(/^Installed-Size: /,""); PKGSIZE=$0; }
- /^MD5sum:/ { sub(/^MD5sum: /,""); PKGMD5=$0; }
- /^SHA1:/ { sub(/^SHA1: /,""); SHA1=$0; }
- /^SHA256:/ { sub(/^SHA256: /,""); SHA256=$0; }
- /^Depends:/ { sub(/^Depends: /,""); PKGDEP=fixdepends($0) "," PKGDEP; }
- /^Pre-Depends:/ { sub(/^Pre-Depends: /,""); PKGDEP=fixdepends($0) "," PKGDEP; }
- /^Description:/ { sub(/^Description: /,""); PKGINFO=substr($0,1,200); }
- /^$/ { print PKG "_" PKGVER "|" PKG "|" PKGVER "||" PKGSECTION "|" PKGSIZE "|" PKGPATH "|" PKGFILE "|" PKGDEP "|" PKGINFO "|" PKGOS "|" PKGOSVER "|" PKGMD5 "|" SHA1 "|" SHA256 "|" PKGPRIO "|" REPOFNM ;
- PKG=""; PKGVER=""; PKGSECTION=""; PKGSIZE=""; PKGFILE=""; PKGPATH=""; PKGDEP=""; PKGINFO=""; PKGPRIO=""; PKGMD5=""; SHA1=""; SHA256=""; PKGDEP=""; }
- ' > ~/awk_dep_test.out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement