package.mk (3430B)
1 package:QV: 2 if [ "$NOBINDDIRS" -eq 1 ]; then 3 BINDDIRS='' 4 elif [ -z "$BINDDIRS" ]; then 5 BINDDIRS="-b /etc" 6 fi 7 printf " MK\t%s\n" "clean" 8 "$MK" clean 9 printf " MK\t%s\n" "DESTDIR=pkgroot install" 10 "$MK" DESTDIR=pkgroot install 11 printf " PROOT\t%s\n" pkgroot 12 (cd pkgroot; find . | sort | uniq \ 13 | sed 's,^\./,,;/^\.$/d;/filelist/d' > filelist) 14 "$PROOT" -r pkgroot -0 -b /bin/tar -b /bin/xz $BINDDIRS -w / \ 15 tar -cJnf $PKG.tar.xz -T filelist 16 printf " MV\t%s\n" $PKG.tar.xz 17 mv pkgroot/$PKG.tar.xz . 18 "$SHA512SUM" $PKG.tar.xz > $PKG.sha512 19 if [ "$SKIPCLEAN" -ne 1 ]; then 20 printf " RM\t%s\n" pkgroot 21 rm -rf pkgroot 22 fi 23 24 package-install:QV: package 25 printf " INST\t%s\n" $PKG.tar.xz 26 "$INSTALL" -Dm0644 $PKG.tar.xz $PKGDIR/$PKG.tar.xz 27 printf " INST\t%s\n" $PKG.sha512 28 "$INSTALL" -Dm0644 $PKG.sha512 $PKGDIR/$PKG.sha512 29 30 package-fetch:QV: 31 if [ ! -d "$SRCBASEDIR" ]; then 32 printf " MKDIR\t%s\n" "$SRCBASEDIR" 33 mkdir "$SRCBASEDIR" 34 fi 35 if [ ! -d "$SRCPKGDIR" ]; then 36 printf " MKDIR\t%s\n" "$SRCPKGDIR" 37 mkdir "$SRCPKGDIR" 38 fi 39 cd "$SRCBASEDIR" 40 sums=$SHA512SUMS 41 dirs=$SRCDIRS 42 exdirs=$SRCEXDIRS 43 todirs=$SRCTODIRS 44 crdirs=$SRCCRDIRS 45 totarballs=$SRCTOTARBALLS 46 for srctarball in $SRCTARBALLS; do 47 currentsum=${sums%% *} 48 sums=${sums#* } 49 currentdir=${dirs%% *} 50 dirs=${dirs#* } 51 currentexdir=${exdirs%% *} 52 exdirs=${exdirs#* } 53 currenttodir=${todirs%% *} 54 todirs=${todirs#* } 55 currentcrdir=${crdirs%% *} 56 crdirs=${crdirs#* } 57 curtotarball=${totarballs%% *} 58 totarballs=${totarballs#* } 59 tbfile="${srctarball##*/}" 60 if [ -n "$currenttodir" ] && [ -d "$SRCPKGDIR/$currenttodir" ] 61 then 62 continue 63 elif [ -n "$currentdir" ] && [ -d "$SRCPKGDIR/$currentdir" ] 64 then 65 continue 66 fi 67 if [ -n "$curtotarball" ]; then 68 tbfile=$curtotarball 69 fi 70 if [ ! -e "$SRCPKGDIR/$tbfile" ]; then 71 printf " CURL\t%s\n" "$tbfile" 72 $CURL -L "$srctarball" > "$SRCPKGDIR/$tbfile" 73 if [ -n "$currentsum" ]; then 74 printf " SHA\t%s %s\n" -c "$tbfile" 75 if ! printf "%s %s/%s\n" $currentsum \ 76 $SRCPKGDIR \ 77 ${tbfile##*/} | $SHA512SUM -c - 78 then 79 printf "Checksum mismatch in %s\n" \ 80 ${tbfile##*/} >&2 81 exit 1 82 fi 83 fi 84 fi 85 case $tbfile in 86 *.tar.gz|*.tgz) 87 utility=TGZ 88 cmd='gunzip -dc';; 89 *.tar.bz2|*.tbz) 90 utility=TBZ 91 cmd='bunzip2 -dc';; 92 *.tar.xz|*.txz) 93 utility=TXZ 94 cmd='xz -dc';; 95 *.zip) utility=ZIP;; 96 *) printf "Unsupported archive format: %s\n" \ 97 $tbfile 98 exit 1;; 99 esac 100 printf " %s\t%s\n" $utility "$tbfile" 101 if [ "$utility" = "ZIP" ]; then 102 todir=$PKG 103 if [ -n "$currentexdir" ]; then 104 todir=$currentexdir 105 elif [ -n "$currentcrdir" ]; then 106 printf " MKDIR\t%s\n" "$currentcrdir" 107 mkdir -p "$currentcrdir" 108 todir=$currentcrdir 109 fi 110 unzip -d "$todir" "$SRCPKGDIR/$tbfile" 111 else 112 $cmd "$SRCPKGDIR/$tbfile" | $TAR -xf - 113 fi 114 unset utility cmd todir 115 if [ -n "$currenttodir" ]; then 116 printf " RM\t-fr %s\n" "$SRCBASEDIR/$currenttodir" 117 rm -fr "$SRCBASEDIR/$currenttodir" 118 printf " MV\t%s/%s\n" "$SRCBASEDIR" "$currenttodir" 119 mv "$SRCBASEDIR/$currentdir" "$SRCBASEDIR/$currenttodir" 120 fi 121 done 122 for srcrepo in $SRCREPOS; do 123 repodir="${srcrepo##*/}" 124 if [ ! -d "$repodir" ]; then 125 printf " GIT\t%s %s\n" clone "$repodir" 126 $GIT clone "$srcrepo" 127 else 128 cd "$repodir" 129 printf " GIT\t%s %s\n" pull "$repodir" 130 $GIT pull --ff-only 131 cd - >/dev/null 132 fi 133 done