Re: [gentoo-dev] [PATCH 4/4] sys-devel/automake: Fix installing broken Info pages

2023-03-27 Thread Arsen Arsenović

Florian Schmaus  writes:

> On 26/03/2023 22.30, Arsen Arsenović wrote:
>> This commit replaces the Info page slotting mechanism with simple
>> INFOPATH setting.
>> Closes: https://bugs.gentoo.org/902461
>> Signed-off-by: Arsen Arsenović 
>> ---
>>   sys-devel/automake/automake-1.11.6-r4.ebuild |  84 +
>>   sys-devel/automake/automake-1.16.5-r1.ebuild | 119 +++
>>   sys-devel/automake/automake-.ebuild  |  48 +++-
>>   3 files changed, 220 insertions(+), 31 deletions(-)
>>   create mode 100644 sys-devel/automake/automake-1.11.6-r4.ebuild
>>   create mode 100644 sys-devel/automake/automake-1.16.5-r1.ebuild
>> diff --git a/sys-devel/automake/automake-1.11.6-r4.ebuild
>> b/sys-devel/automake/automake-1.11.6-r4.ebuild
>> new file mode 100644
>> index ..4e0857012d71
>> --- /dev/null
>> +++ b/sys-devel/automake/automake-1.11.6-r4.ebuild
>> @@ -0,0 +1,84 @@
>> +# Copyright 1999-2023 Gentoo Authors
>> +# Distributed under the terms of the GNU General Public License v2
>> +
>> +EAPI=7
>> +
>> +DESCRIPTION="Used to generate Makefile.in from Makefile.am"
>> +HOMEPAGE="https://www.gnu.org/software/automake/;
>> +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
>> +
>> +LICENSE="GPL-2"
>> +# Use Gentoo versioning for slotting.
>> +SLOT="${PV:0:4}"
>> +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
>> ~riscv ~s390 ~sparc ~x86"
>> +IUSE=""
>> +RESTRICT="test"
>> +
>> +RDEPEND=">=dev-lang/perl-5.6
>> +>=sys-devel/automake-wrapper-10
>> +>=sys-devel/autoconf-2.69:*
>> +sys-devel/gnuconfig"
>> +DEPEND="${RDEPEND}
>> +sys-apps/help2man"
>> +BDEPEND="app-arch/gzip"
>> +
>> +PATCHES=(
>> +"${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453
>> +"${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
>> +"${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
>> +)
>> +
>> +src_prepare() {
>> +default
>> +export WANT_AUTOCONF=2.5
>> +export HELP2MAN=true
>> +sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
>> +export TZ="UTC"  #589138
>> +}
>> +
>> +src_compile() {
>> +# Also used in install.
>> +infopath="${EPREFIX}/usr/share/automake-${PV}/info"
>
> Not sure if we have a style policy on this, but I read lowercase variables as
> local-function variables. However, 'infopath', as is, is used in a subsequent
> ebuild phase function. So maybe s/infopath/INFOPATH/ or maybe even MY_INFOPATH
> or AUTOMAKE_INFOPATH?

Yes, fair enough.  I'll update it to MY_INFOPATH.

> - Flow


-- 
Arsen Arsenović


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH 1/4] toolchain-autoconf.eclass: Add option to disable Info slotting

2023-03-27 Thread Arsen Arsenović
Hi Florian,

Florian Schmaus  writes:

