Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Problem with basic masking of packages.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
deltamalloc
Apprentice
Apprentice


Joined: 18 Jan 2013
Posts: 279

PostPosted: Sat Jun 24, 2017 12:32 pm    Post subject: Problem with basic masking of packages. Reply with quote

I currently have app-emulation/fuse-utils-1.0.0 installed, it is working perfectly fine and I don't want to upgrade. The new version, app-emulation/fuse-utils-1.1.1, also fails to build (for non-important reasons, I don't want to fix it, I want to mask it).

I want to mask app-emulation/fuse-utils-1.1.1, or in other words, prevent anything above fuse-utils-1.0.0 from being pulled in when doing a world emerge.

E.g. when I do:

Code:

# emerge --update --deep --with-bdeps=y @world
Calculating dependencies... done!
[ebuild     U #] app-emulation/fuse-utils-1.1.1 [1.0.0]


I don't want that to happen, I want it to just proceed as if there didn't exist a more recent version.


I tried doing that:

I added >app-emulation/fuse-utils-1.0.0 to my /etc/portage/package.mask file. However, portage still wants to pull in fuse-utils-1.1.1:

Code:

# emerge --update --deep --with-bdeps=y @world
Calculating dependencies... done!
[ebuild     U #] app-emulation/fuse-utils-1.1.1 [1.0.0]

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=app-emulation/fuse-utils-1.1.1

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.


I tried changing it from >app-emulation/fuse-utils-1.0.0 to >=app-emulation/fuse-utils-1.0.0, because strangely enough ">=" (greater than or equal) seems to be used to mean only greater from reading https://wiki.gentoo.org/wiki//etc/portage/package.mask, but the problem remains.

I don't understand what the problem is, my problem is almost verbatim the same except for a different package name, as the first example in the package.mask guide:

Code:

# Mask beta versions greater than 1.97 of powertop since they have less features
>=sys-power/powertop-1.97


If this prevents anything greater than 1.97 of powertop being installed, then why doesnt >=app-emulation/fuse-utils-1.0.0 prevent anything higher than 1.0.0 of fuse-utils from being installed?

Again, this is what happens:

Code:

# emerge --update --deep --with-bdeps=y @world
Calculating dependencies... done!
[ebuild     U #] app-emulation/fuse-utils-1.1.1 [1.0.0]

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=app-emulation/fuse-utils-1.1.1
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Sat Jun 24, 2017 12:40 pm    Post subject: Reply with quote

deltamalloc,

The mask worked but as a result
Code:
The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=app-emulation/fuse-utils-1.1.1
you cannot update @world because something depends on =app-emulation/fuse-utils-1.1.1.

You need to find and mask that something ... and so on.

A mask of
Code:
>app-emulation/fuse-utils-1.0.0
hides all future versions. That's probably a bad idea because you won't see a fixed version.
Mask only the broken version, so that you can see and try fixes.

Try
Code:
emerge -uDNtav  --with-bdeps=y @world --backtrack=30

The -t will show the dependency tree and --backtrack=30 tells portage to try harder to resolve the dependencies.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
deltamalloc
Apprentice
Apprentice


Joined: 18 Jan 2013
Posts: 279

PostPosted: Sat Jun 24, 2017 1:09 pm    Post subject: Reply with quote

NeddySeagoon wrote:
deltamalloc,

The mask worked but as a result
Code:
The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=app-emulation/fuse-utils-1.1.1
you cannot update @world because something depends on =app-emulation/fuse-utils-1.1.1.

You need to find and mask that something ... and so on.

A mask of
Code:
>app-emulation/fuse-utils-1.0.0
hides all future versions. That's probably a bad idea because you won't see a fixed version.
Mask only the broken version, so that you can see and try fixes.

Try
Code:
emerge -uDNtav  --with-bdeps=y @world --backtrack=30

The -t will show the dependency tree and --backtrack=30 tells portage to try harder to resolve the dependencies.


But nothing depends on fuse-utils. equery depends shows nothing.
Back to top
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Sat Jun 24, 2017 1:14 pm    Post subject: Reply with quote

There's the issue that 1.1.1 is also the only package in the tree. Maybe that's why dependency resolution insists in the new package.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4553
Location: Germany

PostPosted: Sat Jun 24, 2017 1:58 pm    Post subject: Reply with quote

deltamalloc wrote:
But nothing depends on fuse-utils. equery depends shows nothing.

Nah, see "# required by @selected"
it depends on @world

Code:
emerge -av --depclean app-emulation/fuse-utils
should help.

/edit
Or better, what is the real problem with updating to fuse-utils-1.1.1 version?
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sat Jun 24, 2017 3:20 pm    Post subject: Reply with quote

What Josef said; you have app-emulation/fuse-utils in world, so it's trying to get the latest version; though I agree it should leave it as masked by user-config.

I'd edit /var/lib/portage/world, to make it read: =app-emulation/fuse-utils-1.0.0 for now.

If you're not comfortable editing it directly (it's just a text config), wait for someone else to give the correct sequence using emerge.

Perhaps check bugzilla to see if trying to override user mask, is already being tracked; if not file a bug. Either way, should get some reasoning from zmedico.

I think you want a > than 1.0, or >= 1.1 wrt masking.
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Sat Jun 24, 2017 3:32 pm    Post subject: Reply with quote

There is only 1.1.1 in portage, do you have the older version in local overlay?
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30915
Location: here

PostPosted: Sat Jun 24, 2017 3:42 pm    Post subject: Reply with quote

You can also see what package require fuse-util with --tree option to emerge
Code:
# emerge --update --deep --with-bdeps=y @world --tree

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
josephg
l33t
l33t


Joined: 10 Jan 2016
Posts: 783
Location: usually offline

PostPosted: Sat Jun 24, 2017 6:29 pm    Post subject: Reply with quote

deltamalloc, you have app-emulation/fuse-utils in your world, and the only version available is ~1.1.1.

my emerge shows app-emulation/fuse-utils [Masked]. so unless you have changed mask/flags elsewhere, emerge shouldn't even try to install/update.
Back to top
View user's profile Send private message
josephg
l33t
l33t


Joined: 10 Jan 2016
Posts: 783
Location: usually offline

PostPosted: Sat Jun 24, 2017 7:51 pm    Post subject: Reply with quote

also, fuse-utils has libspectrum as dependency, and has only 1.1.1 in portage. did your libspectrum upgrade?
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Sat Jun 24, 2017 8:20 pm    Post subject: Reply with quote

steveL wrote:
If you're not comfortable editing it directly (it's just a text config), wait for someone else to give the correct sequence using emerge.


emerge --noreplace =app-emulation/fuse-utils-1.0.0

However, I think you have to supply the ebuild in a local overlay since the requested ebuild doesn't exist in portage anymore.

Did you remember to do "src /etc/profile" or ". /etc/profile" after updating the mask?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Sun Jun 25, 2017 9:21 am    Post subject: Reply with quote

Tony0945,

The ebuild is safely tucked away in portages database. That's needed so that portage can remove packages that are no longer in the tree.
It also means you can fish them out after you should have added them to your overlay.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Sun Jun 25, 2017 1:06 pm    Post subject: Reply with quote

Tony0945 wrote:
emerge --noreplace =app-emulation/fuse-utils-1.0.0
Heh, thanks.
There's another part needed to get rid of the unversioned item, isn't there? (That's why I find it quicker to edit.)
Quote:
However, I think you have to supply the ebuild in a local overlay since the requested ebuild doesn't exist in portage anymore.

Yes, I think it'll choke on later upgrades without it (though perhsps it should not.)

"source /etc/profile" not src, btw. (though "." is indeed more portable.)
Back to top
View user's profile Send private message
deltamalloc
Apprentice
Apprentice


Joined: 18 Jan 2013
Posts: 279

PostPosted: Sun Jun 25, 2017 2:02 pm    Post subject: Reply with quote

Josef.95 wrote:
deltamalloc wrote:
But nothing depends on fuse-utils. equery depends shows nothing.

Nah, see "# required by @selected"
it depends on @world

Code:
emerge -av --depclean app-emulation/fuse-utils
should help.

/edit
Or better, what is the real problem with updating to fuse-utils-1.1.1 version?


The real reason I don't want to upgrade:

This is actually an exercise in getting package.mask to work for myself, because every time I fiddle with it, there seems to be some reason it doesn't quite do what I thought it should do or be able to do.


It is required by @selected and depends on @world?

That makes no sense. There is nothing preventing me from just removing fuse-utils completely. Nothing would break, no other ebuild in the entire system depends on it.

It is really not possible to tell Portage that I'm happy with whatever version of fuse-utils I have, please just leave it alone and don't try to upgrade it?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Jun 25, 2017 2:11 pm    Post subject: Reply with quote

deltamalloc wrote:
Nothing would break

Your world file would break where you explicitly stated that you want this package.
Quote:
It is really not possible to tell Portage that I'm happy with whatever version of fuse-utils I have, please just leave it alone and don't try to upgrade it?

No, because apparently the version which you have installed is no longer in the gentoo repository. This is a dangerous situation; e.g. the removal might be due to security issues.
If you want to keep an obsolete ebuild, you are supposed to maintain the ebuild in your own overlay. (You can also hack with package.provided, but this is just a hack).
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Sun Jun 25, 2017 4:07 pm    Post subject: Reply with quote

steveL wrote:
"source /etc/profile" not src, btw. (though "." is indeed more portable.)

Ooops! I always use the dot, but I remembered the installation guide used "source" or "src", apparently "source".
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum