You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2019/11/22 08:35:01 UTC

Re: svn commit: r1870077 - in /httpd/httpd/trunk: .travis.yml test/travis_before_linux.sh test/travis_run_linux.sh


On 11/21/2019 10:30 AM, jorton@apache.org wrote:
> Author: jorton
> Date: Thu Nov 21 09:30:34 2019
> New Revision: 1870077
> 
> URL: http://svn.apache.org/viewvc?rev=1870077&view=rev
> Log:
> Support travis builds against APR/APR-util non-trunk branches.
> Add job for APR 1.7.x + APR-util 1.7.x.
> 
> Modified:
>     httpd/httpd/trunk/.travis.yml
>     httpd/httpd/trunk/test/travis_before_linux.sh
>     httpd/httpd/trunk/test/travis_run_linux.sh
> 

> Modified: httpd/httpd/trunk/test/travis_before_linux.sh
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/test/travis_before_linux.sh?rev=1870077&r1=1870076&r2=1870077&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/test/travis_before_linux.sh (original)
> +++ httpd/httpd/trunk/test/travis_before_linux.sh Thu Nov 21 09:30:34 2019
> @@ -2,49 +2,48 @@
>  if ! test -v SKIP_TESTING; then
>     svn export -q https://svn.apache.org/repos/asf/httpd/test/framework/trunk test/perl-framework
>  fi
> -if test -v APR_VERSION; then
> -    # For APR trunk the cached version at ~/root/apr-trunk will be
> -    # stale if the current trunk revision is different from that of
> -    # the cached build.  Here, cache and check the rev number of the
> -    # build accordingly.
> -    trunk_url=https://svn.apache.org/repos/asf/apr/apr/trunk
> -    if test $APR_VERSION = trunk; then
> -        trunk_rev=`svn info --show-item last-changed-revision ${trunk_url}`
> -        # Blow away the cached trunk install if the revision does not
> -        # match.
> -        test -f $HOME/root/apr-trunk/.revision-is-${trunk_rev} || rm -rf $HOME/root/apr-trunk
> -    fi
> -    if ! test -d $HOME/root/apr-${APR_VERSION}; then
> -        case $APR_VERSION in
> -            trunk) svn export -q -r ${trunk_rev} ${trunk_url} $HOME/build/apr-trunk ;;
> -            *) svn export -q https://svn.apache.org/repos/asf/apr/apr/tags/${APR_VERSION} \
> -                   $HOME/build/apr-${APR_VERSION} ;;
> -        esac
> -        pushd $HOME/build/apr-${APR_VERSION}
> -        ./buildconf
> -        ./configure ${APR_CONFIG} --prefix=$HOME/root/apr-${APR_VERSION}
> -        make -j2
> -        make install
> -        if test -v trunk_rev; then
> -            # Record the revision built in the cache.
> -            touch $HOME/root/apr-${APR_VERSION}/.revision-is-${trunk_rev}
> -        fi
> -        popd
> -        APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"
> +
> +function install_apx() {
> +    local name=$1
> +    local version=$2
> +    local root=https://svn.apache.org/repos/asf/apr/${name}
> +    local prefix=${HOME}/root/${name}-${version}
> +    local build=${HOME}/build/${name}-${version}
> +    local config=$3
> +    local buildconf=$4
> +
> +    case $version in
> +    trunk) url=${root}/trunk ;;

This does the wrong thing for APR-UTIL trunk since there is none. I am not sure if this really needs to fixed in code or
if it should be just documented that if APR_VERSION is set to trunk that no APR-UTIL version should be set.
Or we could ignore the APU_VERSION setting a few lines down in case APR_VERSION is trunk.

> +    *.x) url=${root}/branches/${version} ;;
> +    *) url=${root}/tags/${version} ;;
> +    esac
> +
> +    local revision=`svn info --show-item last-changed-revision ${url}`
> +
> +    # Blow away the cached install root if the revision does not
> +    # match.
> +    test -f ${prefix}/.revision-is-${revision} || rm -rf ${prefix}
> +
> +    if test -d ${prefix}; then
> +        return 0
>      fi
> +
> +    svn export -q -r ${revision} ${url} ${build}
> +    pushd $build
> +         ./buildconf ${buildconf}
> +         ./configure --prefix=${prefix} ${config}
> +         make -j2
> +         make install
> +    popd
> +
> +    touch ${prefix}/.revision-is-${revision}
> +}
> +
> +if test -v APR_VERSION; then
> +    install_apx apr ${APR_VERSION} "${APR_CONFIG}"
> +    APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"
>  fi
> +
>  if test -v APU_VERSION; then
> -    if ! test -d $HOME/root/apu-${APU_VERSION}; then
> -        case $APU_VERSION in
> -            trunk) url=https://svn.apache.org/repos/asf/apr/apr-util/trunk ;;
> -            *) url=https://svn.apache.org/repos/asf/apr/apr-util/tags/${APU_VERSION} ;;
> -        esac
> -        svn export -q ${url} $HOME/build/apu-${APU_VERSION}
> -        pushd $HOME/build/apu-${APU_VERSION}
> -        ./buildconf --with-apr=$HOME/build/apr-${APR_VERSION}
> -        ./configure ${APU_CONFIG} --prefix=$HOME/root/apu-${APU_VERSION}
> -        make -j2
> -        make install
> -        popd
> -    fi
> +    install_apx apr-util ${APU_VERSION} "${APU_CONFIG}" --with-apr=$HOME/build/apr-${APR_VERSION}
>  fi
> 

Regards

RĂ¼diger


Re: svn commit: r1870077 - in /httpd/httpd/trunk: .travis.yml test/travis_before_linux.sh test/travis_run_linux.sh

Posted by Joe Orton <jo...@redhat.com>.
On Fri, Nov 22, 2019 at 09:35:01AM +0100, Ruediger Pluem wrote:
> On 11/21/2019 10:30 AM, jorton@apache.org wrote:
> > Author: jorton
> > Date: Thu Nov 21 09:30:34 2019
> > New Revision: 1870077
...
> > +function install_apx() {
> > +    local name=$1
> > +    local version=$2
> > +    local root=https://svn.apache.org/repos/asf/apr/${name}
> > +    local prefix=${HOME}/root/${name}-${version}
> > +    local build=${HOME}/build/${name}-${version}
> > +    local config=$3
> > +    local buildconf=$4
> > +
> > +    case $version in
> > +    trunk) url=${root}/trunk ;;
> 
> This does the wrong thing for APR-UTIL trunk since there is none. I am 
> not sure if this really needs to fixed in code or if it should be just 
> documented that if APR_VERSION is set to trunk that no APR-UTIL 
> version should be set. Or we could ignore the APU_VERSION setting a 
> few lines down in case APR_VERSION is trunk.

Yes good point - I made this explicit in the docs now, which I think is 
enough.

Regards, Joe