Mailing List Archive

How to find which .keep file creation is failing
Hello list,

In an effort to sort out my ruby problem I'm building a new system piecemeal,
by which I mean one step at a time with dev-lang/ruby masked.

The latest snag is in the early stages of the build process, when installing
polkit, with a "keepfile creation failed" error, or similar.

How can I find out where it's trying to install a .keep file? I tried installing
polkit on another machine and searching for .keep, but nothing related
appeared.

(This is turning into just about the most frustrating build ever.)

--
Regards,
Peter.
Re: How to find which .keep file creation is failing [ In reply to ]
On Tuesday, 22 August 2023 14:18:08 BST Peter Humphrey wrote:
> Hello list,
>
> In an effort to sort out my ruby problem I'm building a new system
> piecemeal, by which I mean one step at a time with dev-lang/ruby masked.
>
> The latest snag is in the early stages of the build process, when installing
> polkit, with a "keepfile creation failed" error, or similar.
>
> How can I find out where it's trying to install a .keep file? I tried
> installing polkit on another machine and searching for .keep, but nothing
> related appeared.
>
> (This is turning into just about the most frustrating build ever.)

I don't know if line 151 in the ebuild is related to the messages you're
getting. I see in '/var/db/repos/gentoo/sys-auth/polkit/polkit-122-r1.ebuild'

147 if use daemon; then
148 if [[ ${EUID} == 0 ]]; then
149 diropts -m 0700 -o polkitd
150 fi
151 keepdir /etc/polkit-1/rules.d
152 fi

Which was created with permissions 0700 and ownership of polkitd:root,

# stat /etc/polkit-1/rules.d
File: /etc/polkit-1/rules.d
Size: 46 Blocks: 0 IO Block: 4096 directory
Device: 0,21 Inode: 1004 Links: 1
Access: (0700/drwx------) Uid: ( 102/ polkitd) Gid: ( 0/ root)

I would think this would be at the end, not early in the build stage. I
mention it just in case it may be relevant.
Re: How to find which .keep file creation is failing [ In reply to ]
On Wednesday, 23 August 2023 00:14:03 BST Michael wrote:

> I would think this would be at the end, not early in the build stage. I
> mention it just in case it may be relevant.

Hm. It seems not to be. I tried a different tack in the end: reinstalling from
scratch.

Now I find that ruby30 has been masked, before upstream - but it's specifically
required by webkit-gtk and app-text/docbook-xsl-stylesheets-1.79.1-r4.

This is the error I get when I emerge @preserved-rebuild:

!!! All ebuilds that could satisfy "=dev-lang/ruby-3.0.6-r3" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/ruby-3.0.6-r3::gentoo (masked by: package.mask)
/var/db/repos/gentoo/profiles/package.mask:
# Hans de Graaff <graaff@gentoo.org> (2023-08-19)
# Ruby 3.0 is not compatible with OpenSSL 3 and consequently will be
# masked earlier than its upstream EOL date. Please use a newer Ruby
# version instead. Masked for removal on 2023-09-19.

I'm now in a hole, as I can't "use a newer Ruby version instead."


--
Regards,
Peter.
Re: How to find which .keep file creation is failing [ In reply to ]
On Friday, 25 August 2023 14:51:34 BST I wrote:

> I'm now in a hole, as I can't "use a newer Ruby version instead."

I tried yanking and recompiling the docbook package, and that removed its
dependency on ruby30. Then webkit-gkt with:

$ grep -ir ruby /etc/portage
/etc/portage/make.conf:RUBY_TARGETS="ruby31 ruby32"

Returned the same dependencies, every one of which (other than webkit-gtk) is
conditional or version-unspecific, unless my eyes are deceiving me:

