Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How do I mask postgres-10?
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
f4u5t
n00b
n00b


Joined: 09 Jul 2008
Posts: 45

PostPosted: Tue Jul 18, 2017 5:53 pm    Post subject: How do I mask postgres-10? Reply with quote

I want to stay with postgres 9 but portage keeps wanting to install dev-db/postgresql-10_beta2:10::gentoo no matter what I add to package.mask. Here are some things I've tried:

>=dev-db/postgresql-10
>dev-db/postgresql-9.9
dev-db/postgresql:10

For the last one, here is the result of "emerge -upvt --deep --newuse world"

Code:

emerge -upvt --deep --newuse world

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

Calculating dependencies... done!
[ebuild     U  ] dev-db/postgresql-9.6.3-r2:9.6::gentoo [9.6.3-r1:9.6::gentoo] USE="nls pam perl readline server ssl threads xml z
lib -doc -kerberos -ldap -libressl -pg_legacytimestamp -python (-selinux) -static-libs -systemd -tcl -uuid" LINGUAS="en -af -cs -d
e -es -fa -fr -hr -hu -it -ko -nb -pl -pt_BR -ro -ru -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_4 -py
thon3_5 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 19077 KiB
[ebuild  NS   #] dev-db/postgresql-10_beta2:10::gentoo [9.6.3-r1:9.6::gentoo] USE="nls pam perl readline server ssl threads xml zl
ib -doc -kerberos -ldap -libressl -pg_legacytimestamp -python (-selinux) -static-libs -systemd -tcl -uuid" LINGUAS="en -af -cs -de
 -es -fa -fr -hr -hu -it -ko -nb -pl -pt_BR -ro -ru -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_4 -pyt
hon3_5 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB

Total: 2 packages (1 upgrade, 1 in new slot), Size of downloads: 19077 KiB

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by dev-libs/cyrus-sasl-2.1.26-r11::gentoo[postgres]
# required by mail-mta/sendmail-8.14.9-r1::gentoo[sasl]
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=dev-db/postgresql-10_beta2


What is the correct entry for package.mask to mask postgresql-10?
Back to top
View user's profile Send private message
saboya
Guru
Guru


Joined: 28 Nov 2006
Posts: 552
Location: Brazil

PostPosted: Tue Jul 18, 2017 6:43 pm    Post subject: Reply with quote

I think you successfully masked it, since portage requires you to unmask it. But apparently cyrus-sasl demands it instead of :9. Not sure what's going on there.
Back to top
View user's profile Send private message
limn
l33t
l33t


Joined: 13 May 2005
Posts: 997

PostPosted: Tue Jul 18, 2017 7:39 pm    Post subject: Reply with quote

Try
Code:

=dev-db/postgresql-10_beta2

or
Code:

=dev-db/postgresql-10*

FYI, installing postgresql-10_beta2 does not automatically select it.
Code:

# eselect postgresql list
Available PostgreSQL Slots
  9.4                       9.4.12
  9.6 *                     9.6.3
  10                        10beta2
Back to top
View user's profile Send private message
f4u5t
n00b
n00b


Joined: 09 Jul 2008
Posts: 45

PostPosted: Tue Jul 18, 2017 8:19 pm    Post subject: Reply with quote

Neither of these worked (same error message as above):

Code:

=dev-db/postgresql-10_beta2
=dev-db/postgresql-10*


Yeah, it isn't enabled by default but I rather not build it at all at this point.

Taking a look at the cyrus-sasl-2.1.26-r11 ebuild this is the postgres dependency:

Code:

   postgres? ( dev-db/postgresql:= )


From https://devmanual.gentoo.org/general-concepts/dependencies/:

Quote:

:= means that any slot is acceptable, and that your package should be rebuilt if the version best matching the runtime dependency is updated to a version with a different slot or subslot;


The slot of postgres is the major version number. I guess this logic concludes 10 is a better slot than 9 even though 10 is masked and 9 satisfies the dependency.
Back to top
View user's profile Send private message
f4u5t
n00b
n00b


Joined: 09 Jul 2008
Posts: 45

PostPosted: Tue Jul 18, 2017 8:36 pm    Post subject: Reply with quote

I tested this theory by removing postgres from USE and "emerge -upvt --deep --newuse world" did not fail with an error. (It did want to rebuild a bunch of packages without postgres support, naturally.)

emerge -upv dev-db/postgresql didn't try to install 10 either:

Code:

emerge -upv dev-db/postgresql

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

Calculating dependencies... done!
[ebuild     U  ] dev-db/postgresql-9.6.3-r2:9.6::gentoo [9.6.3-r1:9.6::gentoo] USE="nls pam perl readline server ssl threads xml zlib -doc -kerberos -ldap -libressl -pg_legacytimestamp -python (-selinux) -static-libs -systemd -tcl -uuid" LINGUAS="en -af -cs -de -es -fa -fr -hr -hu -it -ko -nb -pl -pt_BR -ro -ru -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_4 -python3_5 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 19077 KiB

Total: 1 package (1 upgrade), Size of downloads: 19077 KiB


Removing dev-db/postgresql:10 from package.mask resulted in 10 being installed.

I guess this is a bug in the := slot operator when specifying dependencies or am I misunderstanding how it works?
Back to top
View user's profile Send private message
limn
l33t
l33t


Joined: 13 May 2005
Posts: 997

PostPosted: Tue Jul 18, 2017 9:28 pm    Post subject: Reply with quote

On a box w/o cyrus-sasl or postgresql, with
Code:
# cat /etc/portage/package.mask/postgresql
=dev-db/postgresql-10_beta2

emerge wants to bring in postgresql-9.6.3-r2:9.6::gentoo
I think bug in portage or bug in documentation.
Back to top
View user's profile Send private message
Syl20
l33t
l33t


Joined: 04 Aug 2005
Posts: 619
Location: France

PostPosted: Tue Jul 25, 2017 9:17 am    Post subject: Reply with quote

cyrus-sasl-2.1.26-r11 is masked. Did you set ~arch for cyrus-sasl ?
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4549
Location: Germany

PostPosted: Tue Jul 25, 2017 12:00 pm    Post subject: Re: How do I mask postgres-10? Reply with quote

f4u5t wrote:
I want to stay with postgres 9 but portage keeps wanting to install dev-db/postgresql-10_beta2:10::gentoo no matter what I add to package.mask. Here are some things I've tried:

>=dev-db/postgresql-10
>dev-db/postgresql-9.9
dev-db/postgresql:10

For the last one, here is the result of "emerge -upvt --deep --newuse world"

Code:

emerge -upvt --deep --newuse world

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

Calculating dependencies... done!
[ebuild     U  ] dev-db/postgresql-9.6.3-r2:9.6::gentoo [9.6.3-r1:9.6::gentoo] USE="nls pam perl readline server ssl threads xml z
lib -doc -kerberos -ldap -libressl -pg_legacytimestamp -python (-selinux) -static-libs -systemd -tcl -uuid" LINGUAS="en -af -cs -d
e -es -fa -fr -hr -hu -it -ko -nb -pl -pt_BR -ro -ru -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_4 -py
thon3_5 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 19077 KiB
[ebuild  NS   #] dev-db/postgresql-10_beta2:10::gentoo [9.6.3-r1:9.6::gentoo] USE="nls pam perl readline server ssl threads xml zl
ib -doc -kerberos -ldap -libressl -pg_legacytimestamp -python (-selinux) -static-libs -systemd -tcl -uuid" LINGUAS="en -af -cs -de
 -es -fa -fr -hr -hu -it -ko -nb -pl -pt_BR -ro -ru -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_4 -pyt
hon3_5 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB

Total: 2 packages (1 upgrade, 1 in new slot), Size of downloads: 19077 KiB

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by dev-libs/cyrus-sasl-2.1.26-r11::gentoo[postgres]
# required by mail-mta/sendmail-8.14.9-r1::gentoo[sasl]
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=dev-db/postgresql-10_beta2


What is the correct entry for package.mask to mask postgresql-10?


Hello f4u5t,
you have =dev-db/postgresql-10_beta2 already successful hard masked.

This unmask from portage is probably a autounmask-Bug in sys-apps/portage
see Bug 622462

Please try it with the emerge option --autounmask=n
then should emerge you tell a better way :)
Back to top
View user's profile Send private message
f4u5t
n00b
n00b


Joined: 09 Jul 2008
Posts: 45

PostPosted: Tue Jul 25, 2017 5:34 pm    Post subject: Re: How do I mask postgres-10? Reply with quote

Josef.95 wrote:
Hello f4u5t,
you have =dev-db/postgresql-10_beta2 already successful hard masked.

This unmask from portage is probably a autounmask-Bug in sys-apps/portage
see Bug 622462

Please try it with the emerge option --autounmask=n
then should emerge you tell a better way :)


I filed https://bugs.gentoo.org/show_bug.cgi?id=626058 for this. As suggested in the ticket "--autounmask --autounmask-keep-masks" solves/works around the problem.
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