Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=3e1b3de7308a7c6ed17e7168f07912b2fc16adc5

commit 3e1b3de7308a7c6ed17e7168f07912b2fc16adc5
Author: Miklos Vajna <[email protected]>
Date:   Fri Mar 23 20:50:51 2012 +0100

squid-3.1.18-2-x86_64

- add native systemd unit from #4681

diff --git a/source/network-extra/squid/FrugalBuild 
b/source/network-extra/squid/FrugalBuild
index c6444ca..2b2fef6 100644
--- a/source/network-extra/squid/FrugalBuild
+++ b/source/network-extra/squid/FrugalBuild
@@ -3,18 +3,18 @@

pkgname=squid
pkgver=3.1.18
-pkgrel=1
+pkgrel=2
pkgdesc="Squid Web Proxy Cache"
url="http://www.squid-cache.org/";
-depends=('openssl>=1.0.0' 'perl' 'libcap' 'libstdc++')
+depends=('openssl>=1.0.0' 'perl' 'libcap' 'libstdc++' 'systemd')
rodepends=('dcron')
groups=('network-extra')
archs=('i686' 'x86_64')
-backup=(etc/squid/{mime,msntauth,squid}.conf)
+backup=(etc/squid/{mime,msntauth,squid}.conf etc/sysconfig/squid)
up2date="lynx -source -dump $url/Versions/ | grep -8 'Production' | sed -n 
's/.*>\(.*\)<.*/\1/;$ p'"
source=(http://www.squid-cache.org/Versions/v3/3.1/$pkgname-$pkgver.tar.bz2 \
-       rc.squid squid)
-signatures=("${source[0]}.asc" '' '')
+       squid cache_swap.sh squid.service squid.sysconfig)
+signatures=("${source[0]}.asc" '' '' '' '')

