diff options
author | 2007-04-23 13:20:41 +0000 | |
---|---|---|
committer | 2007-04-23 13:20:41 +0000 | |
commit | d672cab51e3376a5f117a1b35896d2c6b833217c (patch) | |
tree | 639021e71cf924752e8e234cc05fb4c133f78e1b /net-misc/scponly | |
parent | Unmask qa and inquisitio use flags. (diff) | |
download | gentoo-2-d672cab51e3376a5f117a1b35896d2c6b833217c.tar.gz gentoo-2-d672cab51e3376a5f117a1b35896d2c6b833217c.tar.bz2 gentoo-2-d672cab51e3376a5f117a1b35896d2c6b833217c.zip |
Fixed chroot setup problem, bug #172822.
(Portage version: 2.1.2.4)
Diffstat (limited to 'net-misc/scponly')
-rw-r--r-- | net-misc/scponly/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/scponly/files/digest-scponly-4.6-r2 | 3 | ||||
-rw-r--r-- | net-misc/scponly/scponly-4.6-r2.ebuild | 147 |
3 files changed, 157 insertions, 2 deletions
diff --git a/net-misc/scponly/ChangeLog b/net-misc/scponly/ChangeLog index 72b6004ee9df..99e37cdbef7e 100644 --- a/net-misc/scponly/ChangeLog +++ b/net-misc/scponly/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-misc/scponly -# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/scponly/ChangeLog,v 1.27 2006/09/14 16:51:27 matsuu Exp $ +# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/scponly/ChangeLog,v 1.28 2007/04/23 13:20:41 matsuu Exp $ + +*scponly-4.6-r2 (23 Apr 2007) + + 23 Apr 2007; MATSUU Takuto <matsuu@gentoo.org> +scponly-4.6-r2.ebuild: + Fixed chroot setup problem, bug #172822. 14 Sep 2006; MATSUU Takuto <matsuu@gentoo.org> -scponly-4.6.ebuild, scponly-4.6-r1.ebuild: diff --git a/net-misc/scponly/files/digest-scponly-4.6-r2 b/net-misc/scponly/files/digest-scponly-4.6-r2 new file mode 100644 index 000000000000..7db9b807bbdd --- /dev/null +++ b/net-misc/scponly/files/digest-scponly-4.6-r2 @@ -0,0 +1,3 @@ +MD5 0425cb868cadd026851238452f1db907 scponly-4.6.tgz 96578 +RMD160 c30d4b02314b53dce54d2f3f8e531c18792c7f60 scponly-4.6.tgz 96578 +SHA256 dfa5a334d66150289a391aea4dc00d1b039c644fd1c628bdeddaa7b0710e01a7 scponly-4.6.tgz 96578 diff --git a/net-misc/scponly/scponly-4.6-r2.ebuild b/net-misc/scponly/scponly-4.6-r2.ebuild new file mode 100644 index 000000000000..fcbe8f3af8e4 --- /dev/null +++ b/net-misc/scponly/scponly-4.6-r2.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/scponly/scponly-4.6-r2.ebuild,v 1.1 2007/04/23 13:20:41 matsuu Exp $ + +inherit eutils + +DESCRIPTION="A tiny pseudoshell which only permits scp and sftp" +HOMEPAGE="http://www.sublimation.org/scponly/" +SRC_URI="http://www.sublimation.org/scponly/${P}.tgz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="subversion" + +DEPEND="virtual/libc + net-misc/openssh + subversion? ( dev-util/subversion )" + +myuser="scponly" +myhome="/home/${myuser}" + +src_unpack() { + unpack ${A} + cd "${S}" + # Bug 125796 + epatch "${FILESDIR}"/${P}-helper.patch +} + +src_compile() { + PATH="${PATH}:/usr/$(get_libdir)/misc" \ + econf \ + --enable-scp-compat \ + --enable-winscp-compat \ + --enable-rsync-compat \ + --enable-chrooted-binary \ + $(use_enable subversion svn-compat) \ + $(use_enable subversion svnserv-compat) \ + || die "./configure failed" + emake || die +} + +src_install() { + make DESTDIR="${D}" install || die + + dodoc AUTHOR BUILDING-JAILS.TXT CHANGELOG CONTRIB README TODO + dodoc setup_chroot.sh +} + +pkg_postinst() { + einfo "You might want to run:" + einfo "\"emerge --config =${CATEGORY}/${PF}\"" + einfo "to setup the chroot." + einfo "Otherwise you will have to setup chroot manually." + + # two slashes ('//') are used by scponlyc to determine the chroot point. + enewgroup ${myuser} + enewuser ${myuser} -1 /usr/sbin/scponlyc ${myhome}// ${myuser} +} + +pkg_config() { + # pkg_postinst is based on ${S}/setup_chroot.sh. + + einfo "Updating /etc/shells" + { grep -v "^/usr/bin/scponly$" /etc/shells; + echo "/usr/bin/scponly" + } > ${T}/shells + cp ${T}/shells /etc/shells + + { grep -v "^/usr/sbin/scponlyc$" /etc/shells; + echo "/usr/sbin/scponlyc" + } > ${T}/shells + cp ${T}/shells /etc/shells + + BINARIES="/usr/$(get_libdir)/misc/sftp-server /bin/ls /usr/bin/scp /bin/rm /bin/ln /bin/mv /bin/chmod /bin/chown /bin/chgrp /bin/mkdir /bin/rmdir /bin/pwd /bin/groups /usr/bin/ld /bin/echo /usr/bin/rsync" + if built_with_use ${PN} subversion; then + BINARIES="$BINARIES /usr/bin/svn /usr/bin/svnserve" + fi + LIB_LIST=`ldd $BINARIES 2> /dev/null | cut -f2 -d\> | cut -f1 -d\( | grep "^[ ]" | sort -u` + LDSO_LIST="/$(get_libdir)/ld.so /libexec/ld-elf.so /libexec/ld-elf.so.1 /usr/libexec/ld.so /$(get_libdir)/ld-linux.so.2 /usr/libexec/ld-elf.so.1" + for lib in $LDSO_LIST; do + if [ -f $lib ]; then + LIB_LIST="$LIB_LIST $lib" + fi + done + ls /$(get_libdir)/libnss_compat* > /dev/null 2>&1 + if [ $? -eq 0 ]; then + LIB_LIST="$LIB_LIST /$(get_libdir)/libnss_compat*" + fi + + ldconfig + LIB_LIST="$LIB_LIST /etc/ld.so.cache /etc/ld.so.conf" + + if [ ! -d ${myhome} ]; then + install -c -d ${myhome} + chmod 755 ${myhome} + fi + if [ ! -d ${myhome} ]; then + install -c -d ${myhome}/etc + chown 0:0 ${myhome}/etc + chmod 755 ${myhome}/etc + fi + if [ ! -d ${myhome}/$(get_libdir) ]; then + install -c -d ${myhome}/$(get_libdir) + chmod 755 ${myhome}/$(get_libdir) + fi + if [ ! -d ${myhome}/lib ]; then + ln -s $(get_libdir) ${myhome}/lib + fi + if [ ! -d ${myhome}/usr/$(get_libdir) ]; then + install -c -d ${myhome}/usr/$(get_libdir) + chmod 755 ${myhome}/usr/$(get_libdir) + fi + if [ ! -d ${myhome}/usr/lib ]; then + ln -s $(get_libdir) ${myhome}/usr/lib + fi + + for bin in $BINARIES; do + install -c -d ${myhome}/`/bin/dirname $bin` + install -c $bin ${myhome}/$bin + done + for lib in $LIB_LIST; do + install -c -d ${myhome}/`/bin/dirname $lib` + install -c $lib ${myhome}/$lib + done + + chown 0:0 ${myhome} + if [ -d ${myhome}/.ssh ]; then + chown 0:0 ${myhome}/.ssh + fi + + if [ ! -d ${myhome}/incoming ]; then + einfo "creating ${myhome}/incoming directory for uploading files" + install -c -o ${myuser} -d ${myhome}/incoming + fi + chown $myuser:$myuser ${myhome}/incoming + + if [ ! -e ${myhome}/etc/passwd ]; then + grep "^${myuser}" /etc/passwd > ${myhome}/etc/passwd + fi + + # Bug 135505 + if [ ! -e ${myhome}/dev/null ]; then + install -c -d ${myhome}/dev + mknod -m 777 ${myhome}/dev/null c 1 3 + fi +} |