###############################################################################
-# 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/>. #
# #
###############################################################################
@$(PREBUILD)
# Create directories
- -mkdir -pv /{bin,boot,etc/opt,etc/modprobe.d,home,lib,mnt,opt}
+ -mkdir -pv /{bin,boot,etc/opt,etc/modprobe.d,home,lib,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 -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
# 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/{bash,cat,echo,pwd,stty} /bin
-ln -sv /tools/bin/perl /usr/bin
-ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
+ -ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
+ sed 's/tools/usr/' /tools/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; \
- done
- touch /etc/mtab
+ cp -rvf $(DIR_SRC)/config/etc/* /etc;
+ touch /etc/{fs,m}tab
echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue
echo "===============================" >> /etc/issue
echo "\n running on \s \r \m" >> /etc/issue
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
# Scripts
for i in `find $(DIR_SRC)/src/scripts -maxdepth 1 -type f`; do \
chmod 755 /usr/local/bin/`basename $$i`; \
done
+ # Move script to correct place.
+ mv -vf /usr/local/bin/ovpn-ccd-convert /usr/sbin/
+
+ # 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
+
# 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,net-traffic.log}
+ 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)