# autounmask - unmasking packages the easy way

## ian!

Ok.. guess we all know something like that:

```
# emerge -pv =gnome-base/gnome-2.18.0

These are the packages that would be merged, in order:

Calculating dependencies -

!!! All ebuilds that could satisfy "=gnome-base/gnome-2.18.0" have been masked.

!!! One of the following masked packages is required to complete your request:

- gnome-base/gnome-2.18.0 (masked by: package.mask, ~x86 keyword)

# Rémi Cardona <remi@gentoo.org> (08 Apr 2007)

# Meta packages for Gnome 2.18.0

# See below for actual packages

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.
```

Usually you would now manually unmask this package and try again. - Oh my..

I like it better this way:

```
# autounmask gnome-base/gnome-2.18.0

 autounmask version 0.13 (using PortageXS-0.02.06)

 Bugs and requests go to ian <ian@gentoo.org>.

 * Using repository: /usr/portage

 * Using package.keywords file: /etc/portage/package.keywords

 * Using package.unmask file: /etc/portage/package.unmask

 * Unmasking gnome-base/gnome-2.18.0 and its dependencies.. this might take a while..

 * Added '=gnome-base/gnome-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-2.18.0' to package.unmask

 * Added '=gnome-extra/evolution-data-server-1.10.1 ~x86' to package.keywords

 * Added '=gnome-extra/evolution-data-server-1.10.1' to package.unmask

 * Added '=gnome-extra/evolution-data-server-1.10.0 ~x86' to package.keywords

 * Added '=gnome-extra/evolution-data-server-1.10.0' to package.unmask

 * Added '=dev-util/intltool-0.35.5 ~x86' to package.keywords

 * Added '=gnome-base/gnome-volume-manager-2.17.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-volume-manager-2.17.0' to package.unmask

 * Added '=www-client/epiphany-2.18.0 ~x86' to package.keywords

 * Added '=www-client/epiphany-2.18.0' to package.unmask

 * Added '=www-client/epiphany-2.18.1 ~x86' to package.keywords

 * Added '=www-client/epiphany-2.18.1' to package.unmask

 * Added '=net-analyzer/gnome-nettool-2.18.0 ~x86' to package.keywords

 * Added '=net-analyzer/gnome-nettool-2.18.0' to package.unmask

 * Added '=x11-libs/libwnck-2.18.0' to package.unmask

 * Added '=gnome-base/eel-2.18.0.1 ~x86' to package.keywords

 * Added '=gnome-base/eel-2.18.0.1' to package.unmask

 * Added '=gnome-extra/deskbar-applet-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/deskbar-applet-2.18.0' to package.unmask

 * Added '=gnome-extra/deskbar-applet-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/deskbar-applet-2.18.1' to package.unmask

 * Added '=dev-libs/atk-1.18.0 ~x86' to package.keywords

 * Added '=dev-libs/atk-1.18.0' to package.unmask

 * Added '=gnome-base/libbonoboui-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libbonoboui-2.18.0' to package.unmask

 * Added '=media-libs/libart_lgpl-2.3.19-r1 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-games-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-games-2.18.0' to package.unmask

 * Added '=gnome-extra/gnome-games-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-games-2.18.1' to package.unmask

 * Added '=dev-python/gnome-python-desktop-2.18.0 ~x86' to package.keywords

 * Added '=dev-python/gnome-python-desktop-2.18.0' to package.unmask

 * Added '=x11-wm/metacity-2.18.2 ~x86' to package.keywords

 * Added '=x11-wm/metacity-2.18.2' to package.unmask

 * Added '=x11-wm/metacity-2.18.0 ~x86' to package.keywords

 * Added '=x11-wm/metacity-2.18.0' to package.unmask

 * Added '=x11-wm/metacity-2.18.1 ~x86' to package.keywords

 * Added '=x11-wm/metacity-2.18.1' to package.unmask

 * Added '=gnome-base/gnome-panel-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/gnome-panel-2.18.1' to package.unmask

 * Added '=gnome-base/gnome-panel-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-panel-2.18.0' to package.unmask

 * Added '=x11-libs/pango-1.16.1 ~x86' to package.keywords

 * Added '=x11-libs/pango-1.16.1' to package.unmask

 * Added '=x11-libs/pango-1.16.3 ~x86' to package.keywords

 * Added '=x11-libs/pango-1.16.3' to package.unmask

 * Added '=x11-libs/pango-1.16.2 ~x86' to package.keywords

 * Added '=x11-libs/pango-1.16.2' to package.unmask

 * Added '=gnome-extra/yelp-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/yelp-2.18.0' to package.unmask

 * Added '=app-arch/file-roller-2.18.2 ~x86' to package.keywords

 * Added '=app-arch/file-roller-2.18.2' to package.unmask

 * Added '=app-arch/file-roller-2.18.0 ~x86' to package.keywords

 * Added '=app-arch/file-roller-2.18.0' to package.unmask

 * Added '=gnome-base/orbit-2.14.7 ~x86' to package.keywords

 * Added '=gnome-extra/gcalctool-5.9.14 ~x86' to package.keywords

 * Added '=gnome-extra/gcalctool-5.9.14' to package.unmask

 * Added '=gnome-base/libgnome-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libgnome-2.18.0' to package.unmask

 * Added '=app-text/evince-0.8.0 ~x86' to package.keywords

 * Added '=app-text/evince-0.8.0' to package.unmask

 * Added '=app-text/evince-0.8.1 ~x86' to package.keywords

 * Added '=app-text/evince-0.8.1' to package.unmask

 * Added '=x11-themes/gnome-icon-theme-2.18.0 ~x86' to package.keywords

 * Added '=x11-themes/gnome-icon-theme-2.18.0' to package.unmask

 * Added '=media-sound/sound-juicer-2.16.3 ~x86' to package.keywords

 * Added '=gnome-base/gconf-2.18.0.1' to package.unmask

 * Added '=gnome-extra/gucharmap-1.10.0 ~x86' to package.keywords

 * Added '=gnome-extra/gucharmap-1.10.0' to package.unmask

 * Added '=gnome-extra/fast-user-switch-applet-2.17.4 ~x86' to package.keywords

 * Added '=gnome-extra/fast-user-switch-applet-2.17.4' to package.unmask

 * Added '=gnome-extra/fast-user-switch-applet-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/fast-user-switch-applet-2.18.0' to package.unmask

 * Added '=gnome-extra/zenity-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/zenity-2.18.0' to package.unmask

 * Added '=app-text/gnome-doc-utils-0.10.3 ~x86' to package.keywords

 * Added '=app-text/gnome-doc-utils-0.10.3' to package.unmask

 * Added '=app-text/gnome-doc-utils-0.10.1 ~x86' to package.keywords

 * Added '=app-text/gnome-doc-utils-0.10.1' to package.unmask

 * Added '=gnome-extra/gnome-screensaver-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-screensaver-2.18.0' to package.unmask

 * Added '=gnome-extra/gnome-screensaver-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-screensaver-2.18.1' to package.unmask

 * Added '=gnome-base/libgnomekbd-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libgnomekbd-2.18.0' to package.unmask

 * Added '=gnome-base/libgnomekbd-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/libgnomekbd-2.18.1' to package.unmask

 * Added '=gnome-base/libgnomeui-2.18.1' to package.unmask

 * Added '=gnome-base/libgtop-2.14.8 ~x86' to package.keywords

 * Added '=gnome-extra/evolution-webcal-2.9.92 ~x86' to package.keywords

 * Added '=gnome-extra/evolution-webcal-2.9.92' to package.unmask

 * Added '=gnome-extra/gnome-keyring-manager-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-keyring-manager-2.18.0' to package.unmask

 * Added '=gnome-base/libgnomeprint-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libgnomeprint-2.18.0' to package.unmask

 * Added '=gnome-extra/gconf-editor-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gconf-editor-2.18.0' to package.unmask

 * Added '=gnome-base/gnome-menus-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-menus-2.18.0' to package.unmask

 * Added '=gnome-extra/gtkhtml-3.14.0' to package.unmask

 * Added '=gnome-extra/gtkhtml-3.14.1' to package.unmask

 * Added '=x11-libs/gtksourceview-1.8.5 ~x86' to package.keywords

 * Added '=gnome-base/gnome-vfs-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/gnome-vfs-2.18.1' to package.unmask

 * Added '=gnome-base/gnome-vfs-2.18.0.1 ~x86' to package.keywords

 * Added '=gnome-base/gnome-vfs-2.18.0.1' to package.unmask

 * Added '=gnome-base/libgnomeprintui-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libgnomeprintui-2.18.0' to package.unmask

 * Added '=gnome-base/gnome-desktop-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/gnome-desktop-2.18.1' to package.unmask

 * Added '=gnome-base/gnome-desktop-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-desktop-2.18.0' to package.unmask

 * Added '=gnome-extra/bug-buddy-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/bug-buddy-2.18.1' to package.unmask

 * Added '=gnome-extra/bug-buddy-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/bug-buddy-2.18.0' to package.unmask

 * Added '=gnome-base/nautilus-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/nautilus-2.18.1' to package.unmask

 * Added '=gnome-base/nautilus-2.18.0.1 ~x86' to package.keywords

 * Added '=gnome-base/nautilus-2.18.0.1' to package.unmask

 * Added '=app-admin/pessulus-2.16.2 ~x86' to package.keywords

 * Added '=net-libs/libsoup-2.2.100 ~x86' to package.keywords

 * Added '=gnome-base/gdm-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gdm-2.18.0' to package.unmask

 * Added '=gnome-base/gdm-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/gdm-2.18.1' to package.unmask

 * Added '=sys-auth/consolekit-0.2.0-r1 ~x86' to package.keywords

 * Added '=sys-auth/consolekit-0.2.1 ~x86' to package.keywords

 * Added '=media-sound/esound-0.2.37 ~x86' to package.keywords

 * Added '=media-sound/esound-0.2.37-r1 ~x86' to package.keywords

 * Added '=x11-themes/gtk-engines-2.10.1 ~x86' to package.keywords

 * Added '=x11-themes/gtk-engines-2.10.1' to package.unmask

 * Added '=x11-themes/gtk-engines-2.10.0 ~x86' to package.keywords

 * Added '=x11-themes/gtk-engines-2.10.0' to package.unmask

 * Added '=x11-terms/gnome-terminal-2.18.0 ~x86' to package.keywords

 * Added '=x11-terms/gnome-terminal-2.18.0' to package.unmask

 * Added '=x11-libs/vte-0.16.1 ~x86' to package.keywords

 * Added '=x11-libs/vte-0.16.1' to package.unmask

 * Added '=x11-libs/vte-0.16.0-r1 ~x86' to package.keywords

 * Added '=x11-libs/vte-0.16.0-r1' to package.unmask

 * Added '=gnome-base/gnome-applets-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-applets-2.18.0' to package.unmask

 * Added '=app-editors/gedit-2.18.0 ~x86' to package.keywords

 * Added '=app-editors/gedit-2.18.0' to package.unmask

 * Added '=app-editors/gedit-2.18.1 ~x86' to package.keywords

 * Added '=app-editors/gedit-2.18.1' to package.unmask

 * Added '=app-editors/gedit-2.18.0-r1 ~x86' to package.keywords

 * Added '=app-editors/gedit-2.18.0-r1' to package.unmask

 * Added '=gnome-base/control-center-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/control-center-2.18.0' to package.unmask

 * Added '=gnome-base/control-center-2.18.1 ~x86' to package.keywords

 * Added '=gnome-base/control-center-2.18.1' to package.unmask

 * Added '=gnome-extra/gnome-power-manager-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-power-manager-2.18.1' to package.unmask

 * Added '=gnome-extra/gnome-power-manager-2.18.2 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-power-manager-2.18.2' to package.unmask

 * Added '=sys-apps/hal-0.5.9' to package.unmask

 * Added '=app-misc/hal-info-20070402 ~x86' to package.keywords

 * Added '=app-misc/hal-info-20070402' to package.unmask

 * Added '=gnome-base/libbonobo-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/libbonobo-2.18.0' to package.unmask

 * Added '=gnome-extra/gnome-media-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-media-2.18.0' to package.unmask

 * Added '=x11-misc/alacarte-0.11.3 ~x86' to package.keywords

 * Added '=x11-misc/alacarte-0.11.3' to package.unmask

 * Added '=net-misc/vino-2.18.0 ~x86' to package.keywords

 * Added '=net-misc/vino-2.18.0' to package.unmask

 * Added '=mail-client/evolution-2.10.1 ~x86' to package.keywords

 * Added '=mail-client/evolution-2.10.1' to package.unmask

 * Added '=mail-client/evolution-2.10.0 ~x86' to package.keywords

 * Added '=mail-client/evolution-2.10.0' to package.unmask

 * Added '=gnome-extra/nautilus-cd-burner-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/nautilus-cd-burner-2.18.1' to package.unmask

 * Added '=gnome-extra/nautilus-cd-burner-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/nautilus-cd-burner-2.18.0' to package.unmask

 * Added '=media-gfx/eog-2.18.1 ~x86' to package.keywords

 * Added '=media-gfx/eog-2.18.1' to package.unmask

 * Added '=media-gfx/eog-2.18.0.1 ~x86' to package.keywords

 * Added '=media-gfx/eog-2.18.0.1' to package.unmask

 * Added '=media-video/totem-2.18.0 ~x86' to package.keywords

 * Added '=media-video/totem-2.18.0' to package.unmask

 * Added '=media-video/totem-2.18.1 ~x86' to package.keywords

 * Added '=media-video/totem-2.18.1' to package.unmask

 * Added '=gnome-base/gnome-keyring-0.8 ~x86' to package.keywords

 * Added '=gnome-base/gnome-keyring-0.8' to package.unmask

 * Added '=gnome-base/gnome-keyring-0.8.1 ~x86' to package.keywords

 * Added '=gnome-base/gnome-keyring-0.8.1' to package.unmask

 * Added '=gnome-base/gnome-session-2.18.0 ~x86' to package.keywords

 * Added '=gnome-base/gnome-session-2.18.0' to package.unmask

 * Added '=dev-libs/libIDL-0.8.8 ~x86' to package.keywords

 * Added '=x11-themes/gnome-themes-2.18.1 ~x86' to package.keywords

 * Added '=x11-themes/gnome-themes-2.18.1' to package.unmask

 * Added '=x11-themes/gnome-themes-2.18.0 ~x86' to package.keywords

 * Added '=x11-themes/gnome-themes-2.18.0' to package.unmask

 * Added '=gnome-extra/gnome-utils-2.18.0 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-utils-2.18.0' to package.unmask

 * Added '=gnome-extra/gnome-utils-2.18.1 ~x86' to package.keywords

 * Added '=gnome-extra/gnome-utils-2.18.1' to package.unmask

 * done!
```

