ROOT=/
SUPERUSER=root
SUPERGROUP=root

NAME=initscripts
VERSION := $(shell awk '/Version:/ { print $$2 }' initscripts-vl.spec)
RELEASE := $(shell awk '/Release:/ { print $$2 }' initscripts-vl.spec)
TAG=$(NAME)-$(VERSION)

mandir=/usr/share/man

all:
	(cd src; make)
	(make -C po)
install:
	mkdir -p $(ROOT)/etc
	mkdir -p $(ROOT)/etc/profile.d $(ROOT)/sbin $(ROOT)/usr/sbin
	mkdir -p $(ROOT)$(mandir)/man8

	install -m644  inittab $(ROOT)/etc/inittab.sysv
	install -m644  inittab.upstart $(ROOT)/etc/inittab.upstart
	install -m644  adjtime $(ROOT)/etc
	install -m755  setsysfont $(ROOT)/sbin
	install -m755  service $(ROOT)/sbin
	install -m644  networks $(ROOT)/etc
	install -m755  sys-unconfig $(ROOT)/usr/sbin
	install -m644  service.8 sys-unconfig.8 $(ROOT)$(mandir)/man8
	install -m644  sysctl.conf $(ROOT)/etc/sysctl.conf
	if uname -m | grep -q ppc ; then \
	  install -m644 sysctl.conf.ppc $(ROOT)/etc/sysctl.conf ; fi
	if uname -m | grep -q sparc ; then \
	  install -m644 sysctl.conf.sparc $(ROOT)/etc/sysctl.conf ; fi

	for f in profile.d/* ; do \
	  install -m755 $$f $(ROOT)/etc/profile.d ; \
	done

	mkdir -p $(ROOT)/etc/X11
	install -m755 prefdm $(ROOT)/etc/X11/prefdm

	cp -af rc.d sysconfig $(ROOT)/etc
	cp -af ppp NetworkManager init $(ROOT)/etc
	mkdir -p $(ROOT)/etc/ppp/peers
	mkdir -p $(ROOT)/lib
	cp -af udev $(ROOT)/lib
	mkdir -p $(ROOT)/etc/sysconfig/modules
	mkdir -p $(ROOT)/etc/sysconfig/networking/devices
	mkdir -p $(ROOT)/etc/sysconfig/networking/profiles/default
	mkdir -p $(ROOT)/etc/sysconfig/console

	mv $(ROOT)/etc/sysconfig/network-scripts/ifup $(ROOT)/sbin
	mv $(ROOT)/etc/sysconfig/network-scripts/ifdown $(ROOT)/sbin
	(cd $(ROOT)/etc/sysconfig/network-scripts; \
	  ln -sf ifup-ippp ifup-isdn ; \
	  ln -sf ifdown-ippp ifdown-isdn ; \
	  ln -sf ../../../sbin/ifup . ; \
	  ln -sf ../../../sbin/ifdown . )
	make install ROOT=$(ROOT) mandir=$(mandir) -C src
	make install PREFIX=$(ROOT) -C po

# Make sure locale stuff from initscripts goes in /usr/share/locale too
#	mkdir -p $(ROOT)/usr/share/locale
#	cp -a $(ROOT)/etc/locale/* $(ROOT)/usr/share/locale/

	mkdir -p $(ROOT)/var/run/netreport
	mkdir -p $(ROOT)/var/log
	chown $(SUPERUSER):$(SUPERGROUP) $(ROOT)/var/run/netreport
	chmod u=rwx,g=rwx,o=rx $(ROOT)/var/run/netreport
	touch $(ROOT)/var/run/utmp
	touch $(ROOT)/var/log/wtmp
	touch $(ROOT)/var/log/btmp

	for i in 0 1 2 3 4 5 6 ; do \
		dir=$(ROOT)/etc/rc.d/rc$$i.d; \
	  	mkdir $$dir; \
		chmod u=rwx,g=rx,o=rx $$dir; \
	done

# Can't store symlinks in a CVS archive
	ln -s ../init.d/killall $(ROOT)/etc/rc.d/rc0.d/S00killall
	ln -s ../init.d/killall $(ROOT)/etc/rc.d/rc6.d/S00killall

	ln -s ../init.d/halt $(ROOT)/etc/rc.d/rc0.d/S01halt
	ln -s ../init.d/halt $(ROOT)/etc/rc.d/rc6.d/S01reboot

	ln -s ../init.d/single $(ROOT)/etc/rc.d/rc1.d/S99single

	ln -s ../rc.local $(ROOT)/etc/rc.d/rc2.d/S99local
	ln -s ../rc.local $(ROOT)/etc/rc.d/rc3.d/S99local
	ln -s ../rc.local $(ROOT)/etc/rc.d/rc4.d/S99local
	ln -s ../rc.local $(ROOT)/etc/rc.d/rc5.d/S99local

# These are LSB compatibility symlinks.  At some point in the future
# the actual files will be here instead of symlinks
	for i in 0 1 2 3 4 5 6 ; do \
		ln -s rc.d/rc$$i.d $(ROOT)/etc/rc$$i.d; \
	done
	for i in rc rc.sysinit rc.local ; do \
		ln -s rc.d/$$i $(ROOT)/etc/$$i; \
	done



check:
	for afile in `find . -type f -perm +111|grep -v \.csh | grep -v po/ ` ; do \
		if ! file $$afile | grep -s ELF  >/dev/null; then \
		    bash -n $$afile || { echo $$afile ; exit 1 ; } ; \
		fi  ;\
	done

clean:
	make clean -C src
	make clean -C po
	@rm -fv *~ changenew ChangeLog.old *gz
	@find . -name "*~" -exec rm -f \{\} \;

tag:
	if [ ! -d ../tags/$(TAG) ] ;then \
		svn copy ../trunk ../tags/$(TAG) ;\
		svn commit -m "tagging as $(TAG)" ../tags/$(TAG) ;\
		echo "Tagged as $(TAG)" ;\
	fi

tarbz2: clean
	cd .. && cp -a trunk/ $(NAME)-$(VERSION)/
	cd .. && tar --exclude ".svn" -cjf $(NAME)-vine-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
	mkdir ~/rpm/SOURCES/$(NAME)
	mv ../$(NAME)-vine-$(VERSION).tar.bz2 ~/rpm/SOURCES/$(NAME)/
	rm -rf ../$(NAME)-$(VERSION)
	echo "The archive is at ~/rpm/SOURCES/initscripts-$(VERSION).tar.bz2"

rpm: tarbz2
	rpmbuild -ba $(NAME)-vl.spec

