Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 936588 - gui-wm/dwl-9999-r1, gui-libs/wlroots: dependency broken
Summary: gui-wm/dwl-9999-r1, gui-libs/wlroots: dependency broken
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Leonardo Hernández Hernández
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-24 11:42 UTC by Manfred Knick
Modified: 2024-08-06 02:55 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Manfred Knick 2024-07-24 11:42:57 UTC
Today, with "gui-libs/wlroots-9999:0.19",
the dependency of dwl -> wlroots has been broken again.

PREDECESSOR:
Bug 933717
gui-libs/wlroots-9999:0.18 :
new Sub-Slot naming breaks existing dependency gui-wm/dwl-9999-r1:0

Reproducible: Always




# from dwl-9999-r1.ebuild :

...

WLROOTS_DEP="
    >=gui-libs/wlroots-0.18:=[libinput,session,X?]
    <gui-libs/wlroots-0.19:=
"

if [[ ${PV} == *9999* ]]; then
    EGIT_REPO_URI="https://codeberg.org/dwl/dwl.git"
    inherit git-r3

    # 9999-r0: main (latest stable wlroots release)
    # 9999-r1: wlroots-next (wlroots-9999)
    case ${PVR} in
        9999)
            EGIT_BRANCH=main
            ;;
        9999-r1)
            EGIT_BRANCH=wlroots-next
            WLROOTS_DEP="~gui-libs/wlroots-9999:=[libinput,session,X?]"
            ;;
    esac
else

...
Comment 1 Manfred Knick 2024-07-24 17:13:59 UTC
CONFIRMATION:

Copied into my local overlay, quick_and_dirty hard-coding, emerge succeeds:

    WLROOTS_DEP="
	=gui-libs/wlroots-0.18.0:=[libinput,session,X?]
    "


# equery list -p -o dwl 
...
[IP-] [  ] gui-wm/dwl-9999-r1:0
Comment 2 Manfred Knick 2024-07-24 17:36:32 UTC
(In reply to Manfred Knick from comment #1)

> 	=gui-libs/wlroots-0.18.0:=[libinput,session,X?]

Same with :0.18; even same with :0.19 :
     absolutely irrelevant for -9999-r1, as long as they exist!

Once again: gets re-assigned below:

    case ${PVR} in
        ...
        9999-r1)
            ...
            WLROOTS_DEP="~gui-libs/wlroots-9999:=[libinput,session,X?]"
            ...

C.f. my former hint / warning already given 
in [https://bugs.gentoo.org/933717#c5]
Comment 3 Manfred Knick 2024-07-25 08:15:07 UTC
@ Sam:

My Veteran's View about gui-wm/dwl:

- an example of over-engineering
- violating KISS as well as Occam's Razor
- re-introducing hidden dependencies through the backdoor
- assuming benevolent intention "one code serves all"
  backfires into unnecessary (narcissistic?) complexity

Proposal:

- completely ditch the IF / CASE cascade
- in Portage, we maintain one ebuild for each release for good reason:
- each should account for its own *DEPs - no less, no more
- resulting into beauty of simplicity:

  e.g. for 9999-r1:

    inherit git-r3
    EGIT_REPO_URI="https://codeberg.org/dwl/dwl.git"
    EGIT_BRANCH=wlroots-next

    WLROOTS_DEP="~gui-libs/wlroots-9999:=[libinput,session,X?]"

and be done with it!

No hidden dependencies upon other versions.
No problems with using WLROOTS_SLOT="0/nnn" in stable versions 0.5 and 0.5-r1


Furthermore:

dwl-9999    and
dwl-9999-r1 :
    that is an abuse of "-rnnn" naming convention;
    re-shape it into e.g. 
dwl-9000   and
dwl-9999

gui-libs/wlroots-0.18.0:0.18   and
gui-libs/wlroots-9999:0.19
re-shape into
gui-libs/wlroots-0.18.0:0/18   and
gui-libs/wlroots-9999:0/19

according to Gentoo Portage Naming Convention:  SLOT="slot/subslot"
[https://devmanual.gentoo.org/general-concepts/slotting/index.html#sub-slots]


This would sum up into a stabilized situation.

Just my 2 cents of thought ...
Comment 4 Leonardo Hernández Hernández 2024-08-06 02:55:57 UTC
This was closed in https://gitweb.gentoo.org/repo/gentoo.git/commit/gui-wm/dwl?id=c0dd78795006770655c40b06d7077f448d2e2a0d