build()
{
@@ -39,8 +39,10 @@ build()

Fmkdir /var/cache/squid
Fmkdir /var/log/squid/run
-       Frcd
+       Ffile /lib/systemd/system/squid.service
+       Fexe /usr/libexec/squid/cache_swap.sh
Fexe /etc/cron.weekly/squid
+       Ffile squid.sysconfig /etc/sysconfig/squid

Fsed 'allow manager localhost' 'allow localhost' $Fdestdir/etc/squid/squid.conf
Frm /var/run
diff --git a/source/network-extra/squid/cache_swap.sh 
b/source/network-extra/squid/cache_swap.sh
new file mode 100644
index 0000000..dc4850b
--- /dev/null
+++ b/source/network-extra/squid/cache_swap.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+if [ -f /etc/sysconfig/squid ]; then
+       . /etc/sysconfig/squid
+fi
+
+SQUID_CONF=${SQUID_CONF:-"/etc/squid/squid.conf"}
+
+CACHE_SWAP=`sed -e 's/#.*//g' $SQUID_CONF | \
+       grep cache_dir | awk '{ print $3 }'`
+
+for adir in $CACHE_SWAP; do
+       if [ ! -d $adir/00 ]; then
+               echo "init_cache_dir $adir... "
+               squid -z -F -f $SQUID_CONF
+       fi
+done
diff --git a/source/network-extra/squid/messages/squid.de 
b/source/network-extra/squid/messages/squid.de
deleted file mode 100644
index 4a018ec..0000000
--- a/source/network-extra/squid/messages/squid.de
+++ /dev/null
@@ -1,3 +0,0 @@
-stopsquid="Stoppe squid"
-startsquid="Starte squid"
-createcache="Erstelle squid's Swap-Verzeichnisse"
diff --git a/source/network-extra/squid/messages/squid.en 
b/source/network-extra/squid/messages/squid.en
deleted file mode 100644
index e1ef520..0000000
--- a/source/network-extra/squid/messages/squid.en
+++ /dev/null
@@ -1,3 +0,0 @@
-stopsquid="Stopping squid"
-startsquid="Starting squid"
-createcache="Creating squid's swap directories"
diff --git a/source/network-extra/squid/messages/squid.hu 
b/source/network-extra/squid/messages/squid.hu
deleted file mode 100644
index df4f8d8..0000000
--- a/source/network-extra/squid/messages/squid.hu
+++ /dev/null
@@ -1,3 +0,0 @@
-stopsquid="Az squid leállítása"
-startsquid="Az squid indítása"
-createcache="Az squid swap könyvtárainak létrehozása"
diff --git a/source/network-extra/squid/rc.squid 
b/source/network-extra/squid/rc.squid
deleted file mode 100644
index e67a509..0000000
--- a/source/network-extra/squid/rc.squid
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-# (c) 2005 Miklos Vajna <[email protected]>
-# rc.squid for Frugalware
-# distributed under GPL License
-
-# chkconfig: 2345 85 15
-# description: Start/stop the squid web proxy cache
-
-source /lib/initscripts/functions
-
-TEXTDOMAIN=squid
-TEXTDOMAINDIR=/lib/initscripts/messages
-actions=(reload restart status start stop)
-daemon=$"Squid web proxy cache"
-
-rc_stop()
-{
-       stop_msg
-       squid -k shutdown
-       sleep 1
-       if [ -f /var/squid/log/squid.pid ] ; then
-               cnt=0
-               while [ -f /var/squid/log/squid.pid ] ; do
-                       cnt=$(expr $cnt + 1)
-                       if [ $cnt -gt 60 ] ; then
-                               echo
-                               echo "Failed"
-                               break
-                       fi
-                       sleep 2
-                       echo -n "."
-               done
-       fi
-       ok $?
-}
-rc_restart()
-{
-       rc_stop
-       sleep 1
-       rc_start
-}
-
-rc_reload()
-{
-       squid -k reconfigure
-}
-rc_start()
-{
-       start_msg
-       if [ ! -f /var/cache/squid/swap.state ]; then
-               start "$createcache"
-               squid -z 2>/dev/null 1>&2
-               ok $?
-       fi
-       start "$startsquid"
-       squid -D -sYC
-       ok $?
-}
-
-rc_exec $1
diff --git a/source/network-extra/squid/squid.install 
b/source/network-extra/squid/squid.install
index 8e783cc..847bdd9 100644
--- a/source/network-extra/squid/squid.install
+++ b/source/network-extra/squid/squid.install
@@ -12,10 +12,17 @@ post_upgrade()

pre_remove()
{
+       systemctl --no-reload disable squid.service >/dev/null 2>&1
+       systemctl stop squid.service >/dev/null 2>&1
userdel proxy
groupdel proxy
}

+pre_remove()
+{
+       systemctl daemon-reload >/dev/null 2>&1
+}
+
op=$1
shift

diff --git a/source/network-extra/squid/squid.service 
b/source/network-extra/squid/squid.service
new file mode 100644
index 0000000..bf72dd1
--- /dev/null
+++ b/source/network-extra/squid/squid.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Squid caching proxy
+After=syslog.target network.target named.service
+
+[Service]
+Type=forking
+LimitNOFILE=16384
+EnvironmentFile=/etc/sysconfig/squid
+ExecStartPre=/usr/libexec/squid/cache_swap.sh
+ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
+ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
+ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
+
+[Install]
+WantedBy=multi-user.target
diff --git a/source/network-extra/squid/squid.sysconfig 
b/source/network-extra/squid/squid.sysconfig
new file mode 100644
index 0000000..3864bd8
--- /dev/null
+++ b/source/network-extra/squid/squid.sysconfig
@@ -0,0 +1,9 @@
+# default squid options
+SQUID_OPTS=""
+
+# Time to wait for Squid to shut down when asked. Should not be necessary
+# most of the time.
+SQUID_SHUTDOWN_TIMEOUT=100
+
+# default squid conf file
+SQUID_CONF="/etc/squid/squid.conf"
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to