Go, grab your copy of app-portage/autounmask today! - Enjoy!  :Wink: 

----------

## shaumux

Thnx Comes very handy

----------

## steveL

This looks really cool; is it possible for it to unmask not all the individual versions, but rather just the <category/package> atoms?

----------

## fls

Thanks a bunch ian! This indeed is very handy when testing keyworded packages, especially if the have many also keyworded dependancies.

----------

## ndansmith

Sweet!  Thanks.

----------

## ian!

 *steveL wrote:*   

> This looks really cool; is it possible for it to unmask not all the individual versions, but rather just the <category/package> atoms?

 

0.14 does. (--noversions option)

Enjoy!

----------

## pteppic

Does it have a --pretend flag, so you can decide if you want your system to use that many masked/unstable packages?

----------

## ian!

 *pteppic wrote:*   

> Does it have a --pretend flag, so you can decide if you want your system to use that many masked/unstable packages?

 

Not yet. I'll make that available in the next version.

----------

## ian!

 *ian! wrote:*   

>  *pteppic wrote:*   Does it have a --pretend flag, so you can decide if you want your system to use that many masked/unstable packages? 

 

Available in 0.15.

----------

## pteppic

How's that for customer service?

Nice work....

----------

## steveL

++

----------

## zietbukuel

I have to say that this tool is just EXCELLENT! Thank you very much  :Smile: 

