git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>, Eric Wong <e@80x24.org>,
	Lars Schneider <larsxschneider@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH] ci: install 'libsvn-perl' instead of 'git-svn'
Date: Thu, 2 May 2019 01:18:54 +0200	[thread overview]
Message-ID: <20190501231854.GE14763@szeder.dev> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.1904301816200.45@tvgsbejvaqbjf.bet>

On Tue, Apr 30, 2019 at 06:16:48PM -0400, Johannes Schindelin wrote:
> Hi,
> 
> On Tue, 30 Apr 2019, SZEDER Gábor wrote:
> 
> > Since e7e9f5e7a1 (travis-ci: enable Git SVN tests t91xx on Linux,
> > 2016-05-19) some of our Travis CI build jobs install the 'git-svn'
> > package, because it was a convenient way to install its dependencies,
> > which are necessary to run our 'git-svn' tests (we don't actually need
> > the 'git-svn' package itself).  However, from those dependencies,
> > namely the 'libsvn-perl', 'libyaml-perl', and 'libterm-readkey-perl'
> > packages, only 'libsvn-perl' is necessary to run those tests, the
> > others arent, not even to fulfill some prereqs.
> >
> > So update 'ci/install-dependencies.sh' to install only 'libsvn-perl'
> > instead of 'git-svn' and its additional dependencies.
> >
> > Note that this change has more important implications than merely not
> > installing three unnecessary packages, as it keeps our builds working
> > with Travis CI's Xenial images.  In our '.travis.yml' we never
> > explicitly specified which Linux image we want to use to run our Linux
> > build jobs, and so far they have been run on the default Ubuntu 14.04
> > Trusty image.  However, 14.04 just reached its EOL, and Travis CI has
> > already began the transition to use 16.04 Xenial as the default Linux
> > build environment [1].  Alas, our Linux Clang and GCC build jobs can't
> > simply 'apt-get install git-svn' in the current Xenial images [2],
> > like they did in the Trusty images, and, consequently, fail.
> > Installing only 'libsvn-perl' avoids this issue, while the 'git svn'
> > tests are still run as they should.
> >
> > [1] https://blog.travis-ci.com/2019-04-15-xenial-default-build-environment
> >
> > [2] 'apt-get install git-svn' in the Xenial image fails with:
> >
> >       The following packages have unmet dependencies:
> >        git-svn : Depends: git (< 1:2.7.4-.)
> >       E: Unable to correct problems, you have held broken packages.
> >
> >     The reason is that both the Trusty and Xenial images contain the
> >     'git' package installed from 'ppa:git-core/ppa', so it's
> >     considerably newer than the 'git' package in the corresponding
> >     standard Ubuntu package repositories.  The difference is that the
> >     Trusty image still contains these third-party apt repositories, so
> >     the 'git-svn' package was installed from the same PPA, and its
> >     version matched the version of the already installed 'git'
> >     package.  In the Xenial image, however, these third-party
> >     apt-repositories are removed (to reduce the risk of unrelated
> >     interference and faster 'apt-get update') [3], and the version of
> >     the 'git-svn' package coming from the standard Ubuntu package
> >     repositories doesn't match the much more recent version of the
> >     'git' package installed from the PPA, resulting in this dependecy
> >     error.
> >
> >     Adding back the 'ppa:git-core/ppa' package repository would solve
> >     this dependency issue as well, but since the troublesome package
> >     happens to be unnecessary, not installing it in the first place is
> >     better.
> >
> > [3] https://docs.travis-ci.com/user/reference/xenial/#third-party-apt-repositories-removed
> >
> > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> > ---
> >  ci/install-dependencies.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> > index 52a44c690a..7f6acdd803 100755
> > --- a/ci/install-dependencies.sh
> > +++ b/ci/install-dependencies.sh
> > @@ -12,7 +12,7 @@ case "$jobname" in
> >  linux-clang|linux-gcc)
> >  	sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
> >  	sudo apt-get -q update
> > -	sudo apt-get -q -y install language-pack-is git-svn apache2
> > +	sudo apt-get -q -y install language-pack-is libsvn-perl apache2
> 
> Makes sense.
> 
> I assume you verified that this works also with our Azure Pipeline?

No, I didn't; only on Travis CI's 14.04 and 16.04 images and on a
local 16.04 install.


  reply	other threads:[~2019-05-01 23:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30 12:37 [PATCH] ci: install 'libsvn-perl' instead of 'git-svn' SZEDER Gábor
2019-04-30 22:16 ` Johannes Schindelin
2019-05-01 23:18   ` SZEDER Gábor [this message]
2019-05-03  8:32     ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190501231854.GE14763@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=e@80x24.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=larsxschneider@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).