]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/stage2
core124: Ship CA certificates
[ipfire-2.x.git] / lfs / stage2
index c94a7d2df3c946c8a8cc855a5e65aacdfd7b20f8..4ab5edd8b59909e849d7446f992e0714800e93b2 100644 (file)
@@ -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 <rod@sunsetsystems.com>                        #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
 
@@ -51,31 +49,54 @@ $(TARGET) :
        @$(PREBUILD)
 
        # Create directories
-       -mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt}
-       -mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
+       -mkdir -pv /{bin,boot,etc/opt,etc/modprobe.d,home,lib/firmware/brcm,mnt,opt,run}
+       -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/}{bin,include,lib{,/sse2},sbin,src}
        -mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
-       -mkdir -v  /usr/{,local/}share/{misc,terminfo,zoneinfo}
+       -mkdir -v  /usr/{,local/}share/{misc,terminfo,xt_geoip,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
-       
+
+       # Symlink /var/run -> /run.
+       ln -svf ../run /var/run
+
+ifeq "$(IS_64BIT)" "1"
+       ln -svf lib /lib64
+       ln -svf lib /usr/lib64
+endif
+
        # 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 $(TOOLS_DIR)/bin/{bash,cat,echo,pwd,stty} /bin
+       -ln -sv $(TOOLS_DIR)/bin/perl /usr/bin
+       -ln -sv $(TOOLS_DIR)/lib/libgcc_s.so{,.1} /usr/lib
+       -ln -sv $(TOOLS_DIR)/lib/libstdc++.so{,.6} /usr/lib
+       sed 's@$(TOOLS_DIR)@/usr@' $(TOOLS_DIR)/lib/libstdc++.la > /usr/lib/libstdc++.la
        -ln -sv bash /bin/sh
 
        # Config files
-       for i in $(DIR_SRC)/config/etc/*; do \
-           [ -f $$i ] && cp $$i /etc; \
+       cp -rvf $(DIR_SRC)/config/etc/* /etc;
+       cp -rvf $(DIR_SRC)/config/lib/* /lib;
+       touch /etc/{fs,m}tab
+       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
+
+       # Install root's bash files.
+       for i in $(DIR_SRC)/config/bash/dot_*; do \
+               [ -f $$i ] && cp $$i /root/$$(basename $${i/dot_/\.}); \
        done
-       touch /etc/mtab
-       echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue
 
        # Scripts
        for i in `find $(DIR_SRC)/src/scripts -maxdepth 1 -type f`; do \
@@ -83,18 +104,49 @@ $(TARGET) :
            chmod 755 /usr/local/bin/`basename $$i`; \
        done
 
+       # Move script to correct place.
+       mv -vf /usr/local/bin/ovpn-ccd-convert /usr/sbin/
+       mv -vf /usr/local/bin/ovpn-collectd-convert /usr/sbin/
+       mv -vf /usr/local/bin/captive-cleanup /usr/bin/
+       
+       # Install firewall scripts.
+       mkdir -pv /usr/lib/firewall
+       install -m 755 $(DIR_SRC)/config/firewall/rules.pl \
+               /usr/lib/firewall/rules.pl
+       install -m 644 $(DIR_SRC)/config/firewall/firewall-lib.pl \
+               /usr/lib/firewall/firewall-lib.pl
+       install -m 755 $(DIR_SRC)/config/firewall/ipsec-block \
+               /usr/lib/firewall/ipsec-block
+
        # 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 -v /var/{lock,log,mail,spool,empty}
        -mkdir -pv /var/{opt,cache,lib/{misc,locate},local}
-       touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
-       chgrp -v utmp /var/run/utmp /var/log/lastlog
-       chmod -v 664 /var/run/utmp /var/log/lastlog
+       -mkdir -pv /var/log/{counter,calamaris}
+       chown nobody.nobody /var/log/calamaris
+       touch /var/log/{btmp,lastlog,wtmp}
+       chmod -v 600 /var/log/btmp
+       chgrp -v utmp /var/log/lastlog
+       chmod -v 664 /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
+
+       # License agreement
+       -mkdir -pv /usr/share/doc/licenses/
+       cp -vf $(DIR_SRC)/doc/COPYING /usr/share/doc/licenses/GPLv3
+
+       # System release
+       echo "$(SYSTEM_RELEASE)" > /etc/system-release
+
+       # Pakfire
+       -mkdir -pv /opt/pakfire/db/core
+       echo "$(PAKFIRE_CORE)" > /opt/pakfire/db/core/mine
 
        @$(POSTBUILD)