----------

## xerxesmc

very nice job

+++++

----------

## frenkel

Thanks a lot man!

----------

## odegard

Looks great. How about a script that removes old masks as well? My files are filled with packages from prior installations, lots og which I don't need anymore.

----------

## Delian

Great script!!

A question... can I specify a different keyword? 

I need to unmask kde4-3.90.1 which is masked by the ! keyword.

Thanks ^_^

----------

## ian!

You are talking about the kde overlay I guess? The ebuilds were missing keywords at all last time I checked.

----------

## ermo

Using autounmask-0.16:

```

ermo@gizmo ~ $ ls /usr/portage/net-p2p/deluge/

ChangeLog  deluge-0.5.0.ebuild  files  Manifest  metadata.xml

ermo@gizmo ~ $ sudo autounmask net-p2p/deluge

 autounmask version 0.16 (using PortageXS-0.02.07)

 Bugs and requests go to ian <ian@gentoo.org>.

 * Using repository: /usr/portage

 * The given category/package-version does not seem to exist. Please check and try again.

ermo@gizmo ~ $ 

```

Am I doing anything obviously wrong?

EDIT: Ah. Yes. Was missing the package version. Silly me. Would defaulting to the latest version available be a good idea?

----------

## ian!

Not sure if auto-picking the latest version is a good idea. How about a better error message like this?

