[Bug 191681] New: [ staging ] www/squid
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jul 7 08:22:26 UTC 2014
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 at FreeBSD.org
Reporter: dan at 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 at 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.
More information about the freebsd-ports-bugs
mailing list