X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fstage2;h=59cb947b44b31a7d8fa7835e03b5c546ca3b2a72;hp=ae1e5c49b2314f972a9d803632b9bdc129b9620a;hb=f399dfa46978a9d7d3d8761919a2fca7414c098c;hpb=15679d9f9689003c7a79fc3875307b666e67a04f diff --git a/lfs/stage2 b/lfs/stage2 index ae1e5c49b2..59cb947b44 100644 --- a/lfs/stage2 +++ b/lfs/stage2 @@ -1,22 +1,20 @@ ############################################################################### -# This file is part of the IPCop Firewall. # # # -# IPCop is free software; you can redistribute it and/or modify # +# 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 2 of the License, or # +# the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # -# IPCop is distributed in the hope that it will be useful, # +# 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 IPCop; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Makefiles are based on LFSMake, which is # -# Copyright (C) 2002 Rod Roard # +# along with this program. If not, see . # # # ############################################################################### @@ -51,38 +49,41 @@ $(TARGET) : @$(PREBUILD) # Create directories - -mkdir -p /{bin,boot,dev/{pts,shm,net},etc/opt,home,lib,mnt,proc} - -mkdir -p /{root,sbin,tmp,usr/local,var,opt} - -for dirname in /usr /usr/local; do \ - mkdir $$dirname/{bin,etc,include,lib,sbin,share,src}; \ - ln -sf share/{man,doc,info} $$dirname; \ - mkdir $$dirname/share/{dict,doc,info,locale,man}; \ - mkdir $$dirname/share/{nls,misc,terminfo,zoneinfo}; \ - mkdir $$dirname/share/man/man{1,2,3,4,5,6,7,8}; \ - done - -mkdir -p /var/{lock/subsys,log,mail,run,spool} - -mkdir -p /var/{tmp,opt,cache,lib/misc,local,empty} - -mkdir /opt/{bin,doc,include,info} - -mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}} - - # Permissions - chmod 0750 /root - chmod 1777 /tmp /var/tmp - chmod 0711 /var/empty + -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 -sf /tools/bin/{bash,cat,pwd,stty} /bin - -ln -sf /tools/bin/perl /usr/bin - -ln -sf /tools/lib/libgcc_s.so.1 /usr/lib - -ln -sf bash /bin/sh + -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 - ln -sf /proc/mounts /etc/mtab - echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue + 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 \ @@ -94,11 +95,19 @@ $(TARGET) : -mkdir -p /home/nobody chown -R nobody:nobody /home/nobody - # Patches directory - -mkdir -m 1775 -p /var/patches - chown -R root:nobody /var/patches + # 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 - # Versionsfile - echo -n "$(VERSION)" > /etc/ipfire_vers + # 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)