```
# ./autounmask net-p2p/deluge

 autounmask version 0.17_dev (using PortageXS-0.02.07)

 Bugs and requests go to ian <ian@gentoo.org>.

 * Using repositories:

     /usr/portage

     /home/ian/my_development/gentoo/gentoo-x86

     /usr/portage/local/layman/xeffects

     /usr/portage/local/layman/kde-experimental

 * The given category/package-version does not seem to exist. Listing existing versions:

 * gentoo (/usr/portage):

    net-p2p/deluge-0.5.0

 * gentoo (/home/ian/my_development/gentoo/gentoo-x86):

    net-p2p/deluge-0.5.0

 * xeffects (/usr/portage/local/layman/xeffects):

    none

 * genkdesvn-kde3 (/usr/portage/local/layman/kde-experimental):

    none

 * Please pick one of the versions given above and try again.

#
```

----------

## shaumux

Yes that looks a better message.

Also can there be an option like having an option if we want to unmask from package.mask or not

For example

I give package A which is ~x86 which depends on package B but it is hard masked but I tell it not to hard unmask anything so only Package A and other direct or indirect dependencies that are ~x86 would be unmasked.

Is something like that possible?

----------

## ian!

 *shaumux wrote:*   

> I give package A which is ~x86 which depends on package B but it is hard masked but I tell it not to hard unmask anything [..]

 

