ports/141803: [maintainer] net/phpldapadmin -- use bsd.options.mk etc.
Matthew Seaman
m.seaman at infracaninophile.co.uk
Sun Dec 20 12:10:07 UTC 2009
>Number: 141803
>Category: ports
>Synopsis: [maintainer] net/phpldapadmin -- use bsd.options.mk etc.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Dec 20 12:10:06 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Matthew Seaman
>Release: FreeBSD 8.0-STABLE i386
>Organization:
Infracaninophile
>Environment:
System: FreeBSD happy-idiot-talk.infracaninophile.co.uk 8.0-STABLE FreeBSD 8.0-STABLE #14: Mon Dec 14 09:19:08 GMT 2009 root@:/usr/obj/usr/src/sys/HAPPY-IDIOT-TALK i386
>Description:
Simplify the port and make better use of the general facilities provided
by the ports system:
* Switch to using bsd.ports.options.mk -- this means that we can apply
OPTIONS processing for suPHP support, which otherwise needs to occur
too early.
* Use USERS and GROUPS functionality, instead of supplying pkg-install
scripts to create userids.
* Drop some warnings about changes that happened a long time ago now.
>How-To-Repeat:
>Fix:
--- phpldapadmin.diff begins here ---
diff -Nur /usr/ports/net/phpldapadmin/Makefile phpldapadmin/Makefile
--- /usr/ports/net/phpldapadmin/Makefile 2009-11-27 21:42:11.000000000 +0000
+++ phpldapadmin/Makefile 2009-12-20 10:27:55.000000000 +0000
@@ -21,6 +21,10 @@
DEFAULT_PHP_VER= 5
IGNORE_WITH_PHP= 4
+OPTIONS= SUPHP "suPHP support" off
+
+.include <bsd.port.options.mk>
+
.if defined(WITH_SUPHP) && !defined(WITHOUT_SUPHP)
PKGNAMESUFFIX+= -suphp
@@ -33,30 +37,20 @@
.endif
-# PLA_USR is only used WITH_SUPHP
-PLA_GRP?= ${WWWGRP}
-PLA_GID?= ${_PLA_GID}
+# USERS is only used WITH_SUPHP
+GROUPS?= ${WWWGRP}
CFGDIR= config
CFGFILE= config.php
PLIST= ${WRKDIR}/plist
-PLIST_SUB+= PLA_GRP=${PLA_GRP}
+PLIST_SUB+= PLA_GRP=${GROUPS}
.if defined(WITH_SUPHP) && !defined(WITHOUT_SUPHP)
-PLA_USR?= _pla
-PLA_UID?= 636
-PLA_GCOS?= "phpLDAPAdmin Owner"
-PLA_HOME?= /nonexistent
-PLA_SHELL?= /usr/sbin/nologin
-
-SUB_LIST+= PLA_USR=${PLA_USR} \
- PLA_UID=${PLA_UID} \
- PLA_GRP=${PLA_GRP} \
- PLA_GID=${PLA_GID} \
- PLA_GCOS=${PLA_GCOS} \
- PLA_HOME=${PLA_HOME} \
- PLA_SHELL=${PLA_SHELL}
+USERS?= _pla
+
+SUB_LIST+= PLA_USR=${USERS} \
+ PLA_GRP=${GROUPS}
SUB_FILES+= pkg-install pkg-deinstall
.endif
@@ -64,67 +58,44 @@
SUB_LIST+= PKGNAME=${PKGNAME}
SUB_FILES+= pkg-message
-.include <bsd.port.pre.mk>
-_PLA_GID!= ${PW} group show -n ${PLA_GRP} | ${CUT} -d : -f 3
-.if empty(_PLA_GID)
-_PLA_GID= 80
-.endif
-
.SILENT:
pre-everything::
${ECHO_MSG} ""
- ${ECHO_MSG} "You may use the following build options:"
- ${ECHO_MSG} ""
- ${ECHO_MSG} " WITH_SUPHP=yes Install appropriately for use with"
- ${ECHO_MSG} " the www/suphp port [default: no]"
- ${ECHO_MSG} ""
${ECHO_MSG} "This port is PHP5 specific. If you need PHP4 support,"
${ECHO_MSG} "please use the net/phpldapadmin098 port instead."
${ECHO_MSG} ""
-.if defined(WITH_SUPHP) && !defined(WITHOUT_SUPHP)
- @if ${PW} show -n pldapadm >/dev/null 2>&1 ; then \
- ${ECHO_MSG} "===> WARNING ******************************" ; \
- ${ECHO_MSG} "The default username used by ${PKNAME} has changed"; \
- ${ECHO_MSG} "to ${PLA_USR} -- you should delete the old user:" ; \
- ${ECHO_MSG} " # ${PW} user del -n pldapadm" ; \
- ${ECHO_MSG} "" ; \
- fi
-.endif
post-patch:
cd ${WRKSRC} ; \
- ${FIND} . ! -type d ! -name ${CFGFILE}.example ! -name .cvsignore | \
- ${SORT} | ${SED} -e "s!^\.!%%WWWDIR%%!" >${PLIST} ; \
+ ${FIND} . ! -type d ! -name ${CFGFILE}.example ! -name .cvsignore \
+ ! -name .gitignore | ${SORT} | ${SED} -e "s!^\.!%%WWWDIR%%!" \
+ >${PLIST} ; \
${CAT} ${PKGDIR}/pkg-plist-chunk >>${PLIST} ; \
${FIND} . -type d | ${SORT} -r | ${SED} \
-e 's!^\./${CFGDIR}$$!@dirrmtry %%WWWDIR%%/${CFGDIR}!' \
-e 's!^\.$$!@dirrmtry %%WWWDIR%%!' \
-e 's!^\.!@dirrm %%WWWDIR%%!' >>${PLIST}
-pre-install:
-.if defined(WITH_SUPHP)
- ${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-.endif
-
do-install: install-app install-conf
install-app:
- cd ${WRKSRC} ; \
- for src in $$( ${FIND} . ! -name .cvsignore ) ; do \
- dst=${WWWDIR}$${src#.} ; \
- if ${TEST} -d $$src ; then \
- ${MKDIR} $$dst ; \
- else \
- ${INSTALL_DATA} $$src $$dst ; \
- fi \
+ cd ${WRKSRC} ; \
+ for src in $$( ${FIND} . ! -name .cvsignore \
+ ! -name .gitignore ) ; do \
+ dst=${WWWDIR}$${src#.} ; \
+ if ${TEST} -d $$src ; then \
+ ${MKDIR} $$dst ; \
+ else \
+ ${INSTALL_DATA} $$src $$dst ; \
+ fi \
done
install-conf:
- cd ${WWWDIR}/${CFGDIR} ; \
- ${CHMOD} 0640 ${CFGFILE}.example ; \
- ${CHGRP} ${PLA_GRP} ${CFGFILE}.example ; \
- if ${TEST} ! -f ${CFGFILE} ; then \
+ cd ${WWWDIR}/${CFGDIR} ; \
+ ${CHMOD} 0640 ${CFGFILE}.example ; \
+ ${CHGRP} ${GROUPS} ${CFGFILE}.example ; \
+ if ${TEST} ! -f ${CFGFILE} ; then \
${CP} -p ${CFGFILE}.example ${CFGFILE} ; \
fi
@@ -134,4 +105,4 @@
.endif
${CAT} ${PKGMESSAGE}
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff -Nur /usr/ports/net/phpldapadmin/files/pkg-deinstall.in phpldapadmin/files/pkg-deinstall.in
--- /usr/ports/net/phpldapadmin/files/pkg-deinstall.in 2008-03-09 04:45:38.000000000 +0000
+++ phpldapadmin/files/pkg-deinstall.in 2009-12-20 09:20:11.000000000 +0000
@@ -8,7 +8,7 @@
cat <<EOMSG
The phpldapadmin-suphp port has been deleted.
If you are not upgrading and don't intend to use
-phpLDAPadmin any more then you may wish to delete
+phpldapadmin any more then you may wish to delete
the %%PLA_USR%% account, which can be done with
the following command:
diff -Nur /usr/ports/net/phpldapadmin/files/pkg-install.in phpldapadmin/files/pkg-install.in
--- /usr/ports/net/phpldapadmin/files/pkg-install.in 2008-03-09 04:45:38.000000000 +0000
+++ phpldapadmin/files/pkg-install.in 2009-12-20 08:55:19.000000000 +0000
@@ -7,98 +7,13 @@
pla_dir=%%WWWDIR%%
pla_usr=%%PLA_USR%%
-pla_uid=%%PLA_UID%%
pla_grp=%%PLA_GRP%%
-pla_gid=%%PLA_GID%%
-
-pla_gcos="%%PLA_GCOS%%"
-pla_home=%%PLA_HOME%%
-pla_shell=%%PLA_SHELL%%
-
-create_group() {
- local user uid group gid gcos home shell
-
- user=$1
- uid=$2
- group=$3
- gid=$4
- gcos=$5
- home=$6
- shell=$7
-
-
- if pw group show -n $group >/dev/null 2>&1 ; then
- echo "===> Using pre-existing group $group"
- else
- if pw groupadd -n $group -g $gid ; then
- echo "===> Group $group created"
- else
- cat <<-EOERRORMSG
- *** Failed to create the $group group.
-
- Please add the $user user and $group group
- manually with the commands:
-
- pw groupadd -n $group -g $gid
- pw useradd -n $user -u $uid -g $group -c "$gcos" \\
- -d $home -s $shell -h -
-
- and retry installing this package.
- EOERRORMSG
- exit 1
- fi
- fi
-
-}
-
-
-create_user() {
- local user uid group gid gcos home shell
-
- user=$1
- uid=$2
- group=$3
- gid=$4
- gcos=$5
- home=$6
- shell=$7
-
- if pw user show -n $user >/dev/null 2>&1 ; then
- echo "===> Using pre-existing user $user"
- else
- if pw useradd -n $user -u $uid -g $group -c "$gcos" \
- -d $home -s $shell -h - ; then
- echo "===> Created $user user"
- else
- cat <<-EOERRORMSG
- *** Failed to create the $user user.
-
- Please add the $user user manually with the command:
-
- pw useradd -n $user -u $uid -g $group -c "$gcos" \\
- -d $home -s $shell -h -
-
- and retry installing this package.
- EOERRORMSG
- exit 1
- fi
- fi
-}
case $2 in
- PRE-INSTALL)
-
- # Create the pla user and group if they do not already exist
- create_group $pla_usr $pla_uid $pla_grp $pla_gid \
- "$pla_gcos" $pla_home $pla_shell
- create_user $pla_usr $pla_uid $pla_grp $pla_gid \
- "$pla_gcos" $pla_home $pla_shell
- ;;
-
POST-INSTALL)
- # Change ownership of the phpMyAdm directory
+ # Change ownership of the phpldapadmin directory
echo "===> Adjusting file ownership in $pla_dir"
chown -R $pla_usr:$pla_grp $pla_dir || exit 1
--- phpldapadmin.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list