File:
[LON-CAPA] /
loncom /
build /
Makefile
Revision
1.110:
download - view:
text,
annotated -
select for diffs
Mon May 13 17:35:20 2002 UTC (22 years, 1 month ago) by
harris41
Branches:
MAIN
CVS tags:
HEAD
make sure that files attempt to install off the tarball irrespective of
status of build (eventually we either distribute precompiled builds
or have some sort of interactive pause that tells the user about the build
BUG 431 (the problem was that make build; make install... introduces
a serial dependency whereas splitting them onto two different lines
removes that dependency)
1: # The LearningOnline Network with CAPA
2:
3: # Scott Harrison
4: # $Id: Makefile,v 1.110 2002/05/13 17:35:20 harris41 Exp $
5:
6: DISTPROBE=`perl ./distprobe`
7: DIST=$(DISTPROBE)
8: CATEGORY="development"
9: SOURCE=../..
10: TARGET=""
11: DIRTARGET=loncapa
12: NORESTORECONF="0"
13: HOSTNAME=""
14: LAUNCH=| perl
15: QUERYLAUNCH=> /tmp/loncapa_query.pl; perl /tmp/loncapa_query.pl
16: OUTSTREAM=>
17: SAVE=program.pl.$(TIMESTAMP)
18: LAUNCHSAVE=$(OUTSTREAM) $(SAVE)
19: METAMTARGET=""
20: MTARGET=""
21: VERSION=0.1
22:
23: help:
24: @echo "*** You need to specify a valid target ***"
25: @echo "NOTE: You can specify options to your Makefile target."
26: @echo "(option) DIST can be redhat7, debian, redhat6.2, or default"
27: @echo "(option) CATEGORY can be runtime or development"
28: @echo "(option) SOURCE is an absolute or relative directory path"
29: @echo "(option) TARGET is an absolute or relative directory path"
30: @echo "build: compile the CVS source tree"
31: @echo "install: install from a compiled CVS source tree to a "
32: @echo " specified TARGET destination on the filesystem"
33: @echo "test: test different parts of the LON-CAPA system (TEST_*)"
34: @echo "TEST_lpml_scripts: make sure that the system can process "
35: @echo " the Linux Packaging Markup Language"
36: @echo "TEST_system_dependencies: make sure that all needed system "
37: @echo " components are active and present "
38: @echo " on the server such as perl modules"
39: @echo " and the MySQL database"
40: @echo "TEST_web_layer: mimic a login and various system actions on "
41: @echo " a LON-CAPA system"
42: @echo "HTML: generate an HTML-formatted description of the LON-CAPA"
43: @echo " CVS files"
44: @echo "documentation_tree: compiles a documentation tree from the "
45: @echo " CVS:doc directory"
46: @echo "status: compare the TARGET filesystem with a compiled CVS "
47: @echo " source directory"
48: @echo "statuspost: post the results of "make status" to "
49: @echo " TARGET/home/httpd/html/lon-status/filestatus.html"
50: @echo "rpmstatus: compare the rpms on a system to defined lists "
51: @echo " CVS:doc/otherfiles/cd_rpms and "
52: @echo " CVS:doc/otherfiles/rpm_list.txt"
53: @echo "rpmstatuspost: post the results of "make rpmstatus" to "
54: @echo " TARGET/home/httpd/html/lon-status/rpmstatus.html"
55: @echo "RPM: build LON-CAPA-base RPM from CVS repository"
56: @echo "setup_RPM: build LON-CAPA-setup RPM from CVS repository"
57: @echo " handy for CD-ROM generation"
58: @echo "tardist: build a tarball that will upgrade the software on a "
59: @echo " system"
60:
61: test: TEST_lpml_scripts TEST_system_dependencies TEST_web_layer
62: @echo "ALL SYSTEM DEPENDENCY TESTS SUCCESSFUL"
63:
64: TEST_system_dependencies:
65: @echo "TESTING SYSTEM DEPENDENCIES"
66: cd system_dependencies; make
67:
68: TEST_lpml_scripts:
69: @echo "TESTING LPML INSTALLATION CODE"
70: cd ../test; perl filecomparetest.pl
71:
72: TEST_web_layer:
73: @echo "TESTING WEB LAYER"
74: cd weblayer_test; make
75:
76: TEST_hosts_tab:
77: @echo "Testing hosts.tab"
78: @if (test -h ../hosts.tab); then \
79: echo "there is a defined link; assume okay"; \
80: else echo "**** ERROR **** hosts.tab not defined!" && \
81: echo -n "You need to do one of the following within your " && \
82: echo "CVS repository (cd loncapa/loncom)" && \
83: echo " 1) ln -s production_hosts.tab hosts.tab" && \
84: echo " 2) ln -s development_hosts.tab hosts.tab" && \
85: echo "or 3) ln -s rawhide_hosts.tab hosts.tab" && \
86: echo "(you most likely want option #1, production_hosts.tab)" && \
87: exit 1; \
88: fi
89:
90: NET_hosts_tab:
91: make TIMESTAMP=`date +"%s"` METAMTARGET="TRANSPORT" \
92: MTARGET="hosts_tab" HOSTNAME="$(HOSTNAME)" lpmladm
93:
94: hosts_tab: TEST_hosts_tab
95: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
96: perl xfml_parse.pl $(SOURCE)/doc/loncapafiles/valid_hosts.xfml | \
97: perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \
98: "$(TARGET)" > Makefile.install
99: make -f Makefile.install directories
100: make -f Makefile.install files
101: @echo "If hosts.tab has changed, restart httpd and loncontrol:"
102: @echo " /etc/rc.d/init.d/httpd restart"
103: @echo " /etc/rc.d/init.d/loncontrol restart"
104:
105: lpmladm:
106: @if (test $(METAMTARGET) = "TRANSPORT"); then \
107: echo "Transporting to $(HOSTNAME)"; \
108: sudo make DIST=$(DIST) CATEGORY=$(CATEGORY) \
109: SOURCE="$(SOURCE)" \
110: TARGET="lpmladm.$(TIMESTAMP)" \
111: NORESTORECONF="$(NORESTORECONF)" "$(MTARGET)"; \
112: cd lpmladm.$(TIMESTAMP); \
113: sudo tar czvf ../tarball$(TIMESTAMP).tar.gz .; \
114: cd ..; scp tarball$(TIMESTAMP).tar.gz \
115: lpmladm@$(HOSTNAME):~/tarball$(TIMESTAMP).tar.gz; \
116: ssh lpmladm@$(HOSTNAME) sudo mv tarball$(TIMESTAMP).tar.gz /; \
117: ssh lpmladm@$(HOSTNAME) sudo tar -x -z -v -C / \
118: -p --same-owner -f \
119: /tarball$(TIMESTAMP).tar.gz; \
120: ssh lpmladm@$(HOSTNAME) sudo rm -f \
121: /tarball$(TIMESTAMP).tar.gz; \
122: elif (test $(METAMTARGET) = "LAUNCH"); then \
123: echo "Launching process on $(HOSTNAME)"; \
124: LAUNCHSAVE=$(OUTSTREAM) $(SAVE); \
125: make DIST=$(DIST) CATEGORY=$(CATEGORY) SOURCE="$(SOURCE)" \
126: TARGET="$(TARGET)" NORESTORECONF="$(NORESTORECONF)" \
127: LAUNCH="$(LAUNCHSAVE)" "$(MTARGET)"; \
128: scp $(SAVE) lpmladm@$(HOSTNAME):~/$(SAVE); \
129: ssh lpmladm@$(HOSTNAME) sudo perl $(SAVE); \
130: ssh lpmladm@$(HOSTNAME) sudo rm -f $(SAVE); \
131: else \
132: echo "**** ERROR **** Incorrect METAMTARGET"; \
133: fi
134:
135: HTML:
136: install -d HTML
137: cp $(SOURCE)/doc/loncapafiles/*.gif HTML
138: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
139: perl lpml_parse.pl html development default "$(SOURCE)" '$(TARGET)' \
140: > HTML/index.html
141:
142: status:
143: install -d HTML
144: cp $(SOURCE)/doc/loncapafiles/*.gif HTML
145: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
146: perl lpml_parse.pl html $(CATEGORY) $(DIST) "$(SOURCE)" "($TARGET)" | \
147: perl lpml_html_posteval.pl > \
148: HTML/filestatus.html
149:
150: statuspost: status
151: cp $(SOURCE)/doc/loncapafiles/*.gif \
152: $(TARGET)/home/httpd/html/lon-status
153: cp HTML/filestatus.html \
154: $(TARGET)/home/httpd/html/lon-status/filestatus.html
155:
156: rpmstatus:
157: install -d RPMSTATUS
158: rpm -qa --queryformat \
159: '%{NAME}\t%{VERSION}\t%{RELEASE}\t%{BUILDTIME}\n' | sort > \
160: RPMSTATUS/current.tmp
161: cat $(SOURCE)/doc/otherfiles/cd_rpms.txt > RPMSTATUS/standard.tmp
162: cat $(SOURCE)/doc/otherfiles/rpm_list.txt > RPMSTATUS/expected.tmp
163: perl rpmparse.pl RPMSTATUS/standard.tmp RPMSTATUS/current.tmp \
164: RPMSTATUS/expected.tmp > RPMSTATUS/rpmstatus.html
165:
166: rpmstatuspost: rpmstatus
167: cp RPMSTATUS/rpmstatus.html /home/httpd/html/lon-status/rpmstatus.html
168:
169: configinstall: Makefile.configinstall
170: make -f Makefile.configinstall SOURCE="$(SOURCE)" TARGET="$(TARGET)" \
171: configfiles
172: if (test "0" = $(NORESTORECONF)); then \
173: perl loncaparestoreconfigurations suffix .lpmlnew; fi
174:
175: Makefile.configinstall: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl
176: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
177: perl lpml_parse.pl configinstall $(CATEGORY) $(DIST) "$(SOURCE)" \
178: "$(TARGET)" > Makefile.configinstall
179:
180: warningnote:
181: @if (test -s WARNINGS); then \
182: W=`grep -c '\*\*\*\* WARNING' WARNINGS`; \
183: E=`grep -c '\*\*\*\* ERROR' WARNINGS`; \
184: N=`grep -c '\*\*\*\* NOTE' WARNINGS`; \
185: echo "---> $$W WARNINGS ENCOUNTERED! "; \
186: echo "---> $$E ERRORS ENCOUNTERED! "; \
187: echo "---> $$N NOTES ENCOUNTERED! "; \
188: echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \
189: echo "!!!! Please read the WARNINGS file !!!!"; \
190: echo "!!!! to make sure everything is !!!!"; \
191: echo "!!!! correct and taken care of !!!!"; \
192: echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \
193: fi
194:
195: NET_webserverconf:
196: make TIMESTAMP=`date +"%s"` METAMTARGET="LAUNCH" \
197: MTARGET="webserverconf" HOSTNAME="$(HOSTNAME)" lpmladm
198:
199: webserverconf:
200: cat $(SOURCE)/doc/loncapafiles/webserver.piml | \
201: perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH)
202:
203: sanitycheck:
204: cat $(SOURCE)/doc/loncapafiles/sanitycheck.piml | \
205: perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(LAUNCH) | \
206: tee -a WARNINGS
207:
208: updatequery:
209: cat $(SOURCE)/doc/loncapafiles/updatequery.piml | \
210: perl piml_parse.pl $(CATEGORY) $(DIST) "$(TARGET)" $(QUERYLAUNCH) | \
211: tee -a WARNINGS
212:
213: postinstall:
214: make webserverconf
215: make sanitycheck
216:
217: install: TEST_hosts_tab Makefile.install Makefile
218: echo -n "" > WARNINGS
219: make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" \
220: directories
221: make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" files
222: make -f Makefile.install SOURCE="$(SOURCE)" TARGET="$(TARGET)" links
223: make SOURCE="$(SOURCE)" TARGET="$(TARGET)" \
224: NORESTORECONF="$(NORESTORECONF)" configinstall
225: make postinstall
226: make warningnote
227: echo "You can run 'make test' to see if your system is ready to go!"
228:
229: Makefile.install: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl
230: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
231: perl lpml_parse.pl install $(CATEGORY) $(DIST) "$(SOURCE)" \
232: "$(TARGET)" > Makefile.install
233:
234: build: Makefile.build pod2html.sh pod2man.sh
235: install -d $(SOURCE)/doc/man
236: install -d $(SOURCE)/doc/scripts
237: install -d $(SOURCE)/doc/lib/perl/Apache
238: echo -n "" > WARNINGS
239: make -f Makefile.build all
240: make warningnote
241:
242: Makefile.build: $(SOURCE)/doc/loncapafiles/loncapafiles.lpml lpml_parse.pl
243: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
244: perl lpml_parse.pl build $(CATEGORY) $(DIST) "$(SOURCE)" "$(TARGET)" \
245: > Makefile.build
246:
247: RPM: BinaryRoot base_rpm_file_list
248: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
249: perl lpml_parse.pl make_rpm $(CATEGORY) $(DIST) $(SOURCE) $(TARGET) \
250: > base_customizerpm.xml
251: cat base_rpm_file_list.txt | perl make_rpm.pl base 3.2 '' '' \
252: BinaryRoot base_customizerpm.xml
253:
254: setup_RPM:
255: echo "SetupBinaryRoot/etc/passwd" > setup_rpm_file_list.txt
256: echo "SetupBinaryRoot/etc/group" >> setup_rpm_file_list.txt
257: echo "SetupBinaryRoot/etc/hosts.deny" >> setup_rpm_file_list.txt
258: echo "SetupBinaryRoot/home/www" >> setup_rpm_file_list.txt
259: echo "SetupBinaryRoot/etc/pam.d/passwd" >> setup_rpm_file_list.txt
260: echo "SetupBinaryRoot/etc/pam.d/login" >> setup_rpm_file_list.txt
261: perl setup_rpm_binaryroot.pl
262: cat setup_rpm_file_list.txt | perl make_rpm.pl setup 3.2 '' '' \
263: SetupBinaryRoot customizerpm.xml
264:
265: DPKG:
266: make TARGET='lon-capa-$(VERSION)' NORESTORECONF='1' install
267: @echo "You will next need to follow instructions at:"
268: @echo "http://people.debian.org/~jaldhar/make_package1.html"
269: @echo "A directory with a snapshot of the debian package files"
270: @echo "is LON-CAPA-base."
271: # What DPKG steps need to happen (for future implementation):
272: # export EMAIL="" ... probably sharrison@mail.lon-capa.org
273: # deb-make
274: # edit debian/control
275: # make debian/dirs file
276: # make debian/copyright file
277: # debian/README.debian... point them to LON-CAPA URLS
278: # debian/changelog
279: # debian/conffiles
280: # debuild
281: # and maybe do some GPG-related steps around here
282:
283: base_rpm_file_list:
284: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
285: perl lpml_parse.pl rpm_file_list $(CATEGORY) $(DIST) $(SOURCE) \
286: 'BinaryRoot' | sort > base_rpm_file_list.txt
287:
288: BinaryRoot: base_rpm_file_list
289: make TARGET='BinaryRoot' NORESTORECONF='1' install
290:
291: # Generates CVS:loncom/build/docs; root location of install.lon-capa.org
292: doc:
293: install -d docs
294: @if (test -e installation_manual.pdf); then \
295: cp -vf installation_manual.pdf docs/.; \
296: else \
297: touch docs/installation_manual.pdf; \
298: fi
299: install -m 0755 -d docs/icons
300: install -m 0644 $(SOURCE)/doc/icons/[^C][^V]* docs/icons
301: install -m 0755 -d docs/reconfig
302: cd docs; ln -fs installation_manual.pdf index.pdf
303: cd docs/reconfig; ln -fs ../installation_manual.pdf index.pdf
304: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
305: $(SOURCE)/doc/build/reconfig.html > docs/reconfig/index.html
306: install -m 0755 -d docs/reconfig/confexamples
307: install -m 0644 $(SOURCE)/doc/build/confexamples/[^C][^V]* \
308: docs/reconfig/confexamples
309: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
310: $(SOURCE)/doc/build/installindex.html > docs/index.html
311: install -m 0755 -d docs/license
312: cd docs/license; ln -fs ../installation_manual.pdf index.pdf
313: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
314: $(SOURCE)/doc/build/license.html > docs/license/index.html
315: install -m 0755 -d docs/contact
316: cd docs/contact; ln -fs ../installation_manual.pdf index.pdf
317: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
318: $(SOURCE)/doc/build/contact.html > docs/contact/index.html
319: install -m 0755 -d docs/faq
320: cd docs/faq; ln -fs ../installation_manual.pdf index.pdf
321: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
322: $(SOURCE)/doc/build/faq.html > docs/faq/index.html
323: install -m 0755 -d docs/downloads
324: cd docs/downloads; ln -fs ../installation_manual.pdf download.pdf
325: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
326: $(SOURCE)/doc/build/download.html > docs/downloads/index.html
327: install -m 0755 -d docs/install
328: cd docs/install; ln -fs ../installation_manual.pdf install.pdf
329: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
330: $(SOURCE)/doc/build/install.html > docs/install/index.html
331: install -m 0755 -d docs/upgrade
332: cd docs/upgrade; ln -fs ../installation_manual.pdf upgrade.pdf
333: perl doc_template.pl $(SOURCE)/doc/templates/template.html \
334: $(SOURCE)/doc/build/upgrade.html > docs/upgrade/index.html
335: cd docs; tar czvpf ../docs.tar.gz .
336:
337: pdfdoc: TEST_html2ps
338: install -d pdfdoc
339: /usr/local/html2ps/bin/html2ps -D \
340: $(SOURCE)/doc/build/installindex_noform.html > pdfdoc/installindex.ps
341: /usr/local/html2ps/bin/html2ps -D \
342: $(SOURCE)/doc/build/reconfig.html | \
343: perl -nle 's/\[EXAMPLE\]/\[EXAMPLE \(at end of document\)\]/g;print' \
344: > pdfdoc/reconfig.ps
345: /usr/local/html2ps/bin/html2ps -D \
346: $(SOURCE)/doc/build/install.html > pdfdoc/install.ps
347: /usr/local/html2ps/bin/html2ps -D \
348: $(SOURCE)/doc/build/upgrade.html > pdfdoc/upgrade.ps
349: /usr/local/html2ps/bin/html2ps -D \
350: $(SOURCE)/doc/build/faq.html > pdfdoc/faq.ps
351: /usr/local/html2ps/bin/html2ps -D \
352: $(SOURCE)/doc/build/download.html > pdfdoc/download.ps
353: /usr/local/html2ps/bin/html2ps -D \
354: $(SOURCE)/doc/build/contact.html > pdfdoc/contact.ps
355: /usr/local/html2ps/bin/html2ps -D \
356: $(SOURCE)/doc/build/license.html > pdfdoc/license.ps
357: # This creates a bad confexamples.ps... so take the long way around
358: # cd $(SOURCE)/doc/build/confexamples; \
359: # mpage -P- -1 -H [^C]* > ../../../loncom/build/pdfdoc/confexamples.ps
360: install -d pdfdoc/confexamples
361: cd $(SOURCE)/doc/build/confexamples; \
362: find . -type f | cut -b3- | grep -v '^C' | perl -nle \
363: '`mpage -P- -1 -H $$_ > ../../../loncom/build/pdfdoc/confexamples/$$_.ps`;'
364: echo '' > pdfdoc/contents.txt
365: echo '' >> pdfdoc/contents.txt
366: echo ' The Learning Online Network' >> pdfdoc/contents.txt
367: echo ' with the' >> pdfdoc/contents.txt
368: echo ' Computer-Assisted Personalized Approach' >> \
369: pdfdoc/contents.txt
370: echo '' >> pdfdoc/contents.txt
371: echo '' >> pdfdoc/contents.txt
372: echo 'CONTENTS' >> pdfdoc/contents.txt
373: echo '--------' >> pdfdoc/contents.txt
374: echo 'Opening' >> pdfdoc/contents.txt
375: echo 'Configuration' >> pdfdoc/contents.txt
376: echo 'Installation' >> pdfdoc/contents.txt
377: echo 'Upgrading a LON-CAPA Server' >> pdfdoc/contents.txt
378: echo 'FAQ' >> pdfdoc/contents.txt
379: echo 'Download' >> pdfdoc/contents.txt
380: echo 'Contact Information' >> pdfdoc/contents.txt
381: echo 'License Information' >> pdfdoc/contents.txt
382: echo 'Configuration Examples' >> pdfdoc/contents.txt
383: mpage -P- -1 \
384: pdfdoc/contents.txt \
385: pdfdoc/installindex.ps \
386: pdfdoc/reconfig.ps \
387: pdfdoc/install.ps \
388: pdfdoc/upgrade.ps \
389: pdfdoc/faq.ps \
390: pdfdoc/download.ps \
391: pdfdoc/contact.ps \
392: pdfdoc/license.ps \
393: pdfdoc/confexamples/*.ps \
394: > pdfdoc/installation_manual.ps
395: ps2pdf pdfdoc/installation_manual.ps pdfdoc/installation_manual.pdf
396: mv -vf pdfdoc/installation_manual.pdf .
397:
398: TEST_html2ps:
399: @if (test -e /usr/local/html2ps/bin/html2ps); then \
400: echo "I can find html2ps; assume okay"; \
401: else \
402: echo "**** ERROR **** cannot find /usr/local/html2ps/bin/html2ps!" && \
403: echo "Please visit http://www.tdb.uu.se/~jan/html2ps.html" && \
404: exit 1; \
405: fi
406:
407: tardist:
408: # ----------- MANIFEST the building, testing and standard loncapa files
409: cat $(SOURCE)/doc/loncapafiles/buildfiles.lpml | \
410: perl lpml_parse.pl MANIFEST development default \
411: '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' > $(SOURCE)/MANIFEST
412: cat $(SOURCE)/doc/loncapafiles/testfiles.lpml | \
413: perl lpml_parse.pl MANIFEST development default \
414: '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
415: cat $(SOURCE)/doc/loncapafiles/loncapafiles.lpml | \
416: perl lpml_parse.pl MANIFEST development default \
417: '$(SOURCE)' '$(TARGET)' | grep '[[:alnum:]]' >> $(SOURCE)/MANIFEST
418: # ------ CVS/Entries directories to retain 'time-checking' intelligence
419: cd $(SOURCE); find . -type f -name 'Entries' | grep 'CVS/Entries' >> \
420: MANIFEST
421: # ---- Files for top-level (the vanilla layer that the user first sees)
422: echo 'README' >> $(SOURCE)/MANIFEST
423: echo 'UPDATE' >> $(SOURCE)/MANIFEST
424: echo 'TEST' >> $(SOURCE)/MANIFEST
425: echo 'CHECKRPMS' >> $(SOURCE)/MANIFEST
426: # ---------------------------------- might as well include the MANIFEST
427: echo 'MANIFEST' >> $(SOURCE)/MANIFEST
428: # ------------------------------------------ hosts.tab are belong to us
429: echo 'loncom/rawhide_hosts.tab' >> $(SOURCE)/MANIFEST
430: echo 'loncom/production_hosts.tab' >> $(SOURCE)/MANIFEST
431: echo 'loncom/development_hosts.tab' >> $(SOURCE)/MANIFEST
432: # ------------------ Files needed for dynamically generated directories
433: echo 'doc/man' >> $(SOURCE)/MANIFEST
434: echo 'doc/lib' >> $(SOURCE)/MANIFEST
435: echo 'doc/lib/perl' >> $(SOURCE)/MANIFEST
436: echo 'doc/lib/perl/Apache' >> $(SOURCE)/MANIFEST
437: echo 'doc/scripts' >> $(SOURCE)/MANIFEST
438: # --------------------------- Point UPDATE to the internal make process
439: echo '#!/bin/sh' > $(SOURCE)/UPDATE
440: echo 'touch loncom/build/WARNINGS' >> $(SOURCE)/UPDATE;
441: echo 'ln -s loncom/build/WARNINGS WARNINGS' >> $(SOURCE)/UPDATE;
442: echo 'cd loncom/build; make build' >> $(SOURCE)/UPDATE
443: echo 'make install' >> $(SOURCE)/UPDATE
444: echo 'make updatequery' >> $(SOURCE)/UPDATE
445: echo 'make hosts_tab' >> $(SOURCE)/UPDATE
446: # ----------------------------- Point TEST to the internal make process
447: echo '#!/bin/sh' > $(SOURCE)/TEST
448: echo 'cd loncom/build; make test' >> $(SOURCE)/TEST
449: # ----------------------------- Copy CHECKRPMS to the vanilla top-level
450: cp $(SOURCE)/loncom/build/CHECKRPMS $(SOURCE)/CHECKRPMS
451: # ----------------------- vanilla executables must indeed be executable
452: chmod a+rx $(SOURCE)/UPDATE
453: chmod a+rx $(SOURCE)/TEST
454: chmod a+rx $(SOURCE)/CHECKRPMS
455: # -------------------------------- Copy README to the vanilla top-level
456: cp $(SOURCE)/doc/shortest_path_redhat7.2.txt $(SOURCE)/README
457: # --------------------------------------------------- Clean up MANIFEST
458: cd $(SOURCE); \
459: sort MANIFEST | perl -nle 'print "$(DIRTARGET)/$$_"' | \
460: perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
461: perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
462: perl -nle 's/\w+\/\.\.\///g;s/\w+\/\.\.\///g;print' | \
463: perl -nle 's/\/\.\//\//g;print' | sort | uniq > \
464: MANIFEST_loncapa
465: # -------------------------------------------------------- Make tardist
466: @cd $(SOURCE); \
467: if (test -h $(DIRTARGET)); then \
468: echo "$(DIRTARGET) link already defined; assume okay"; \
469: else \
470: ln -s . $(DIRTARGET); \
471: fi
472: cd $(SOURCE); \
473: tar --no-recursion --numeric-owner --files-from MANIFEST_loncapa \
474: -h -czf loncapa.tar.gz 2>WARNINGS || [ "0" == "0" ]
475: cat $(SOURCE)/WARNINGS | \
476: xargs --replace=XXX echo '**** WARNING **** XXX' > WARNINGS
477: rm -f $(SOURCE)/WARNINGS
478: make warningnote
479:
480: clean:
481: rm -f $(SOURCE)/README
482: rm -f $(SOURCE)/UPDATE
483: rm -f $(SOURCE)/TEST
484: rm -f $(SOURCE)/MANIFEST
485: rm -f $(SOURCE)/loncapa
486: rm -f $(SOURCE)/loncapa.tar.gz
487: rm -Rf HTML
488: rm -f installation_manual.pdf
489: rm -f Makefile.build
490: rm -f Makefile.install
491: rm -f Makefile.configinstall
492: rm -Rf BinaryRoot
493: rm -Rf SetupBinaryRoot
494: rm -Rf LON-CAPA-base
495: rm -f base_rpm_file_list.txt
496: rm -f base_customizerpm.xml
497: rm -f setup_rpm_file_list.txt
498: rm -f docs.tar.gz
499: rm -Rf docs
500: rm -Rf pdfdoc
501: rm -f program.pl*
502: rm -Rf lpmladm.*
503: make -f Makefile.cvs clean
504: rm -f WARNINGS
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>