$ equery d dev-lang/ruby:3.0
* These packages depend on dev-lang/ruby:
app-text/docbook-xsl-ns-stylesheets-1.79.1 (ruby ? dev-lang/ruby)
dev-ruby/bundler-2.4.15 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/date-3.3.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/debug-1.7.2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/did_you_mean-1.6.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/forwardable-1.3.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/json-2.6.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/kpeg-1.3.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/matrix-0.4.2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/minitest-5.19.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/net-ftp-0.2.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/net-imap-0.3.7 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/net-pop-0.1.2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/net-protocol-0.2.1 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/net-smtp-0.3.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/power_assert-2.0.3 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/prime-0.1.2-r1 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/psych-5.1.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/racc-1.7.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/rake-13.0.6-r2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/rdoc-6.5.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/rexml-3.2.6 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/rss-0.3.0 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/rubygems-3.4.15 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/singleton-0.1.1 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/stringio-3.0.8 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/test-unit-3.6.1 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/time-0.2.2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/timeout-0.3.2 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
dev-ruby/typeprof-0.21.7 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
net-libs/webkit-gtk-2.40.5-r600 (dev-lang/ruby:3.0)
virtual/ruby-ssl-13 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)
(ruby_targets_ruby30 ? dev-lang/ruby:3.0[ssl])
virtual/rubygems-18 (ruby_targets_ruby30 ? dev-lang/ruby:3.0)

Now what? I can't do without webkit-gtk.

--
Regards,
Peter.
Re: How to find which .keep file creation is failing [ In reply to ]
On Friday, 25 August 2023 16:28:16 BST I wrote:

> Now what? I can't do without webkit-gtk.

I have a precompiled package from before the mask was applied; is there a way
to ebuild it in spite of the mask?

# find /var/cache/packages/dev-lang -name ruby-3.0\*
/var/cache/packages/dev-lang/ruby/ruby-3.0.6-r3-1.xpak

--
Regards,
Peter.
Re: How to find which .keep file creation is failing [ In reply to ]
On 2023.08.25 11:39, Peter Humphrey wrote:
> On Friday, 25 August 2023 16:28:16 BST I wrote:
>
> > Now what? I can't do without webkit-gtk.
>
> I have a precompiled package from before the mask was applied; is
> there a way
> to ebuild it in spite of the mask?
>
> # find /var/cache/packages/dev-lang -name ruby-3.0\*
> /var/cache/packages/dev-lang/ruby/ruby-3.0.6-r3-1.xpak

Sorry if I missed it, but which version of webkit-gtk do you
have/want/need? I have webkit-gtk:4.1 installed with ruby:3.1. Are
you somehow stuck on webkit-gtk:4?

You should be able to install a masked package by putting it in
package.unmask. It looks to me like ruby-3.0.6-r3 has been masked, but
not yet actually removed from the tree.
Re: How to find which .keep file creation is failing [ In reply to ]
On 25/08/2023 16:39, Peter Humphrey wrote:
> I have a precompiled package from before the mask was applied; is there a way
> to ebuild it in spite of the mask?

You can put the package atom in /etc/portage/package.unmask. See
portage(5) for more details.

Emily
Re: How to find which .keep file creation is failing [ In reply to ]
On Fri, 25 Aug 2023 at 17:28, Peter Humphrey <peter@prh.myzen.co.uk> wrote:
> Now what? I can't do without webkit-gtk.

webkit-gtk's ruby dependency also is given by RUBY_TARGETS, so this
should mean you have set ruby30 on it somewhere in /etc/portage/

Regards,
Arve
Re: How to find which .keep file creation is failing [ In reply to ]
On Saturday, 26 August 2023 12:00:56 BST Arve Barsnes wrote:
> On Fri, 25 Aug 2023 at 17:28, Peter Humphrey <peter@prh.myzen.co.uk>
wrote:
> > Now what? I can't do without webkit-gtk.
>
> webkit-gtk's ruby dependency also is given by RUBY_TARGETS, so this
> should mean you have set ruby30 on it somewhere in /etc/portage/

Yes, and indeed I set it in make.conf. But that only led to more demands for
nonexistent ebuilds, and the mess grew so byzantine that I just scrapped the
whole system and reinstalled.

--
Regards,
Peter.