ehlo,
Integration tests are enabled on debian with the last patch. I just changed DEPS_INTGCHECK_SATISFIED to true for debian because in future we might introduce new dependencies which will not be in debian (su_wrapper).
The 1st patch is prequisity for the last patch because installation of slapd requires user interaction. The ticket #2433 is finally fixed after 13 months.
If we do not want to introduce new dependency /usr/bin/libtool for debian then there is alternative solution of bug fixed in the 2nd patch. We can run libtool from CWD generated by autotools. In both cases it's a oneliner :-)
Here is an alternative version:
diff --git a/contrib/ci/run b/contrib/ci/run index 5f668ff..1f64e67 100755 --- a/contrib/ci/run +++ b/contrib/ci/run @@ -204,7 +204,7 @@ function build_debug() CK_FORK=no \ stage make-check-valgrind \ make-check-wrap -j $CPU_NUM check -- \ - libtool --mode=execute \ + ./libtool --mode=execute \ valgrind-condense 99 \ '!(*.py|*dlopen-tests)' -- \ --trace-children=yes \
LS
On 09/29/2015 03:41 PM, Lukas Slebodnik wrote:
ehlo,
Integration tests are enabled on debian with the last patch.
So we've got more cwrap packages into Debian? Awesome :)! Or were they there all the time and I simply failed to notice them?
I just changed DEPS_INTGCHECK_SATISFIED to true for debian because in future we might introduce new dependencies which will not be in debian (su_wrapper).
Ah, alright.
The 1st patch is prequisity for the last patch because installation of slapd requires user interaction. The ticket #2433 is finally fixed after 13 months.
Thank you, Lukas.
If we do not want to introduce new dependency /usr/bin/libtool for debian then there is alternative solution of bug fixed in the 2nd patch. We can run libtool from CWD generated by autotools. In both cases it's a oneliner :-)
Here is an alternative version:
diff --git a/contrib/ci/run b/contrib/ci/run index 5f668ff..1f64e67 100755 --- a/contrib/ci/run +++ b/contrib/ci/run @@ -204,7 +204,7 @@ function build_debug() CK_FORK=no \ stage make-check-valgrind \ make-check-wrap -j $CPU_NUM check -- \
libtool --mode=execute \
./libtool --mode=execute \ valgrind-condense 99 \ '!(*.py|*dlopen-tests)' -- \ --trace-children=yes \
I like this way a little better, but not enough to argue :)
From 6175bd3f05cbfd5f7d9b26770d9a98012803745c Mon Sep 17 00:00:00 2001 From: Lukas Slebodniklslebodn@redhat.com Date: Tue, 29 Sep 2015 11:52:30 +0200 Subject: [PATCH 1/3] CI: Don't depend on user input with apt-get
Resolves: https://fedorahosted.org/sssd/ticket/2433
contrib/ci/README.md | 6 ++++++ contrib/ci/distro.sh | 2 ++ 2 files changed, 8 insertions(+)
diff --git a/contrib/ci/README.md b/contrib/ci/README.md index 6b5f7f30eac8327d5aa45c3bfefd57e8d3109fe0..075bc3e074cb13916619f46c12c6d1a4de0158a2 100644 --- a/contrib/ci/README.md +++ b/contrib/ci/README.md @@ -47,6 +47,12 @@ and Debian-based distros:
Where `<USER>` is the user invoking CI.
+You might also want to allow to keep environment variable DEBIAN_FRONTEND +on debian. So script can perform an unattended installation of a Debian package +with apt-get.
- Defaults!/usr/bin/apt-get env_keep += "DEBIAN_FRONTEND
The terminating double quote is missing here. Also, may I suggest simplifying the text a little? Like this:
You may also want to allow passing DEBIAN_FRONTEND environment variable to apt-get on Debian, so CI can request non-interactive package installation:
Defaults!/usr/bin/apt-get env_keep += "DEBIAN_FRONTEND"
On Red Hat distros a repository carrying dependencies missing from some distros needs to be added to yum configuration. See instructions on the [Copr project page](http://copr-fe.cloud.fedoraproject.org/coprs/lslebodn/sssd-deps/). diff --git a/contrib/ci/distro.sh b/contrib/ci/distro.sh index 5416bfff325c4e5d0a10ebea67cba26e20e03fd5..095985ccae81e54bcd79607e455a1c9295aad867 100644 --- a/contrib/ci/distro.sh +++ b/contrib/ci/distro.sh @@ -30,6 +30,8 @@ if [ -e /etc/redhat-release ]; then DISTRO_FAMILY=redhat elif [ -e /etc/debian_version ]; then DISTRO_FAMILY=debian
- # Perform an unattended installation of a Debian package with apt-get
- export DEBIAN_FRONTEND=noninteractive
I think a better way will be to pass DEBIAN_FRONTEND explicitly to sudo commands and not set it globally. E.g.:
[ $# != 0 ] && DEBIAN_FRONTEND=noninteractive \ sudo -p "$prompt" apt-get --yes install -- "$@"
We might very well need it for everything eventually, but changing global environment implicitly, as part of loading a module ("distro.sh") violates the no-surprises rule somewhat, and hurts modularization.
else DISTRO_FAMILY=unknown fi -- 2.5.0
0002-CI-Add-missing-dependency-for-debian.patch
From 3e0ce9c714d5dc11eaf5ff00792eb06d3b98ff90 Mon Sep 17 00:00:00 2001 From: Lukas Slebodniklslebodn@redhat.com Date: Tue, 29 Sep 2015 12:29:51 +0200 Subject: [PATCH 2/3] CI: Add missing dependency for debian
All test failed due to missing /usr/bin/libtool
e.g. /home/build/sssd/build/test-driver: line 107: libtool: command not found FAIL test-io (exit status: 127)
Whoa! When did that start happening?
Nick
On (29/09/15 16:47), Nikolai Kondrashov wrote:
On 09/29/2015 03:41 PM, Lukas Slebodnik wrote:
ehlo,
Integration tests are enabled on debian with the last patch.
So we've got more cwrap packages into Debian? Awesome :)! Or were they there all the time and I simply failed to notice them?
uid-wrapper 1.0.2-1 was in testing since 2014-08-14 nss-wrapper 1.0.3-2 was in testing since 2015-06-05
https://packages.qa.debian.org/u/uid-wrapper.html https://packages.qa.debian.org/n/nss-wrapper.html
I just changed DEPS_INTGCHECK_SATISFIED to true for debian because in future we might introduce new dependencies which will not be in debian (su_wrapper).
Ah, alright.
The 1st patch is prequisity for the last patch because installation of slapd requires user interaction. The ticket #2433 is finally fixed after 13 months.
Thank you, Lukas.
You are welcome
If we do not want to introduce new dependency /usr/bin/libtool for debian then there is alternative solution of bug fixed in the 2nd patch. We can run libtool from CWD generated by autotools. In both cases it's a oneliner :-)
Here is an alternative version:
diff --git a/contrib/ci/run b/contrib/ci/run index 5f668ff..1f64e67 100755 --- a/contrib/ci/run +++ b/contrib/ci/run @@ -204,7 +204,7 @@ function build_debug() CK_FORK=no \ stage make-check-valgrind \ make-check-wrap -j $CPU_NUM check -- \
libtool --mode=execute \
./libtool --mode=execute \ valgrind-condense 99 \ '!(*.py|*dlopen-tests)' -- \ --trace-children=yes \
I like this way a little better, but not enough to argue :)
hmm, I tried it but it failed in cwrap test due to different directory. I could use full path but nicer solution is to install missing dependency
================================================= sssd 1.13.1: src/tests/cwrap/test-suite.log =================================================
# TOTAL: 4 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 4 # XPASS: 0 # ERROR: 0
.. contents:: :depth: 2
FAIL: become_user-tests =======================
/home/build/sssd/build/test-driver: line 107: ./libtool: No such file or directory FAIL become_user-tests (exit status: 127)
FAIL: server-tests ==================
/home/build/sssd/build/test-driver: line 107: ./libtool: No such file or directory FAIL server-tests (exit status: 127)
FAIL: usertools-tests =====================
/home/build/sssd/build/test-driver: line 107: ./libtool: No such file or directory FAIL usertools-tests (exit status: 127)
FAIL: responder_common-tests ============================
/home/build/sssd/build/test-driver: line 107: ./libtool: No such file or directory FAIL responder_common-tests (exit status: 127)
From 6175bd3f05cbfd5f7d9b26770d9a98012803745c Mon Sep 17 00:00:00 2001 From: Lukas Slebodniklslebodn@redhat.com Date: Tue, 29 Sep 2015 11:52:30 +0200 Subject: [PATCH 1/3] CI: Don't depend on user input with apt-get
Resolves: https://fedorahosted.org/sssd/ticket/2433
contrib/ci/README.md | 6 ++++++ contrib/ci/distro.sh | 2 ++ 2 files changed, 8 insertions(+)
diff --git a/contrib/ci/README.md b/contrib/ci/README.md index 6b5f7f30eac8327d5aa45c3bfefd57e8d3109fe0..075bc3e074cb13916619f46c12c6d1a4de0158a2 100644 --- a/contrib/ci/README.md +++ b/contrib/ci/README.md @@ -47,6 +47,12 @@ and Debian-based distros:
Where `<USER>` is the user invoking CI.
+You might also want to allow to keep environment variable DEBIAN_FRONTEND +on debian. So script can perform an unattended installation of a Debian package +with apt-get.
- Defaults!/usr/bin/apt-get env_keep += "DEBIAN_FRONTEND
The terminating double quote is missing here.
cop&paste problem
Also, may I suggest simplifying the text a little? Like this:
You may also want to allow passing DEBIAN_FRONTEND environment variable to apt-get on Debian, so CI can request non-interactive package installation:
Defaults!/usr/bin/apt-get env_keep += "DEBIAN_FRONTEND"
Done
On Red Hat distros a repository carrying dependencies missing from some distros needs to be added to yum configuration. See instructions on the [Copr project page](http://copr-fe.cloud.fedoraproject.org/coprs/lslebodn/sssd-deps/). diff --git a/contrib/ci/distro.sh b/contrib/ci/distro.sh index 5416bfff325c4e5d0a10ebea67cba26e20e03fd5..095985ccae81e54bcd79607e455a1c9295aad867 100644 --- a/contrib/ci/distro.sh +++ b/contrib/ci/distro.sh @@ -30,6 +30,8 @@ if [ -e /etc/redhat-release ]; then DISTRO_FAMILY=redhat elif [ -e /etc/debian_version ]; then DISTRO_FAMILY=debian
- # Perform an unattended installation of a Debian package with apt-get
- export DEBIAN_FRONTEND=noninteractive
I think a better way will be to pass DEBIAN_FRONTEND explicitly to sudo commands and not set it globally. E.g.:
[ $# != 0 ] && DEBIAN_FRONTEND=noninteractive \ sudo -p "$prompt" apt-get --yes install -- "$@"
We might very well need it for everything eventually, but changing global environment implicitly, as part of loading a module ("distro.sh") violates the no-surprises rule somewhat, and hurts modularization.
It would be a good side effect but it could be a bad precedent.
else DISTRO_FAMILY=unknown fi -- 2.5.0
0002-CI-Add-missing-dependency-for-debian.patch
From 3e0ce9c714d5dc11eaf5ff00792eb06d3b98ff90 Mon Sep 17 00:00:00 2001 From: Lukas Slebodniklslebodn@redhat.com Date: Tue, 29 Sep 2015 12:29:51 +0200 Subject: [PATCH 2/3] CI: Add missing dependency for debian
All test failed due to missing /usr/bin/libtool
e.g. /home/build/sssd/build/test-driver: line 107: libtool: command not found FAIL test-io (exit status: 127)
Whoa! When did that start happening?
It happens if you run script on machine with minimal dependencies. libtool-bin could be a dependency of another package in past.
LS
On 09/30/2015 09:59 AM, Lukas Slebodnik wrote:
On (29/09/15 16:47), Nikolai Kondrashov wrote:
On 09/29/2015 03:41 PM, Lukas Slebodnik wrote:
ehlo,
Integration tests are enabled on debian with the last patch.
So we've got more cwrap packages into Debian? Awesome:)! Or were they there all the time and I simply failed to notice them?
uid-wrapper 1.0.2-1 was in testing since 2014-08-14 nss-wrapper 1.0.3-2 was in testing since 2015-06-05
https://packages.qa.debian.org/u/uid-wrapper.html https://packages.qa.debian.org/n/nss-wrapper.html
Ah, so it was added while I was working on it and I didn't notice that. Ouch.
Here is an alternative version:
diff --git a/contrib/ci/run b/contrib/ci/run index 5f668ff..1f64e67 100755 --- a/contrib/ci/run +++ b/contrib/ci/run @@ -204,7 +204,7 @@ function build_debug() CK_FORK=no \ stage make-check-valgrind \ make-check-wrap -j $CPU_NUM check -- \
libtool --mode=execute \
./libtool --mode=execute \ valgrind-condense 99 \ '!(*.py|*dlopen-tests)' -- \ --trace-children=yes \
I like this way a little better, but not enough to argue:)
hmm, I tried it but it failed in cwrap test due to different directory. I could use full path but nicer solution is to install missing dependency
Right, dependency it is then.
All test failed due to missing /usr/bin/libtool
e.g. /home/build/sssd/build/test-driver: line 107: libtool: command not found FAIL test-io (exit status: 127)
Whoa! When did that start happening?
It happens if you run script on machine with minimal dependencies. libtool-bin could be a dependency of another package in past.
D'oh, right.
Looks fine now, tested on my Debian laptop - worked fine.
Thank you, Lukas!
ACK.
Nick
On Wed, Sep 30, 2015 at 04:08:09PM +0300, Nikolai Kondrashov wrote:
Thank you, Lukas!
ACK.
CI: http://sssd-ci.duckdns.org/logs/job/28/16/summary.html * master: * cf37196dca93a8785c5a4e0af6e9a5053bff4e3a * 90063840941efb2015d4375333677e3c26b1f4e6 * cccbf6f5b2b80cd3f6311ccad96780faab93e1f7
sssd-devel@lists.fedorahosted.org