You would not be able to install package A then because its dependency B is still masked.

Mhh. I fail to see the benefit of such an option.

----------

## ermo

Thanks for the quick reply  :Very Happy: 

 *ian! wrote:*   

> Not sure if auto-picking the latest version is a good idea. How about a better error message like this?
> 
> ```
> # ./autounmask net-p2p/deluge
> 
> ...

 

Yes, that error message is a little more helpful.  Regarding defaulting to the latest version: Perhaps the --noversion flag could be updated to accept a <category>/<package> argument without requiring a version? That way, the error message could read:

```

 * Please pick one of the versions given above and try again,

    or use the --noversion option to just autounmask the latest version

    of a package and its dependencies.

 * Example:

    autounmask --noversion app-portage/autounmask

      or

    autounmask app-portage/autounmask-$VERSION

```

In that case, 

```

# autounmask --pretend --noversion foo/bar

```

would be quite the handy tool with which to examine a dependency tree of ~* versions

Just my $0.02

----------

## shaumux

I tried unmasking the git version of compiz from xeffects but i got the same error

Aren't package-9999 type names supported?

----------

## ian!

 *ermo wrote:*   

> Regarding defaulting to the latest version: Perhaps the --noversion flag could be updated to accept a <category>/<package> argument without requiring a version?

 

Let me think about it for a while.

 *shaumux wrote:*   

> I tried unmasking the git version of compiz from xeffects but i got the same error
> 
> Aren't package-9999 type names supported?

 

```
# autounmask x11-wm/compiz-9999
```

Works for me.

----------

## Delian

 *ian! wrote:*   

> You are talking about the kde overlay I guess? The ebuilds were missing keywords at all last time I checked.

 

Yes..the kde overlay sorry.. and, yes, the ! keyword.. missing keywords  :Wink: .. 

Is it possible to decide appending ** instead of the arch keyword?

----------

## shaumux

I used it like this *Quote:*   

> autounmask --pretend --noversion x11-wm/compcomm-9999-r2

 

----------

## ian!

 *ermo wrote:*   

> Regarding defaulting to the latest version: Perhaps the --noversion flag could be updated to accept a <category>/<package> argument without requiring a version?

 

I'll keep that in mind for upcoming versions.

 *Delian wrote:*   

>  *ian! wrote:*   You are talking about the kde overlay I guess? The ebuilds were missing keywords at all last time I checked. 
> 
> Yes..the kde overlay sorry.. and, yes, the ! keyword.. missing keywords .. 
> 
> Is it possible to decide appending ** instead of the arch keyword?

 

Yep. It's in 0.17.

 *shaumux wrote:*   

> I used it like this *Quote:*   autounmask --pretend --noversion x11-wm/compcomm-9999-r2 

 

Fixed in 0.17.

Thanks a lot for all the feedback!  :Smile: 

----------

## carpman

how would this work for kde split builds?

Would i still have to list of kde apps installed?

----------

## ian!

Just like every other package.

E.g.

```
# autounmask kde-base/kde-meta
```

to pull in all kde packages or something like

```
# autounmask kde-base/konqueror

