Preparations for packaging ShellInABox in a way that makes it easy for Debian package maintainers to pick it up.
git-svn-id: https://shellinabox.googlecode.com/svn/trunk@192 0da03de8-d603-11dd-86c2-0f8696b7b6f9
This commit is contained in:
parent
03886076e1
commit
fe2eb7e120
12 changed files with 138 additions and 17 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2009-11-29 Markus Gutschke <markus@shellinabox.com>
|
||||||
|
|
||||||
|
* Preparations for packaging ShellInABox in a way that makes it
|
||||||
|
easy for Debian package maintainers to pick it up.
|
||||||
|
|
||||||
2009-11-25 Markus Gutschke <markus@shellinabox.com>
|
2009-11-25 Markus Gutschke <markus@shellinabox.com>
|
||||||
|
|
||||||
* On browsers that support CSS transforms, enable switching between
|
* On browsers that support CSS transforms, enable switching between
|
||||||
|
|
118
commit
118
commit
|
@ -1,7 +1,11 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
# The script ensures that all commands succeed unless an error occurred. If it
|
||||||
|
# does though, the shell terminates the script and our exit handler runs.
|
||||||
trap 'tput bel || :; echo Failed! >&2' EXIT
|
trap 'tput bel || :; echo Failed! >&2' EXIT
|
||||||
|
|
||||||
|
# Ask the user a yes/no question. This function does not require the user to
|
||||||
|
# press ENTER after making a selection.
|
||||||
yes_no() {
|
yes_no() {
|
||||||
local c
|
local c
|
||||||
while :; do
|
while :; do
|
||||||
|
@ -32,30 +36,122 @@ yes_no() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Build Debian package and create all the files that are needed by the
|
||||||
|
# distribution maintainer.
|
||||||
|
debian_package() {
|
||||||
|
set -e
|
||||||
|
(
|
||||||
|
# Try to build the package. If things fail, let the exit handler remove all
|
||||||
|
# temporary files.
|
||||||
|
trap 'rm -rf "${prj}-${ver}" "${prj}_${ver}"*' EXIT
|
||||||
|
|
||||||
|
# Clean up any old temporary files
|
||||||
|
rm -rf "${prj}-${ver}" "${prj}_${ver}"*
|
||||||
|
|
||||||
|
# Extract the distribution source archive
|
||||||
|
tar zfx "${prj}-${ver}.tar.gz"
|
||||||
|
|
||||||
|
# We want to ship the "debian" directory with the source archive that
|
||||||
|
# users download directly from the project web site. This allows them to
|
||||||
|
# easily build their own Debian package by following the instructions in
|
||||||
|
# INSTALL.Debian.
|
||||||
|
# But when preparing our package for direct integration with Debian-based
|
||||||
|
# distributions, we have to instead remove the "debian" directory, as the
|
||||||
|
# distribution prefers that third-party projects are not built "natively".
|
||||||
|
mv "${prj}-${ver}/debian" "${prj}_${ver}_debian"
|
||||||
|
tar zfc "${prj}_${ver}.orig.tar.gz" "${prj}-${ver}"
|
||||||
|
mv "${prj}_${ver}_debian" "${prj}-${ver}/debian"
|
||||||
|
|
||||||
|
# Reset compatibility level
|
||||||
|
echo 7 >"${prj}-${ver}/debian/compat"
|
||||||
|
|
||||||
|
# Build Debian packages.
|
||||||
|
(cd "${prj}-${ver}"
|
||||||
|
fakeroot dpkg-buildpackage -sa -us -uc || :)
|
||||||
|
trap '' EXIT
|
||||||
|
)
|
||||||
|
|
||||||
|
# Revert any changes that might be pending in distributions/debian/*
|
||||||
|
local revert="$(svn st |
|
||||||
|
grep distributions/debian |
|
||||||
|
grep '^[^?]' |
|
||||||
|
awk '{ print $2 }' |
|
||||||
|
tac)"
|
||||||
|
if [ -n "${revert}" ]; then
|
||||||
|
svn revert ${revert}
|
||||||
|
rm -f ${revert}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create distributions/debian if it does not exist yet.
|
||||||
|
mkdir -p distributions/debian
|
||||||
|
for i in distributions distributions/debian; do
|
||||||
|
if [ -z "$(svn st "${i}" 2>/dev/null | grep -v '^[?]')" ]; then
|
||||||
|
svn add --depth=empty "${i}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# If this version of files already exists in the distribution directory,
|
||||||
|
# we are not yet ready to cut a new release. Just clean up and exit.
|
||||||
|
for i in "${prj}_${ver}"[-.]*.*; do
|
||||||
|
[ -r "distributions/debian/${i}" ] && {
|
||||||
|
rm $(ls "${prj}_${ver}"[-.]* | egrep -v '_*.changes|_*.deb')
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Move new Debian files into release area.
|
||||||
|
mv $(ls "${prj}_${ver}"[-.]* | egrep -v '_*.changes|_*.deb') \
|
||||||
|
distributions/debian/
|
||||||
|
svn add distributions/debian/"${prj}_${ver}"[-.]*.*
|
||||||
|
|
||||||
|
# Let the caller know that we added new packages.
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Quick sanity check that we are running from the correct directory
|
||||||
test -r configure.ac
|
test -r configure.ac
|
||||||
|
|
||||||
|
# Make sure there are no stale files
|
||||||
svn update
|
svn update
|
||||||
|
|
||||||
|
# Determine Subversion revision number, project name, and public version
|
||||||
|
# number
|
||||||
{
|
{
|
||||||
rev=$(($(svn info | sed -e 's/^Revision: \(.*\)/\1/;t1;d;:1;q')+1))
|
rev=$(($(svn info | sed -e 's/^Revision: \(.*\)/\1/;t1;d;:1;q')+1))
|
||||||
|
prj="$(sed -e 's/^AC_INIT(\([^,]*\),.*/\1/;t1;d;:1;q' configure.ac)"
|
||||||
|
ver="$(sed -e 's/^AC_INIT([^,]*, *\([^,]*\),.*/\1/;t1;d;:1;q' configure.ac)"
|
||||||
} 2>/dev/null
|
} 2>/dev/null
|
||||||
prj="$(sed -e 's/^AC_INIT(\([^,]*\),.*/\1/;t1;d;:1;q' configure.ac)"
|
|
||||||
ver="$(sed -e 's/^AC_INIT([^,]*, *\([^,]*\),.*/\1/;t1;d;:1;q' configure.ac)"
|
# Update "configure.ac" with the next Subversion revision number. This
|
||||||
|
# information will trickle down into various source files where it becomes
|
||||||
|
# part of the user-visible version information.
|
||||||
sed -ie 's/^\(VCS_REVISION=\).*/\1'"${rev}"'/' configure.ac
|
sed -ie 's/^\(VCS_REVISION=\).*/\1'"${rev}"'/' configure.ac
|
||||||
touch shellinabox/vt100.jspp shellinabox/shell_in_a_box.jspp
|
touch shellinabox/vt100.jspp shellinabox/shell_in_a_box.jspp
|
||||||
|
|
||||||
|
# For now, Ubuntu/Hardy is still quite popular. We want to make it easy for
|
||||||
|
# our users to build Debian packages from source. So, make sure we lock the
|
||||||
|
# compatibility level at 6. Once we no longer care about maintaining strict
|
||||||
|
# backwards compatibility, we can lift this restriction.
|
||||||
echo 6 >debian/compat
|
echo 6 >debian/compat
|
||||||
|
|
||||||
|
# Build all the sources, create the distribution tar archive, and run some
|
||||||
|
# basic sanity checks.
|
||||||
make all distcheck
|
make all distcheck
|
||||||
( trap 'rm -rf "${prj}-${ver}"' EXIT
|
|
||||||
rm -f "${prj}-${ver}" &&
|
# Build Debian package and create all the files that are needed by the
|
||||||
tar zfx "${prj}-${ver}.tar.gz" &&
|
# distribution maintainer.
|
||||||
cd "${prj}-${ver}" &&
|
msg=
|
||||||
fakeroot dpkg-buildpackage -us -uc &&
|
debian_package ||
|
||||||
cd .. &&
|
msg="${msg}
|
||||||
rm -f $(ls "${prj}_${ver}-"*.* | egrep -v '.deb$') ) || :
|
NOTICE: New version released. Please do not forget to notify distributions"
|
||||||
|
|
||||||
svn diff $(svn st |
|
svn diff $(svn st |
|
||||||
egrep -v ' configure$| aclocal.m4$|^[?]' |
|
egrep -v ' configure$| aclocal.m4$|distributions|^[?]' |
|
||||||
sed -e 's/^[^ ]* *//') | less
|
sed -e 's/^[^ ]* *//') | less
|
||||||
echo -n 'Commit these changes (Y/n): '
|
echo -n 'Commit these changes (Y/n): '
|
||||||
yes_no 0 || exit 1
|
yes_no 0 || exit 1
|
||||||
svn commit
|
svn commit
|
||||||
|
echo "${msg}"
|
||||||
|
|
||||||
trap '' EXIT
|
trap '' EXIT
|
||||||
exit 0
|
exit 0
|
||||||
|
|
2
config.h
2
config.h
|
@ -138,7 +138,7 @@
|
||||||
#define STDC_HEADERS 1
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
/* Most recent revision number in the version control system */
|
/* Most recent revision number in the version control system */
|
||||||
#define VCS_REVISION "191"
|
#define VCS_REVISION "192"
|
||||||
|
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
#define VERSION "2.10"
|
#define VERSION "2.10"
|
||||||
|
|
2
configure
vendored
2
configure
vendored
|
@ -2319,7 +2319,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
|
||||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
|
||||||
|
|
||||||
VCS_REVISION=191
|
VCS_REVISION=192
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
|
|
@ -2,7 +2,7 @@ AC_PREREQ(2.57)
|
||||||
|
|
||||||
dnl This is the one location where the authoritative version number is stored
|
dnl This is the one location where the authoritative version number is stored
|
||||||
AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
|
AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
|
||||||
VCS_REVISION=191
|
VCS_REVISION=192
|
||||||
AC_SUBST(VCS_REVISION)
|
AC_SUBST(VCS_REVISION)
|
||||||
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
|
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
|
||||||
[Most recent revision number in the version control system])
|
[Most recent revision number in the version control system])
|
||||||
|
|
|
@ -1955,7 +1955,7 @@ VT100.prototype.toggleBell = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
VT100.prototype.about = function() {
|
VT100.prototype.about = function() {
|
||||||
alert("VT100 Terminal Emulator " + "2.10 (revision 191)" +
|
alert("VT100 Terminal Emulator " + "2.10 (revision 192)" +
|
||||||
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
||||||
"For more information check http://shellinabox.com");
|
"For more information check http://shellinabox.com");
|
||||||
};
|
};
|
||||||
|
|
3
distributions/README
Normal file
3
distributions/README
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
This directory contains files that can be picked up by distributions that
|
||||||
|
want to package ShellInABox and that want to ship it directly rather than
|
||||||
|
making their users download it from the project's homepage.
|
BIN
distributions/debian/shellinabox_2.10-1.diff.gz
Normal file
BIN
distributions/debian/shellinabox_2.10-1.diff.gz
Normal file
Binary file not shown.
17
distributions/debian/shellinabox_2.10-1.dsc
Normal file
17
distributions/debian/shellinabox_2.10-1.dsc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
Format: 1.0
|
||||||
|
Source: shellinabox
|
||||||
|
Binary: shellinabox
|
||||||
|
Architecture: any
|
||||||
|
Version: 2.10-1
|
||||||
|
Maintainer: Markus Gutschke <markus@shellinabox.com>
|
||||||
|
Standards-Version: 3.6.1
|
||||||
|
Build-Depends: debhelper (>= 4.0.0), binutils, libssl-dev, libpam0g-dev, zlib1g-dev
|
||||||
|
Checksums-Sha1:
|
||||||
|
1847ca3684a3cd07b0831b977a6dadf5775f0d58 516377 shellinabox_2.10.orig.tar.gz
|
||||||
|
d724b4320311d93976bc70aceaaf3d3b9883cc1d 6073 shellinabox_2.10-1.diff.gz
|
||||||
|
Checksums-Sha256:
|
||||||
|
32d5307bd920232f21918a1edfe015da44b31991458a18e5760e60540052ceb2 516377 shellinabox_2.10.orig.tar.gz
|
||||||
|
119748a3a3e7d274ad9603ae5a751199c830f6e09ce6b699061c053ac03db549 6073 shellinabox_2.10-1.diff.gz
|
||||||
|
Files:
|
||||||
|
b3474662e46077f023de95ca44154c80 516377 shellinabox_2.10.orig.tar.gz
|
||||||
|
af657b1c3410a8c60225bb324642c26e 6073 shellinabox_2.10-1.diff.gz
|
BIN
distributions/debian/shellinabox_2.10.orig.tar.gz
Normal file
BIN
distributions/debian/shellinabox_2.10.orig.tar.gz
Normal file
Binary file not shown.
|
@ -358,7 +358,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
|
||||||
};
|
};
|
||||||
|
|
||||||
ShellInABox.prototype.about = function() {
|
ShellInABox.prototype.about = function() {
|
||||||
alert("Shell In A Box version " + "2.10 (revision 191)" +
|
alert("Shell In A Box version " + "2.10 (revision 192)" +
|
||||||
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
||||||
"For more information check http://shellinabox.com" +
|
"For more information check http://shellinabox.com" +
|
||||||
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
|
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
|
||||||
|
|
|
@ -1955,7 +1955,7 @@ VT100.prototype.toggleBell = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
VT100.prototype.about = function() {
|
VT100.prototype.about = function() {
|
||||||
alert("VT100 Terminal Emulator " + "2.10 (revision 191)" +
|
alert("VT100 Terminal Emulator " + "2.10 (revision 192)" +
|
||||||
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
"\nCopyright 2008-2009 by Markus Gutschke\n" +
|
||||||
"For more information check http://shellinabox.com");
|
"For more information check http://shellinabox.com");
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue