Hey,

as we have another hard ride for testing users when we push a new plasma 
version,
it came to my mind, that we may should help Britney to provide the correct 
metadata.
For KDE PIM we solved this by using virtual packages to bundle,
kde pim does not guarantee ABI stability at all, so virtual package and dropping
symbols files was a good way forward.
Plasma provide ABI stability, so we don't need to add virtual packages.

But we can still add the needed dependencies automatically. 

Serveral options:

1.
We can inject additional dependencies via symbols files
libcolorcorrect.so.5 libcolorcorrect5 #MINVER# 
->
libcolorcorrect.so.5 libcolorcorrect5 #MINVER# , libcolorcorrect5 (<< 5.20)

But this would needs manual updating the symbols file for every major bump. 
All depended packages would need to be recompiled. 
Don't know how many packages depend on plasma outside plasma umbrella and you 
need
to request a transition.
This approach overrides the idea of symbols files a little bit.

2.
Remove symbols files, so the dependencies are generated by shlibs and use some 
logic in rules to generate blocking dependencies. Downside with this approach 
is the same like for option 1 but at least no manual step to update the version 
is needed.

(debian/rules)

include /usr/share/dpkg/pkg-info.mk
MainVersion = $(call dpkg_late_eval,MainVersion,echo '${DEB_VERSION_UPSTREAM}' 
| sed -e 's/^.*\.\([0-9]\+\)\.[0-9]\+$$/\1/')
NextVersion = $(call dpkg_late_eval,NextVersion, echo "$$(( ${MainVersion}+1 
))" )
NextMainPackageVersion = $(call dpkg_late_eval,NextMainPackageVersion,echo 
'${DEB_VERSION_EPOCH_UPSTREAM}' | sed -e 
's/\.[0-9]\+\.[0-9]\+$$/.${NextVersion}/')
pkgs_lib = $(filter-out %-dev %-dbg %-bin %-data,$(filter lib%,$(shell 
dh_listpackages)))

override_dh_makeshlibs:
        for pkg in $(pkgs_lib); do \
                dh_makeshlibs -a -Xusr/lib/libkdeinit5_\* -O--buildsystem=kf5 
-p$${pkg} -V "$${pkg} (>= $(DEB_VERSION_EPOCH_UPSTREAM)), $${pkg} (<< 
$(NextMainPackageVersion)~)"; \
        done

3. 

manipulate the substvars file to add (<< NEXTVERSION) for plasma umbrella 
packages. I don't have a good idea how to detect if a dependency is a plasma 
umbrella package. In the end you end with the same like the group break 
approach, but maybe this opens a way to have less manual steps.

Maybe others have also more ideas.

hefee

Attachment: signature.asc
Description: This is a digitally signed message part.

-- 
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-kde-talk

Reply via email to