Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
kde-sunset: where does the IUSE=webkit come from? [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Fri Jun 29, 2018 9:35 am    Post subject: kde-sunset: where does the IUSE=webkit come from? [solved] Reply with quote

Hi all,

After a brutal kde-frameworks 5.43-5.46 and dev-qt 5.9.5-5.9.6 upgrade, emerge is still unable to make its way to happiness. On account of KDE 4 being mostly removed from the tree, I am trying to migrate some packages to the kde-sunset version but a IUSE dependency is coming from apparently nowhere:

emerge -auND world:
emerge: there are no ebuilds built with USE flags to satisfy "kde-frameworks/kdelibs:4[webkit?]".
!!! One of the following packages is required to complete your request:
- kde-frameworks/kdelibs-4.14.37::kde-sunset (Missing IUSE: webkit)
(dependency required by "kde-apps/kdebase-kioslaves-16.04.3-r2::kde-sunset" [ebuild])
(dependency required by "media-sound/amarok-2.8.90-r5::kde-sunset" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

Here is kde-apps/kdebase-kioslaves.
kdebase-kioslaves-16.04.3-r2.ebuild:
RDEPEND="${DEPEND}
   $(add_kdeframeworks_dep kdelibs 'bzip2?,lzma?')

Here is add_kdeframeworks_dep function, no mention of webkit that I can see.

emerge --info kde-apps/kdebase-kioslaves
emerge --info kde-frameworks/kdelibs::kde-sunset
_________________
This post brought to you by a cheap router.


Last edited by ascendant on Sat Jun 30, 2018 2:50 am; edited 1 time in total
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6516
Location: Austria

PostPosted: Fri Jun 29, 2018 9:58 am    Post subject: Reply with quote

Such is the broken nature of an unmaintained dumping ground (kde-sunset).why not try to fix your tree upgrade first?
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Fri Jun 29, 2018 10:11 am    Post subject: Reply with quote

asturm wrote:
why not try to fix your tree upgrade first?

I do not understand. Are you referring to my comment about the kde-frameworks and dev-qt packages? I have already sorted out those slot conflicts, though it was tedious.
_________________
This post brought to you by a cheap router.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6516
Location: Austria

PostPosted: Fri Jun 29, 2018 5:18 pm    Post subject: Reply with quote

Yes, I misinterpreted your sentence.

When you look at the kdebase-kioslaves ebuild, you'll find the following right on top in the first few lines:

Code:
WEBKIT_REQUIRED="optional"


That means kdebase-kioslaves will have USE=webkit and if selected, depends on kdelibs[webkit]. So switch off webkit for kdebase-kioslaves.

See also:
Code:
equery u kdebase-kioslaves


Looking at ebuilds often does not tell you half the story, so better use equery for such investigations.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Fri Jun 29, 2018 10:26 pm    Post subject: Reply with quote

Hey, thanks!

USE=+webkit does show up in equery u kdebase-kioslaves as you mentioned. I couldn't tease apart the relationship between the 'WEBKIT_REQUIRED="optional"' line and the USE dependencies.

However, while adding "kde-apps/kdebase-kioslaves -webkit" does now show the flag disabled for kdebase-kioslaves in equery u, the behavior of emerge is unaffected. I am wondering if there's some sort of cached USE dependency information somewhere, maybe in /var/db/pkg or something that makes this so persistent. I'm pretty hesitant to just emerge -C kdebase-kioslaves as that could break Amarok without an apparent way to get portage to rebuild kdebase-kioslaves if that doesn't work.
_________________
This post brought to you by a cheap router.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6516
Location: Austria

PostPosted: Fri Jun 29, 2018 10:29 pm    Post subject: Reply with quote

Well, if not equery u, emerge -va also shows you all the use flags at the time...

Surely the emerge output is now different than before?
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic


Last edited by asturm on Fri Jun 29, 2018 10:33 pm; edited 1 time in total
Back to top
View user's profile Send private message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Fri Jun 29, 2018 10:31 pm    Post subject: Reply with quote

I know, right? It surely sounded like the solution to me:

emerge -auND world:
These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "kde-frameworks/kdelibs:4[webkit?]".
!!! One of the following packages is required to complete your request:
- kde-frameworks/kdelibs-4.14.37::kde-sunset (Missing IUSE: webkit)
(dependency required by "kde-apps/kdebase-kioslaves-16.04.3-r2::kde-sunset" [ebuild])
(dependency required by "media-sound/amarok-2.8.90-r5::kde-sunset" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
equery u kdebase-kioslaves:
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for kde-apps/kdebase-kioslaves-16.04.3-r2:
 U I
 + + bzip2    : Use the bzlib compression library
 - - debug    : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
                https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + + exif     : Add support for reading EXIF headers from JPEG and TIFF images
 + + handbook : Enable handbooks generation for packages by KDE
 - - lzma     : Support for LZMA (de)compression algorithm
 - - openexr  : Support for the OpenEXR graphics file format
 - - samba    : Add support for SAMBA (Windows File and Printer sharing)
 + + sftp     : Enable SFTP protocol support using net-libs/libssh
 - - webkit   : Add support for the WebKit HTML rendering/layout engine

edit: I have emerge -v enabled in EMERGE_DEFAULT_OPTS
_________________
This post brought to you by a cheap router.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 12834

PostPosted: Sat Jun 30, 2018 12:15 am    Post subject: Reply with quote

The problem is missing IUSE, not a disabled USE flag. The requiring package expects kde-frameworks/kdelibs to have a USE flag webkit, but no such flag is found. Since both packages come from the same overlay, this looks to me like a bug that the overlay maintainer needs to address. Either kde-frameworks/kdelibs needs to gain the USE flag, the requiring package needs to not inspect it, or the requiring package needs a USE-default for it.
Back to top
View user's profile Send private message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Sat Jun 30, 2018 2:48 am    Post subject: Reply with quote

Hu wrote:
this looks to me like a bug that the overlay maintainer needs to address.

The overlay is listed as unmaintained, though? The git repo shows changes, dunno who would handle this issue.

I went on an adventure, and implemented a sort of situation-specific RDEPEND=kde-frameworks/kdelibs:4[webkit(?)] in the eclass that was creating this dependency.
fix-kdebase-kioslaves.patch:
--- eclass/kde4-base.eclass.old 2018-05-14 04:20:32.744691284 -0500
+++ eclass/kde4-base.eclass     2018-06-29 21:21:05.837587690 -0500
@@ -184,6 +184,8 @@
        KDE_LINGUAS=""
 fi
 
+declare -a kdelibsuse
+
 # Setup packages inheriting this eclass
 case ${KDEBASE} in
        kde-base)
@@ -239,7 +241,7 @@
                COMMONDEPEND+=" ${qt3supportdepend}"
                [[ -n ${qtcoreuse} ]] && qtcoreuse+=",qt3support" || qtcoreuse="qt3support"
                [[ -n ${qtsqluse} ]] && qtsqluse+=",qt3support" || qtsqluse="qt3support"
-               [[ -n ${kdelibsuse} ]] && kdelibsuse+=",qt3support(+)" || kdelibsuse="qt3support(+)"
+               kdelibsuse+="qt3support(+)"
                ;;
        *) ;;
 esac
@@ -317,12 +319,12 @@
 case ${WEBKIT_REQUIRED} in
        always)
                COMMONDEPEND+=" ${qtwebkitdepend}"
