Merge remote-tracking branch 'origin/seventeen' into seventeen
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Nov 2014 22:52:28 +0000 (23:52 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 4 Nov 2014 22:52:28 +0000 (23:52 +0100)
33 files changed:
config/rootfiles/core/86/exclude [new file with mode: 0644]
config/rootfiles/core/86/filelists/armv5tel/initscripts [new symlink]
config/rootfiles/core/86/filelists/armv5tel/linux-kirkwood [new symlink]
config/rootfiles/core/86/filelists/armv5tel/linux-multi [new symlink]
config/rootfiles/core/86/filelists/armv5tel/linux-rpi [new symlink]
config/rootfiles/core/86/filelists/coreutils [new symlink]
config/rootfiles/core/86/filelists/dracut [new symlink]
config/rootfiles/core/86/filelists/files [new file with mode: 0644]
config/rootfiles/core/86/filelists/i586/glibc [new symlink]
config/rootfiles/core/86/filelists/i586/grub [new symlink]
config/rootfiles/core/86/filelists/i586/initscripts [new symlink]
config/rootfiles/core/86/filelists/i586/linux [new symlink]
config/rootfiles/core/86/filelists/i586/linux-initrd [new symlink]
config/rootfiles/core/86/filelists/libcap [new symlink]
config/rootfiles/core/86/filelists/libsmooth [new symlink]
config/rootfiles/core/86/filelists/lvm2 [new symlink]
config/rootfiles/core/86/filelists/mdadm [new symlink]
config/rootfiles/core/86/filelists/misc-progs [new symlink]
config/rootfiles/core/86/filelists/multipath-tools [new symlink]
config/rootfiles/core/86/filelists/newt [new symlink]
config/rootfiles/core/86/filelists/parted [new symlink]
config/rootfiles/core/86/filelists/patch [new symlink]
config/rootfiles/core/86/filelists/pigz [new symlink]
config/rootfiles/core/86/filelists/setup [new symlink]
config/rootfiles/core/86/filelists/slang [new symlink]
config/rootfiles/core/86/filelists/strongswan [new symlink]
config/rootfiles/core/86/filelists/tzdata [new symlink]
config/rootfiles/core/86/filelists/xfsprogs [new symlink]
config/rootfiles/core/86/meta [new file with mode: 0644]
config/rootfiles/core/86/update.sh [new file with mode: 0644]
lfs/fireinfo
src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch [new file with mode: 0644]
src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch [new file with mode: 0644]

diff --git a/config/rootfiles/core/86/exclude b/config/rootfiles/core/86/exclude
new file mode 100644 (file)
index 0000000..18e9b4d
--- /dev/null
@@ -0,0 +1,20 @@
+boot/config.txt
+etc/collectd.custom
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+var/ipfire/ovpn
+var/log/cache
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/core/86/filelists/armv5tel/initscripts b/config/rootfiles/core/86/filelists/armv5tel/initscripts
new file mode 120000 (symlink)
index 0000000..af1d762
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/initscripts
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/armv5tel/linux-kirkwood b/config/rootfiles/core/86/filelists/armv5tel/linux-kirkwood
new file mode 120000 (symlink)
index 0000000..7217107
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/linux-kirkwood
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/armv5tel/linux-multi b/config/rootfiles/core/86/filelists/armv5tel/linux-multi
new file mode 120000 (symlink)
index 0000000..204eb4c
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/linux-multi
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/armv5tel/linux-rpi b/config/rootfiles/core/86/filelists/armv5tel/linux-rpi
new file mode 120000 (symlink)
index 0000000..a651a49
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/linux-rpi
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/coreutils b/config/rootfiles/core/86/filelists/coreutils
new file mode 120000 (symlink)
index 0000000..7351ed2
--- /dev/null
@@ -0,0 +1 @@
+../../../common/coreutils
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/dracut b/config/rootfiles/core/86/filelists/dracut
new file mode 120000 (symlink)
index 0000000..1608699
--- /dev/null
@@ -0,0 +1 @@
+../../../common/dracut
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/files b/config/rootfiles/core/86/filelists/files
new file mode 100644 (file)
index 0000000..cfcb0cc
--- /dev/null
@@ -0,0 +1,5 @@
+etc/system-release
+etc/issue
+var/ipfire/header.pl
+var/ipfire/langs
+var/ipfire/lang.pl
diff --git a/config/rootfiles/core/86/filelists/i586/glibc b/config/rootfiles/core/86/filelists/i586/glibc
new file mode 120000 (symlink)
index 0000000..943021f
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/glibc
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/i586/grub b/config/rootfiles/core/86/filelists/i586/grub
new file mode 120000 (symlink)
index 0000000..feb236a
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/grub
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/i586/initscripts b/config/rootfiles/core/86/filelists/i586/initscripts
new file mode 120000 (symlink)
index 0000000..12d8770
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/initscripts
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/i586/linux b/config/rootfiles/core/86/filelists/i586/linux
new file mode 120000 (symlink)
index 0000000..693ec4b
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/linux
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/i586/linux-initrd b/config/rootfiles/core/86/filelists/i586/linux-initrd
new file mode 120000 (symlink)
index 0000000..32a03e6
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/linux-initrd
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/libcap b/config/rootfiles/core/86/filelists/libcap
new file mode 120000 (symlink)
index 0000000..ed67d95
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libcap
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/libsmooth b/config/rootfiles/core/86/filelists/libsmooth
new file mode 120000 (symlink)
index 0000000..6164182
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libsmooth
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/lvm2 b/config/rootfiles/core/86/filelists/lvm2
new file mode 120000 (symlink)
index 0000000..d640870
--- /dev/null
@@ -0,0 +1 @@
+../../../common/lvm2
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/mdadm b/config/rootfiles/core/86/filelists/mdadm
new file mode 120000 (symlink)
index 0000000..465808b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/mdadm
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/misc-progs b/config/rootfiles/core/86/filelists/misc-progs
new file mode 120000 (symlink)
index 0000000..7223cad
--- /dev/null
@@ -0,0 +1 @@
+../../../common/misc-progs
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/multipath-tools b/config/rootfiles/core/86/filelists/multipath-tools
new file mode 120000 (symlink)
index 0000000..9ff6323
--- /dev/null
@@ -0,0 +1 @@
+../../../common/multipath-tools
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/newt b/config/rootfiles/core/86/filelists/newt
new file mode 120000 (symlink)
index 0000000..fb3eb20
--- /dev/null
@@ -0,0 +1 @@
+../../../common/newt
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/parted b/config/rootfiles/core/86/filelists/parted
new file mode 120000 (symlink)
index 0000000..89195d8
--- /dev/null
@@ -0,0 +1 @@
+../../../common/parted
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/patch b/config/rootfiles/core/86/filelists/patch
new file mode 120000 (symlink)
index 0000000..27a3825
--- /dev/null
@@ -0,0 +1 @@
+../../../common/patch
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/pigz b/config/rootfiles/core/86/filelists/pigz
new file mode 120000 (symlink)
index 0000000..696f8f8
--- /dev/null
@@ -0,0 +1 @@
+../../../common/pigz
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/setup b/config/rootfiles/core/86/filelists/setup
new file mode 120000 (symlink)
index 0000000..209374b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/setup
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/slang b/config/rootfiles/core/86/filelists/slang
new file mode 120000 (symlink)
index 0000000..228e45e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/slang
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/strongswan b/config/rootfiles/core/86/filelists/strongswan
new file mode 120000 (symlink)
index 0000000..90c727e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/strongswan
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/tzdata b/config/rootfiles/core/86/filelists/tzdata
new file mode 120000 (symlink)
index 0000000..5a6e325
--- /dev/null
@@ -0,0 +1 @@
+../../../common/tzdata
\ No newline at end of file
diff --git a/config/rootfiles/core/86/filelists/xfsprogs b/config/rootfiles/core/86/filelists/xfsprogs
new file mode 120000 (symlink)
index 0000000..9103296
--- /dev/null
@@ -0,0 +1 @@
+../../../common/xfsprogs
\ No newline at end of file
diff --git a/config/rootfiles/core/86/meta b/config/rootfiles/core/86/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/core/86/update.sh b/config/rootfiles/core/86/update.sh
new file mode 100644 (file)
index 0000000..7911a11
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire 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.                                      #
+#                                                                          #
+# IPFire 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 IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2014 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+# Find root device
+function find_root_device() {
+       while read -r dev mountpoint fs options; do
+               # Skip generic entries
+               [ "${dev}" = "rootfs" ] && continue
+
+               if [ "${mountpoint}" = "/" ]; then
+                       echo "${mountpoint}"
+                       break
+               fi
+       done < /proc/mounts
+}
+
+# Remove old core updates from pakfire cache to save space...
+core=86
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+
+# Remove old files
+
+# Extract files
+extract_files
+
+# Start services
+
+# Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+# Upgrade to GRUB2
+root_device="$(find_root_device)"
+if ! grub-install "${root_device}"; then
+       if ! grub-install --force "${root_device}"; then
+               echo "Could not update the bootloader!"
+       fi
+fi
+
+sync
+
+# This update need a reboot...
+touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Don't report the exitcode last command
+exit 0
index 0c36706..0bc8d44 100644 (file)
@@ -71,6 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch
+
        cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING)
