1# Makefile.usr - installed as /usr/Makefile 2# 3# Provides simple targets to download and maintain /usr/src, /usr/dports etc. 4 5GITHOST?=git.dragonflybsd.org 6GITHOST_DPORTS?=mirror-master.dragonflybsd.org 7 8DPTBALL=/tmp/dports.tar.gz 9PKGBALL=/tmp/pkgboot.tar.xz 10DPDLURL=https://api.github.com/repos/DragonFlyBSD/DPorts/tarball/ 11PKGBOOT_VERSION=02 12PKGBOOT_x86_64=bootstrap_pkg_${PKGBOOT_VERSION}_x86-64.tar.xz 13PKGBOOT=http://mirror-master.dragonflybsd.org/dports/bootstraps/${PKGBOOT_${MACHINE_ARCH}} 14ERRPKG="Error: Bootstrap not necessary, ${.CURDIR}/local/sbin/pkg already exists" 15WSTARS="***************************************************************" 16WARNPS=" Warning: Delete or move ${.CURDIR}/pkg before building any dport!" 17LPATT=" make %-23s- %s\n" 18 19help all: 20 @echo "HELP:" 21 @echo 22.if exists(${.CURDIR}/dports/.git) 23 @printf ${LPATT} "dports-update" "update your dports repository from the net" 24.else 25. if exists(${.CURDIR}/dports) 26 @printf ${LPATT} "dports-replace" "Replace dports with latest tarball (Github)" 27. else 28 @printf ${LPATT} "dports-create" "fetch initial dports repository from the net" 29 @printf ${LPATT} "dports-create-shallow" "fetch initial history-free dports repository" 30 @printf ${LPATT} "dports-download" "download & install dports tarball (Github)" 31. endif 32.endif 33 @printf ${LPATT} "pkg-bootstrap" "Use pre-built pkg to install dports packages" 34 @printf ${LPATT} "pkg-bootstrap-force" "Force it (pkg.conf will be overwritten)" 35 @echo 36 37.if exists(${.CURDIR}/src/.git) 38.if exists(${.CURDIR}/src/Makefile) 39 @printf ${LPATT} "src-update" "update your src repository from the net" 40.else 41 @printf ${LPATT} "src-checkout" "Initial checkout of src repository" 42.endif 43.else 44 @printf ${LPATT} "src-create" "fetch initial src repository from the net" 45 @printf ${LPATT} "src-create-shallow" "fetch initial history-free src repository" 46 @printf ${LPATT} "src-create-repo" "fetch src repository only, no checkout" 47.endif 48 @echo 49.if exists(${.CURDIR}/src-sys.tar.bz2) 50 @printf ${LPATT} "release-sys-extract" "extract the pre-packaged sys-only sources" 51 @echo 52.endif 53 @echo "If automating please feel free to run git pull's from cron." 54 @echo "We prefer once a day but you can run them more often if you desire" 55 56git-check: 57 @/usr/bin/which -s git || \ 58 (echo "git must be present on the system to use this option."; /usr/bin/false) 59 60src-check: git-check 61 @/bin/test ! -d ${.CURDIR}/src/.git || \ 62 (echo "Error: ${.CURDIR}/src already exists"; /usr/bin/false) 63 64src-check-hasdir: git-check 65 @/bin/test -d ${.CURDIR}/src/.git || \ 66 (echo "Error: ${.CURDIR}/src does not exist"; /usr/bin/false) 67 68src-create-repo: src-check 69 @echo "If problems occur you may have to rm -rf src and try again." 70 @echo 71 @mkdir -p ${.CURDIR}/src 72 @cd ${.CURDIR}/src && git init 73 @cd ${.CURDIR}/src && \ 74 git remote add origin git://${GITHOST}/dragonfly.git 75 cd ${.CURDIR}/src && git fetch origin 76 cd ${.CURDIR}/src && git branch master origin/master 77 78src-create: src-create-repo 79 cd ${.CURDIR}/src && git checkout master 80 cd ${.CURDIR}/src && git pull 81 82src-create-shallow: src-check 83 @echo "If problems occur you may have to rm -rf src and try again." 84 @echo 85 @mkdir -p ${.CURDIR}/src 86 cd ${.CURDIR}/src && git init 87 cd ${.CURDIR}/src && \ 88 git remote add origin git://${GITHOST}/dragonfly.git 89 cd ${.CURDIR}/src && git fetch --depth=1 origin 90 cd ${.CURDIR}/src && git branch master origin/master 91 cd ${.CURDIR}/src && git checkout master 92 cd ${.CURDIR}/src && git pull 93 94src-checkout: src-check-hasdir 95 cd ${.CURDIR}/src && git checkout master 96 97src-update: src-check-hasdir 98 cd ${.CURDIR}/src && git pull 99 100release-sys-extract: 101 cd ${.CURDIR} && tar xvpjf src-sys.tar.bz2 102 103dports-check: git-check 104 @/bin/test ! -d ${.CURDIR}/dports/.git || \ 105 (echo "Error: ${.CURDIR}/dports already exists"; /usr/bin/false) 106 107dports-download-check: 108 @/bin/test ! -d ${.CURDIR}/dports || \ 109 (echo "Error: ${.CURDIR}/dports already exists"; /usr/bin/false) 110 @/bin/test ! -d ${.CURDIR}/DragonFlyBSD-DPorts-* || \ 111 (echo "Error: ${.CURDIR}/DragonFlyBSD-DPorts-* already exists"; /usr/bin/false) 112 113dports-check-hasdir: git-check 114 @/bin/test -d ${.CURDIR}/dports || \ 115 (echo "Error: ${.CURDIR}/dports does not exist"; /usr/bin/false) 116 117dports-update: dports-check-hasdir 118 cd ${.CURDIR}/dports && git pull 119 120dports-create: dports-check 121 @echo "If problems occur you may have to rm -rf dports and try again." 122 @echo 123 git clone git://${GITHOST_DPORTS}/dports.git ${.CURDIR}/dports 124.if exists(${.CURDIR}/pkg) 125 @echo ${WSTARS} 126 @echo ${WARNPS} 127 @echo ${WSTARS} 128.endif 129 130dports-create-shallow: dports-check 131 @echo "If problems occur you may have to rm -rf dports and try again." 132 @echo 133 git clone --depth=1 git://${GITHOST_DPORTS}/dports.git \ 134 ${.CURDIR}/dports 135.if exists(${.CURDIR}/pkg) 136 @echo ${WSTARS} 137 @echo ${WARNPS} 138 @echo ${WSTARS} 139.endif 140 141dports-download: dports-download-check 142 rm -f ${DPTBALL} 143 fetch -o ${DPTBALL} ${DPDLURL} 144 tar -xf ${DPTBALL} -C ${.CURDIR} 145 mv /usr/DragonFlyBSD-DPorts-* ${.CURDIR}/dports 146 rm -f ${DPTBALL} 147.if exists(${.CURDIR}/pkg) 148 @echo ${WSTARS} 149 @echo ${WARNPS} 150 @echo ${WSTARS} 151.endif 152 153dports-replace: dports-check-hasdir 154.if exists(${.CURDIR}/dports/.git) 155 @echo "Error: this is git repository currently." 156 @echo "Remove ${.CURDIR}/dports and execute \"make dports-download\" if you want" 157 @echo "to convert to a non-git version." 158 @/usr/bin/false 159.else 160 rm -f ${DPTBALL} 161 fetch -o ${DPTBALL} ${DPDLURL} 162 rm -rf ${.CURDIR}/dports 163 tar -xf ${DPTBALL} -C ${.CURDIR} 164 mv /usr/DragonFlyBSD-DPorts-* ${.CURDIR}/dports 165 rm -f ${DPTBALL} 166.endif 167 168# NOTE: In force mode we also have to remove any old pkg.conf 169# which might interfere with the newer pkg bootstrap. 170# 171pkg-bootstrap-force: 172 @rm -f /usr/local/etc/pkg.conf 173 @fetch -o ${PKGBALL} ${PKGBOOT} 174 @tar -xJf ${PKGBALL} -C ${.CURDIR}/local 175 @rm -f ${PKGBALL} 176.if defined(ABIVERS) 177 ABI=${ABIVERS} ${.CURDIR}/local/sbin/pkg-static install -y -f pkg 178.else 179 ${.CURDIR}/local/sbin/pkg-static install -y -f pkg 180.endif 181 182pkg-bootstrap: 183.if exists(${.CURDIR}/local/sbin/pkg) 184 @echo ${ERRPKG} 185 @/usr/bin/false 186.elif exists(${.CURDIR}/local/etc/pkg.conf) 187 @echo "Error: ${.CURDIR}/local/etc/pkg.conf will be overwritten" 188 @echo "Please move this file and rerun 'make pkg-bootstrap'" 189 @/usr/bin/false 190.else 191 @fetch -o ${PKGBALL} ${PKGBOOT} 192 @tar -xJf ${PKGBALL} -C ${.CURDIR}/local 193 @rm -f ${PKGBALL} 194.if defined(ABIVERS) 195 ABI=${ABIVERS} ${.CURDIR}/local/sbin/pkg-static install -y pkg 196.else 197 ${.CURDIR}/local/sbin/pkg-static install -y pkg 198.endif 199.endif 200