SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "squid"

# SliTaz package receipt.

PACKAGE="squid"
VERSION="5.6"
CATEGORY="network"
SHORT_DESC="The Squid proxy caching server."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="GPL2"
WEB_SITE="http://www.squid-cache.org/"

TARBALL="$PACKAGE-$VERSION.tar.gz"
WGET_URL="${WEB_SITE}Versions/v${VERSION%.*}/$TARBALL"

SUGGESTED="iptables"
DEPENDS="expat gcc83-lib-base gnutls libatomic libldap libltdl libsasl libssl libxml2"
BUILD_DEPENDS="cyrus-sasl-dev expat-dev gcc83 gnutls-dev libcap-dev libdb
    libxml2-dev openssl-dev openldap-dev perl"

CONFIG_FILES="/etc/squid"

current_version()
{
    wget -O - $WEB_SITE/Versions 2>/dev/null | \
    sed '1,/suitable for production use/d;/href/!d;s|.*[0-9]/">||;s|href.*||;s|.*[0-9]</td><td>||;s|<.*||;q'
}

# Rules to configure and make the package.
compile_rules()
{
    ./configure                    \
        CC=gcc-83                \
        CXX=g++-83                \
        --prefix=/usr                \
        --sysconfdir=/etc/squid            \
        --datadir=/usr/share/squid        \
        --libexecdir=/usr/lib/squid        \
        --localstatedir=/var            \
        --with-logdir=/var/log/squid        \
        --disable-icmp                \
        --disable-ident-lookups            \
        --disable-poll                \
        --disable-snmp                \
        --enable-basic-auth-helpers="NCSA,SMB,MSNT,LDAP" \
        --enable-delay-pools            \
        --enable-http-violations        \
        --enable-icap-client            \
        --enable-linux-netfilter        \
        --enable-ntlm-auth-helpers="smb_lm,no_check,fakeauth" \
        --enable-ntlm-fail-open            \
        --enable-referer-log            \
        --enable-removal-policies="heap,lru"    \
        --enable-ssl                \
        --enable-ssl-crtd            \
        --enable-storeio="aufs,diskd,ufs"    \
        --enable-underscores            \
        --enable-useragent-log            \
        --with-pthreads ac_cv_header_linux_netfilter_ipv4_h="yes" \
        --with-openssl                \
        $CONFIGURE_ARGS &&
    make $MAKEFLAGS &&
    make install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    mkdir -p $fs/usr/share/squid/errors
    mkdir -p $fs/var/cache/squid
    mkdir -p $fs/var/log/squid
    mkdir -p $fs/usr/lib/squid
    mkdir -p $fs/etc/squid/conf.d

    touch $fs/var/log/squid/cache.log

    cp -a $install/etc        $fs
    rm -rf                $fs/etc/squid/*.default
    cp -a $stuff/etc        $fs
    
    cp -a $install/var        $fs
    cp -a $install/usr/bin        $fs/usr
    cp -a $install/usr/sbin        $fs/usr
    cp -a $install/usr/lib/squid/*    $fs/usr/lib/squid
    
    # Remove auth libs
    rm -f                $fs/usr/lib/squid/*_auth*
    
    cp -a $install/usr/share/squid/mib.txt    $fs/usr/share/squid
    cp -a $install/usr/share/squid/icons    $fs/usr/share/squid
    cp -a $install/usr/share/squid/errors/templates \
                        $fs/usr/share/squid/errors
    cp -a $install/usr/share/squid/errors/en* $fs/usr/share/squid/errors
    cp -a $install/usr/share/squid/errors/fr* $fs/usr/share/squid/errors

    sed -i \
        -e 's/TAG: visible_hostname/TAG: visible_hostname\nvisible_hostname slitaz/' \
        -e 's|^#cache_dir ufs /var/cache 100|cache_dir ufs /var/cache/squid 256|' \
        -e 's|^#pid_filename /var/logs|pid_filename /var/run/squid.pid|' \
        -e "s|^coredump_dir.*|coredump_dir /var/cache/squid|" \
        -e 's|^# error_directory|error_directory /usr/share/squid/errors/French|' \
        -e 's|^# error_directory|error_directory /usr/share/squid/errors/French|' \
        $fs/etc/squid/squid.conf

    cat <<EOF>>$fs/etc/squid/squid.conf
    
cache_effective_user squid
cache_effective_group squid 

access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

include /etc/squid/conf.d/*.conf
EOF
}

# Pre and post install commands for Tazpkg.
post_install()
{
    local user
    local group
    
    user=squid
    group=squid
    
    if ! grep -q $user "$1/etc/passwd"
      then
        echo -n "Adding user/group $user..."
        chroot "$1/" addgroup -S $group
        chroot "$1/" adduser -S -D -H -G $group $user
        status
    fi
    

    # Set permissions for files and directories
    chroot "$1/" chown -R ${user}.${group}    /var/log/squid
    chroot "$1/" chown -R ${user}.${group}    /var/cache/squid 

    cat <<EOF
----
To start $PACKAGE server you can run :

    /etc/init.d/$PACKAGE start

Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf
----
EOF
}


post_remove()
{
    echo "Removing stalled files..."
    test -d /var/cache/squid &&
    rm -rf /var/cache/squid
    test -d /var/log/squid &&
    rm -rf /var/log/squid
    test -d /usr/share/squid &&
    rm -rf /usr/share/squid
    
    echo "Removing user and group squid"
    deluser squid
}
6025 packages and 203154 files in current database (Thu Apr 25 06:17:47 2024)