xref: /dragonfly/etc/Makefile.usr (revision b4f25088)
1# Makefile.usr - installed as /usr/Makefile
2#
3# Provides simple targets to download and maintain /usr/src, /usr/pkgsrc etc.
4
5GITHOST?=git.dragonflybsd.org
6
7THISGIT!= which git 2>/dev/null; echo
8DPTBALL=/tmp/dports.tar.gz
9PKGBALL=/tmp/pkgboot.tar.xz
10DPDLURL=https://api.github.com/repos/jrmarino/DPorts/tarball/
11PKGBOOT_i386=bootstrap_pkg_x86-32.tar.xz
12PKGBOOT_x86_64=bootstrap_pkg_x86-64.tar.xz
13PKGBOOT=http://mirror-master.dragonflybsd.org/dports/bootstraps/${PKGBOOT_${MACHINE_ARCH}}
14GITNFMSG="git must be present on the system to use this option."
15ABIVERS=`uname -P`
16ERRPS="Error: ${.CURDIR}/pkgsrc already exists"
17ERRDP="Error: ${.CURDIR}/dports already exists"
18ERRSR="Error: ${.CURDIR}/src already exists"
19ERRNPS="Error: ${.CURDIR}/pkgsrc does not exist"
20ERRNDP="Error: ${.CURDIR}/dports does not exist"
21ERRNSR="Error: ${.CURDIR}/src does not exist"
22ERRPKG="Error: Bootstrap not neccessary, ${.CURDIR}/local/sbin/pkg already exists"
23WSTARS="***************************************************************"
24WARNPS="  Warning: Delete or move ${.CURDIR}/pkg before building any dport!"
25LPATT="   make %-23s- %s\n"
26
27help all:
28	@echo "HELP:"
29.if exists(${.CURDIR}/pkgsrc/.git)
30.if exists(${.CURDIR}/pkgsrc/Makefile)
31	@printf ${LPATT} "pkgsrc-update"         "update your pkgsrc repo from the net"
32.else
33	@printf ${LPATT} "pkgsrc-checkout"       "Initial checkout of pkgsrc repository"
34.endif
35.else
36	@printf ${LPATT} "pkgsrc-create"         "fetch initial pkgsrc repository from the net"
37	@printf ${LPATT} "pkgsrc-create-shallow" "fetch initial history-free pkgsrc repository"
38	@printf ${LPATT} "pkgsrc-create-repo"    "fetch pkgsrc repository only, no checkout"
39.endif
40	@echo
41.if exists(${.CURDIR}/dports/.git)
42	@printf ${LPATT} "dports-update"         "update your dports repo from Github"
43.else
44.  if exists(${.CURDIR}/dports)
45	@printf ${LPATT} "dports-replace"        "Replace dports with latest tarball from Github"
46.  else
47	@printf ${LPATT} "dports-create"         "fetch initial dports repository from Github"
48	@printf ${LPATT} "dports-create-shallow" "fetch initial history-free dports repository"
49	@printf ${LPATT} "dports-download"       "download & install dports tarball from Github"
50.  endif
51.endif
52	@printf ${LPATT} "pkg-bootstrap"	"Use pre-built pkg to install dports packages"
53	@printf ${LPATT} "pkg-bootstrap-force"	"Force it (pkg.conf will be overwritten)"
54	@echo
55
56.if exists(${.CURDIR}/src/.git)
57.if exists(${.CURDIR}/src/Makefile)
58	@printf ${LPATT} "src-update"         "update your src repository from the net"
59.else
60	@printf ${LPATT} "src-checkout"       "Initial checkout of src repository"
61.endif
62.else
63	@printf ${LPATT} "src-create"         "fetch initial src repository from the net"
64	@printf ${LPATT} "src-create-shallow" "fetch initial history-free src repository"
65	@printf ${LPATT} "src-create-repo"    "fetch src repository only, no checkout"
66.endif
67	@echo
68.if exists(${.CURDIR}/src-sys.tar.bz2)
69	@printf ${LPATT} "release-sys-extract" "extract the pre-packaged sys-only sources"
70	@echo
71.endif
72	@echo "If automating please feel free to run git pull's from cron."
73	@echo "We prefer once a day but you can run them more often if you desire"
74
75pkgsrc-create-repo:
76.if empty(THISGIT)
77	@echo ${GITNFMSG}
78.elif exists (${.CURDIR}/pkgsrc)
79	@echo ${ERRPS}
80.else
81	@echo "If problems occur you may have to rm -rf pkgsrc and try again."
82	@echo
83	mkdir -p ${.CURDIR}/pkgsrc
84	cd ${.CURDIR}/pkgsrc && git init
85	cd ${.CURDIR}/pkgsrc && \
86		git remote add origin git://${GITHOST}/pkgsrcv2.git
87	cd ${.CURDIR}/pkgsrc && git fetch origin
88	cd ${.CURDIR}/pkgsrc && git branch master origin/master
89.endif
90
91pkgsrc-create: pkgsrc-create-repo
92.if empty(THISGIT)
93	@echo ${GITNFMSG}
94.elif exists (${.CURDIR}/pkgsrc)
95	@echo ${ERRPS}
96.else
97	cd ${.CURDIR}/pkgsrc && git checkout master
98	cd ${.CURDIR}/pkgsrc && git pull
99.endif
100
101pkgsrc-create-shallow:
102.if empty(THISGIT)
103	@echo ${GITNFMSG}
104.elif exists (${.CURDIR}/pkgsrc)
105	@echo ${ERRPS}
106.else
107	@echo "If problems occur you may have to rm -rf pkgsrc and try again."
108	@echo
109	mkdir -p ${.CURDIR}/pkgsrc
110	cd ${.CURDIR}/pkgsrc && git init
111	cd ${.CURDIR}/pkgsrc && \
112		git remote add origin git://${GITHOST}/pkgsrcv2.git
113	cd ${.CURDIR}/pkgsrc && git fetch --depth=1 origin
114	cd ${.CURDIR}/pkgsrc && git branch master origin/master
115	cd ${.CURDIR}/pkgsrc && git checkout master
116	cd ${.CURDIR}/pkgsrc && git pull
117.endif
118
119pkgsrc-checkout:
120.if empty(THISGIT)
121	@echo ${GITNFMSG}
122.elif !exists (${.CURDIR}/pkgsrc)
123	@echo ${ERRNPS}
124.else
125	cd ${.CURDIR}/pkgsrc && git checkout master
126.endif
127
128pkgsrc-update:
129.if empty(THISGIT)
130	@echo ${GITNFMSG}
131.elif !exists (${.CURDIR}/pkgsrc)
132	@echo ${ERRNPS}
133.else
134	cd ${.CURDIR}/pkgsrc && git pull
135.endif
136
137src-create-repo:
138.if empty(THISGIT)
139	@echo ${GITNFMSG}
140.elif exists (${.CURDIR}/src)
141	@echo ${ERRSR}
142.else
143	@echo "If problems occur you may have to rm -rf src and try again."
144	@echo
145	mkdir -p ${.CURDIR}/src
146	cd ${.CURDIR}/src && git init
147	cd ${.CURDIR}/src && \
148		git remote add origin git://${GITHOST}/dragonfly.git
149	cd ${.CURDIR}/src && git fetch origin
150	cd ${.CURDIR}/src && git branch master origin/master
151.endif
152
153src-create: src-create-repo
154.if empty(THISGIT)
155	@echo ${GITNFMSG}
156.elif exists (${.CURDIR}/src)
157	@echo ${ERRSR}
158.else
159	cd ${.CURDIR}/src && git checkout master
160	cd ${.CURDIR}/src && git pull
161.endif
162
163src-create-shallow:
164.if empty(THISGIT)
165	@echo ${GITNFMSG}
166.elif exists (${.CURDIR}/src)
167	@echo ${ERRSR}
168.else
169	@echo "If problems occur you may have to rm -rf src and try again."
170	@echo
171	mkdir -p ${.CURDIR}/src
172	cd ${.CURDIR}/src && git init
173	cd ${.CURDIR}/src && \
174	    git remote add origin git://${GITHOST}/dragonfly.git
175	cd ${.CURDIR}/src && git fetch --depth=1 origin
176	cd ${.CURDIR}/src && git branch master origin/master
177	cd ${.CURDIR}/src && git checkout master
178	cd ${.CURDIR}/src && git pull
179.endif
180
181src-checkout:
182.if empty(THISGIT)
183	@echo ${GITNFMSG}
184.elif !exists (${.CURDIR}/src)
185	@echo ${ERRNSR}
186.else
187	cd ${.CURDIR}/src && git checkout master
188.endif
189
190src-update:
191.if empty(THISGIT)
192	@echo ${GITNFMSG}
193.elif !exists (${.CURDIR}/src)
194	@echo ${ERRNSR}
195.else
196	cd ${.CURDIR}/src && git pull
197.endif
198
199release-sys-extract:
200	cd ${.CURDIR} && tar xvpjf src-sys.tar.bz2
201
202dports-update:
203.if empty(THISGIT)
204	@echo ${GITNFMSG}
205.elif !exists (${.CURDIR}/dports)
206	@echo ${ERRNDP}
207.else
208	cd ${.CURDIR}/dports && git pull
209.endif
210
211dports-create:
212.if empty(THISGIT)
213	@echo ${GITNFMSG}
214.elif exists (${.CURDIR}/dports)
215	@echo ${ERRDP}
216.else
217	@echo "If problems occur you may have to rm -rf dports and try again."
218	@echo
219	git clone git://mirror-master.dragonflybsd.org/dports.git ${.CURDIR}/dports
220.if exists(${.CURDIR}/pkg)
221	@echo ${WSTARS}
222	@echo ${WARNPS}
223	@echo ${WSTARS}
224.endif
225.endif
226
227dports-create-shallow:
228.if empty(THISGIT)
229	@echo ${GITNFMSG}
230.elif exists (${.CURDIR}/dports)
231	@echo ${ERRDP}
232.else
233	@echo "If problems occur you may have to rm -rf dports and try again."
234	@echo
235	git clone --depth=1 git://mirror-master.dragonflybsd.org/dports.git \
236	   ${.CURDIR}/dports
237.if exists(${.CURDIR}/pkg)
238	@echo ${WSTARS}
239	@echo ${WARNPS}
240	@echo ${WSTARS}
241.endif
242.endif
243
244dports-download:
245.if exists (${.CURDIR}/dports)
246	@echo ${ERRDP}
247.else
248	rm -f ${DPTBALL}
249	fetch -o ${DPTBALL} ${DPDLURL}
250	tar -xf ${DPTBALL} -C ${.CURDIR}
251	mv /usr/jrmarino-DPorts-* ${.CURDIR}/dports
252	rm -f ${DPTBALL}
253.if exists(${.CURDIR}/pkg)
254	@echo ${WSTARS}
255	@echo ${WARNPS}
256	@echo ${WSTARS}
257.endif
258.endif
259
260dports-replace:
261.if !exists (${.CURDIR}/dports)
262	@echo ${ERRNDP}
263.elif exists(${.CURDIR}/dports/.git)
264	@echo "Error: this is git repository currently."
265	@echo "Remove ${.CURDIR}/dports and execute \"make dports-downloads\" if you want"
266	@echo "to convert to a non-git version."
267.else
268	rm -f ${DPTBALL}
269	fetch -o ${DPTBALL} ${DPDLURL}
270	rm -rf ${.CURDIR}/dports
271	tar -xf ${DPTBALL} -C ${.CURDIR}
272	mv /usr/jrmarino-DPorts-* ${.CURDIR}/dports
273	rm -f ${DPTBALL}
274.endif
275
276pkg-bootstrap-force:
277	@fetch -o ${PKGBALL} ${PKGBOOT}
278	@tar -xJf ${PKGBALL} -C ${.CURDIR}/local
279	@rm -f ${PKGBALL}
280	ABI=${ABIVERS} ${.CURDIR}/local/sbin/pkg-static install -y -f pkg
281
282pkg-bootstrap:
283.if exists(${.CURDIR}/local/sbin/pkg)
284	@echo ${ERRPKG}
285.elif exists(${.CURDIR}/local/etc/pkg.conf)
286	@echo "Error: ${.CURDIR}/local/etc/pkg.conf will be ovewritten"
287	@echo "Please move this file and rerun 'make pkg-bootstrap'"
288.else
289	@fetch -o ${PKGBALL} ${PKGBOOT}
290	@tar -xJf ${PKGBALL} -C ${.CURDIR}/local
291	@rm -f ${PKGBALL}
292	ABI=${ABIVERS} ${.CURDIR}/local/sbin/pkg-static install -y pkg
293.endif
294