icu has moved to subslots, would be interesting to migrate rdeps to use them also :) $ epkginfo -Hm $(grep -r dev-libs/icu */*/*.ebuild|cut -d / -f1,2 | uniq) * app-accessibility/brltty [gentoo] accessibility (accessibility@gentoo.org) williamh@gentoo.org (William Hubbs) * app-arch/unar [gentoo] None specified hanno@gentoo.org * app-emulation/open-vm-tools [gentoo] vmware (vmware@gentoo.org) vadimk@gentoo.org * app-emulation/vmware-view-open-client [gentoo] vmware (vmware@gentoo.org) tgurr@gentoo.org * app-emulation/vmware-workstation [gentoo] vmware (vmware@gentoo.org) vadimk@gentoo.org * app-i18n/fcitx [gentoo] cjk (cjk@gentoo.org) None specified * app-i18n/ibus-qt [gentoo] cjk (cjk@gentoo.org) None specified * app-misc/tracker [gentoo] freedesktop (freedesktop-bugs@gentoo.org) None specified * app-office/calligra [gentoo] kde (kde@gentoo.org) openoffice (openoffice@gentoo.org) None specified * app-office/libreoffice-bin [gentoo] openoffice (openoffice@gentoo.org) dilfridge@gentoo.org * app-office/libreoffice [gentoo] openoffice (openoffice@gentoo.org) None specified * app-text/bibletime [gentoo] theology (theology@gentoo.org) None specified * app-text/calibre [gentoo] None specified zmedico@gentoo.org * app-text/libmspub [gentoo] openoffice (openoffice@gentoo.org) None specified * app-text/sword [gentoo] theology (theology@gentoo.org) theology@gentoo.org * dev-db/couchdb [gentoo] None specified djc@gentoo.org * dev-db/firebird [gentoo] proxy-maintainers (proxy-maint@gentoo.org) wlt@obsidian-studios.com (William L. Thomson Jr.) Maintainer patrick@gentoo.org (Patrick Lauer) Proxy maintainer * dev-db/sqlite [gentoo] proxy-maintainers (proxy-maint@gentoo.org) arfrever.fta@gmail.com Proxy maintainer * dev-lang/R [gentoo] sci-mathematics (sci-mathematics@gentoo.org) calchan@gentoo.org (Denis Dupeyron) * dev-lang/parrot [gentoo] perl (perl@gentoo.org) None specified * dev-lang/php [gentoo] php (php-bugs@gentoo.org) None specified * dev-libs/389-adminutil [gentoo] None specified lxnay@gentoo.org * dev-libs/beecrypt [gentoo] None specified maintainer-needed@gentoo.org * dev-libs/boost [gentoo] cpp (cpp@gentoo.org) None specified * dev-libs/dee [gentoo] None specified jlec@gentoo.org * dev-libs/icu [gentoo] openoffice (openoffice@gentoo.org) None specified * dev-libs/libxml2 [gentoo] gnome (gnome@gentoo.org) None specified * dev-libs/xalan-c [gentoo] cpp (cpp@gentoo.org) None specified * dev-libs/xerces-c [gentoo] cpp (cpp@gentoo.org) None specified * dev-libs/yaz [gentoo] None specified robbat2@gentoo.org (Robin H. Johnson) * dev-tex/bibtexu [gentoo] tex (tex@gentoo.org) None specified * dev-util/dwdiff [gentoo] None specified ssuominen@gentoo.org (Samuli Suominen) * dev-vcs/veracity [gentoo] None specified binki@gentoo.org (Nathan Phillip Brink) * games-simulation/openttd [gentoo] games (games@gentoo.org) None specified * gnustep-base/gnustep-base [gentoo] gnustep (gnustep@gentoo.org) None specified * media-libs/harfbuzz [gentoo] openoffice (openoffice@gentoo.org) gnome (gnome@gentoo.org) None specified * media-libs/libcdr [gentoo] openoffice (openoffice@gentoo.org) None specified * media-libs/raptor [gentoo] sound (sound@gentoo.org) None specified * media-sound/mpfc [gentoo] sound (sound@gentoo.org) None specified * media-sound/music-file-organizer [gentoo] None specified zx2c4@gentoo.org (Jason A. Donenfeld) * net-libs/qmf [gentoo] qt (qt@gentoo.org) pesa@gentoo.org (Davide Pesavento) * net-libs/webkit-gtk [gentoo] gnome (gnome@gentoo.org) None specified * net-misc/suite3270 [gentoo] s390 (s390@gentoo.org) robbat2@gentoo.org (Robin H. Johnson) Maintainer jieryn@gmail.com (Jesse Farinacci) Maintainer by proxy, please CC on all bugs. * net-nds/389-admin [gentoo] None specified lxnay@gentoo.org * net-nds/389-ds-base [gentoo] None specified lxnay@gentoo.org * net-nds/openldap [gentoo] ldap (ldap-bugs@gentoo.org) ldap-bugs@gentoo.org * net-nntp/tin [gentoo] net-news (net-news@gentoo.org) None specified * sci-geosciences/mapnik [gentoo] sci-geosciences (sci-geosciences@gentoo.org) None specified * sys-apps/gptfdisk [gentoo] None specified alexxy@gentoo.org (Alexey Shvetsov) * www-apps/389-dsgw [gentoo] None specified lxnay@gentoo.org * www-client/chromium [gentoo] chromium (chromium@gentoo.org) None specified * www-client/uzbl [gentoo] None specified wired@gentoo.org (Alex Alexander) * x11-libs/qt-core [gentoo] qt (qt@gentoo.org) None specified * x11-libs/qt-webkit [gentoo] qt (qt@gentoo.org) None specified Reproducible: Always
Left dwdiff to maintainer-needed@
what does icu subslot mean? it currently sets: SLOT="0/${PV}" do we really want to rebuild everything when updating from 50.1.1 to 50.1.2 ?
(In reply to comment #2) > what does icu subslot mean? it currently sets: SLOT="0/${PV}" > do we really want to rebuild everything when updating from 50.1.1 to 50.1.2 ? the question is: does icu break the ABI on every minor bug-fix version bump?
(In reply to comment #2) > what does icu subslot mean? it currently sets: SLOT="0/${PV}" > do we really want to rebuild everything when updating from 50.1.1 to 50.1.2 ? Maybe not everything, but for example an ABI change between icu-50.1-r2 and 50.1.1 broke libreoffice, making it segfault at startup: bug #452006 I don't know whether 50.1.1 and 50.1.2 are ABI-compatible. It would be nice if upstream could be relied on to always bump their soname version when changing ABI.
(In reply to comment #4) > I don't know whether 50.1.1 and 50.1.2 are ABI-compatible. It would be nice > if upstream could be relied on to always bump their soname version when > changing ABI. Is there really no hope on this side ? It'd be much better than rebuilding everything just to be on the safe side.
(In reply to comment #5) > (In reply to comment #4) > > I don't know whether 50.1.1 and 50.1.2 are ABI-compatible. It would be nice > > if upstream could be relied on to always bump their soname version when > > changing ABI. > > Is there really no hope on this side ? It'd be much better than rebuilding > everything just to be on the safe side. Maybe would be better to only bump when soname changes and make an exception when unexpected breakage appears in testing :/
Only ABI of one rarely used library (libicule.so) accidentally changed between ICU 50.1 and 50.1.1 and was later unnecessarily reverted between ICU 50.1.1 and 50.1.2. Majority of reverse dependencies do not use libicule.so. SLOT="0/50" makes more sense. http://sourceforge.net/mailarchive/forum.php?thread_name=CAN49p6rGCv5hyncT-dw%2BaHzJU7bm%3DDspKFHcgSko3L%2B9dRRq7w%40mail.gmail.com&forum_name=icu-support
(In reply to comment #7) > Only ABI of one rarely used library (libicule.so) accidentally changed > between ICU 50.1 and 50.1.1 and was later unnecessarily reverted between ICU > 50.1.1 and 50.1.2. Majority of reverse dependencies do not use libicule.so. > SLOT="0/50" makes more sense. > > http://sourceforge.net/mailarchive/forum.php?thread_name=CAN49p6rGCv5hyncT- > dw%2BaHzJU7bm%3DDspKFHcgSko3L%2B9dRRq7w%40mail.gmail.com&forum_name=icu- > support I am fine with SLOT="0/$(get_version_component_range 1-2)" just to be safe...
does icu guarantees all the libs have the same major number ? because if it does not, then subslots are way suboptimal: imagine this rarely used libicule.so bumps its major and others do not, then we will rebuild every rev dep of icu by bumping subslot while preserved-rebuild would have caught only the affected packages.
(In reply to comment #9) > does icu guarantees all the libs have the same major number ? Yes. (Accidental change of ABI of libicule.so was without change of soname of libicule.so, which was and remains "libicule.so.50".)
(In reply to comment #10) > (In reply to comment #9) > > does icu guarantees all the libs have the same major number ? > > Yes. > (Accidental change of ABI of libicule.so was without change of soname of > libicule.so, which was and remains "libicule.so.50".) and major # is: $(get_major_version), right? so, if we assume icu will be saner in the future and maintainers will check the ABI before bumping, then subslot should be 0/$(get_major_version) and we will rebuild only when really needed
(In reply to comment #11) > (In reply to comment #10) > > (In reply to comment #9) > > > does icu guarantees all the libs have the same major number ? > > > > Yes. > > (Accidental change of ABI of libicule.so was without change of soname of > > libicule.so, which was and remains "libicule.so.50".) > > and major # is: $(get_major_version), right? so, if we assume icu will be > saner in the future and maintainers will check the ABI before bumping, then > subslot should be 0/$(get_major_version) and we will rebuild only when > really needed also, if maintainer detects an ABI break without soname change, then he can just change the subslot for this broken version instead of refraining from committing.
(In reply to comment #11) > and major # is: $(get_major_version), right? so, if we assume icu will be > saner in the future and maintainers will check the ABI before bumping, then > subslot should be 0/$(get_major_version) and we will rebuild only when > really needed +1
It would be really great if icu wouldn't bump subslot unnecessarily because of the size of the packages which have to be rebuilt after it. ABI compatibility is easily checked using a tool like ABI complience checker (dev-util/abi-compliance-checker): http://ispras.linuxbase.org/index.php/ABI_compliance_checker
app-text/calibre done
latest icu-50-1.2 does break libreoffice .. just requires recompile and all is well .. but so far you have to know it breaks .. :( so sub-slot away for now
Please do not listen to Arfy, he is again telling bullsiht. This time the abi changed only on small unused so file but usually they really don't care. From buildservice results majority of packages generate new binaries when build against new version of icu, so you can't trust the subslot to be only soname or major.minor.
(In reply to comment #0) > * dev-libs/dee [gentoo] > None specified > jlec@gentoo.org done
(In reply to comment #0) > * dev-libs/beecrypt [gentoo] > None specified > maintainer-needed@gentoo.org done > * dev-util/dwdiff [gentoo] > None specified > ssuominen@gentoo.org (Samuli Suominen) (In reply to comment #1) > Left dwdiff to maintainer-needed@ done Removing maintainer-needed@
(In reply to comment #17) > Please do not listen to Arfy, he is again telling bullsiht. This time the > abi changed only on small unused so file but usually they really don't care. In theory he is right. Maybe he has too high expectations on upstream, but that's another story. > From buildservice results majority of packages generate new binaries when > build against new version of icu, so you can't trust the subslot to be only > soname or major.minor. It doesn't cost them much. I do not want all the rev deps of icu to be rebuilt everytime icu is upgraded "just because we can". It's not so hard to check the ABI, and actually careful maintainers should do it subslot or not, and when it breaks change the subslot of that specific version to "$(get_major_version)-stupid-upstream-broke-abi"
net-nntp/tin done
app-misc/tracker was already done
dev-lang/php done
x11-libs/qt-core already done x11-libs/qt-webkit will appear in the tree with the next version bump
my comment 16 in this bug I talked about a recompile .. but although the slot operator for libreoffice exists in the ebuild it did not function properly .. with the icu-50.1.2 update .. two other ebuilds were rebuilt libmspub and libcdr having similar sub-slot operators dev-libs/icu:= .. but the libreoffice version had: >=dev-libs/icu-4.8.1.1:= the sub-slot was ignored .. and libreoffice was not rebuilt automaticly .. a bug in portage?
app-office/calligra done
net-libs/qmf done
app-i18n/fcitx app-i18n/ibus-qt: done
harfbuzz fixed.
app-text/sword and app-text/bibletime done.
tex will not change its deps to subslots until icu gets a sane subslot and I encourage everyone to do the same. Re-cc us when fixed. If icu maintainers want help in maintaining it, I can provide a hand.
(In reply to comment #31) > tex will not change its deps to subslots until icu gets a sane subslot and I > encourage everyone to do the same. Re-cc us when fixed. > If icu maintainers want help in maintaining it, I can provide a hand. Aballier stop doing this shit all around. I am serious that this is the most sane approach, upstream changes the abi here and there almost on all version bumps, and even if I would catch it later on in testing and adjusted the subslot it would not propagate to the testing users that already merged it.
(In reply to comment #32) > (In reply to comment #31) > > tex will not change its deps to subslots until icu gets a sane subslot and I > > encourage everyone to do the same. Re-cc us when fixed. > > If icu maintainers want help in maintaining it, I can provide a hand. > > Aballier stop doing this shit all around. > > I am serious that this is the most sane approach, upstream changes the abi > here and there almost on all version bumps, and even if I would catch it > later on in testing and adjusted the subslot it would not propagate to the > testing users that already merged it. That's true, you have to catch it _before_ actually bumping icu...
(In reply to comment #33) > That's true, you have to catch it _before_ actually bumping icu... If it was not clear, you can re-cc me as you wish but I won't be changing the deps either. The correct thing to do is to check icu abi _before_ bumping it: 1) it is all ok -> bump it, subslot = major is fine. 2) it is not ok -> report upstream, see what happens 2.1) upstream cares -> apply the patch to preserve abi 2.2) upstream does not care or is too slow -> bump while changing subslot. Some delay in getting newest versions of icu is perfectly fine, libreoffice crashing because abi broke is not, having everyone rebuild everything depending on icu is not either. It is indeed more work, hence why I was offering my help, but you seem to be calling that 'shit'...
(In reply to comment #34) > The correct thing to do is to check icu abi _before_ bumping it: > 1) it is all ok -> bump it, subslot = major is fine. > 2) it is not ok -> report upstream, see what happens > 2.1) upstream cares -> apply the patch to preserve abi > 2.2) upstream does not care or is too slow -> bump while changing subslot. > > Some delay in getting newest versions of icu is perfectly fine, libreoffice > crashing because abi broke is not, having everyone rebuild everything > depending on icu is not either. There is perhaps some merit to this for the stable tree .. stable ebuilds with a stable icu version .. However some people want bleeding edge .. and unstable is testing after all so why not just there have the recompile madness .. ?? but perhaps on further reflection there might be a better approach .. These versions do not co-exist well so is there the possibility of developing a naming scheme that can lock in a working version to the big compile ebuilds ? or is that unwieldy? Or do we need to put a big warning in the build itself about minor version upgrades and make them somehow optional .. a change to portage ?
(In reply to comment #35) > However some people want bleeding edge .. and unstable is testing after all > so why not just there have the recompile madness .. ?? basically SLOT=0/${PV} tells you to always recompile, be it needed or not. if you have a look at: http://sourceforge.net/mailarchive/message.php?msg_id=30371902 this means that 50.1.2 should restore the 50.1.0 ABI that was broken in 50.1.1 so, 50.1.2 and 50.1.0 should have SLOT=0/50, and 50.1.1 should have SLOT=0/50-broken-50.1.1. 50.1.1 could very well stay in pmask also. that way it is clear that 50.1.1 is not the good ABI to use, while 50.1.0 and 50.1.2 are. it makes it also clear what are the stable candidates and avoids useless rebuilds. Note: it is not just about Gentoo or portage, I want to be able to provide dynamically linked binaries without having to tell people to stick to a precise icu version. soname is a well established standard after all...
> * gnustep-base/gnustep-base [gentoo] > gnustep (gnustep@gentoo.org) > None specified Done
> > * app-emulation/open-vm-tools [gentoo] > vmware (vmware@gentoo.org) > vadimk@gentoo.org > > * app-emulation/vmware-view-open-client [gentoo] > vmware (vmware@gentoo.org) > tgurr@gentoo.org Done > > * app-emulation/vmware-workstation [gentoo] > vmware (vmware@gentoo.org) > vadimk@gentoo.org > Can't do anything here, we're lucky that it just works. :)
Reminder. $ grep --include='*.ebuild' -r dev-libs/icu /usr/portage/ | grep -v 'icu[0-9r./:-]*=' | grep -v portage/dev-libs/icu/ | sed 's/.ebuild:.*//' | sed 's/\(-r\|_pre\|_p\)[0-9]*$//' | sed 's/-[0-9.]*$//' | sort -u | sed 's:/usr/portage/::' | sed 's:/[A-Za-z0-9-]*$::' app-accessibility/brltty : teiresias, accessibility app-arch/unar : hanno app-emulation/vmware-workstation : vmware app-office/libreoffice-bin : dilfridge, openoffice app-office/lotus-notes : openoffice app-office/odeskteam : titanofold app-text/an : jer app-text/texlive-core : aballier, tex dev-db/couchdb : djc dev-db/firebird : wlt, patrick, proxy-maintainers dev-haskell/text-icu : haskell dev-lang/R : calchan, sci-mathematics dev-lang/parrot : perl dev-libs/389-adminutil : lxnay dev-libs/beecrypt : maintainer-needed dev-libs/boost : cpp dev-libs/dee : jlec dev-libs/xalan-c : cpp dev-libs/xerces-c : cpp dev-libs/yaz : robbat2 dev-qt/qtwebkit : qt dev-tex/bibtexu : tex dev-util/dwdiff : maintainer-needed dev-vcs/veracity : binki games-simulation/openttd : games mail-client/thunderbird : mozilla media-libs/raptor : sound media-sound/mpfc : sound media-sound/music-file-organizer : zx2c4 net-libs/webkit-gtk : gnome net-misc/suite3270 : robbat2, jieryn, s390, proxy-maintainers net-nds/389-admin : lxnay net-nds/389-ds-base : lxnay net-nds/openldap : ldap sci-geosciences/mapnik : sci-geosciences sys-apps/gptfdisk : alexxy www-apps/389-dsgw : lxnay www-client/firefox : mozilla www-client/phantomjs : vapier, zx2c4 www-client/seamonkey : polynomial-c, mozilla www-client/uzbl : wired Haven't CC-ed them, but providing this list for easier lookup as well as know what is still remaining; please note that this includes those that might have fixed it in a later version, but still have an earlier version around.
chromium is not on the latest list so removing us Please consider just fixing affected packages for maintainers who do not respond to this.
(In reply to Paweł Hajdan, Jr. from comment #40) > Please consider just fixing affected packages for maintainers who do not > respond to this. Maintainers of some packages might prefer to wait until saner value of subslot of ICU is used.
I'll see that xalan-c and xerces-c get version bumps and incorporate new slot deps then. Same goes for boost.
brltty fixed.
For everyone acting up, the new icu version bump has subslot 52.
Closing this one, we'll do a nice tracker for the rest.