> On 26/03/2023 22.30, Arsen Arsenović wrote:
>> Closes: https://bugs.gentoo.org/902461
>> Signed-off-by: Arsen Arsenović 
>> ---
>>   eclass/toolchain-autoconf.eclass | 46 +---
>>   1 file changed, 43 insertions(+), 3 deletions(-)
>> diff --git a/eclass/toolchain-autoconf.eclass
>> b/eclass/toolchain-autoconf.eclass
>> index 2ba27638468e..140ee4c9b5eb 100644
>> --- a/eclass/toolchain-autoconf.eclass
>> +++ b/eclass/toolchain-autoconf.eclass
>> @@ -1,4 +1,4 @@
>> -# Copyright 1999-2022 Gentoo Authors
>> +# Copyright 1999-2023 Gentoo Authors
>>   # Distributed under the terms of the GNU General Public License v2
>> # @ECLASS: toolchain-autoconf.eclass
>> @@ -18,6 +18,20 @@ esac
>>   if [[ -z ${_TOOLCHAIN_AUTOCONF_ECLASS} ]]; then
>>   _TOOLCHAIN_AUTOCONF_ECLASS=1
>>   +# @ECLASS_VARIABLE: TC_AUTOCONF_BREAK_INFOS
>> +# @DESCRIPTION:
>> +# Enables slotting logic on the installed info pages.  This includes
>> +# mangling the pages in order to include a version number.  Empty by
>> +# default, and only exists for existing ebuild revisions to use.  Set
>
> Referring to "existing ebuild revisions" becomes confusing in the future, when
> there are existing ebuilds that do not use this variable.

My intention was that this variable goes away as soon as said revisions
are out of tree, so I wasn't thinking about that time-frame but I'll
clarify and push to my branch.

Thanks, have a lovely day.

> Maybe "and only set by legacy ebuilds to phase out the broken slotting
> logic. New ebuilds should not set this variable."
>
> - Flow


-- 
Arsen Arsenović


signature.asc
Description: PGP signature


Re: [gentoo-dev] Last rites: dev-ruby/hiera-eyaml and dev-ruby/hiera-eyaml-gpg

2023-03-27 Thread Hans de Graaff
On Sun, 2023-03-26 at 22:37 +, Robin H. Johnson wrote:
> 
> So you're implying that we are now responsible to fix the tests of
> every
> package in our dependency tree, and you'll just remove all dependent
> packages if we don't do that.

My answer would be yes, especially for packages maintained by a project
team and in an interpreted language. We have no compiler or other
checks to fall back on other than tests.

Obviously a dedicated maintainer who is using a package could determine
if a package is compatible (at least for their use case) in other ways,
but in this case the only other maintainer is also a project team.

> And if that's the case why didn't graaff mask dev-util/aruba:0 in
> addition to hiera-eyaml & hiera-eyaml-gpg?

Simply because I did not get to that yet and leaf dependencies have to
go first.

> The fix for Aruba:0 is just tweaking the cucumber tag syntax:
> "~@foo" -> "not @foo"

This comment prompted me to have another look at aruba-0.6.2 because I
was sure there was more work involved when I looked at this in the
past, but you are right and it turns out that the dependency on rspec:2
was (no longer) correct.

I have now updated the aruba-0.6.2 ebuilds and consequently unmasked
hiera-eyaml again.

> I'll do the better fix anyway, making hiera-eyaml use aruba:2
> instead, I
> really just want better communication that we're now responsible for
> the
> entire deptree's tests.

Using aruba:2 would be helpful here but I already looked at that a bit
and the change was not trivial. It would still be the better fix.

Kind regards,

Hans



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Last rites: dev-ruby/hiera-eyaml and dev-ruby/hiera-eyaml-gpg

2023-03-27 Thread Hans de Graaff
On Sun, 2023-03-26 at 21:39 +, Robin H. Johnson wrote:

To start with your last question since that is the most fundamental one
for me:

> So do we really remove packages because a 2nd-order test-only
> dependency
> fails it's own tests? (aruba:0 failing tests on Ruby 3 being the only
> reason I can see to remove stuff right now).

Yes, if you want packages to maintained by the Ruby team then they must
have working tests, and consequently the dependencies, including test
dependencies, must also have them. The test suites are the only thing
that makes it feasible to maintain a large number of ruby packages
without actually using them.


> Looking deeper, I think the  CI
> tests on Ruby 3.1 + Puppet7 already successfully. The Gemfile doesn't
> lock in old Puppet either.
> https://github.com/voxpupuli/hiera-eyaml/actions/runs/4280324437/jobs/7451960271

