aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2010-06-24 15:21:03 -0400
committerjim-p <jimp@pfsense.org>2010-06-24 15:21:03 -0400
commit83012e81e32bcf735e066c7361ac8739a0303367 (patch)
tree56fa37d562452c322d4504de601f4d86dc3f182a
parent03167b8e1da874f1ae0fa70089a60a7baaae0de0 (diff)
downloadpfsense-packages-83012e81e32bcf735e066c7361ac8739a0303367.tar.gz
pfsense-packages-83012e81e32bcf735e066c7361ac8739a0303367.tar.bz2
pfsense-packages-83012e81e32bcf735e066c7361ac8739a0303367.zip
Add small patch package to stop /etc/rc from removing /tmp/filter_dirty before it can be properly processed. Removing /tmp/filter_dirty will cause some package rules (such as Squid) to not be present at the end of the boot process.
-rw-r--r--config/patch_rc_filter_dirty/patch_rc_filter_dirty.inc18
-rw-r--r--config/patch_rc_filter_dirty/patch_rc_filter_dirty.patch10
-rw-r--r--config/patch_rc_filter_dirty/patch_rc_filter_dirty.xml65
-rwxr-xr-xpkg_config.7.xml10
4 files changed, 103 insertions, 0 deletions
diff --git a/config/patch_rc_filter_dirty/patch_rc_filter_dirty.inc b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.inc
new file mode 100644
index 00000000..85b5edf6
--- /dev/null
+++ b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.inc
@@ -0,0 +1,18 @@
+<?php
+
+function patch_rc_filter_dirty_install() {
+ global $g, $config;
+
+ // Test to make sure the patch is not already applied.
+ $out = `patch -fslC --reverse -p1 -b .before_patch_rc_filter_dirty -d / -i /usr/local/pkg/patch_rc_filter_dirty.patch |& grep -ci reject`;
+ if ($out == 0) {
+ // If the patch has not already been applied, test to see if it will apply cleanly.
+ $out = `patch -fsNlC -p1 -b .before_patch_rc_filter_dirty -d / -i /usr/local/pkg/patch_rc_filter_dirty.patch |& grep -ci reject`;
+ if ($out == 0) {
+ // The patch should apply cleanly, let 'er rip.
+ mwexec("patch -fsNl -p1 -b .before_patch_rc_filter_dirty -d / -i /usr/local/pkg/patch_rc_filter_dirty.patch ");
+ }
+ }
+}
+
+?> \ No newline at end of file
diff --git a/config/patch_rc_filter_dirty/patch_rc_filter_dirty.patch b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.patch
new file mode 100644
index 00000000..81163362
--- /dev/null
+++ b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.patch
@@ -0,0 +1,10 @@
+--- rc.orig 2010-06-24 18:38:58.000000000 +0000
++++ rc 2010-06-24 18:39:06.000000000 +0000
+@@ -319,7 +319,6 @@
+
+ # Remove stale files that have already been processed by bootup
+ # scripts
+-rm -f /tmp/filter_dirty
+ rm -f /tmp/rc.linkup
+ nohup /usr/bin/nice -n20 /usr/local/sbin/check_reload_status &
+
diff --git a/config/patch_rc_filter_dirty/patch_rc_filter_dirty.xml b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.xml
new file mode 100644
index 00000000..63f8f7d6
--- /dev/null
+++ b/config/patch_rc_filter_dirty/patch_rc_filter_dirty.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
+<packagegui>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ========================================================================== */
+/*
+ patch_rc_filter_dirty.xml
+ part of pfSense (http://www.pfSense.com)
+ Copyright (C) 2010 to whom it may belong
+ All rights reserved.
+
+ Based on m0n0wall (http://m0n0.ch/wall)
+ Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
+ All rights reserved.
+ */
+/* ========================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ */
+/* ========================================================================== */
+ ]]>
+ </copyright>
+ <description>Patch to stop /etc/rc from removing /tmp/filter_dirty on boot. Fixes boot issues with some packages on certain platforms.</description>
+ <requirements>pfSense 1.2.3</requirements>
+ <faq>None</faq>
+ <name>Patch rc to leave filter_dirty</name>
+ <version>0.2</version>
+ <title>Patch rc to leave filter_dirty</title>
+ <include_file>/usr/local/pkg/patch_rc_filter_dirty.inc</include_file>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>077</chmod>
+ <item>http://www.pfsense.com/packages/config/patch_rc_filter_dirty/patch_rc_filter_dirty.inc</item>
+ </additional_files_needed>
+ <additional_files_needed>
+ <prefix>/usr/local/pkg/</prefix>
+ <chmod>077</chmod>
+ <item>http://www.pfsense.com/packages/config/patch_rc_filter_dirty/patch_rc_filter_dirty.patch</item>
+ </additional_files_needed>
+ <custom_php_install_command>
+ patch_rc_filter_dirty_install();
+ </custom_php_install_command>
+</packagegui>
diff --git a/pkg_config.7.xml b/pkg_config.7.xml
index 8b652ef2..fb00ba25 100755
--- a/pkg_config.7.xml
+++ b/pkg_config.7.xml
@@ -1053,5 +1053,15 @@
<config_file>http://www.pfsense.org/packages/config/rrd-summary/rrd-summary.xml</config_file>
<configurationfile>rrd-summary.xml</configurationfile>
</package>
+ <package>
+ <name>Patch rc to leave filter_dirty</name>
+ <descr>Patch to stop /etc/rc from removing /tmp/filter_dirty on boot. Fixes boot issues with some packages on certain platforms.</descr>
+ <category>System</category>
+ <config_file>http://www.pfsense.com/packages/config/patch_rc_filter_dirty/patch_rc_filter_dirty.xml</config_file>
+ <version>0.1</version>
+ <status>BETA</status>
+ <required_version>1.2.3</required_version>
+ <maximum_version>1.2.3</maximum_version>
+ </package>
</packages>
</pfsensepkgs>