include ../../Makefile.config include ../Makefile.config PRODUCT=drakx-installer-stage2 ROOTDEST = /export STAGE2_DEST = $(ROOTDEST)/install/stage2 DEST = $(STAGE2_DEST)/live REP4PMS = /usr/lib/libDrakX DESTREP4PMS = $(DEST)$(REP4PMS) all: xs clean xs: make -C .. $@ dist-svn: mkdir -p $(PRODUCT)-$(VERSION) svn export -q -rBASE .. $(PRODUCT)-$(VERSION)/perl-install svn export -q -rBASE ../../tools $(PRODUCT)-$(VERSION)/tools svn export -q -rBASE ../../kernel $(PRODUCT)-$(VERSION)/kernel cp ../../Makefile.config $(PRODUCT)-$(VERSION)/ tar cfa $(PRODUCT)-$(VERSION).tar.xz $(PRODUCT)-$(VERSION) rm -rf $(PRODUCT)-$(VERSION) dist-git: @cd ../..; git archive --prefix=$(PRODUCT)-$(VERSION)/ HEAD kernel perl-install tools Makefile.config | xz >$(PRODUCT)-$(VERSION).tar.xz; @echo WARNING: rpmsrate is MISSING!!! tar: rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION) @if [ -e "../../.svn" ]; then \ $(MAKE) dist-svn; \ elif [ -e "../../.git" ]; then \ $(MAKE) dist-git; \ else \ echo "Unknown SCM (not SVN nor GIT)";\ exit 1; \ fi; $(info $(PRODUCT)-$(VERSION).tar.xz is ready) install: $(MAKE) full_stage2 echo $(VERSION) > $(STAGE2_DEST)/VERSION install_pms: [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST) # commands implemented in perl: for i in `perl -ne 's/sub (\w+?)_?(\(\))? {.*/$$1/ and print' commands.pm` sync; do if [ ! -x $(DEST)/usr/bin/$$i ]; then ln -sf commands $(DEST)/usr/bin/$$i; fi; done # install & clean perl modules: install -d $(DESTREP4PMS) cd .. ; for i in $(PMS); do \ dest=$(DESTREP4PMS)/`dirname $$i`; \ install -d $$dest; \ perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=(back|begin|head|item)/ .. /^=cut/) || /use (diagnostics|strict|vars|warnings)/' $$i > $(DESTREP4PMS)/$$i; \ done cp ../share/*.rc share/*.rc $(DESTREP4PMS) chmod a+x $(DESTREP4PMS)/install/install2 chmod a+x $(DESTREP4PMS)/install/commands get_needed_files: xs # generate installer system: REP4PMS=$(REP4PMS) ../../tools/install-xml-file-list share/list.xml $(DEST) mkdir -p $(DEST)/usr/sbin /usr/lib/dracut/modules.d/30convertfs/convertfs.sh $(DEST) chmod u-s -R $(DEST) # for mount/umount share/generate-xlocales $(DEST) ../../tools/simplify-drakx-modules $(DEST)/usr/*/*/*/utf8_heavy.pl perl -I.. -Mlang -e 'symlink "UTF-8", "$(DEST)/usr/share/locale/$$_" foreach lang::list_langs()' # various needed soft links (eg for ndiswrapper): perl -ane 'symlink "$$F[1]", "$(DEST)$$F[0]"' share/aliases # default shell: ifeq (ia64,$(ARCH)) ln -sf bash $(DEST)/bin/sh else ln -sf ash $(DEST)/bin/sh endif # X11 font caches: mkfontdir $(DEST)/usr/share/fonts fc-cache -f $(DEST)/usr/share/fonts # drakx translations: $(MAKE) -C ../share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special $(MAKE) -C help/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special $(MAKE) -C share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special # POFILES to disable for installation: # be,fur: too few messages translated; # ta: font problem rm -rf $(DEST)/usr/share/locale_special/{be,fur,ta} full_stage2: $(MAKE) stage2 @if [ "$${DEBUG_INSTALL+xxx}" ]; then make dont_run_directly_stage2; else : ; fi $(MAKE) compress compress: ../../tools/mdkinst_stage2_tool --clean --compress $(STAGE2_DEST) stage2: rm -rf $(DEST) mkdir -p $(DEST)/usr $(MAKE) get_needed_files $(MAKE) install_pms dont_run_directly_stage2: [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST) install -m 755 share/runinstall2.sh share/gdb-inst $(DEST)/usr/bin/ ln -sf runinstall2.sh $(DEST)/usr/bin/runinstall2 trace_stage2: [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST) f=`perldoc -l Devel::Trace`; install -m 644 -D $$f $(DEST)$$f perl -pi -e 's|(#!/usr/bin/perl).*|$$1 -d:Trace|' $(DEST)/usr/bin/runinstall2 # [pixel] after make install_pms: # sudo sh -c 'CLEAN=1 perl ../../tools/drakx-in-chroot /export /tmp/rr --useless_thing_accepted --kickstart install/auto_inst.cfg.local.pl'