# autounmask kde-base/kicker

# autounmask kde-base/kdm
```

if you just want to unmask konqueror, kicker, kdm and its dependencies.

----------

## carpman

 *ian! wrote:*   

> Just like every other package.
> 
> E.g.
> 
> ```
> ...

 

Not so

```

autounmask kde-base/kde-meta -p

 autounmask version 0.15 (using PortageXS-0.02.06)

 Bugs and requests go to ian <ian@gentoo.org>.

 * Using repositories:

     /usr/portage

     /usr/local/portage

 * The given category/package-version does not seem to exist. Please check and try again.

```

Same without -p switch?

Only want to be able to upgrade kde apps i already have installed, don't want all kde apps!

I use split builds but if i have to go through and list every kde app i have installed don't see how this becomes auto unmask?

Now if this was truly autounmask mask i  could some like:

```

autounmask kde-split

```

It would recognise all kde apps/libs i have installed and unmask them? or at least unmask all kde split apps/libs?

----------

## ian!

 *carpman wrote:*   

> Not so

 

Of course you'll need to add a version.

 *carpman wrote:*   

> Now if this was truly autounmask mask i  could some like:
> 
> ```
> 
> autounmask kde-split
> ...

 

I guess..

```
# autounmask kde-base/kde-meta-3.5.7
```

.. is what you want then.

----------

## carpman

Hello, ok that did something  :Smile: 

It added to package.keywords

```

# ---

# BEGIN: kde-base/kde-meta-3.5.7

# ---

=kde-base/kde-meta-3.5.7 ~x86

=kde-base/kdenetwork-meta-3.5.7 ~x86

=kde-base/krdc-3.5.7 ~x86

=kde-base/kdelibs-3.5.7 ~x86

=app-text/aspell-0.60.5 ~x86

=app-dicts/aspell-en-6.0.0 ~x86

=kde-base/kopete-3.5.7 ~x86

=kde-base/ktalkd-3.5.7 ~x86

=kde-base/kdenetwork-filesharing-3.5.7 ~x86

=kde-base/kdict-3.5.7 ~x86

=kde-base/dcoprss-3.5.7 ~x86

# ---

# END: kde-base/kde-meta-3.5.7

# ---

```

Which seems to be missing a lot kde apps i have installed so ran emwrap to see what would be updated and got:

```

work_dir is

!!! Multiple versions within a single package slot have been

!!! pulled into the dependency graph:

('ebuild', '/', 'kde-base/kdelibs-3.5.7', 'merge') pulled in by

  ('installed', '/', 'kde-base/kdialog-3.5.5', 'nomerge')

('installed', '/', 'kde-base/kdelibs-3.5.5-r10', 'nomerge') pulled in by

  ('installed', '/', 'kde-base/certmanager-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkdenetwork-3.5.4', 'nomerge')

  ('installed', '/', 'kde-base/kaudiocreator-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kdepim-kresources-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kamera-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kdemultimedia-kioslaves-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kghostview-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kdcop-3.5.1', 'nomerge')

  ('installed', '/', 'kde-base/kde-i18n-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkcddb-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kooka-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/khelpcenter-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kommander-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkpimidentities-3.5.5', 'nomerge')

  ('installed', '/', 'app-backup/konserve-0.10.3', 'nomerge')

  ('installed', '/', 'kde-misc/kdiff3-0.9.92', 'nomerge')

  ('installed', '/', 'kde-base/kxsldbg-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkcal-3.5.5-r1', 'nomerge')

  ('installed', '/', 'media-gfx/digikam-0.9.1', 'nomerge')

  ('installed', '/', 'kde-base/kimagemapeditor-3.5.5', 'nomerge')

  ('installed', '/', 'app-antivirus/klamav-0.41', 'nomerge')

  ('installed', '/', 'kde-base/cervisia-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kfilereplace-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/klinkstatus-3.5.5', 'nomerge')

  ('installed', '/', 'kde-misc/ksensors-0.7.3', 'nomerge')

  ('installed', '/', 'kde-base/libkdepim-3.5.5-r1', 'nomerge')

  ('installed', '/', 'kde-base/kgamma-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkpimexchange-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kontact-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkscan-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/libkholidays-3.5.5', 'nomerge')

  ('installed', '/', 'kde-misc/kalbum-0.8.0', 'nomerge')

  ('installed', '/', 'kde-base/quanta-3.5.5', 'nomerge')

  ('installed', '/', 'media-libs/libkipi-0.1.5', 'nomerge')

  ('installed', '/', 'kde-base/kcalc-3.5.5', 'nomerge')

  ('installed', '/', 'media-libs/libkexiv2-0.1.5', 'nomerge')

  ('installed', '/', 'kde-base/ktnef-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kode-3.5.2', 'nomerge')

  ('installed', '/', 'kde-base/korganizer-3.5.5-r1', 'nomerge')

  ('installed', '/', 'kde-base/kaddressbook-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/kdeprint-3.5.5', 'nomerge')

  ('installed', '/', 'kde-base/knotes-3.5.5', 'nomerge')      

