1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

- Switch to using bsd.ports.options.mk -

- 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.

PR:		141804 141803
Submitted by:	Matthew Seaman <m.seaman@infracaninophile.co.uk> (maintainer)
This commit is contained in:
Martin Wilke 2009-12-24 20:50:22 +00:00
parent 64963158c7
commit 9cb8c6f736
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=246552
6 changed files with 60 additions and 301 deletions

View File

@ -21,6 +21,10 @@ USE_PHP= gettext ldap openssl pcre session xml iconv hash
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 @@ WANT_PHP_WEB= yes
.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
USERS?= _pla
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}
SUB_LIST+= PLA_USR=${USERS} \
PLA_GRP=${GROUPS}
SUB_FILES+= pkg-install pkg-deinstall
.endif
@ -64,67 +58,44 @@ SUB_FILES+= pkg-install pkg-deinstall
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 @@ post-install:
.endif
${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin/files/pkg-deinstall.in,v 1.2 2008-03-09 04:45:38 rafan Exp $
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin/files/pkg-deinstall.in,v 1.3 2009-12-24 20:50:22 miwi Exp $
#
case $2 in
@ -8,7 +8,7 @@ case $2 in
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:

View File

@ -1,104 +1,19 @@
#!/bin/sh
#
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin/files/pkg-install.in,v 1.2 2008-03-09 04:45:38 rafan Exp $
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin/files/pkg-install.in,v 1.3 2009-12-24 20:50:22 miwi Exp $
#
PATH=/usr/sbin:/usr/bin:/bin ; export PATH
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

View File

@ -19,6 +19,10 @@ NO_BUILD= yes
USE_PHP= gettext ldap openssl pcre session
DEFAULT_PHP_VER= 4
OPTIONS= SUPHP "suPHP support" off
.include <bsd.port.options.mk>
.if defined(WITH_SUPHP) && !defined(WITHOUT_SUPHP)
PKGNAMESUFFIX+= -suphp
@ -31,30 +35,20 @@ WANT_PHP_WEB= yes
.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
USERS?= _pla
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}
SUB_LIST+= PLA_USR=${USERS} \
PLA_GRP=${GROUPS}
SUB_FILES+= pkg-install pkg-deinstall
.endif
@ -62,68 +56,45 @@ SUB_FILES+= pkg-install pkg-deinstall
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 will operate with either PHP4 or PHP5."
${ECHO_MSG} "However, for best results with PHP5 please use the"
${ECHO_MSG} "net/phpldapadmin 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
@ -133,4 +104,4 @@ post-install:
.endif
${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -1,104 +1,18 @@
#!/bin/sh
#
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin098/files/Attic/pkg-install.in,v 1.2 2008-03-09 04:45:39 rafan Exp $
# $FreeBSD: /tmp/pcvs/ports/net/phpldapadmin098/files/Attic/pkg-install.in,v 1.3 2009-12-24 20:50:22 miwi Exp $
#
PATH=/usr/sbin:/usr/bin:/bin ; export PATH
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 phpldapadm directory
echo "===> Adjusting file ownership in $pla_dir"
chown -R $pla_usr:$pla_grp $pla_dir || exit 1

View File

@ -19,15 +19,3 @@ you add something like the following to httpd.conf:
Allow from 127.0.0.1 .example.com
</Directory>
Please note: if you are upgrading from version 0.9.7 or earlier, the
layout of the %%PKGNAME%% files has been completely reworked. You will
need to modify your apache configuration and merge the settings from
your original configuration file:
%%WWWDIR%%/config.php
to
%%WWWDIR%%/config/config.php