1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
#!/bin/bash
#
# rssh.SlackBuild 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.
#
# rssh.SlackBuild 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
#
# slackbuild for rssh
#
if [ -s "slack-required" ]; then
echo Recomended and required packages for building rssh are:
cat slack-required | sed -e 's/^/\t/'
if [ "$INTERACT" != "no" ]; then
echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
read crap
# else
# echo Sleeping 3 seconds...
# sleep 3
fi
fi
CWD="`pwd`"
if [ -f ~/.slackbuildrc ]; then
source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
source /etc/slackbuildrc
fi
# default settings
PRGNAM="rssh"
PACKAGE="$PRGNAM"
ARCH=${ARCH:=i486}
VERSION=${VERSION:=2.3.2}
BUILD=${BUILD:=2rha}
SRC_DIR=${SRC:=$CWD}
TMP=${TMP:=/tmp}
REPOS=${REPOS:=$TMP}
# ------- error codes for createpkg --------------
ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
ERROR_PATCH=40
if [ "$ARCH" == "x86_64" ]; then
LIBDIR=/usr/lib64
else
LIBDIR=/usr/lib
fi
PACKAGE_EXT="gz"
KEY="http://www.pizzashack.org/ddmkey.txt"
SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
RTOOL="wget"
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
fi
SRC_DIR="$SRC_DIR/$PACKAGE"
mkdir -p $SRC_DIR
if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET
fi
if [ ! -f "$SRC_DIR/$PACKAGE-key.asc" ]; then
# $KEY url seens broken
# wget "$KEY" -O "$SRC_DIR/$PACKAGE-key.asc" && gpg --import $SRC_DIR/$PACKAGE-key.asc
gpg --import <<EOGPG
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)
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
xu6I00NvAJwJeUXDTl3izErhyjY8haSynXuEbw==
=cblu
-----END PGP PUBLIC KEY BLOCK-----
EOGPG
fi
gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG
TMP="$TMP/$PACKAGE"
rm -rf $TMP
mkdir -p $TMP
cd $TMP
rm -rf $PACKAGE-$VERSION $PACKAGE-$VERSION-$ARCH-$BUILD.tgz
tar xvf $SRC_DIR/$PACKAGE-$VERSION.tar.$PACKAGE_EXT || exit $ERROR_TAR
cd $PACKAGE-$VERSION
# small fix for Makefile correctly honour DESTDIR
sed -e 's/chmod u+s \$(libexecdir)\/rssh_chroot_helper/chmod u+s \$(DESTDIR)\$(libexecdir)\/rssh_chroot_helper/' \
Makefile.in > Makefile.in.new && mv Makefile.in.new Makefile.in
./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
make || exit $ERROR_MAKE
make install DESTDIR=$TMP/package-$PACKAGE || exit $ERROR_INSTALL
CWD="`pwd`"
mkdir -p $TMP/package-$PACKAGE/install
cd $TMP/package-$PACKAGE
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mv etc/rssh.conf etc/rssh.conf.new
cat << EOF > install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler-----------------------------------------------------|
rssh: rssh: restricted shell for ssh connections
rssh:
rssh: rssh is a restricted shell for use with OpenSSH, allowing only scp
rssh: and/or sftp. It now also includes support for rdist, rsync, and cvs.
rssh: For example, if you have a server which you only want to allow users
rssh: to copy files off of via scp, without providing shell access, you
rssh: can use rssh to do that.
rssh:
rssh:
rssh:
rssh:
EOF
# docs
mkdir -p usr/doc/$PACKAGE-$VERSION
cp $CWD/{AUTHORS,CHROOT,COPYING,ChangeLog,INSTALL,LICENSE,NEWS,README,SECURITY,TODO} usr/doc/$PACKAGE-$VERSION/
# install script
echo '( if [ ! -f "etc/rssh.conf" ]; then mv etc/rssh.conf.new etc/rssh.conf; fi )' > install/doinst.sh
makepkg -c y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
if [ "$CLEANUP" == "yes" ]; then
rm -rf $TMP
fi
|