aboutsummaryrefslogtreecommitdiff
path: root/app/shells/rssh/rssh.SlackBuild
blob: 13775ebd7c60bd0c4dd8e4eed27a456a4633acf2 (plain)
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
#!/bin/bash
#
# 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.sig $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