VER=1.93 help: : enter "make compile" to compile binaries "(will appear in builddir/)" : enter "make install PREFIX=..." to install... : enter "make maemodeb" to make Nokia 770 package "(in scratchbox)" .PHONY: ALWAYS compile: builddir/revsh builddir/revsh-tunnel-gui builddir: mkdir builddir builddir/revsh: builddir revsh.c sh revsh.c && mv revsh builddir builddir/revsh-tunnel-gui: builddir revsh-tunnel-gui.c sh revsh-tunnel-gui.c && mv revsh-tunnel-gui builddir chkprefix: ALWAYS @[ x"$(PREFIX)" != x ] \ || { sed -n 's/^#prefix: \?//p;' Makefile; false; } @[ -d "$(PREFIX)/bin" ] || mkdir -m 755 -p "$(PREFIX)/bin" #prefix: #prefix: Can not install: PREFIX missing. #prefix: #prefix: try for example: `make install PREFIX=/usr/local' #prefix: install: chkprefix compile cp builddir/revsh $(PREFIX)/bin cp revcp $(PREFIX)/bin cp builddir/revsh-tunnel-gui $(PREFIX)/bin # [builddir/]debian/rules launches this. maemo-install: rm -rf $(DESTDIR) mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/lib mkdir -p $(DESTDIR)/usr/share/applications/hildon mkdir -p $(DESTDIR)/usr/share/dbus-1/services cp builddir/revsh $(DESTDIR)/usr/lib/revsh.bin echo '#!/bin/sh' > $(DESTDIR)/usr/bin/revsh ;\ echo 'source /usr/bin/connectivity_preload.sh' >> $(DESTDIR)/usr/bin/revsh ;\ echo 'exec /usr/lib/revsh.bin "$$@"' >> $(DESTDIR)/usr/bin/revsh ;\ chmod 755 $(DESTDIR)/usr/bin/revsh cp revcp $(DESTDIR)/usr/bin cp builddir/revsh-tunnel-gui $(DESTDIR)/usr/bin sed -n 's/^#desktop: //;T;s/ *$$//;p' Makefile > $(DESTDIR)/usr/share/applications/hildon/revsh.desktop sed -n 's/^#dbusrvc: //;T;s/ *$$//;p' Makefile > $(DESTDIR)/usr/share/dbus-1/services/revsh.service # Note, now these desktop and service files are used to get the software # to Extras menu in Nokia 770. After program is launched it escapes from # the launcher by fork(), setsid() and _exit() #desktop: [Desktop Entry] #desktop: Encoding=UTF-8 #desktop: Version=1.0 #desktop: Type=Application #desktop: Name=RevSH Tunnel #desktop: Exec=/usr/bin/revsh-tunnel-gui #desktop: X-Osso-Service=invalid.nodomain.revsh #desktop: Icon=qgn_list_btno_gen_computer ### ---- ###desktop: Terminal=false ###desktop: X-Osso-Type=application/x-executable ###desktop: X-HildonDesk-ShowInToolbar=true ###desktop: # FIXME Icon ###desktop: #Icon=qgn_list_home #dbusrvc: [D-BUS Service] #dbusrvc: Name=invalid.nodomain.revsh #dbusrvc: Exec=/usr/bin/revsh-tunnel-gui maemodeb: builddir/debian dpkg-buildpackage -rfakeroot builddir/debian: builddir ALWAYS sed -n '/^debianfiles:/,/^ *$$/ p' Makefile | tail +3 | sh -ve #-nv debianfiles: exit 1 # this target is not to be run. : [ ! -h debian ] || rm debian rm -rf builddir/debian; mkdir builddir/debian; ln -s builddir/debian debian echo 4 > builddir/debian/compat cp copyright builddir/debian #echo /usr/share/applications/hildon/revsh-tunnel-gui.desktop \ # /etc/others-menu/1401_revsh-tunnel-gui.desktop \ # > builddir/debian/revsh.links cut -d: -f3- > builddir/debian/changelog <<- EOF : :revsh (1.93) unstable; urgency=low : : : : * For now, check "SvnLog" for changes. : : : : -- Tomi Ollila `tail -1 SvnVersion` : : EOF cut -d: -f3- > builddir/debian/control <<- EOF : :Source: revsh : :Section: user/accessories : :Priority: optional : :Maintainer: Tomi Ollila : :Uploaders: Tomi Ollila : :Build-Depends: debhelper (>= 4.0.0), libglib2.0-dev : :Standards-Version: 3.6.1 : : : :Package: revsh : :Architecture: any : :Provides: reverse-shell : :Description: Reverse Shell : : A tool to create Secure/Remote shell tunnel and then start : : commands/shells on tunnel destination machine to be executed : : on tunnel originating machine. EOF cut -d: -f3- > builddir/debian/rules <<- 'EOF' : :#!/usr/bin/make -f : : : :build: build-stamp : :build-stamp: : : dh_testdir : : $(MAKE) compile : : touch build-stamp : : : :clean: : : dh_testdir : : dh_testroot : : -rm -f configure-stamp build-stamp : : -$(MAKE) binclean : : -test -r /usr/share/misc/config.sub && \ : : cp -f /usr/share/misc/config.sub config.sub : : -test -r /usr/share/misc/config.guess && \ : : cp -f /usr/share/misc/config.guess config.guess : : dh_clean : : : :install: build : : dh_testdir : : dh_testroot : : $(MAKE) maemo-install DESTDIR=`pwd`/builddir/debian/revsh : : : :binary-indep: build install : :binary-arch: build install : : dh_testdir : : dh_testroot : : dh_link -a : : dh_strip -a : : dh_compress -a : : dh_fixperms -a : : dh_installdeb -a : : dh_shlibdeps -a : : dh_gencontrol -a : : dh_md5sums -a : : dh_builddeb -a : : : :binary: binary-indep binary-arch : :.PHONY: build clean binary-indep binary-arch binary install EOF SvnLog: ALWAYS ( echo "# Created using svn -v log" | tr '\012' ' ';\ echo "| sed -n -e '\$${x;p;x;p;q};/^--*\$$/{x;/./p;d};x;p'" ;\ echo '# This file is not version controlled' ;\ echo ;\ svn -v log -r HEAD:724 \ | sed -n -e '$${x;p;x;p;q};/^--*$$/{x;/./p;d};x;p') > $@ SvnVersion: ALWAYS svn up svnversion .> $@ svn log --limit 1 | sed -n \ '2s/.* \([0-9]*:[0-9]*:[0-9]* [^ ]*\) (\(.*\)).*/\2 \1/p' \ >> $@ dist: clean SvnVersion SvnLog export VER=$(VER) ;\ sed -n '/^dist.sh:/,/^ *$$/ p' Makefile | tail +3 | sh -ve #-nv dist.sh: exit 1 # this target is not to be run. : pwd=`pwd`; thisdir=`basename $pwd`; #ver=$VER-r`head -1 SvnVersion` ver=$VER cd .. dl () { [ ! -h revsh-$ver ] || rm -f revsh-$ver; } trap dl 0 ln -s revsh revsh-$ver tar --exclude .svn -zcvf revsh-$ver.tar.gz \ `sed "s/^/revsh-$ver\//" revsh/MANIFEST` mv revsh-$ver.tar.gz revsh binclean: rm builddir/* || true clean distclean: [ ! -h debian ] || rm debian rm -rf builddir