-               [[ -n ${kdelibsuse} ]] && kdelibsuse+=",webkit(+)" || kdelibsuse="webkit(+)"
+               kdelibsuse+=("webkit(+)")
                ;;
        optional)
                IUSE+=" +webkit"
                COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
-               [[ -n ${kdelibsuse} ]] && kdelibsuse+=",webkit?" || kdelibsuse="webkit?"
+               kdelibsuse+=("webkit?")
                ;;
        *) ;;
 esac
@@ -361,8 +363,21 @@
 unset qtcoreuse
 
 if [[ ${PN} != kdelibs ]]; then
-       [[ -n ${kdelibsuse} ]] && kdelibsuse="[${kdelibsuse}]"
-       kdecommondepend+=" kde-frameworks/kdelibs:4${kdelibsuse}"
+       [[ ${#kdelibsuse[@]} -gt 0 ]]
+       for i in "${kdelibsuse[@]}"
+       do
+               local length=${#i}
+               ((length--))
+               local last=${i:$length:1}
+               if [[ "${last}" = "?" ]]
+               then
+                       local flag=${i:0:$length}
+                       kdecommondepend+=" $flag? ( kde-frameworks/kdelibs:4[$flag(-)] ) "
+               else
+                       kdecommondepend+=" kde-frameworks/kdelibs:4[${i}] "
+               fi
+       done
+
        if [[ ${KDEBASE} = kdevelop ]]; then
                if [[ ${PN} != kdevplatform ]]; then
                        # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
and turned on autopilot with
/etc/portage/kde-sunset.postync.d/fix-kdebase-kioslaves.bash:
#!/bin/bash
cd "${3}"
patch -p0 < /root/scripts/fix-kdebase-kioslaves.patch
emerge is happier now, and amarok still works.
_________________
This post brought to you by a cheap router.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6516
Location: Austria

PostPosted: Sat Jun 30, 2018 7:14 am    Post subject: Reply with quote

Hu wrote:
Since both packages come from the same overlay, this looks to me like a bug that the overlay maintainer needs to address.

It is a dumping ground, as I pointed out earlier, a maintenance-free zone.

@ascendant: I've re-added webkit flag to kdelibs, among a few other things, which should make your workaround obsolete.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 1592
Location: Here and Away Again

PostPosted: Sat Jun 30, 2018 11:57 am    Post subject: Reply with quote

Moved from Portage & Programming to Unsupported Software.

Since this is about an unsupported overlay, it fits better here.
_________________
Kind Regards,
~ The Noob Unlimited ~

Sore wa sore, kore wa kore.
Back to top
View user's profile Send private message
ascendant
n00b
n00b


Joined: 13 Nov 2008
Posts: 50
Location: / (USA)

PostPosted: Sat Jun 30, 2018 12:02 pm    Post subject: Reply with quote

..he says right after the "unsupported" overlay gets fixed.

Thanks, asturm
_________________
This post brought to you by a cheap router.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 12834

PostPosted: Sat Jun 30, 2018 2:36 pm    Post subject: Reply with quote

asturm wrote:
It is a dumping ground, as I pointed out earlier, a maintenance-free zone.

@ascendant: I've re-added webkit flag to kdelibs, among a few other things, which should make your workaround obsolete.
It may be a dumping ground with minimal support or committed maintenance, but someone(s) (apparently including you) must have write access to it. Those someone(s) are the ones who need to know there is a problem before they can fix it. Maybe they will decide to ignore the problem report because it is not worth the trouble. Maybe, as in this case, someone will fix it once the problem is reported.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6516
Location: Austria

PostPosted: Sat Jun 30, 2018 2:53 pm    Post subject: Reply with quote

Please don't make it appear there is anyone responsible for the repository. That does not mean fixes can't happen by chance, or being bored. Bug reports, however, are CLOSED WONTFIX.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software 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