```

This list all kde apps i have installed but they are not updated to 3.5.7 ?

The only apps that would be updated are:

```

app-text/aspell-0.60.5

app-dicts/aspell-en

app-dicts/aspell-en

kde-base/kdenetwork-filesharing-3.5.7 

kde-base/kdict-3.5.7

kde-base/krdc-3.5.7

kde-base/kopete-3.5.7

```

surely for it to be a true autounmask it would list all my kde split build apps and add them when unmasking?

Apart from that it look very nice app  :Smile: 

----------

## dav_it

I wrote an article for the next GWN to give more visibility to this beautiful tool. 

Cheers

----------

## Pandor

Could you make it optional to include revision bumps, instead of hardlocking it to a certain version?

lets say I unmask gnome, then it would add =gnome-base/gnome-2.18.0 ~x86' to package.keywords, but what if they find a bug, and bump it to gnome-base/gnome-2.18.0-r1. "emerge --update (--deep)" wouldn't spot it so you'd be locked to a bugged version.

On the other hand, when the dependency tree changes with the rev. pump, one could have to change the unmask.

So maybe have it optional?

----------

## Lore84

Hi, thanks for this good program, but I have found two bug.

1) Autounmask does not correct interpret PORTDIR_OVERLAY in /etc/make.conf. In my make.conf I have something like this:

```

PORTDIR_OVERLAY="/usr/portage/local/portage"

PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/sabayon"

```

Emerge interpet those two line right (use both overlay). As I saw many user do this. But Autounmask write this to output:

```

Using repositories:

     /usr/portage

     ${PORTDIR_OVERLAY}

     /usr/portage/local/layman/sabayon

```

It is not clear if use both overlay or just single one.

2) I think this bug is relative why it is inpossible to unmask kde-meta-3.5.7 package. Autounmask does not correct interpret deprange function used in ebuilds. For example in kdebase-meta-3.5.7 is line:

```

$(deprange 3.5.6 $MAXKDEVER kde-base/kcheckpass)

