# CentOS Mirror Utility # Revision: 1.1 2006/06/09 15:16:00 # Author: Gouichi Iisaka DISTVER=$(notdir $(CURDIR)) # MHOST: riken | nara | yamagata | centos MHOST=riken # MSCHEAME: ftp | http MSCHEAME=ftp EXTOPT= ####### YOU MAY NOT NEED TO EDIT BELLOWS ############# # MIRROR from RIKEN ifeq ($(MHOST),riken) MIRRORHOST=ftp.riken.jp DISTPATH=$(MIRRORHOST)/Linux/caos/centos/$(DISTVER)/isos UPDATEPATH=$(MIRRORHOST)/Linux/caos/centos/$(DISTVER)/updates EXTRAPATH=$(MIRRORHOST)/Linux/caos/centos/$(DISTVER)/extras PLUSPATH=$(MIRRORHOST)/Linux/caos/centos/$(DISTVER)/centosplus CUTDIRS=7 endif # MIRROR from NARA IST ifeq ($(MHOST),nara) MIRRORHOST=ftp.nara.wide.ad.jp DISTPATH=$(MIRRORHOST)/pub/Linux/centos/$(DISTVER)/isos UPDATEPATH=$(MIRRORHOST)/pub/Linux/centos/$(DISTVER)/updates EXTRAPATH=$(MIRRORHOST)/pub/Linux/centos/$(DISTVER)/extras PLUSPATH=$(MIRRORHOST)/pub/Linux/centos/$(DISTVER)/centosplus CUTDIRS=7 endif # MIRROR from YAMAGATA Univ. ifeq ($(MHOST),yamagata) MIRRORHOST=ftp.yz.yamagata-u.ac.jp DISTPATH=$(MIRRORHOST)/pub/linux/centos/$(DISTVER)/isos UPDATEPATH=$(MIRRORHOST)/pub/linux/centos/$(DISTVER)/updates EXTRAPATH=$(MIRRORHOST)/pub/linux/centos/$(DISTVER)/extras PLUSPATH=$(MIRRORHOST)/pub/linux/centos/$(DISTVER)/centosplus CUTDIRS=7 endif # MIRROR from valt.centos. ifeq ($(MHOST),centos) MIRRORHOST=vault.centos.org MSCHEAME=http DISTPATH=$(MIRRORHOST)/$(DISTVER)/isos UPDATEPATH=$(MIRRORHOST)/$(DISTVER)/updates EXTRAPATH=$(MIRRORHOST)/$(DISTVER)/extras PLUSPATH=$(MIRRORHOST)/$(DISTVER)/centosplus CUTDIRS=4 endif ifeq ($(MSCHEAME),ftp) # MIRRORCMD=ncftpget -FR MIRRORCMD=wget -m -nH -nv --passive-ftp --cut-dirs=$(CUTDIRS) PROTOCOL=ftp endif ifeq ($(MSCHEAME),http) MIRRORCMD=wget -m -nH -nv -np --cut-dirs=$(CUTDIRS) PROTOCOL=http endif DISTDIR=$(CURDIR) ################################################### default: help .PHONY: help help: shorthelp @echo .PHONY: shorthelp shorthelp: @echo @echo " CentOS-$(DISTVER) mirror utility" @echo " -------------------------------------------------" @echo " make help -- Short help" @echo " make longhelp -- Long help" @echo " make setup -- Setup directory tree" @echo " make clean -- Clean unused index.html" @echo " -------------------------------------------------" @echo " make update -- Mirror updates" @echo " make update-iso-all -- Create ISO images of updates" @echo " make get-isos -- Get ISO images" @echo " make get-extras -- Get extra packages" .PHONY: longhelp longhelp: shorthelp @echo " -------------------------------------------------" @echo " make update-iso-i386 -- Create ISO image for i386 updates" @echo " make update-iso-x86_64 -- Create ISO image for x86_64 updates" @echo " make update-iso-SRPMS -- Create ISO image for SRPMS updates" @echo " make md5sums -- Create MD5SUMS of ISO image for updates" @echo " -------------------------------------------------" @echo " make get-iso-i386 -- Get ISO image for i386" @echo " make get-iso-x86_64 -- Get ISO image for x86_64" @echo " make get-extras-i386 -- Get extra RPMS packages for i386" @echo " make get-etxras-x86_64 -- Get extra RPMS packages for x86_64" @echo " make get-etxras-SRPMS -- Get SRPMS fo extra packages" @echo " make get-centosplus-i386 -- Get extra RPMS packages for i386" @echo " make get-centosplus-x86_64 -- Get extra RPMS packages for x86_64" @echo " make get-centosplus-SRPMS -- Get SRPMS fo extra packages" @echo .PHONY: update update: update-i386 update-x86_64 @echo "get updates packages for CentOS-$(DISTVER)" .PHONY: update-SRPMS update-SRPMS: cd $(DISTDIR)/updates ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/SRPMS/ .PHONY: update-i386 update-i386: cd $(DISTDIR)/updates/i386/RPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/i386/RPMS/ cd $(DISTDIR)/updates/i386/headers 2>/dev/null && \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/i386/headers/ \ || : cd $(DISTDIR)/updates/i386/repodata 2>/dev/null && \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/i386/repodata/ \ || : .PHONY: update-x86_64 update-x86_64: cd $(DISTDIR)/updates/x86_64/RPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/x86_64/RPMS/ cd $(DISTDIR)/updates/x86_64/headers 2>/dev/null && \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/x86_64/headers/ \ || : cd $(DISTDIR)/updates/x86_64/repodata 2>/dev/null && \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(UPDATEPATH)/x86_64/repodata/ \ || : .PHONY: update-iso-all update-iso-all: update-iso-i386 update-iso-x86_64 update-iso-SRPMS md5sums @echo .PHONY: update-iso-i386 update-iso-i386: @echo "Create ISO image for i386 updates for CentOS-$(DISTVER)" cd $(DISTDIR)/updates ; \ mkisofs -V CentOS-$(DISTVER)-updates-i386 -quiet -l -r -T -o $(DISTDIR)/updates/CentOS-$(DISTVER)-updates-i386.iso i386 .PHONY: update-iso-x86_64 update-iso-x86_64: @echo "Create ISO image for x86_64 updates for CentOS-$(DISTVER)" cd $(DISTDIR)/updates ; \ mkisofs -V CentOS-$(DISTVER)-updates-x86_64 -quiet -l -r -T -o $(DISTDIR)/updates/CentOS-$(DISTVER)-updates-x86_64.iso x86_64 .PHONY: update-iso-SRPMS update-iso-SRPMS: @echo "Create ISO image for SRPMS updates for CentOS-$(DISTVER)" cd $(DISTDIR)/updates/ ; \ mkisofs -V CentOS-$(DISTVER)-updates-SRPMS -quiet -l -r -T -o $(DISTDIR)/updates/CentOS-$(DISTVER)-updates-SRPMS.iso SRPMS .PHONY: md5sums md5sums: @echo "Create MD5SUMS of ISO image for updates for CentOS-$(DISTVER)" cd $(DISTDIR)/updates/; \ md5sum CentOS-$(DISTVER)-updates*.iso > $(DISTDIR)/updates/CentOS-$(DISTVER)-updates-MD5SUMS .PHONY: get-isos get-isos: get-iso-i386 get-iso-x86_64 @echo .PHONY: get-iso-i386 get-iso-i386: cd $(DISTDIR)/i386 ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(DISTPATH)/i386/ .PHONY: get-iso-x86_64 get-iso-x86_64: cd $(DISTDIR)/x86_64 ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(DISTPATH)/x86_64/ .PHONY: get-extras get-extras: get-extras-i386 get-extras-x86_64 get-extras-SRPMS @echo .PHONY: get-extras-i386 get-extras-i386: cd $(DISTDIR)/extras/i386/RPMS; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(EXTRAPATH)/i386/RPMS/ .PHONY: get-extras-x86_64 get-extras-x86_64: cd $(DISTDIR)/extras/x86_64/RPMS; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(EXTRAPATH)/x86_64/RPMS/ .PHONY: get-extras-SRPMS get-extras-SRPMS: cd $(DISTDIR)/extras/SRPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(EXTRAPATH)/SRPMS/ .PHONY: get-centosplus get-centosplus: get-centosplus-i386 get-centosplus-x86_64 get-centosplus-SRPMS @echo .PHONY: get-centosplus-i386 get-centosplus-i386: cd $(DISTDIR)/centosplus/i386/RPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(PLUSPATH)/i386/RPMS/ .PHONY: get-centosplus-x86_64 get-centosplus-x86_64: cd $(DISTDIR)/centosplus/x86_64/RPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(PLUSPATH)/x86_64/RPMS/ .PHONY: get-centosplus-SRPMS get-centosplus-SRPMS: cd $(DISTDIR)/centosplus/SRPMS ; \ $(MIRRORCMD) $(EXTOPT) $(PROTOCOL)://$(PLUSPATH)/SRPMS/ .PHONY: setup setup: @[ -d i386 ] || mkdir i386 @[ -d x86_64 ] || mkdir x86_64 @[ -d updates ] || { \ mkdir -p updates/{i386,x86_64}/{RPMS,headers,repodata} ; \ mkdir -p updates/SRPMS ; \ } @[ -d extras ] || { \ mkdir -p extras/{i386,x86_64}/{RPMS,headers,repodata}; \ mkdir -p extras/SRPMS; \ } @[ -d centosplus ] || { \ mkdir -p centosplus/{i386,x86_64}/{RPMS,headers,repodata}; \ mkdir -p centosplus/SRPMS; \ } .PHONY: cleanindex cleanindex: @find . -name "index.html*" -print -o -name "*.png" -print -o -name "*.gif" -print | xargs rm -f