From: Joe Orton Date: Wed, 9 Apr 2025 15:18:19 +0000 (+0000) Subject: Merge r1924958 from trunk: X-Git-Tag: 2.4.64-rc1-candidate~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=693bb1c525f8e0f0f4a22e459d3e2736d0feec88;p=thirdparty%2Fapache%2Fhttpd.git Merge r1924958 from trunk: CI: Use the git commit hash to determine the revision of APR/APR-util from the github repos, and build exactly that, rather than relying on SVN: - works if apr/apr-util moves to a r/w git in the future - removes a race for branches where the git revision tested could be different to the SVN revision retrieved before git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1924962 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/travis_before_linux.sh b/test/travis_before_linux.sh index 59aea2f234..38591a66d3 100755 --- a/test/travis_before_linux.sh +++ b/test/travis_before_linux.sh @@ -24,7 +24,6 @@ fi 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 giturl=https://github.com/apache/${name}.git @@ -32,30 +31,38 @@ function install_apx() { local buildconf=$4 case $version in - trunk) url=${root}/trunk ;; - *.x) url=${root}/branches/${version} ;; - *) url=${root}/tags/${version} ;; + trunk|*.x) ref=refs/heads/${version} ;; + *) ref=refs/tags/${version} ;; esac - local revision=`svn info --show-item last-changed-revision ${url}` + # Fetch the object ID (hash) of latest commit + local commit=`git ls-remote ${giturl} ${ref} | cut -f1` + if test -z "$commit"; then + : Could not determine latest commit hash for ${ref} in ${giturl} - check branch is valid? + exit 1 + fi # Blow away the cached install root if the cached install is stale # or doesn't match the expected configuration. - grep -q "${version} ${revision} ${config} CC=$CC" ${HOME}/root/.key-${name} || rm -rf ${prefix} + grep -q "${version} ${commit} ${config} CC=$CC" ${HOME}/root/.key-${name} || rm -rf ${prefix} if test -d ${prefix}; then return 0 fi - git clone -q --depth=1 --branch=$version ${giturl} ${build} + git init -q ${build} pushd $build + # Clone and checkout the commit identified above. + git remote add origin ${giturl} + git fetch -q --depth=1 origin ${commit} + git checkout ${commit} ./buildconf ${buildconf} ./configure --prefix=${prefix} ${config} make -j2 make install popd - echo ${version} ${revision} "${config}" "CC=${CC}" > ${HOME}/root/.key-${name} + echo ${version} ${commit} "${config}" "CC=${CC}" > ${HOME}/root/.key-${name} } # Allow to load $HOME/build/apache/httpd/.gdbinit