summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/schroot/files')
-rw-r--r--dev-util/schroot/files/schroot-1.4.7-tests.patch81
-rw-r--r--dev-util/schroot/files/schroot-1.6.10-cmake-add-additional-regex-tests.patch70
-rw-r--r--dev-util/schroot/files/schroot-1.6.3-tests.patch86
-rw-r--r--dev-util/schroot/files/schroot.confd9
-rw-r--r--dev-util/schroot/files/schroot.initd41
5 files changed, 287 insertions, 0 deletions
diff --git a/dev-util/schroot/files/schroot-1.4.7-tests.patch b/dev-util/schroot/files/schroot-1.4.7-tests.patch
new file mode 100644
index 000000000000..4a492e7feb97
--- /dev/null
+++ b/dev-util/schroot/files/schroot-1.4.7-tests.patch
@@ -0,0 +1,81 @@
+--- schroot-1.4.7.orig/configure.ac
++++ schroot-1.4.7/configure.ac
+@@ -265,6 +265,19 @@ AC_ARG_WITH([bash-completion-dir], [AS_H
+ AC_MSG_RESULT([$bashcompletiondir])
+ AC_SUBST([bashcompletiondir])
+
++AC_MSG_CHECKING([whether to enable root-only unit tests])
++AC_ARG_ENABLE([root-tests], [AS_HELP_STRING([--with-root-tests], [Enable root-only tests])],
++ [ case "${enableval}" in
++ yes) enable_root_tests="yes" ;;
++ no) enable_root_tests="no" ;;
++ *) AC_MSG_RESULT([unknown])
++ AC_MSG_ERROR([bad value ${enableval} for --enable-root-tests]) ;;
++ esac],
++ [ enable_root_tests="yes" ])
++AC_MSG_RESULT([$enable_root_tests])
++AM_CONDITIONAL([USE_ROOT_TESTS], [test "$enable_root_tests" = "yes"])
++AC_SUBST([enable_root_tests])
++
+ # Checks for programs.
+ AC_PROG_CXX
+ AC_LANG([C++])
+--- schroot-1.4.7.orig/test/Makefile.am
++++ schroot-1.4.7/test/Makefile.am
+@@ -24,10 +24,12 @@ include $(top_srcdir)/scripts/global.mk
+ LOCAL_CXXFLAGS = $(SCHROOT_CFLAGS) $(CPPUNIT_CFLAGS) -DTESTDATADIR='"./testdata"' -I$(top_srcdir)/bin
+
+ if USE_UNIT_TESTS
+-noinst_LTLIBRARIES = libtest.la
++check_LTLIBRARIES = libtest.la
+
+-noinst_PROGRAMS = \
+- sbuild-chroot \
++ROOT_TESTS =
++
++if USE_ROOT_TESTS
++ROOT_TESTS += \
+ sbuild-chroot-plain \
+ sbuild-chroot-file \
+ sbuild-chroot-directory \
+@@ -35,7 +37,12 @@ noinst_PROGRAMS = \
+ sbuild-chroot-loopback \
+ sbuild-chroot-lvm-snapshot \
+ sbuild-chroot-btrfs-snapshot \
+- sbuild-chroot-config \
++ sbuild-chroot-config
++endif
++
++check_PROGRAMS = \
++ sbuild-chroot \
++ $(ROOT_TESTS) \
+ sbuild-environment \
+ sbuild-keyfile \
+ sbuild-lock \
+@@ -52,14 +59,7 @@ noinst_PROGRAMS = \
+ # randomly on slow or heavily-loaded systems.
+ TESTS = setup-test-data \
+ sbuild-chroot \
+- sbuild-chroot-plain \
+- sbuild-chroot-file \
+- sbuild-chroot-directory \
+- sbuild-chroot-block-device \
+- sbuild-chroot-loopback \
+- sbuild-chroot-lvm-snapshot \
+- sbuild-chroot-btrfs-snapshot \
+- sbuild-chroot-config \
++ $(ROOT_TESTS) \
+ sbuild-environment \
+ sbuild-keyfile \
+ sbuild-log \
+--- schroot-1.4.7.orig/test/setup-test-data
++++ schroot-1.4.7/test/setup-test-data
+@@ -4,4 +4,8 @@
+ rm -rf testdata
+ mkdir testdata
+ cp -r ${srcdir}/*.ex* testdata
++if test `id -u` -ne 0; then
++echo "You are not root, only doing partial setup"
++else
+ chown -R root:root testdata
++fi
diff --git a/dev-util/schroot/files/schroot-1.6.10-cmake-add-additional-regex-tests.patch b/dev-util/schroot/files/schroot-1.6.10-cmake-add-additional-regex-tests.patch
new file mode 100644
index 000000000000..1660f18ae4b8
--- /dev/null
+++ b/dev-util/schroot/files/schroot-1.6.10-cmake-add-additional-regex-tests.patch
@@ -0,0 +1,70 @@
+From 8c9139249689570ff2f4d058ed1031f0cbb6c084 Mon Sep 17 00:00:00 2001
+From: Roger Leigh <rleigh@codelibre.net>
+Date: Sun, 26 Jul 2015 14:00:13 +0100
+Subject: [PATCH] cmake: Add additional regex tests and corresponding unit
+ tests
+
+---
+ cmake/regex-checks.cmake | 10 ++++++++++
+ test/sbuild-regex.cc | 20 ++++++++++++++++++++
+ 2 files changed, 30 insertions(+)
+
+diff --git a/cmake/regex-checks.cmake b/cmake/regex-checks.cmake
+index d0bb211..60507ec 100644
+--- a/cmake/regex-checks.cmake
++++ b/cmake/regex-checks.cmake
+@@ -30,6 +30,16 @@ int main() {
+ if (${namespace}_match(fail, bar)) return 11;
+ if (${namespace}_match(fail, chk)) return 12;
+
++ // Checks for broken support in GCC 4.9 and 5.1
++ ${namespace} range1(\"^[a-z0-9][a-z0-9-]*\$\", ${namespace}::extended);
++ ${namespace} range2(\"^[a-z0-9][-a-z0-9]*\$\", ${namespace}::extended);
++ if (!${namespace}_match(test, range1)) return 13;
++ if (!${namespace}_match(test, range2)) return 14;
++ if (!${namespace}_match(\"a-\", range1)) return 15;
++ if (!${namespace}_match(\"a-\", range2)) return 16;
++ if (${namespace}_match(\"-a\", range1)) return 17;
++ if (${namespace}_match(\"-a\", range2)) return 18;
++
+ return 0;
+ }"
+ ${outvar})
+diff --git a/test/sbuild-regex.cc b/test/sbuild-regex.cc
+index 915e915..a8520c5 100644
+--- a/test/sbuild-regex.cc
++++ b/test/sbuild-regex.cc
+@@ -33,6 +33,8 @@ class test_regex : public TestCase
+ CPPUNIT_TEST(test_output);
+ CPPUNIT_TEST(test_input);
+ CPPUNIT_TEST(test_match);
++ CPPUNIT_TEST(test_match_bracket1);
++ CPPUNIT_TEST(test_match_bracket2);
+ CPPUNIT_TEST_EXCEPTION(test_input_fail, std::regex_error);
+ CPPUNIT_TEST_SUITE_END();
+
+@@ -88,6 +90,24 @@ class test_regex : public TestCase
+ }
+
+ void
++ test_match_bracket1()
++ {
++ sbuild::regex r("^[a-z0-9][a-z0-9-]*$");
++ CPPUNIT_ASSERT(sbuild::regex_search("foobar", r));
++ CPPUNIT_ASSERT(sbuild::regex_search("a-", r));
++ CPPUNIT_ASSERT(!sbuild::regex_search("-a", r));
++ }
++
++ void
++ test_match_bracket2()
++ {
++ sbuild::regex r("^[a-z0-9][-a-z0-9]*$");
++ CPPUNIT_ASSERT(sbuild::regex_search("foobar", r));
++ CPPUNIT_ASSERT(sbuild::regex_search("a-", r));
++ CPPUNIT_ASSERT(!sbuild::regex_search("-a", r));
++ }
++
++ void
+ test_input_fail()
+ {
+ sbuild::regex r;
diff --git a/dev-util/schroot/files/schroot-1.6.3-tests.patch b/dev-util/schroot/files/schroot-1.6.3-tests.patch
new file mode 100644
index 000000000000..e58b6bae32ba
--- /dev/null
+++ b/dev-util/schroot/files/schroot-1.6.3-tests.patch
@@ -0,0 +1,86 @@
+diff -purN schroot-1.6.3.orig/configure.ac schroot-1.6.3/configure.ac
+--- schroot-1.6.3.orig/configure.ac 2012-07-23 17:54:07.000000000 -0400
++++ schroot-1.6.3/configure.ac 2012-09-20 03:43:20.451738906 -0400
+@@ -264,6 +264,19 @@ AC_ARG_WITH([bash-completion-dir], [AS_H
+ AC_MSG_RESULT([$bashcompletiondir])
+ AC_SUBST([bashcompletiondir])
+
++AC_MSG_CHECKING([whether to enable root-only unit tests])
++AC_ARG_ENABLE([root-tests], [AS_HELP_STRING([--with-root-tests], [Enable root-only tests])],
++ [ case "${enableval}" in
++ yes) enable_root_tests="yes" ;;
++ no) enable_root_tests="no" ;;
++ *) AC_MSG_RESULT([unknown])
++ AC_MSG_ERROR([bad value ${enableval} for --enable-root-tests]) ;;
++ esac],
++ [ enable_root_tests="yes" ])
++AC_MSG_RESULT([$enable_root_tests])
++AM_CONDITIONAL([USE_ROOT_TESTS], [test "$enable_root_tests" = "yes"])
++AC_SUBST([enable_root_tests])
++
+ # Checks for programs.
+ AC_PROG_CXX
+ AC_LANG([C++])
+diff -purN schroot-1.6.3.orig/test/Makefile.am schroot-1.6.3/test/Makefile.am
+--- schroot-1.6.3.orig/test/Makefile.am 2012-07-23 17:54:07.000000000 -0400
++++ schroot-1.6.3/test/Makefile.am 2012-09-20 03:45:31.400235841 -0400
+@@ -24,10 +24,12 @@ include $(top_srcdir)/scripts/global.mk
+ LOCAL_CXXFLAGS = $(SCHROOT_CFLAGS) $(CPPUNIT_CFLAGS) -DTESTDATADIR='"./testdata"' -I$(top_srcdir)/bin
+
+ if USE_UNIT_TESTS
+-noinst_LTLIBRARIES = libtest.la
++check_LTLIBRARIES = libtest.la
+
+-noinst_PROGRAMS = \
+- sbuild-chroot \
++ROOT_TESTS =
++
++if USE_ROOT_TESTS
++ROOT_TESTS += \
+ sbuild-chroot-plain \
+ sbuild-chroot-custom \
+ sbuild-chroot-file \
+@@ -37,7 +39,12 @@ noinst_PROGRAMS = \
+ sbuild-chroot-lvm-snapshot \
+ sbuild-chroot-btrfs-snapshot \
+ sbuild-chroot-config \
+- sbuild-chroot-facet-userdata \
++ sbuild-chroot-facet-userdata
++endif
++
++check_PROGRAMS = \
++ sbuild-chroot \
++ $(ROOT_TESTS) \
+ sbuild-environment \
+ sbuild-keyfile \
+ sbuild-lock \
+@@ -54,16 +61,7 @@ noinst_PROGRAMS = \
+ # randomly on slow or heavily-loaded systems.
+ TESTS = setup-test-data \
+ sbuild-chroot \
+- sbuild-chroot-plain \
+- sbuild-chroot-custom \
+- sbuild-chroot-file \
+- sbuild-chroot-directory \
+- sbuild-chroot-block-device \
+- sbuild-chroot-loopback \
+- sbuild-chroot-lvm-snapshot \
+- sbuild-chroot-btrfs-snapshot \
+- sbuild-chroot-config \
+- sbuild-chroot-facet-userdata \
++ $(ROOT_TESTS) \
+ sbuild-environment \
+ sbuild-keyfile \
+ sbuild-log \
+diff -purN schroot-1.6.3.orig/test/setup-test-data schroot-1.6.3/test/setup-test-data
+--- schroot-1.6.3.orig/test/setup-test-data 2012-07-23 17:54:07.000000000 -0400
++++ schroot-1.6.3/test/setup-test-data 2012-09-20 03:43:20.451738906 -0400
+@@ -4,4 +4,8 @@
+ rm -rf testdata
+ mkdir testdata
+ cp -r ${srcdir}/*.ex* testdata
++if test `id -u` -ne 0; then
++echo "You are not root, only doing partial setup"
++else
+ chown -R root:root testdata
++fi
diff --git a/dev-util/schroot/files/schroot.confd b/dev-util/schroot/files/schroot.confd
new file mode 100644
index 000000000000..b62263175721
--- /dev/null
+++ b/dev-util/schroot/files/schroot.confd
@@ -0,0 +1,9 @@
+# This is a configuration file for /etc/init.d/schroot; it allows you
+# to perform common modifications to the behavior of schroot
+# initialization without editing the init script.
+
+# What do we want to do with "orphan" sessions when starting or
+# restarting? Recover them (leave empty or set to "recover") or just
+# end them (set to "end")?
+SESSIONS_RECOVER="recover"
+
diff --git a/dev-util/schroot/files/schroot.initd b/dev-util/schroot/files/schroot.initd
new file mode 100644
index 000000000000..76ca9944532d
--- /dev/null
+++ b/dev-util/schroot/files/schroot.initd
@@ -0,0 +1,41 @@
+#!/sbin/runscript
+
+depend() {
+ need localmount
+ after net netmount
+}
+
+start() {
+ local msg param
+ case "${SESSIONS_RECOVER}" in
+ end)
+ msg="Ending"
+ param="--end-session"
+ ;;
+ recover|"")
+ msg="Recovering"
+ param="--recover-session"
+ ;;
+ *)
+ ewarn "Invalid value \"$SESSIONS_RECOVER\" for \$SESSIONS_RECOVER, using \"recover\""
+ msg="Recovering"
+ param="--recover-session"
+ ;;
+ esac
+
+ einfo "$msg schroot sessions"
+ eindent
+ local chroot
+ local chroots="$(schroot --all-sessions --list --quiet)"
+ if [ -n "$chroots" ]; then
+ for chroot in $chroots; do
+ ebegin "$chroot"
+ schroot --chroot=$chroot $param
+ eend $?
+ done
+ else
+ einfo "(none)"
+ fi
+ eoutdent
+ einfo "...done"
+}