Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Jul 2014 08:22:26 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 191681] New: [ staging ] www/squid
Message-ID:  <bug-191681-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191681

            Bug ID: 191681
           Summary: [ staging ] www/squid
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Many People
          Priority: Normal
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: dan@obluda.cz

www/squid require staging or will be removed

Fix:
Patch is attached. 
Note 1: the plist is generated dynamically, all handling is done in Makefile
Note 2: the upstreams install phase will create *.conf.default configuration 
   files as well as *.conf files. The second one is removed during
   post-install and replaced by conditional "@exec if  [ ! -f" copy logic

--- www/squid/Makefile.orig    2014-07-07 09:40:51.000000000 +0200
+++ www/squid/Makefile    2014-07-07 10:10:21.000000000 +0200
@@ -1,7 +1,6 @@
 # Created by: Adrian Chadd <adrian@FreeBSD.org>
 # $FreeBSD: head/www/squid/Makefile 335658 2013-12-05 11:10:49Z mat $

-NO_STAGE=    yes
 # Tunables not (yet) configurable via 'make config':
 # SQUID_{U,G}ID
 #   Which user/group Squid should run as (default: squid/squid).
@@ -123,7 +122,7 @@
 SQUID_UID?=    squid
 SQUID_GID?=    squid

-MAN8=        cachemgr.cgi.8 squid.8
+PLIST_FILES+=    man/man8/cachemgr.cgi.8.gz man/man8/squid.8.gz
 docs=        QUICKSTART README RELEASENOTES.html doc/debug-sections.txt
 PORTDOCS=    ${docs:T}
 PORTEXAMPLES=    passwd.sql
@@ -164,9 +163,9 @@
 LARGEFILE_DESC=        Support log and cache files >2GB
 STACKTRACES_DESC=    Create backtraces on fatal errors

-etc_files=    squid/cachemgr.conf.default \
-        squid/mib.txt squid/mime.conf.default \
-        squid/msntauth.conf.default squid/squid.conf.default
+etc_files=    cachemgr.conf.default \
+        mib.txt mime.conf.default \
+        msntauth.conf.default squid.conf.default

 icon_files=    anthony-binhex.gif anthony-bomb.gif anthony-box.gif \
         anthony-box2.gif anthony-c.gif anthony-compressed.gif \
@@ -219,13 +218,13 @@
 basic_auth=    DB NCSA PAM MSNT SMB
 digest_auth=    password
 external_acl=    ip_user session unix_group wbinfo_group
-MAN8+=        ncsa_auth.8 pam_auth.8 squid_db_auth.8 squid_session.8 \
-        squid_unix_group.8
+PLIST_FILES+=    man/man8/ncsa_auth.8.gz man/man8/pam_auth.8.gz
man/man8/squid_db_auth.8.gz man/man8/squid_session.8.gz \
+        man/man8/squid_unix_group.8.gz
 .if ${PORT_OPTIONS:MLDAP_AUTH}
 USE_OPENLDAP=    yes
 CFLAGS+=    -I${LOCALBASE}/include
 LDFLAGS+=    -L${LOCALBASE}/lib
-MAN8+=        squid_ldap_auth.8 squid_ldap_group.8
+PLIST_FILES+=    man/man8/squid_ldap_auth.8.gz man/man8/squid_ldap_group.8.gz
 basic_auth+=    LDAP
 digest_auth+=    ldap
 external_acl+=    ldap_group
@@ -388,16 +387,15 @@

 CONFIGURE_ENV+=        GREP="${GREP}"

-PLIST_DIRS=    %%ETCDIR%%/icons libexec/squid
-PLIST_FILES=    ${etc_files:S,^,etc/,} ${icon_files:S,^,%%ETCDIR%%/icons/,} \
+PLIST_DIRS=    ${ETCDIR_REL}/icons libexec/squid
+PLIST_FILES+=    ${icon_files:S,^,${ETCDIR_REL}/icons/,} \
         ${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,}

 .for d in ${SQUID_LANGUAGES}
-PLIST_DIRS+=    %%ETCDIR%%/errors/${d}
-PLIST_FILES+=    ${error_files:S,^,%%ETCDIR%%/errors/${d}/,}
+PLIST_DIRS+=    ${ETCDIR_REL}/errors/${d}
+PLIST_FILES+=    ${error_files:S,^,${ETCDIR_REL}/errors/${d}/,}
 .endfor
-PLIST_DIRS+=    %%ETCDIR%%/errors
-PLIST_DIRSTRY+=    %%ETCDIR%%
+PLIST_DIRS+=    ${ETCDIR_REL}/errors

 post-patch:
     @${REINPLACE_CMD} -e 's|%%SQUID_UID%%|${SQUID_UID}|g' \
@@ -413,21 +411,34 @@
     @${FIND} ${WRKSRC} -name '*.orig' -delete

 pre-su-install:
-    @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
+    @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${STAGEDIR}${PREFIX} \
         ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

 post-install:
+.for f in ${etc_files:M*.default}
+    @${RM} ${STAGEDIR}${PREFIX}/${ETCDIR_REL}/${f:R}
+    ${ECHO_CMD} "@exec if [ ! -f %D/${ETCDIR_REL}/${f:R} ]; then cp -p
%D/${ETCDIR_REL}/${f} %D/${ETCDIR_REL}/${f:R}; fi" >> ${TMPPLIST}
+    ${ECHO_CMD} "${ETCDIR_REL}/${f}" >> ${TMPPLIST}
+    ${ECHO_CMD} "@unexec if cmp -s %D/${ETCDIR_REL}/${f:R}
%D/${ETCDIR_REL}/${f}; then rm %D/${ETCDIR_REL}/${f:R}; fi" >> ${TMPPLIST}
+.endfor
+.for f in ${etc_files:N*.default}
+    ${ECHO_CMD} "${ETCDIR_REL}/${f}" >> ${TMPPLIST}
+.endfor
+    @${ECHO_CMD} "@dirrmtry ${ETCDIR_REL}" >> ${TMPPLIST}
+    @${ECHO_CMD} "@unexec rmdir \"/var/squid/logs\" >/dev/null 2>&1 || :" >>
${TMPPLIST}
+    @${ECHO_CMD} "@unexec rmdir \"/var/squid\" >/dev/null 2>&1 || :" >>
${TMPPLIST}
+
 .if ${PORT_OPTIONS:MEXAMPLES}
-    @${MKDIR} ${EXAMPLESDIR}
-    ${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql ${EXAMPLESDIR}
+    @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+    ${INSTALL_DATA} ${WRKSRC}/helpers/basic_auth/DB/passwd.sql
${STAGEDIR}${EXAMPLESDIR}
 .endif
 .if ${PORT_OPTIONS:MPINGER}
-    ${CHMOD} 4510 ${PREFIX}/libexec/squid/pinger; \
-    ${CHGRP} ${SQUID_GID} ${PREFIX}/libexec/squid/pinger
+    ${CHMOD} 4510 ${STAGEDIR}${PREFIX}/libexec/squid/pinger; \
+    ${CHGRP} ${SQUID_GID} ${STAGEDIR}${PREFIX}/libexec/squid/pinger
 .endif
 .if ${PORT_OPTIONS:MDOCS}
-    @${MKDIR} ${DOCSDIR}
-    cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${DOCSDIR}
+    @${MKDIR} ${STAGEDIR}${DOCSDIR}
+    cd ${WRKSRC} && ${INSTALL_DATA} ${docs} ${STAGEDIR}${DOCSDIR}
 .endif
     @${SETENV} PKG_PREFIX=${PREFIX} \
         ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-191681-13>