diff --git a/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch b/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch
new file mode 100644 (file)
index 0000000..f228d52
--- /dev/null
@@ -0,0 +1,61 @@
+From a9401d9542fae575d9ce2bb534cd4e598e9c7b8e Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Tue, 28 Oct 2014 21:14:41 +0100
+Subject: [PATCH 1/2] bogomips: Don't crash when no bogomips are available
+
+The RPi doesn't provide bogomips in /proc/cpuinfo any more
+and fireinfo crashed when trying to read that file
+---
+ src/fireinfo/cpu.py    | 14 +++++++++-----
+ src/fireinfo/system.py |  4 +++-
+ 2 files changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/src/fireinfo/cpu.py b/src/fireinfo/cpu.py
+index 32d885db8124..541575af6bbb 100644
+--- a/src/fireinfo/cpu.py
++++ b/src/fireinfo/cpu.py
+@@ -80,12 +80,16 @@ class CPU(object):
+               """
+                       Return the bogomips of this CPU.
+               """
+-              try:
+-                      bogomips = self.__cpuinfo["bogomips"]
+-              except KeyError:
+-                      bogomips = self.__cpuinfo["BogoMIPS"]
++              bogomips = None
++
++              for key in ("bogomips", "BogoMIPS"):
++                      try:
++                              bogomips = self.__cpuinfo[key]
++                      except KeyError:
++                              continue
+-              return float(bogomips)
++              if bogomips:
++                      return float(bogomips)
+       @property
+       def model(self):
+diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
+index 8e903e8e3449..890f58c05027 100644
+--- a/src/fireinfo/system.py
++++ b/src/fireinfo/system.py
+@@ -144,12 +144,14 @@ class System(object):
+                       "model_string" : self.cpu.model_string,
+                       "stepping" : self.cpu.stepping,
+                       "flags" : self.cpu.flags,
+-                      "bogomips" : self.cpu.bogomips,
+                       "speed" : self.cpu.speed,
+                       "family" : self.cpu.family,
+                       "count" : self.cpu.count                                
+               }
++              if self.cpu.bogomips:
++                      p["bogomips"] = self.cpu.bogomips
++
+               p["network"] = {
+                       "green" : self.network.has_green(),
+                       "blue" : self.network.has_blue(),
+-- 
+1.9.3
+
diff --git a/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch b/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch
new file mode 100644 (file)
index 0000000..de65400
--- /dev/null
@@ -0,0 +1,72 @@
+From b9a068e26261007d4a0592fcb47f82658af2c775 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Mon, 3 Nov 2014 21:33:45 +0100
+Subject: [PATCH 2/2] ARM: Read board model from device-tree in /proc
+
+---
+ src/fireinfo/system.py | 35 +++++++++--------------------------
+ 1 file changed, 9 insertions(+), 26 deletions(-)
+
+diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
+index 890f58c05027..195832e9f7eb 100644
+--- a/src/fireinfo/system.py
++++ b/src/fireinfo/system.py
+@@ -304,27 +304,6 @@ class System(object):
+               """
+               return read_from_file("/sys/class/dmi/id/bios_vendor")
+-      def vendor_model_tuple(self):
+-              try:
+-                      s = self.__cpuinfo["Hardware"]
+-              except KeyError:
+-                      return (None, None)
+-
+-              if s.startswith("ARM-Versatile"):
+-                      return ("ARM", s)
+-
+-              try:
+-                      v, m = s.split(" ", 1)
+-              except ValueError:
+-                      if s.startswith("BCM"):
+-                              v = "Broadcom"
+-                              m = s
+-                      else:
+-                              v = None
+-                              m = s
+-
+-              return v, m
+-
+       @property
+       def vendor(self):
+               """
+@@ -337,8 +316,10 @@ class System(object):
+                               break
+               if ret is None:
+-                      v, m = self.vendor_model_tuple()
+-                      ret = v
++                      try:
++                              return self.__cpuinfo["Hardware"]
++                      except KeyError:
++                              pass
+               return ret
+@@ -353,9 +334,11 @@ class System(object):
+                       if ret:
+                               break
+-              if ret is None:
+-                      v, m = self.vendor_model_tuple()
+-                      ret = m
++              # Read device-tree model if available
++              ret = read_from_file("/proc/device-tree/model")
++              if ret:
++                      # replace the NULL byte with which the DT string ends
++                      ret = ret.replace(u"\u0000", "")
+               return ret
+-- 
+1.9.3
+