diff options
author | bapt <bapt@FreeBSD.org> | 2014-03-07 01:56:19 +0800 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2014-03-07 01:56:19 +0800 |
commit | d14bba6027fb53f457434da9d46c701a68d86889 (patch) | |
tree | 81f5de5a1b171ac554b48f95d7818aa36e9b793d /shells/scponly | |
parent | e42cab0810a66f6641eab943159d2e67fcfdb393 (diff) | |
download | freebsd-ports-gnome-d14bba6027fb53f457434da9d46c701a68d86889.tar.gz freebsd-ports-gnome-d14bba6027fb53f457434da9d46c701a68d86889.tar.zst freebsd-ports-gnome-d14bba6027fb53f457434da9d46c701a68d86889.zip |
Support stage
Use options helpers
Diffstat (limited to 'shells/scponly')
-rw-r--r-- | shells/scponly/Makefile | 136 | ||||
-rw-r--r-- | shells/scponly/pkg-plist | 23 |
2 files changed, 39 insertions, 120 deletions
diff --git a/shells/scponly/Makefile b/shells/scponly/Makefile index 9267db3720ec..777963332951 100644 --- a/shells/scponly/Makefile +++ b/shells/scponly/Makefile @@ -11,9 +11,7 @@ DISTNAME= ${PORTNAME}-20110526 EXTRACT_SUFX= .tgz MAINTAINER= gjb@FreeBSD.org -COMMENT= A tiny shell that only permits scp and sftp - -MAN8= scponly.8 +COMMENT= Tiny shell that only permits scp and sftp PORTDOCS= BUILDING-JAILS.TXT INSTALL README SECURITY @@ -32,120 +30,40 @@ SVNSERVE_DESC= Suversion support for svn+ssh:// UNISON_DESC= Unisson support WINSCP_DESC= WinSCP support -NO_STAGE= yes -.include <bsd.port.options.mk> - -.if(!exists(/usr/bin/sftp)) -RUN_DEPENDS+= sftp:${PORTSDIR}/security/openssh-portable -BUILD_DEPENDS+= sftp:${PORTSDIR}/security/openssh-portable -.endif - -.if ${PORT_OPTIONS:MDEFAULT_CHDIR} -CONFIGURE_ARGS+=--with-default-chdir=${SCPONLY_DEFAULT_CHDIR} -.endif - -.if ${PORT_OPTIONS:MWILDCARDS} -CONFIGURE_ARGS+=--enable-wildcards -.else -CONFIGURE_ARGS+=--disable-wildcards -.endif - -.if ${PORT_OPTIONS:MGFTP} -CONFIGURE_ARGS+=--enable-gftp-compat -.else -CONFIGURE_ARGS+=--disable-gftp-compat -.endif - -.if ${PORT_OPTIONS:MCHROOT} -PLIST_SUB+= SCPONLY_CHROOT="" -CONFIGURE_ARGS+=--enable-chrooted-binary -USE_RC_SUBR+= scponlyc -.else -PLIST_SUB+= SCPONLY_CHROOT="@comment " -.endif - -.if ${PORT_OPTIONS:MRSYNC} -BUILD_DEPENDS+= rsync:${PORTSDIR}/net/rsync -CONFIGURE_ARGS+=--enable-rsync-compat -.else -CONFIGURE_ARGS+=--disable-rsync-compat -.endif - -.if ${PORT_OPTIONS:MSCP} -CONFIGURE_ARGS+=--enable-scp-compat -.else -CONFIGURE_ARGS+=--disable-scp-compat -.endif - -.if ${PORT_OPTIONS:MSVN} -CONFIGURE_ARGS+=--enable-svn-compat -.else -CONFIGURE_ARGS+=--disable-svn-compat -.endif - -.if ${PORT_OPTIONS:MSVNSERVE} -CONFIGURE_ARGS+=--enable-svnserv-compat -.else -CONFIGURE_ARGS+=--disable-svnserv-compat -.endif - -.if ${PORT_OPTIONS:MUNISON} -BUILD_DEPENDS+= unison:${PORTSDIR}/net/unison -CONFIGURE_ARGS+=--enable-unison-compat -.else -CONFIGURE_ARGS+=--disable-unison-compat -.endif - -.if ${PORT_OPTIONS:MWINSCP} -CONFIGURE_ARGS+=--enable-winscp-compat -.else -CONFIGURE_ARGS+=--disable-winscp-compat -.endif - -# svn, svnlook ... are per default in subversion -# only check for one of them! -.if ${PORT_OPTIONS:MSVN} || ${PORT_OPTIONS:MSVNSERVE} -BUILD_DEPENDS+= svn:${PORTSDIR}/devel/subversion -.endif - -RUN_DEPENDS:= ${BUILD_DEPENDS} +OPTIONS_SUB= yes + +BUILD_DEPENDS= sftp:${PORTSDIR}/security/openssh-portable +DEFAULT_CHDIR_CONFIGURE_ON= --with-default-chdir=${SCPONLY_DEFAULT_CHDIR} +WILDCARDS_CONFIGURE_ENABLE= --enable-wildcards +GFTP_CONFIGURE_ENABLE= --enable-gftp-compat +CHROOT_CONFIGURE_ENABLE= --enable-chrooted-binary +CHROOT_USE= RC_SUBR=scponlyc +RSYNC_BUILD_DEPENDS= rsync:${PORTSDIR}/net/rsync +RSYNC_CONFIGURE_ENABLE= --enable-rsync-compat +SCP_CONFIGURE_ENABLE= --enable-scp-compat +SVN_CONFIGURE_ENABLE= --enable-svn-compat +SVN_BUILD_DEPENDS= svn:${PORTSDIR}/devel/subversion +SVNSERVE_BUILD_DEPENDS= svn:${PORTSDIR}/devel/subversion +SVNSERVE_CONFIGURE_ENABLE= --enable-svnserv-compat +UNISON_BUILD_DEPENDS= unison:${PORTSDIR}/net/unison +UNISON_CONFIGURE_ENABLE= --enable-unison-compat +WINSCP_CONFIGURE_ENABLE= --enable-winscp-compat + +RUN_DEPENDS= ${BUILD_DEPENDS} post-patch: @${ECHO_MSG} "In addition to knobs available from the OPTIONS dialog," @${ECHO_MSG} "you may set SCPONLY_DEFAULT_CHDIR to make users 'cd' to" @${ECHO_MSG} "this directory after authentication." + @${REINPLACE_CMD} -e "s/-o 0 -g 0//g" ${WRKSRC}/Makefile.in post-install: - @${ECHO_MSG} "Updating /etc/shells" - @${CP} /etc/shells /etc/shells.bak - @(${GREP} -v ${PREFIX}/bin/scponly /etc/shells.bak; \ - ${ECHO_CMD} ${PREFIX}/bin/scponly) > /etc/shells - @${RM} /etc/shells.bak -.if ${PORT_OPTIONS:MCHROOT} - @${CP} /etc/shells /etc/shells.bak - @(${GREP} -v ${PREFIX}/sbin/scponlyc /etc/shells.bak; \ - ${ECHO_CMD} ${PREFIX}/sbin/scponlyc) > /etc/shells - @${RM} /etc/shells.bak - @${MKDIR} ${EXAMPLESDIR} - @${INSTALL_SCRIPT} ${WRKSRC}/setup_chroot.sh ${EXAMPLESDIR} - @${INSTALL_DATA} ${WRKSRC}/config.h ${EXAMPLESDIR} - @${ECHO_MSG} "" - @${ECHO_MSG} "To setup chroot cage, run the following commands:" - @${ECHO_MSG} " 1) cd ${EXAMPLESDIR}/ && ${SH} setup_chroot.sh" - @${ECHO_MSG} " 2) Set scponlyc_enable=\"YES\" in /etc/rc.conf" - @${ECHO_MSG} " 3) Run ${PREFIX}/etc/rc.d/scponly start" - @${ECHO_MSG} "" -.endif -.if ${PORT_OPTIONS:MDOCS} - @${MKDIR} ${DOCSDIR} + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_SCRIPT} ${WRKSRC}/setup_chroot.sh ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/config.h ${STAGEDIR}${EXAMPLESDIR} + @${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in ${PORTDOCS} - @${INSTALL_DATA} ${WRKSRC}/$i ${DOCSDIR} + @${INSTALL_DATA} ${WRKSRC}/$i ${STAGEDIR}${DOCSDIR} .endfor - @${ECHO_MSG} "" - @${ECHO_MSG} "For information on several potential security concerns," - @${ECHO_MSG} "please read:" - @${ECHO_MSG} "${DOCSDIR}/SECURITY" - @${ECHO_MSG} "" -.endif .include <bsd.port.mk> diff --git a/shells/scponly/pkg-plist b/shells/scponly/pkg-plist index cc6d791f6921..744216e6a3cf 100644 --- a/shells/scponly/pkg-plist +++ b/shells/scponly/pkg-plist @@ -1,20 +1,21 @@ bin/scponly @exec echo "Updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells; rm -f /etc/shells.bak @unexec echo "Updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells; rm -f /etc/shells.bak -%%SCPONLY_CHROOT%%@exec echo "" -%%SCPONLY_CHROOT%%@exec echo "To setup chroot cage, run the following commands:" -%%SCPONLY_CHROOT%%@exec echo " 1) cd %%PREFIX%%/%%EXAMPLESDIR%%/ && /bin/sh setup_chroot.sh" -%%SCPONLY_CHROOT%%@exec echo " 2) Set scponlyc_enable=\"YES\" in /etc/rc.conf" -%%SCPONLY_CHROOT%%@exec echo " 3) Run %%PREFIX%%/etc/rc.d/scponly start" +%%CHROOT%%@exec echo "" +%%CHROOT%%@exec echo "To setup chroot cage, run the following commands:" +%%CHROOT%%@exec echo " 1) cd %%PREFIX%%/%%EXAMPLESDIR%%/ && /bin/sh setup_chroot.sh" +%%CHROOT%%@exec echo " 2) Set scponlyc_enable=\"YES\" in /etc/rc.conf" +%%CHROOT%%@exec echo " 3) Run %%PREFIX%%/etc/rc.d/scponly start" %%PORTDOCS%%@exec echo "" %%PORTDOCS%%@exec echo "For information on several potential security concerns," %%PORTDOCS%%@exec echo "please read:" %%PORTDOCS%%@exec echo "%%PREFIX%%/%%DOCSDIR%%/SECURITY" -%%SCPONLY_CHROOT%%sbin/scponlyc -%%SCPONLY_CHROOT%%@exec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells; rm -f /etc/shells.bak -%%SCPONLY_CHROOT%%@unexec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells; rm -f /etc/shells.bak -%%SCPONLY_CHROOT%%%%EXAMPLESDIR%%/setup_chroot.sh -%%SCPONLY_CHROOT%%%%EXAMPLESDIR%%/config.h +%%CHROOT%%sbin/scponlyc +%%CHROOT%%@exec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells; rm -f /etc/shells.bak +%%CHROOT%%@unexec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells; rm -f /etc/shells.bak +%%CHROOT%%%%EXAMPLESDIR%%/setup_chroot.sh +%%CHROOT%%%%EXAMPLESDIR%%/config.h etc/scponly/debuglevel +man/man8/scponly.8.gz @dirrm etc/scponly -%%SCPONLY_CHROOT%%@dirrm %%EXAMPLESDIR%% +%%CHROOT%%@dirrm %%EXAMPLESDIR%% |