# # This mkbuild is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or any later version. # # This mkbuild is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # #-------------------- # Personal variables #-------------------- # Author name [[SLACKBUILD AUTHOR]]="Silvio Rhatto" # Initials author name [[SLACKBUILD AUTHOR INITIALS]]="rha" #------------------------ # Construction Variables #------------------------ # Dependency list input [[SLACK REQUIRED]]="rssh" # SlackBuild model [[SLACKBUILD MODEL]]="generic.mkSlackBuild" # SlackBuild PATH in Slack.Sarava tree [[SLACKBUILD PATH]]="app/shells/rssh-chroot" [[REST OF DOINST.SH]]="( echo Please check if $CHROOT_BASE/dev/null was correctly created )" # TODO: remove this when mkbuild became able to run without it [[DOWNLOAD FOLDER URL]]="http://downloads.sourceforge.net/rssh/rssh-2.3.2.tar.gz" [[PACKAGE NAME]]="rssh-chroot" #--------------------- # SlackBuild Sections #--------------------- # Default sections: # head, set_variables, slkflags, start_structure, untar_source, # make_package, install_package, build_package # Warning: don't remove '#>>' and "#<<" tags. #>> Start SlackBuild Sections: on: head on: slackbuildrc on: set_variables off: slkflags on: error_codes on: start_structure off: create_build_user_and_group off: download_source off: md5sum_download_and_check_0 off: md5sum_download_and_check_1 off: gpg_signature_check on: manifest_check off: untar_source off: patch_source off: configure on: make_package off: install_package off: strip_binaries off: compress_manpages off: compress_info_files off: install_documentation on: slackdesc off: move_config_files on: postinstall_script on: slack_required on: build_package on: clean_builds #<< End SlackBuild Sections #------------------ # Sections changes #------------------ #>slackdesc rssh-chroot: rssh-chroot: a chroot jail to use with rssh restricted secure shell rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: rssh-chroot: #make_package # Adjust to where your rssh chroot system will be located CHROOT_BASE="/var/users" mkdir -p $PKG/$CHROOT_BASE/{bin,etc,lib,lib/tls,usr/lib,usr/libexec,usr/bin,usr/doc,home,dev} if [ "$ARCH" == "x86_64" ]; then mkdir -p $PKG/$CHROOT_BASE/{lib64/tls,usr/lib64} fi for ldfile in ld.so.cache ld.so.conf ld.so.preload; do if [ -f "/etc/$ldfile" ]; then cp /etc/$ldfile $PKG/$CHROOT_BASE/etc fi done # Inspired by http://www.howtoforge.com/chrooted_ssh_howto_debian_p2 APPS="/usr/bin/rssh /usr/bin/scp /usr/libexec/sftp-server /usr/libexec/rssh_chroot_helper" for app in $APPS; do cp $app $PKG/$CHROOT_BASE/$app # Get a list of related libraries ldd $app > /dev/null if [ "$?" = 0 ] ; then libs="`ldd $app | sed -e 's/=>//' -e 's/(.*)//' | awk '{ print $1 "\n" $2 }'`" for lib in $libs; do if [ -a "$lib" ]; then mkdir -p $PKG/$CHROOT_BASE/`dirname $lib` > /dev/null 2>&1 cp $lib $PKG/$CHROOT_BASE/$lib fi done fi done # Might not work inside vservers echo "Trying to create /dev/null inside this jail..." echo "May not work if you're creating this package inside a vserver" mknod -m 666 $PKG/$CHROOT_BASE/dev/null c 1 3 || exit $ERROR_INSTALL mkdir -p $PKG/usr/doc/$PACKAGE-$VERSION cp $CWD/COPYING* $PKG/usr/doc/$PACKAGE-$VERSION/ chmod 755 $PKG/$CHROOT_BASE/{bin,etc,lib,lib/tls,usr/lib,usr/libexec,usr/bin,usr/doc,dev} chmod 111 $PKG/$CHROOT_BASE/home #