############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2007 Michael Tremer & Christian Schmidt # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### ############################################################################### # Definitions ############################################################################### include Config VER = ipfire THISAPP = stage2 TARGET = $(DIR_INFO)/$(THISAPP) ############################################################################### # Top-level Rules ############################################################################### install : $(TARGET) check : download : md5 : ############################################################################### # Installation Details ############################################################################### $(TARGET) : @$(PREBUILD) # Create directories -mkdir -pv /{bin,boot,etc/opt,etc/modprobe.d,home,lib,mnt,opt} -mkdir -pv /{media/{floppy,cdrom,usbkey},sbin,srv,var} -install -dv -m 0750 /root -install -dv -m 1777 /tmp /var/tmp -mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} -mkdir -pv /usr/{,local/}share/{doc,info,locale,man} -mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} -mkdir -pv /usr/{,local/}share/man/man{1..8} #-for dir in /usr /usr/local; do \ # ln -sv share/{man,doc,info} $$dir; \ #done # Symlinks # for this reason, stage2 rebuild will broke the iso:perl, grubbatch -ln -sv /tools/bin/{bash,cat,grep,pwd,stty} /bin -ln -sv /tools/bin/perl /usr/bin -ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib -ln -sv bash /bin/sh # Config files for i in $(DIR_SRC)/config/etc/*; do \ [ -f $$i ] && cp $$i /etc; \ done touch /etc/mtab echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue echo "===============================" >> /etc/issue echo "\n running on \s \r \m" >> /etc/issue # Bash startup files install --directory --mode=0755 --owner=root --group=root /etc/profile.d for i in $(DIR_SRC)/config/profile.d/*; do \ [ -f $$i ] && cp $$i /etc/profile.d; \ done chmod 755 /etc/bashrc ln -svf ../bashrc /etc/profile.d/bashrc.sh # Scripts for i in `find $(DIR_SRC)/src/scripts -maxdepth 1 -type f`; do \ sed "s+CONFIG_ROOT+$(CONFIG_ROOT)+g" $$i > /usr/local/bin/`basename $$i`; \ chmod 755 /usr/local/bin/`basename $$i`; \ done # Nobody user -mkdir -p /home/nobody chown -R nobody:nobody /home/nobody # Create /var dirs and files -mkdir -v /var/{lock,log,mail,run,spool,empty} -mkdir -pv /var/{opt,cache,lib/{misc,locate},local} -mkdir -pv /var/log/{counter,calamaris} chown nobody.nobody /var/log/calamaris touch /var/run/utmp /var/log/{btmp,lastlog,wtmp,net-traffic.log} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog # Permissions chmod 0711 /var/empty # A small hack to include /root to the iso but not all of it's files. touch /root/ipfire @$(POSTBUILD)