```

Autounmask wants to unmask kcheckpass-3.5.7, but this version does not exist in portage, so it end (but without any warning!). But version 3.5.6 is in portage, so version 3.5.6 should be unmasked because it is valid version.

Note: I am using autounmask version 0.17.

Thanks

----------

## ian!

 *Lore84 wrote:*   

> 2) I think this bug is relative why it is inpossible to unmask kde-meta-3.5.7 package. Autounmask does not correct interpret deprange function used in ebuilds.

 

What version of portage are you using?

----------

## Lore84

 *ian! wrote:*   

>  *Lore84 wrote:*   2) I think this bug is relative why it is inpossible to unmask kde-meta-3.5.7 package. Autounmask does not correct interpret deprange function used in ebuilds. 
> 
> What version of portage are you using?

 

Portage version 2.1.2.7 (latest stable)

----------

## Lore84

And one note that may be relative. I am using sqlite database backend for cache as described in gentoo wiki

----------

## ian!

Problem should be fixed in 0.18. - See bug #180062 for further information.

----------

## Lore84

 *ian! wrote:*   

> Problem should be fixed in 0.18. - See bug #180062 for further information.

 

Thanks a lot, you are very fast, thanks again. I will try it, after bugzila server will be back online.

----------

## CrazyTerabyte

Hey, why do we need to be root to run autounmask with --pretend option?

BTW, does --pretend have a shorter option (-p)? If yes, why it is not documented at --help? (Hum, I know... You forgot to update it...  :Smile:  )

[EDIT] I don't know why, but autounmask-0.18 is not working at all for me. Haven't tried older versions. How can I help you to debug it?

----------

## ian!

 *CrazyTerabyte wrote:*   

> Hey, why do we need to be root to run autounmask with --pretend option?

 

Because it needs permission to access /etc/portage/. - I could change it that you just need to be member of the portage-group.

 *CrazyTerabyte wrote:*   

> BTW, does --pretend have a shorter option (-p)? If yes, why it is not documented at --help?

 

Heh.. wondering about that too now. Will be fixed in the next version.

 *CrazyTerabyte wrote:*   

> [EDIT] I don't know why, but autounmask-0.18 is not working at all for me. Haven't tried older versions. How can I help you to debug it?

 

0.18 was broken. Update to 0.19 please.

----------

## CrazyTerabyte

 *ian! wrote:*   

>  *CrazyTerabyte wrote:*   Hey, why do we need to be root to run autounmask with --pretend option? 
> 
> Because it needs permission to access /etc/portage/. - I could change it that you just need to be member of the portage-group.

 

I disagree. I think the program must just check the permissions, or just try to access the file and, if can't, show an error message.

On my system, those files are 644 and that directory is 755. I don't see problem with this, because these files don't contain any sensitive data. (I once posted a message at forums asking why /var/log/emerge.log was not readable by anyone, and /var/db/pkg was)

 *ian! wrote:*   

>  *CrazyTerabyte wrote:*   BTW, does --pretend have a shorter option (-p)? If yes, why it is not documented at --help? 
> 
> Heh.. wondering about that too now. Will be fixed in the next version.

 

Don't forget about other short options (-h, if it exists, and so on). Well, I guess you wouldn't forget anyway.

 *ian! wrote:*   

> 0.18 was broken. Update to 0.19 please.

 

I will try that later. However, it won't be as useful now, because I've already added all deps manually.  :Smile: 

----------

## ian!

 *autounmask 0.20 changelog wrote:*   

> - Added short options and added them to --help (Reported by CrazyTerabyte - https://forums.gentoo.org/viewtopic-p-4081622.html#4081622)
> 
> - Fix bug #180062 - comment 7 (Many thanks to Bruno Roggeri again for catching this)

 

----------

## Lore84

 *ian! wrote:*   

> Problem should be fixed in 0.18. - See bug #180062 for further information.

 

Hi, thanks for your work, it is functional as it should. Now if it is possible to fix second problem and i will be the happiest man in the world  :Wink: . I have filled bug #180714.

Thanks

----------

## carpman

Not sure if this is a bug but when i tried this on my laptop it added multiple versions fo aspell:

autounmask kde-base/kde-meta-3.5.7 -p

```

 * Added '=app-dicts/aspell-en-6.0.0 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.4-r1 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.4-r2 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.3 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.3-r1 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.5 ~x86' to /etc/portage/package.keywords

 * Added '=app-text/aspell-0.60.4 ~x86' to /etc/portage/package.keywords

```

I have aspell 0.50.5 installed.

PS still can't get to list all my installed kde-split builds?

----------

## ian!

 *carpman wrote:*   

> Not sure if this is a bug

 

No that's intentional. Use the --noversions option if you don't like to have specific versions unmasked.

 *carpman wrote:*   

> PS still can't get to list all my installed kde-split builds?

 

That's correct as autounmask always unmasks all deps of a single package-version, not packages of a certain category.

What you want is probably something like `autounmask kde-base/*`? - That would be a new feature - not something autounmask is currently proposed to do.

----------

## carpman

 *ian! wrote:*   

>  *carpman wrote:*   Not sure if this is a bug 
> 
> No that's intentional. Use the --noversions option if you don't like to have specific versions unmasked.
> 
>  *carpman wrote:*   PS still can't get to list all my installed kde-split builds? 
> ...

 

Strange as when i do this on desktop i get different output:

```

 * Added '=app-text/aspell-0.60.5 ~x86' to /etc/portage/package.keywords

 * Added '=app-dicts/aspell-en-6.0.0 ~x86' to /etc/portage/package.keywords

```

Note only one version of aspell unmasked, currently installed is aspell-0.50.5-r4 ?

Shame about kde-split builds, will just have to do it manually  :Sad: 

----------

## tkhobbes

 *ian! wrote:*   

>  *carpman wrote:*   Not sure if this is a bug 
> 
> No that's intentional. Use the --noversions option if you don't like to have specific versions unmasked.

 

Not sure whether this IS still a bug - when using autounmask kde-base/kde-meta-3.5.7, it only unmaskes a few packages (as carpman noted) - but then, you can't emerge, because it did not catch all the dependencies...

----------

## ian!

See bug #180714.

----------

