kernel panic in userspace

my own self destruction
  • Blog
  • about
  • articles
    • Virtualbox bridge
    • linux blogging
    • Gentoo on Acer Extensa 5630Z
  • code
    • @unfollowr
    • WordPress
      • WordPress-bbPress syncronization
      • IE Warning
      • PostAds
    • Callisto overlay
    • @listwatcher
  • CV
  • belarusian
  • russian
  • english

preserved libs

Aug 20 2008
Broken Iris – Beautiful Girl
  • belarusian
  • russian

Тыя карыстальнікі Gentoo, каторыя не баяцца карыстацца нестабільнай веткай пакетаў (накшталт ~x86), пасьля не такіх ужо даўніх аднаўленьняў на portage-2.2 маглі час ад часу пачаць заўважаць наступныя паведамленьні:

!!! existing preserved libs:
>>> package: media-libs/libdvdread-9999
* – /usr/lib/libdvdread.so.3
* – /usr/lib/libdvdread.so.3.2.1
Use emerge @preserved-rebuild to rebuild packages using these libraries

Страшэннага ў іх нічога няма, зараз я распавяду, штэ гэта азначае. Я ж таксама люблю bleeding edge, чаго ўжо там хаваць.
Дык вось, preserved libs – файлы, якія павінны былі быць выдаленыя сістэмай portage зь сістэмы, як файлы, якія належаць старой вэрсіі пакету. Напрыклад: у мяне стаіць (дакладней стаяў) libdvdread-9999. Заставім незамаскіраванасьць вэрсіі пакету на сумленьні гаспадароў овэрлэю berkano. Пры аднаўленьні са звычайнай вэрсіі ў libdvdread зьмянілася api, што аўтаматычна застаўляе распрацоўшчыкаў зьмяніць адну з апошніх лічбаў у назове файла бібліятэкі. У звычайнай вэрсіі быў libdvdread.so.3, а ў svn вэрсіі стаў libdvdread.so.4. Праграма, якія выкарыстоўвалі старую вэрсію api па ідэі павінны згубіць сваю апору, таму што libdvdread.so.3 павінен быць выдалены зь сістэмы як састарэўшы. Але ня так усё галіма, як падаецца, таму што новая фіча portage менавіта тым і займаецца, што вышуквае падобнага рожу праблемы і застаўляе старыя вэрсіі бібліятэк нараўне з новымі.
Portage таксама складае набор праграмаў, якія залежаць ад старой бібліятэкі і параіць іх перасабраць. Вельмі верагодна, што лінкоўка атрымаецца і з новай вэрсіяй. Для гэтага існуе каманда
emerge @preserved-rebuild
Згадзіцеся, даволі карысная фіча ;) Пасьля выкананьня ўсех залежнасьцяў старая вэрсія бібліятэкі будзе выдалена зь сістэмы. Праблема накшталт паломкі сістэмы праз аднаўленьне expat (больш-менш сталыя карыстальнікі павінны памятаць) вырашана, шыкоўна!
У мяне ня выйшла перасабраць k3b, таму я проста замаскіраваў libdvdread:

echo '=media-libs/libdvdread-9999' >> /etc/portage/package.mask
  • belarusian
  • russian

Те пользователи Gentoo, которые не брезгуют пользоваться нестабильной веткой пакетов (вроде ~x86), после не таких уж давних обновлений на portage-2.2 могли начать иногда замечать следующие сообщения:

!!! existing preserved libs:
>>> package: media-libs/libdvdread-9999
* – /usr/lib/libdvdread.so.3
* – /usr/lib/libdvdread.so.3.2.1
Use emerge @preserved-rebuild to rebuild packages using these libraries

Страшного в них ничего нету, сейчас я расскажу, что это значит. Я ведь тоже люблю bleeding edge, чего греха таить.
Так вот, preserved libs – файлы, которые должны были быть удалены системой portage из системы, как принадлежащие старой версии пакета. Например: у меня стот (точнее, стоял) libdvdread-9999. Оставим незамаскированность версии пакета на совести хозяев оверлея berkano. При обновлении с обычной версии у libdvdread сменилось api, что автоматически заставляет разработчиков изменить одну из последних цифр в названии файла библиотеки. В обычной версии был libdvdread.so.3, а в svn версии стал libdvdread.so.4. Программы, использовавшие старую версию api по идее должны были лишиться своей опоры, ибо libdvdread.so.3 должен быть удалён из системы как устаревший. Но не тут-то было, ведь новая фича portage именно тем и занята, что выискивает подобного рода проблемы и оставляет старые версии библиотек наравне с новыми.
Portage также создаст набор программ, зависящих от старой библиотеки и предложит пересобрать их. Очень может быть, что линковка получится и с новой версией. Для этого есть команда
emerge @preserved-rebuild
Согласитесь, не самая бесполезная фича ;) После соблюдения всех зависимостей старая версия библиотеки будет удалена из системы. Проблема типа поломки системы из-за обновление expat (более-менее старые пользователи должны помнить) решена, шикарно!
У меня не вышло пересобрать k3b, посему я просто замаскировал libdvdread:

echo '=media-libs/libdvdread-9999' >> /etc/portage/package.mask

« ncmpc, nmpcpp & ncmpc-tradiaz CFLAGS troubles »

Tags
berkano, emerge, expat, gentoo, k3b, libdvdread, masking, overlays, portage, preserved libs, upgrade
Categories
Belarusian, Runix, Russian
Meta
Subscribe [ru] Subscribe [be] Comments rss Trackback
Similar
Gentoo virtualbox | portage changes tracking | gentoo midori (webkit) testing | ass? | block ssh bastards

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


RSS antisocial feeling

  • i am freaking bicycle
  • с третьей минуты мне очень. детство
  • не спрашивайте
  • banksystreetart: Banksy / Simon Munnery fuck yeah shit
  • это вам не по полу валяться в истерике

Tags

bash belarus blog blogs bugs coding concerts download friends fun gentoo google images internet javascript kde language life links linux livejournal me money music overlays perl photos php plugins portage projects rss school shell social social networks ssh studying tests twitter ubuntu univer vkontakte wifi wordpress

links

  • asocial feeling
  • Callisto overlay
  • daThumbs
  • last.fm
  • twitter
  • Vkontakte
  • ~idioteque

Recent Comments

  • saper on antialiased fonts in netbeans (java apps in common)
  • edward on IE Warning
  • Vigoran on WordPress-bbPress syncronization
  • Nikos on WordPress-bbPress syncronization
  • Maxno on free licenses
  • achmad on IE Warning
  • bobrik on bbPress terms filtering & hacks
  • Сергей М. on bbPress terms filtering & hacks
  • Samad Khan on WordPress-bbPress syncronization
  • bobrik on WordPress-bbPress syncronization

Archives

  • July 2010 (1)
  • June 2010 (1)
  • April 2010 (2)
  • January 2010 (1)
  • November 2009 (2)
  • October 2009 (5)
  • September 2009 (2)
  • August 2009 (2)
  • July 2009 (3)
  • June 2009 (1)
  • April 2009 (2)
  • March 2009 (1)
  • February 2009 (1)
  • January 2009 (2)
  • December 2008 (12)
  • November 2008 (17)
  • October 2008 (20)
  • September 2008 (13)
  • August 2008 (25)
  • July 2008 (18)
  • June 2008 (15)
  • May 2008 (7)
  • March 2008 (1)
  • February 2008 (9)
  • January 2008 (11)
  • December 2007 (24)
  • November 2007 (27)
  • October 2007 (21)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Creative Commons License rss comments rss valid xhtml