Yes, it looks like any working "puppet" command is fine. I've updated
this to depend on either puppet-agent or puppet.


Kind regards,

Hans


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH 4/4] sys-devel/automake: Fix installing broken Info pages

2023-03-27 Thread Florian Schmaus

On 26/03/2023 22.30, Arsen Arsenović wrote:

This commit replaces the Info page slotting mechanism with simple
INFOPATH setting.

Closes: https://bugs.gentoo.org/902461
Signed-off-by: Arsen Arsenović 
---
  sys-devel/automake/automake-1.11.6-r4.ebuild |  84 +
  sys-devel/automake/automake-1.16.5-r1.ebuild | 119 +++
  sys-devel/automake/automake-.ebuild  |  48 +++-
  3 files changed, 220 insertions(+), 31 deletions(-)
  create mode 100644 sys-devel/automake/automake-1.11.6-r4.ebuild
  create mode 100644 sys-devel/automake/automake-1.16.5-r1.ebuild

diff --git a/sys-devel/automake/automake-1.11.6-r4.ebuild 
b/sys-devel/automake/automake-1.11.6-r4.ebuild
new file mode 100644
index ..4e0857012d71
--- /dev/null
+++ b/sys-devel/automake/automake-1.11.6-r4.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/;
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+IUSE=""
+RESTRICT="test"
+
+RDEPEND=">=dev-lang/perl-5.6
+   >=sys-devel/automake-wrapper-10
+   >=sys-devel/autoconf-2.69:*
+   sys-devel/gnuconfig"
+DEPEND="${RDEPEND}
+   sys-apps/help2man"
+BDEPEND="app-arch/gzip"
+
+PATCHES=(
+   "${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453
+   "${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
+   "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
+)
+
+src_prepare() {
+   default
+   export WANT_AUTOCONF=2.5
+   export HELP2MAN=true
+   sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+   export TZ="UTC"  #589138
+}
+
+src_compile() {
+   # Also used in install.
+   infopath="${EPREFIX}/usr/share/automake-${PV}/info"


Not sure if we have a style policy on this, but I read lowercase 
variables as local-function variables. However, 'infopath', as is, is 
used in a subsequent ebuild phase function. So maybe 
s/infopath/INFOPATH/ or maybe even MY_INFOPATH or AUTOMAKE_INFOPATH?


- Flow




Re: [gentoo-dev] [PATCH 1/4] toolchain-autoconf.eclass: Add option to disable Info slotting

2023-03-27 Thread Florian Schmaus

On 26/03/2023 22.30, Arsen Arsenović wrote:

Closes: https://bugs.gentoo.org/902461
Signed-off-by: Arsen Arsenović 
---
  eclass/toolchain-autoconf.eclass | 46 +---
  1 file changed, 43 insertions(+), 3 deletions(-)

diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass
index 2ba27638468e..140ee4c9b5eb 100644
--- a/eclass/toolchain-autoconf.eclass
+++ b/eclass/toolchain-autoconf.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
  # @ECLASS: toolchain-autoconf.eclass

@@ -18,6 +18,20 @@ esac
  if [[ -z ${_TOOLCHAIN_AUTOCONF_ECLASS} ]]; then
  _TOOLCHAIN_AUTOCONF_ECLASS=1
  
+# @ECLASS_VARIABLE: TC_AUTOCONF_BREAK_INFOS

+# @DESCRIPTION:
+# Enables slotting logic on the installed info pages.  This includes
+# mangling the pages in order to include a version number.  Empty by
+# default, and only exists for existing ebuild revisions to use.  Set


Referring to "existing ebuild revisions" becomes confusing in the 
future, when there are existing ebuilds that do not use this variable.


Maybe "and only set by legacy ebuilds to phase out the broken slotting 
logic. New ebuilds should not set this variable."


- Flow