X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fstage2;h=4b8f0bc811171cf684618d8754c335de1311db92;hp=3203983e287a386515a787e278d41f2bde2a4677;hb=HEAD;hpb=e6c4f090b694a8d102da5b2765dcdac871f20517 diff --git a/lfs/stage2 b/lfs/stage2 index 3203983e28..b2ae5d0fff 100644 --- a/lfs/stage2 +++ b/lfs/stage2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2022 IPFire Team # # # # 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 # @@ -39,7 +39,7 @@ check : download : -md5 : +b2 : ############################################################################### # Installation Details @@ -53,9 +53,9 @@ $(TARGET) : -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{,/sse2},sbin,src} + -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,xt_geoip,zoneinfo} + -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; \ @@ -63,23 +63,34 @@ $(TARGET) : # Symlink /var/run -> /run. ln -svf ../run /var/run - + + ln -svf lib /lib64 + ln -svf lib /usr/lib64 + +ifeq "$(BUILD_ARCH)" "riscv64" + ln -svf . /lib/lp64d + ln -svf . /usr/lib/lp64d +endif + # Symlinks # for this reason, stage2 rebuild will broke the iso:perl, grubbatch - -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 $(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 cp -rvf $(DIR_SRC)/config/etc/* /etc; + [ ! -d "$(DIR_SRC)/config/etc-$(BUILD_ARCH)" ] || cp -rvf $(DIR_SRC)/config/etc-$(BUILD_ARCH)/* /etc cp -rvf $(DIR_SRC)/config/lib/* /lib; - touch /etc/{fs,m}tab + touch /etc/fstab + ln -s /proc/self/mounts /etc/mtab echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue echo "===============================" >> /etc/issue echo "\n running on \s \r \m" >> /etc/issue + -cat /etc/motd >> /etc/issue # Bash startup files install --directory --mode=0755 --owner=root --group=root /etc/profile.d @@ -100,15 +111,17 @@ $(TARGET) : 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/openvpn-metrics /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-policy \ + /usr/lib/firewall/ipsec-policy # Nobody user -mkdir -p /home/nobody @@ -116,16 +129,17 @@ $(TARGET) : # Create /var dirs and files -mkdir -v /var/{lock,log,mail,spool,empty} - -mkdir -pv /var/{opt,cache,lib/{misc,locate},local} + -mkdir -pv /var/{opt,cache,lib/misc,local} -mkdir -pv /var/log/{counter,calamaris} chown nobody.nobody /var/log/calamaris - touch /var/log/{btmp,lastlog,wtmp,net-traffic.log} + 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 @@ -136,8 +150,21 @@ $(TARGET) : # System release echo "$(SYSTEM_RELEASE)" > /etc/system-release + # OS release + : >/etc/os-release + echo "NAME=\"$(NAME)\"" >> /etc/os-release + echo "VERSION=\"$(VERSION)\"" >> /etc/os-release + echo "ID=$(SNAME)" >> /etc/os-release + echo "VERSION_ID=2" >> /etc/os-release + echo "PRETTY_NAME=\"$(SYSTEM_RELEASE)\"" >> /etc/os-release + echo "ANSI_COLOR=\"0:31\"" >> /etc/os-release + # Pakfire -mkdir -pv /opt/pakfire/db/core - echo "$(PAKFIRE_CORE)" > /opt/pakfire/db/core/mine + echo "$(CORE)" > /opt/pakfire/db/core/mine + + # IPblocklist. + -mkdir -pv /var/lib/ipblocklist + chown nobody:nobody /var/lib/ipblocklist @$(POSTBUILD)