{"thread":{"id":"51014","subject":"[PATCH] ci: install 'libsvn-perl' instead of 'git-svn'","startedAt":"2019-04-30T12:37:40Z","lastAt":"2019-05-03T08:33:11Z","messageCount":4,"participants":["SZEDER Gábor","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"374700","messageId":"20190430123724.16150-1-szeder.dev@gmail.com","threadId":"51014","inReplyTo":null,"subject":"[PATCH] ci: install 'libsvn-perl' instead of 'git-svn'","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-04-30T12:37:24Z","receivedAt":"2019-04-30T12:37:40Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Since e7e9f5e7a1 (travis-ci: enable Git SVN tests t91xx on Linux,\n2016-05-19) some of our Travis CI build jobs install the 'git-svn'\npackage, because it was a convenient way to install its dependencies,\nwhich are necessary to run our 'git-svn' tests (we don't actually need\nthe 'git-svn' package itself).  However, from those dependencies,\nnamely the 'libsvn-perl', 'libyaml-perl', and 'libterm-readkey-perl'\npackages, only 'libsvn-perl' is necessary to run those tests, the\nothers arent, not even to fulfill some prereqs.\n\nSo update 'ci/install-dependencies.sh' to install only 'libsvn-perl'\ninstead of 'git-svn' and its additional dependencies.\n\nNote that this change has more important implications than merely not\ninstalling three unnecessary packages, as it keeps our builds working\nwith Travis CI's Xenial images.  In our '.travis.yml' we never\nexplicitly specified which Linux image we want to use to run our Linux\nbuild jobs, and so far they have been run on the default Ubuntu 14.04\nTrusty image.  However, 14.04 just reached its EOL, and Travis CI has\nalready began the transition to use 16.04 Xenial as the default Linux\nbuild environment [1].  Alas, our Linux Clang and GCC build jobs can't\nsimply 'apt-get install git-svn' in the current Xenial images [2],\nlike they did in the Trusty images, and, consequently, fail.\nInstalling only 'libsvn-perl' avoids this issue, while the 'git svn'\ntests are still run as they should.\n\n[1] https://blog.travis-ci.com/2019-04-15-xenial-default-build-environment\n\n[2] 'apt-get install git-svn' in the Xenial image fails with:\n\n      The following packages have unmet dependencies:\n       git-svn : Depends: git (< 1:2.7.4-.)\n      E: Unable to correct problems, you have held broken packages.\n\n    The reason is that both the Trusty and Xenial images contain the\n    'git' package installed from 'ppa:git-core/ppa', so it's\n    considerably newer than the 'git' package in the corresponding\n    standard Ubuntu package repositories.  The difference is that the\n    Trusty image still contains these third-party apt repositories, so\n    the 'git-svn' package was installed from the same PPA, and its\n    version matched the version of the already installed 'git'\n    package.  In the Xenial image, however, these third-party\n    apt-repositories are removed (to reduce the risk of unrelated\n    interference and faster 'apt-get update') [3], and the version of\n    the 'git-svn' package coming from the standard Ubuntu package\n    repositories doesn't match the much more recent version of the\n    'git' package installed from the PPA, resulting in this dependecy\n    error.\n\n    Adding back the 'ppa:git-core/ppa' package repository would solve\n    this dependency issue as well, but since the troublesome package\n    happens to be unnecessary, not installing it in the first place is\n    better.\n\n[3] https://docs.travis-ci.com/user/reference/xenial/#third-party-apt-repositories-removed\n\nSigned-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n---\n ci/install-dependencies.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\nindex 52a44c690a..7f6acdd803 100755\n--- a/ci/install-dependencies.sh\n+++ b/ci/install-dependencies.sh\n@@ -12,7 +12,7 @@ case \"$jobname\" in\n linux-clang|linux-gcc)\n \tsudo apt-add-repository -y \"ppa:ubuntu-toolchain-r/test\"\n \tsudo apt-get -q update\n-\tsudo apt-get -q -y install language-pack-is git-svn apache2\n+\tsudo apt-get -q -y install language-pack-is libsvn-perl apache2\n \tcase \"$jobname\" in\n \tlinux-gcc)\n \t\tsudo apt-get -q -y install gcc-8\n-- \n2.21.0.1181.g24122a4251\n\n"},{"id":"374723","messageId":"nycvar.QRO.7.76.6.1904301816200.45@tvgsbejvaqbjf.bet","threadId":"51014","inReplyTo":"20190430123724.16150-1-szeder.dev@gmail.com","subject":"Re: [PATCH] ci: install 'libsvn-perl' instead of 'git-svn'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-04-30T22:16:48Z","receivedAt":"2019-04-30T22:17:03Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 30 Apr 2019, SZEDER Gábor wrote:\n\n> Since e7e9f5e7a1 (travis-ci: enable Git SVN tests t91xx on Linux,\n> 2016-05-19) some of our Travis CI build jobs install the 'git-svn'\n> package, because it was a convenient way to install its dependencies,\n> which are necessary to run our 'git-svn' tests (we don't actually need\n> the 'git-svn' package itself).  However, from those dependencies,\n> namely the 'libsvn-perl', 'libyaml-perl', and 'libterm-readkey-perl'\n> packages, only 'libsvn-perl' is necessary to run those tests, the\n> others arent, not even to fulfill some prereqs.\n>\n> So update 'ci/install-dependencies.sh' to install only 'libsvn-perl'\n> instead of 'git-svn' and its additional dependencies.\n>\n> Note that this change has more important implications than merely not\n> installing three unnecessary packages, as it keeps our builds working\n> with Travis CI's Xenial images.  In our '.travis.yml' we never\n> explicitly specified which Linux image we want to use to run our Linux\n> build jobs, and so far they have been run on the default Ubuntu 14.04\n> Trusty image.  However, 14.04 just reached its EOL, and Travis CI has\n> already began the transition to use 16.04 Xenial as the default Linux\n> build environment [1].  Alas, our Linux Clang and GCC build jobs can't\n> simply 'apt-get install git-svn' in the current Xenial images [2],\n> like they did in the Trusty images, and, consequently, fail.\n> Installing only 'libsvn-perl' avoids this issue, while the 'git svn'\n> tests are still run as they should.\n>\n> [1] https://blog.travis-ci.com/2019-04-15-xenial-default-build-environment\n>\n> [2] 'apt-get install git-svn' in the Xenial image fails with:\n>\n>       The following packages have unmet dependencies:\n>        git-svn : Depends: git (< 1:2.7.4-.)\n>       E: Unable to correct problems, you have held broken packages.\n>\n>     The reason is that both the Trusty and Xenial images contain the\n>     'git' package installed from 'ppa:git-core/ppa', so it's\n>     considerably newer than the 'git' package in the corresponding\n>     standard Ubuntu package repositories.  The difference is that the\n>     Trusty image still contains these third-party apt repositories, so\n>     the 'git-svn' package was installed from the same PPA, and its\n>     version matched the version of the already installed 'git'\n>     package.  In the Xenial image, however, these third-party\n>     apt-repositories are removed (to reduce the risk of unrelated\n>     interference and faster 'apt-get update') [3], and the version of\n>     the 'git-svn' package coming from the standard Ubuntu package\n>     repositories doesn't match the much more recent version of the\n>     'git' package installed from the PPA, resulting in this dependecy\n>     error.\n>\n>     Adding back the 'ppa:git-core/ppa' package repository would solve\n>     this dependency issue as well, but since the troublesome package\n>     happens to be unnecessary, not installing it in the first place is\n>     better.\n>\n> [3] https://docs.travis-ci.com/user/reference/xenial/#third-party-apt-repositories-removed\n>\n> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n> ---\n>  ci/install-dependencies.sh | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> index 52a44c690a..7f6acdd803 100755\n> --- a/ci/install-dependencies.sh\n> +++ b/ci/install-dependencies.sh\n> @@ -12,7 +12,7 @@ case \"$jobname\" in\n>  linux-clang|linux-gcc)\n>  \tsudo apt-add-repository -y \"ppa:ubuntu-toolchain-r/test\"\n>  \tsudo apt-get -q update\n> -\tsudo apt-get -q -y install language-pack-is git-svn apache2\n> +\tsudo apt-get -q -y install language-pack-is libsvn-perl apache2\n\nMakes sense.\n\nI assume you verified that this works also with our Azure Pipeline?\n\nThanks,\nDscho\n\n>  \tcase \"$jobname\" in\n>  \tlinux-gcc)\n>  \t\tsudo apt-get -q -y install gcc-8\n> --\n> 2.21.0.1181.g24122a4251\n>\n>\n"},{"id":"374796","messageId":"20190501231854.GE14763@szeder.dev","threadId":"51014","inReplyTo":"nycvar.QRO.7.76.6.1904301816200.45@tvgsbejvaqbjf.bet","subject":"Re: [PATCH] ci: install 'libsvn-perl' instead of 'git-svn'","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-05-01T23:18:54Z","receivedAt":"2019-05-01T23:19:01Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Tue, Apr 30, 2019 at 06:16:48PM -0400, Johannes Schindelin wrote:\n> Hi,\n> \n> On Tue, 30 Apr 2019, SZEDER Gábor wrote:\n> \n> > Since e7e9f5e7a1 (travis-ci: enable Git SVN tests t91xx on Linux,\n> > 2016-05-19) some of our Travis CI build jobs install the 'git-svn'\n> > package, because it was a convenient way to install its dependencies,\n> > which are necessary to run our 'git-svn' tests (we don't actually need\n> > the 'git-svn' package itself).  However, from those dependencies,\n> > namely the 'libsvn-perl', 'libyaml-perl', and 'libterm-readkey-perl'\n> > packages, only 'libsvn-perl' is necessary to run those tests, the\n> > others arent, not even to fulfill some prereqs.\n> >\n> > So update 'ci/install-dependencies.sh' to install only 'libsvn-perl'\n> > instead of 'git-svn' and its additional dependencies.\n> >\n> > Note that this change has more important implications than merely not\n> > installing three unnecessary packages, as it keeps our builds working\n> > with Travis CI's Xenial images.  In our '.travis.yml' we never\n> > explicitly specified which Linux image we want to use to run our Linux\n> > build jobs, and so far they have been run on the default Ubuntu 14.04\n> > Trusty image.  However, 14.04 just reached its EOL, and Travis CI has\n> > already began the transition to use 16.04 Xenial as the default Linux\n> > build environment [1].  Alas, our Linux Clang and GCC build jobs can't\n> > simply 'apt-get install git-svn' in the current Xenial images [2],\n> > like they did in the Trusty images, and, consequently, fail.\n> > Installing only 'libsvn-perl' avoids this issue, while the 'git svn'\n> > tests are still run as they should.\n> >\n> > [1] https://blog.travis-ci.com/2019-04-15-xenial-default-build-environment\n> >\n> > [2] 'apt-get install git-svn' in the Xenial image fails with:\n> >\n> >       The following packages have unmet dependencies:\n> >        git-svn : Depends: git (< 1:2.7.4-.)\n> >       E: Unable to correct problems, you have held broken packages.\n> >\n> >     The reason is that both the Trusty and Xenial images contain the\n> >     'git' package installed from 'ppa:git-core/ppa', so it's\n> >     considerably newer than the 'git' package in the corresponding\n> >     standard Ubuntu package repositories.  The difference is that the\n> >     Trusty image still contains these third-party apt repositories, so\n> >     the 'git-svn' package was installed from the same PPA, and its\n> >     version matched the version of the already installed 'git'\n> >     package.  In the Xenial image, however, these third-party\n> >     apt-repositories are removed (to reduce the risk of unrelated\n> >     interference and faster 'apt-get update') [3], and the version of\n> >     the 'git-svn' package coming from the standard Ubuntu package\n> >     repositories doesn't match the much more recent version of the\n> >     'git' package installed from the PPA, resulting in this dependecy\n> >     error.\n> >\n> >     Adding back the 'ppa:git-core/ppa' package repository would solve\n> >     this dependency issue as well, but since the troublesome package\n> >     happens to be unnecessary, not installing it in the first place is\n> >     better.\n> >\n> > [3] https://docs.travis-ci.com/user/reference/xenial/#third-party-apt-repositories-removed\n> >\n> > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>\n> > ---\n> >  ci/install-dependencies.sh | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> >\n> > diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh\n> > index 52a44c690a..7f6acdd803 100755\n> > --- a/ci/install-dependencies.sh\n> > +++ b/ci/install-dependencies.sh\n> > @@ -12,7 +12,7 @@ case \"$jobname\" in\n> >  linux-clang|linux-gcc)\n> >  \tsudo apt-add-repository -y \"ppa:ubuntu-toolchain-r/test\"\n> >  \tsudo apt-get -q update\n> > -\tsudo apt-get -q -y install language-pack-is git-svn apache2\n> > +\tsudo apt-get -q -y install language-pack-is libsvn-perl apache2\n> \n> Makes sense.\n> \n> I assume you verified that this works also with our Azure Pipeline?\n\nNo, I didn't; only on Travis CI's 14.04 and 16.04 images and on a\nlocal 16.04 install.\n\n"},{"id":"374859","messageId":"nycvar.QRO.7.76.6.1905031032030.45@tvgsbejvaqbjf.bet","threadId":"51014","inReplyTo":"20190501231854.GE14763@szeder.dev","subject":"Re: [PATCH] ci: install 'libsvn-perl' instead of 'git-svn'","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-05-03T08:32:59Z","receivedAt":"2019-05-03T08:33:11Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 2 May 2019, SZEDER Gábor wrote:\n\n> On Tue, Apr 30, 2019 at 06:16:48PM -0400, Johannes Schindelin wrote:\n>\n> > > [...]\n> >\n> > I assume you verified that this works also with our Azure Pipeline?\n>\n> No, I didn't; only on Travis CI's 14.04 and 16.04 images and on a\n> local 16.04 install.\n\nI guess we'll find out once things hit `pu`...\n\nCiao,\nDscho\n"}]}