ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: eliminating unneeded libtool library files
@ 2003-11-30 23:22 Dmitry V. Levin
  2003-12-01 10:23 ` Vitaly Lipatov
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Dmitry V. Levin @ 2003-11-30 23:22 UTC (permalink / raw)
  To: ALT Devel discussion list


[-- Attachment #1.1: Type: text/plain, Size: 4909 bytes --]

Greetings!

Тема сегодняшней лекции - о пользе и вреде .la-файлов. :)

Как вы наверняка уже знаете (а если не знаете, то info libtool),
libtool хранит вспомогательную информацию о библиотеках, с которыми
работает, в т.н. libtool-файлах (они же .la-файлы).  Эту информацию
libtool использует в процессе изготовления и использования библиотек.

Таким образом, .la-файлы жизненно необходимы libtool'у для корректной
сборки пакета.  После установки файлов из пакета в систему libtool, как
правило, не используется во время работы собранных им библиотек и
программ, поэтому вспомогательные .la-файлы для них не нужны.  Исключение
составляет лишь загрузка plugin'ов с помощью средств библиотеки ltdl.

Тем не менее авторы libtool предлагают устанавливать эти .la-файлы.
Зачем?  Тут самое время вспомнить, что GNU libtool проектировался таким
образом, чтобы реализовать поддержку как можно большего числа операционных
систем, в том числе и тех, которые не поддерживают работу с разделяемыми
библиотеками или поддерживают её в неполной (по сравнению с GNU/Linux)
мере.
Для многих таких платформ информация о зависимостях между библиотеками
не может быть записана в самих библиотеках.  Поэтому libtool сохраняет
информацию о зависимостях в .la-файлах, сопровождающих устанавливаемые
библиотеки, и использует эту информацию при сборке других библиотек и
программ.
К сожалению, libtool никогда не имел и сейчас не содержит оптимальной
поддержки всех возможностей, которые предоставляет GNU/Linux.  Поэтому при
наличии "сопровождающих" .la-файлов в системе libtool поступает так же,
как и в других системах, а именно линкует все целевые объекты со всеми
библиотеками, от которых зависят непосредственно используемые библиотеки.
Таким образом, косвенные зависимости превращаются в прямые зависимости,
т.е. программы и библиотеки оказываются слинкованными с библиотеками,
которые они непосредственно не используют.

Наглядный и простой пример из базовой системы:
Есть apt-rpm (далее просто apt), который использует библиотеку librpm.
В свою очередь librpm (а именно librpmdb) использует библиотеку libdbX для
работы с базой данных пакетов rpm (/var/lib/rpm), причём для rpm-4.0.4
у нас X == 4.0.  Сам apt никакой libdb не использует, но благодаря
libtool'у и /usr/lib/librpm*.la он линкуется не только с librpm, но и с
libdb4.0.
Теперь представьте себе, что rpm-4.0.4 перешёл с libdb4.0 на libdb4.1.
Поскольку смены API в librpm не произошло, клиенты librpm не были
пересобраны.  В момент запуска apt'а загружаются сразу две libdb:
libdb4.0, с которой был собран apt, и libdb4.1, с которой был собран
librpm.  Хорошо ещё, что apt не пишет в базу данных rpm, так что
последняя, скорее всего, уцелеет.

Этих (и других похожих) неприятностей можно было бы избежать, если бы
можно было решить одну из двух задач:
1. Исправить libtool, чтобы он нормально поддерживал link_all_deplibs=no,
т.е. не линковал то, что не требуется.  К сожалению, решение этой задачи
ничего не даст в виду специфического дизайна GNU libtool: дело в том, что
почти каждый пакет с исходным текстом, использующим для сборки libtool,
содержит свою копию libtool, и для сборки будет использована именно эта
копия, а не системный libtool.  Для того, чтобы заменить libtool на
системный цивилизованным образом, необходимо использовать aclocal и
autoconf, что не всегда возможно.
2. Убрать все вредные .la-файлы из системы.  Для решения этой задачи
достаточно один раз пересобрать содержащие вредные .la-файлы пакеты и
проследить, чтобы они туда случайно не вернулись.

По очевидным причинам я выбрал второй вариант.
В /usr/lib/rpm/brp-cleanup пакета rpm-build >= 4.0.4-alt28 добавлен код,
который удаляет все файлы, имена которых заканчиваются на .la, из
каталогов /lib, /usr/lib и /usr/X11R6/lib.  Одновременно в пакет
sisyphus >= 0.5.4-alt1 была добавлена проверка на наличие таких файлов
в пакете.

Порядок пересборки тоже важен.  Начинать нужно с тех бинарных пакетов,
которые содержат .la-файлы, в которых нет ссылок на другие .la-файлы.
Только в этом случае при пересборке произойдёт очистка от ненужных
зависимостей.

На данный момент в Сизифе всего 500 бинарных пакетов, содержащих разные
.la-файлы, в том числе и те самые вредные .la-файлы, которые сопровождают
библиотеки.  Помимо них, есть ещё много .la-файлов, сопровождающих
plugin'ы.  Иногда такие .la-файлы используются для динамической загрузки
plugin'ов с помощью средств библиотеки ltdl.  Во всех остальных случаях от
них нет ни пользы, ни вреда.

В окончание я привожу список из 50 бинарных пакетов, которые надо
пересобрать в первую очередь, ибо непересборка этих пакетов не даёт
возможности пересобрать ещё примерно 240 других бинарных пакетов.

Я прошу всех разработчиков в офисе ALT Linux незамедлительно собрать
свои пакеты из этого списка, а всех разработчиков вне офиса, кто не
может этого сделать, так же быстро написать об этом с тем, чтобы мы
могли сделать это за вас.


-- 
ldv

[-- Attachment #1.2: first --]
[-- Type: text/plain, Size: 734 bytes --]

freetype2-devel
freetype-devel
gift-devel
guile14
guile16
id3lib-devel
imlib-devel
libaspell-devel
libbluez-devel
libbonobo-devel
libcdf-devel
libcurl-devel
libeel2-devel
libfaad-devel
libflac-devel
libfreetds-devel
libfribidi-devel
libgal-devel
libgii-devel
libgmp-devel
libgnome-desktop-devel
libgnome-panel-devel
libgpgme-devel
libhdf-devel
libieee1284-devel
libldap-devel
liblinc-devel
libmad-devel
libmdbtools-devel
libmetacity-devel
libmm-devel
libnessus-devel
libnetcdf-devel
libogg-devel
libopenobex-devel
libpcsclite-devel
libpilot-link-devel
librte-devel
libsasl2-devel
libSDL-devel
libsigc++1.2-devel
libsim
libsim-qt
libunixODBC-devel
libusb-devel
libxfce4util-devel
libxmms-devel
libxosd-devel
ORBit-devel
plptools-devel

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] I: eliminating unneeded libtool library files
  2003-11-30 23:22 [devel] I: eliminating unneeded libtool library files Dmitry V. Levin
@ 2003-12-01 10:23 ` Vitaly Lipatov
  2003-12-01 11:27   ` [devel] " Alexey Tourbin
  2003-12-02 10:20   ` [devel] " Dmitry V. Levin
  2003-12-04 20:42 ` [devel] " Michael Shigorin
  2003-12-04 20:50 ` Michael Shigorin
  2 siblings, 2 replies; 7+ messages in thread
From: Vitaly Lipatov @ 2003-12-01 10:23 UTC (permalink / raw)
  To: ALT Devel discussion list

On 1 Декабрь 2003 02:22, Dmitry V. Levin wrote:
> Этих (и других похожих) неприятностей можно было бы избежать,
> если бы можно было решить одну из двух задач:
> 1. Исправить libtool, чтобы он нормально поддерживал
...
> 2. Убрать все вредные .la-файлы из системы.  Для решения этой
А как с этой ситуацией обстоит дело в других дистрибутивах? 
Неужели всё это время никто не задумывался об этой проблеме?

> .la-файлы, которые сопровождают библиотеки.  Помимо них, есть
> ещё много .la-файлов, сопровождающих plugin'ы.  Иногда такие
> .la-файлы используются для динамической загрузки plugin'ов с
> помощью средств библиотеки ltdl.  Во всех остальных случаях от
> них нет ни пользы, ни вреда.
Так а что будет с использующими ltdl? Придётся "отрывать" её 
использование?

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! LaTeX! LyX!


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [devel] Re: I: eliminating unneeded libtool library files
  2003-12-01 10:23 ` Vitaly Lipatov
@ 2003-12-01 11:27   ` Alexey Tourbin
  2003-12-01 12:29     ` vserge
  2003-12-02 10:20   ` [devel] " Dmitry V. Levin
  1 sibling, 1 reply; 7+ messages in thread
From: Alexey Tourbin @ 2003-12-01 11:27 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 20076 bytes --]

On Mon, Dec 01, 2003 at 01:23:13PM +0300, Vitaly Lipatov wrote:
> > 2. Убрать все вредные .la-файлы из системы.  Для решения этой
> А как с этой ситуацией обстоит дело в других дистрибутивах? 
> Неужели всё это время никто не задумывался об этой проблеме?

$ echo ${PWD##*/}
rawhide
$ grep '^[^%].*\.la\>' */*.spec
abiword/abiword.spec:# nuke .la files
abiword/abiword.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/AbiWord-2.0/plugins/*.la
alchemist/alchemist.spec:- Move the blackbox .a and .la file to the devel subpackage (#68461)
amanda/amanda.spec:#    mv .%{_libdir}/${i}.la .%{_libdir}/${i}-%{version}-19991216-beta1.la
am-utils/am-utils.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/libamu.la
aspell/aspell.spec:rm -f ${RPM_BUILD_ROOT}%{_libdir}/libaspell.la
aspell/aspell.spec:rm -f ${RPM_BUILD_ROOT}%{_libdir}/libpspell.la
aspell/aspell.spec:- removed .la files
aspell/aspell.spec:- Add the .la files in the main package - used for dynamic loading
aspell/aspell.spec:- dont include .la-files
atk/atk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
at-spi/at-spi.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
audiofile/audiofile.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
binutils/binutils.spec:perl -pi -e 'm/LIBADD/ && s/(\.\.\/bfd\/libbfd.la)/-L\.\.\/bfd\/\.libs \1/' opcodes/Makefile.{am,in}
binutils/binutils.spec:rm -f %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.la
binutils/binutils.spec:- remove lib{bfd,opcodes}.la (#98190)
bluez-libs/bluez-libs.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
bluez-sdp/bluez-sdp.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
bonobo/bonobo.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
bonobo-conf/bonobo-conf.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
compat-db/compat-db.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
compat-db/compat-db.spec:rm -fr $RPM_BUILD_ROOT/%{_libdir}/*.la
compat-db/compat-db.spec:- rather than hack *.la (see below), create /usr/lib/libdb-3.1.so symlink.
compat-db/compat-db.spec:- change location in /usr/lib/libdb-3.1.la to point to /lib (#16776).
compat-gcc/compat-gcc.spec:  install -m 644 %{gcc_target_platform}/32/libobjc/libobjc.la $FULLPATH/32/libobjc.la
compat-gcc/compat-gcc.spec:  install -m 644 %{gcc_target_platform}/alt/libobjc/libobjc.la $FULLPATH/alt/libobjc.la
control-center/control-center.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
control-center/control-center.spec:/bin/rm -rf $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/*.la
control-center/control-center.spec:# loadable modules don't need static versions or .la files
curl/curl.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/libcurl.la
curl/curl.spec:- remove docs/LIBCURL from docs list; remove unpackaged libcurl.la
cyrus-sasl/cyrus-sasl.spec:- move the .la files for plugins into their respective packages -- they're
db4/db4.spec:- rather than hack *.la (see below), create /usr/lib/libdb-3.1.so symlink.
db4/db4.spec:- change location in /usr/lib/libdb-3.1.la to point to /lib (#16776).
dbus/dbus.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
eel2/eel2.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
esound/esound.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
evolution/evolution.spec:find $RPM_BUILD_ROOT/%{_libdir}/evolution -name '*.la' -exec rm {} \;
evolution/evolution.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/gnome-pilot/conduits/*.la
file-roller/file-roller.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/bonobo/libfile-roller-component.la
file-roller/file-roller.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
fontconfig/fontconfig.spec:rm $RPM_BUILD_ROOT%{_libdir}/*.la
freeradius/freeradius.spec:find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -print | xargs rm -f
freetype/freetype.spec:- move .la file to devel pkg
fribidi/fribidi.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gaim/gaim.spec:rm -f `find $RPM_BUILD_ROOT -name "*.la" -o -name "*.a"`
gaim/gaim.spec:- don't include .a or .la files
gal/gal.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gal/gal.spec:- fix .la buildroot dainbramage
GConf2/GConf2.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
GConf2/GConf2.spec:- remove .la files
GConf2/GConf2.spec:- Install the .la files in the devel package.
GConf/GConf.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la \
GConf/GConf.spec:	$RPM_BUILD_ROOT%{_libdir}/GConf/1/*.la
GConf/GConf.spec:- remove *.la
GConf/GConf.spec:- Install the .la files in the devel package.
gd/gd.spec:rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgd.la
gdk-pixbuf/gdk-pixbuf.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gdk-pixbuf/gdk-pixbuf.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf/loaders/*.la
gdk-pixbuf/gdk-pixbuf.spec:- remove .la files
gdm/gdm.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
gedit/gedit.spec:/bin/rm -f `find $RPM_BUILD_ROOT%{_libdir}/gedit-2/plugins -name "*.la"`
gettext/gettext.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/{libintl.a,libintl.la}
gimp/gimp.spec:find $RPM_BUILD_ROOT/%{_libdir}/gimp/%{subver} -type f -exec file {} \; | grep -v perl | cut -d':' -f 1 | sed "s@^$RPM_BUILD_ROOT@@g" | grep -v %{_libdir}/gimp/%{subver}/modules/.*\.a$ | grep -v %{_libdir}/gimp/%{subver}/modules/.*\.la$ >>gimp-plugin-files
gimp/gimp.spec:- filter .la files from main gimp package (#43317, #57571, #56667,
glib2/glib2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
glib2/glib2.spec:  libtool linking to installed .la files
gmp/gmp.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/lib{gmp,mp,gmpxx}.la
gnome-bluetooth/gnome-bluetooth.spec:# we do not want .la files
gnome-bluetooth/gnome-bluetooth.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gnome-desktop/gnome-desktop.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gnome-libs/gnome-libs.spec:	$RPM_BUILD_ROOT/%{_libdir}/*.la \
gnome-mag/gnome-mag.spec:find $RPM_BUILD_ROOT -name '*.la' |xargs /bin/rm
gnome-panel/gnome-panel.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/libpanel-applet-2.la
gnome-panel/gnome-panel.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/libclock-applet-2.la
gnome-panel/gnome-panel.spec:- remove the right .la files.
gnome-pilot/gnome-pilot.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gnome-print/gnome-print.spec:rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la \
gnome-print/gnome-print.spec:- remove .la files
gnome-python2/gnome-python.spec:find $RPM_BUILD_ROOT -name '*.la' -exec rm {} \;
gnome-speech/gnome-speech.spec:find $RPM_BUILD_ROOT -name '*.la' |xargs /bin/rm
gnome-spell/gnome-spell.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/gnome-spell/*.la
gnome-themes/gnome-themes.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/engines/*.la
gnome-utils/gnome-utils.spec:/bin/rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la
gnome-utils/gnome-utils.spec:/bin/rm -rf $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/immodules/*.la
gnome-vfs2-extras/gnome-vfs2-extras.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/{libsmb.a,libsmb.la}
gnome-vfs2/gnome-vfs2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gnome-vfs-extras/gnome-vfs-extras.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/vfs/modules/libsmb.la
gnome-vfs/gnome-vfs.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gnome-vfs/gnome-vfs.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/vfs/modules/*.la
gnome-vfs/gnome-vfs.spec:- remove .la files
gnopernicus/gnopernicus.spec:find $RPM_BUILD_ROOT -name '*.la' |xargs /bin/rm
gnucash/gnucash.spec:for foo in `find . -name "*.la"` ; do
gnumeric/gnumeric.spec:- Install all files from the plugins in the main package. Putting .la
gphoto2/gphoto2.spec:	libgphoto2_port/libgphoto2_port/libgphoto2_port.la
gphoto2/gphoto2.spec:find $RPM_BUILD_ROOT -name '*.la' | \
gstreamer/gstreamer.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.la
gstreamer/gstreamer.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gstreamer/gstreamer.spec:- removed .la
gstreamer-plugins/gstreamer-plugins.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.la
gstreamer-plugins/gstreamer-plugins.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gtk2-engines/gtk2-engines.spec:find $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs rm 
gtk2/gtk2.spec:rm $RPM_BUILD_ROOT%{_libdir}/*.la
gtkhtml2/gtkhtml2.spec:rm $RPM_BUILD_ROOT%{_libdir}/libgtkhtml-2.la
gtkhtml3/gtkhtml3.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gtkhtml3/gtkhtml3.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/gtkhtml/*.la
gtkhtml3/gtkhtml3.spec:- remove .la files
gtkhtml/gtkhtml.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
gtkhtml/gtkhtml.spec:- remove .la files
gtksourceview/gtksourceview.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*{.a,.la}
gtkspell/gtkspell.spec:find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \;
guile/guile.spec:        guile-readline/libguilereadline.la
guile/guile.spec:perl -p -i -e "s|^relink_command.*||g" guile-readline/libguilereadline.la
guile/guile.spec:find $RPM_BUILD_ROOT -name '*.la' | \
guile/guile.spec:- Fixed .la file problem, moved from devel to normal package.
g-wrap/g-wrap.spec:- move .la files to main package (#79068)
imlib/imlib.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
im-sdk/im-sdk.spec:#        usr/bin/install -c xiiimp.la \
im-sdk/im-sdk.spec:#        $RPM_BUILD_ROOT/usr/X11R6/lib/X11/locale/common/xiiimp.la
ORBit2/ORBit2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
ORBit/ORBit.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
rpm/rpm.spec:perl -pi -e 's,/usr/lib,,' db3/libdb-4.2.la
SDL_image/SDL_image.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
SDL_net/SDL_net.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
$


$ echo ${PWD##*/}
Cooker-SPECS
$ grep '^[^%].*\.la\>' */*.spec
a2ps/a2ps.spec:- Move *.la in devel package (thanks to Guillaume Cottenceau)
aalib/aalib.spec:- put back .la in -devel files.
alsaplayer/alsaplayer.spec:	%%_libdir/{.la,.so}, includes => -devel
arts/arts.spec:- Ship *.so in -devel package. *.la should go there as well unless you
aspell/aspell.spec:- Move pspell .la files in main package (fix pspell support)
at-spi/at-spi.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la \
at-spi/at-spi.spec:  $RPM_BUILD_ROOT%{_libdir}/orbit-2.0/*.la
avifile/avifile.spec:- moved %{_libdir}/*.la files in devel package (Gцtz Waschk <waschk@linux-mandrake.com>)
avifile/avifile.spec:- added missing .la files
binutils/binutils.spec:rm -f  $RPM_BUILD_ROOT%{_prefix}/%{_target_platform}/%{target_cpu}-linux/%{_lib}/*.la
binutils/binutils.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
cim/cim.spec:cd $RPM_BUILD_ROOT%{_libdir}; grep -v libdir libcim.la > libcim.la.tmp;\
cim/cim.spec:echo "libdir='/usr/lib'" >> libcim.la.tmp; mv libcim.la.tmp libcim.la;\
db3/db3.spec:# XXX Rather than hack *.la (see below), create /usr/lib/libdb-3.1.so symlink.
db3/db3.spec:#perl -pi -e 's,/usr,,' $RPM_BUILD_ROOT%{_libdir}/libdb-%{__soversion}.la
db3/db3.spec:	$RPM_BUILD_ROOT/%{_libdir}/libdb_java-3.3.la \
db3/db3.spec:- change location in /usr/lib/libdb-3.1.la to point to /lib (#16776).
db4/db4.spec:# XXX Rather than hack *.la (see below), create /usr/lib/libdb-4.0.so symlink.
db4/db4.spec:#perl -pi -e 's,/usr,,' %{buildroot}%{_libdir}/libdb-%{__soversion}.la
db4/db4.spec:#rm -f  %{buildroot}/%{_libdir}/libdb_java-%{__soversion}.la
db4/db4.spec:  - Maybe someone needs libdb_java-4.1.la, and if no-one does, at least
db4/db4.spec:- change location in /usr/lib/libdb-3.1.la to point to /lib (#16776).
eel/eel.spec:- Fix reference directory in .la files
Eterm/Eterm.spec:- put libEterm.la into -devel
expat/expat.spec:- move .la file to libexpat-devel
file/file.spec:- Update Patch3 (deps) to make LDFLAGS use libmagic.la
flac/flac.spec:rm -f %buildroot/%_libdir/xmms/Input/libxmms-flac.la
gail/gail.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
gaim/gaim.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.la
galaxy/galaxy.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/engines/*.la \
galaxy/galaxy.spec:  $RPM_BUILD_ROOT%{_libdir}/gtk/themes/engines/*.la
gcc3.0/gcc-3.0.spec:       %{gcc_target_platform}/boehm-gc/libgcjgc.la \
GConf2/GConf2.spec:- Remove .la files not under $libdir from devel package
gda2.0/gda2.0.spec:- Fix reference directory in .la files
gdbm/gdbm.spec:- Fix .la file (need to add prefix to build stage)
gdk-pixbuf/gdk-pixbuf.spec:- Fix invalid directory references in .la files
gedit/gedit.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gedit-2/plugins/*.la \
gedit/gedit.spec: $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
gnome-db2.0/gnome-db2.0.spec:- Fix reference directory in .la files
gnome-db/gnome-db.spec:- Fix reference directory in .la files
gnomemm/gnomemm.spec:- Fix reference directory in .la files
gnome-pim/gnome-pim.spec:	$RPM_BUILD_ROOT%{_libdir}/gnome-pilot/conduits/*.la
gnome-pim/gnome-pim.spec:#%{_libdir}/gnome-pilot/conduits/*.la
gnome-print/gnome-print.spec:- Fix reference directory in .la
gnome-speech/gnome-speech.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/orbit-2.0/*.la
gnome-vfs2/gnome-vfs2.spec:- Remove unused .la files from devel package
gnumeric/gnumeric.spec:- Ship .la, they are needed for plugins (bug #4455)
gsl/gsl.spec:- move *.la to -devel
gstreamer/gstreamer.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}-%{majorminor}/*.la
gstreamer-plugins/gstreamer-plugins.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
gstreamer-plugins/gstreamer-plugins.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
gtk+2.0/gtk+2.0.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}.*/immodules/*.la \
gtk+2.0/gtk+2.0.spec:  $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}.*/loaders/*.la
g-wrap/g-wrap.spec:- .la must be in lib package for dynamic lib loading by libltdl
hfsplusutils/hfsplus.spec:install -m 644 libhfsp/src/libhfsp.la %buildroot/%_libdir
ibtk/ibtk.spec:- Ship with *.la file though I don't know anyone actually using that one
ImageMagick/ImageMagick.spec:- removed buildroot dir from .la files.
ImageMagick/ImageMagick.spec:- fixed coders/*.la files.
ImageMagick/ImageMagick.spec:- put *.la back to main package (otherwise doesn't work!)
ImageMagick/ImageMagick.spec:- put module *.so files in the main package while *.la and *.a go to devel
imlib2/imlib2.spec:- Patch0: Avoid /home in .la files
imlib/imlib.spec:- Remove Stefan hack, it causes bad .la files
jpilot/jpilot.spec:mv %{buildroot}/%{_libdir}/lib*.la %{buildroot}/%{_libdir}/jpilot/plugins/
kde1-compat/kde1-compat.spec:rm -rf $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT/usr/share/apps/kab $RPM_BUILD_ROOT/usr/lib/*.la
kde1-compat/kde1-compat.spec:grep "\.la$" /tmp/master.list >> \
kde1-compat/kde1-compat.spec:egrep -v "/include|\.so$|\.la$|\.a$|/share/kdoc|/bin|/man/man1" \
kdebase/kdebase.spec:#%_libdir/kde3/kio_audiocd.la
kdebase/kdebase.spec:#%_libdir/kde3/kio_ldap.la
kdegames/kdegames.spec:#%_libdir/kbackgammon.la
kdegames/kdegames.spec:#%_libdir/libkdehighscores.la
kdegames/kdegames.spec:#%_libdir/libksirtetbase.la
kdegames/kdegames.spec:#%_libdir/libksirtetcommon.la
kdelibs2/kdelibs-2.0-opt.spec:	find . -name '*.so*' -o -name '*.la' |sed -e 's|^\.|\%attr(-,root,root) |' > \
kdelibs2/kdelibs-2.0-opt.spec:  find . -name '*.so*' -o -name '*.la' |sed -e 's|^\.|\%attr(-,root,root) |' > \
koffice/koffice.spec:#%_libdir/kde3/sml_connector.la
koffice/koffice.spec:#%_libdir/libkiviosmlconnector.la
libao/libao.spec:- have libao.la file (I suck)
libbonobo/libbonobo.spec:- Remove all .la files not in $libdir from devel package
libbonoboui/libbonoboui.spec:- Remove all .la files not in $libdir from devel package
libgail-gnome/libgail-gnome.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
libgda/libgda.spec:- Fix reference directory in .la files
libggi/libggi.spec:- *.la files in devel packages.
libglade/libglade.spec:- Fix reference directory for .la files
libgnomecanvas/libgnomecanvas.spec:- Remove .la that are not inside $libdir from devel package
libgphoto/libgphoto.spec:        libgphoto2_port/libgphoto2_port/libgphoto2_port.la
libgphoto/libgphoto.spec:find $RPM_BUILD_ROOT -name '*.la' | \
libid3tag/libid3tag.spec:- add .la files
libjpeg/libjpeg.spec:- Patch3: Use autoconf variables to know libdir et al. Aka, fix *.la
libjpeg/libjpeg.spec:- put back .the .la files where they should always be, ie in -devel (thx fcrozat).
liblcms/liblcms.spec:libtool --mode=link $CC $CFLAGS -o liblcms.la \
liblcms/liblcms.spec:libtool --mode=install install -c liblcms.la \
liblcms/liblcms.spec:	$RPM_BUILD_ROOT%{_libdir}/liblcms.la)
liblzo/liblzo.spec:- move .la to devel package
libmikmod/libmikmod.spec:- added .la file.
libmng/libmng.spec:- move .la in devel
libmrproject/libmrproject.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/mrproject/*/*.la
libogg/libogg.spec:- provide .la file in devel package (thx Goetz Waschk)
libprelude/libprelude.spec:export LIBLTDL="%{_libdir}/libltdl.la"
libtabe/libtabe.spec:# Remove unpackaged files, who needs those *.la files anyway?
libtabe/libtabe.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
libtabe/libtabe.spec:- Don't ship with *.la files
libtool/libtool.spec:- Move *.la to the development package to avoid a conflict (Kudos to
libungif/libungif.spec:- put back the .la in -devel.
libusb/libusb.spec:- put back the .la in devel.
libvorbis/libvorbis.spec:- provide .la file in devel package (thx Goetz Waschk)
licq/licq.spec:install -m644 src/.libs/licq_kde-gui.la $RPM_BUILD_ROOT%{_libdir}/licq/licq_kde-gui.la
mad/mad.spec:- add .la files
Mesa/Mesa.spec:if [ ! -e $RPM_BUILD_ROOT%{libdir}/libGL.la ]; then
Mesa/Mesa.spec:  if [ -e src/libGL.la ]; then
Mesa/Mesa.spec:    install -m 0644 src/libGL.la $RPM_BUILD_ROOT%{libdir}/libGL.la
Mesa/Mesa.spec:# finally clean any .la file with still reference to tmppath.
Mesa/Mesa.spec:perl -pi -e "s|\S+$RPM_BUILD_DIR\S*||g" $RPM_BUILD_ROOT/%{libdir}/*.la
mm/mm.spec:rm -f %{buildroot}%{_libdir}/*.la
mrproject/mrproject.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/mrproject/*.la \
mrproject/mrproject.spec:   $RPM_BUILD_ROOT%{_libdir}/mrproject/views/*.la
MySQL/MySQL.spec:	${RBR}%{_libdir}/libmysqlclient.la  ${RBR}%{_libdir}/libmysqlclient_r.la
nautilus-cd-burner/nautilus-cd-burner.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/*.la
nautilus/nautilus.spec:  $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
netatalk/netatalk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
netatalk/netatalk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/netatalk/uams/*.la
openhbci/openhbci.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/openhbci/plugins/%{version_major}/media/*.la
openldap/openldap.spec:perl -pi -e "s| -L../liblber/.libs||g" %{buildroot}%{_libdir}/libldap.la
openldap/openldap.spec:- fix libldap.la (re: Lonnie Borntreger)
ORBit2/ORBit2.spec:- Remove unused .la file from devel
pango/pango.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/pango/%{module_version}/modules/*.la
parted/parted.spec:- add parted.m4 and *.la in -devel
pspell/pspell.spec:perl -pi -e 's/$RPM_BUILD_ROOT//g' $RPM_BUILD_ROOT%_libdir/*.la
pspell/pspell.spec:perl -pi -e 's/-L$RPM_BUILD_ROOT.*?\.libs//g' $RPM_BUILD_ROOT%_libdir/*.la
rpmlint/rpmlint.spec: o BinariesCheck.py: Check if .la files contain tmp or home
rvm/rvm.spec:/usr/lib/librvm.la
rvm/rvm.spec:/usr/lib/librvmlwp.la
rvm/rvm.spec:/usr/lib/libseg.la
rvm/rvm.spec:/usr/lib/librds.la
rvm/rvm.spec:/usr/lib/librdslwp.la
sane/sane.spec:perl -pi -e "s/installed.*/installed=yes/g" $RPM_BUILD_ROOT%{_libdir}/libsane.la
sane/sane.spec:- moved lib*.so to %files devel and dropped the *.la files
screem/screem.spec:# perl -pi -e "s|/home/lenny/rpm/BUILD/screem-0.4.1/libneon| |g;" $RPM_BUILD_ROOT/%_libdir/%name/plugins/*.la
screem/screem.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/screem/plugins/*.la
screem/screem.spec:- remove invalid-directory-reference in .la files
smpeg/smpeg.spec:  - added missing files, smpeg.m4 and libsmpeg.la
swfdec/swfdec.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
t1lib/t1lib.spec:- put back the .la in -devel.
ucd-snmp/ucd-snmp.spec:# [gb] grmpf, nuke buildroot in *.la files
ucd-snmp/ucd-snmp.spec:perl -pi -e "s,$RPM_BUILD_ROOT,,g" $RPM_BUILD_ROOT%{_libdir}/*.la
unixODBC/unixODBC.spec:find $RPM_BUILD_ROOT/%_libdir -name '*.so' -o -name '*.la' -o -name '*.a' | sed -e "s|$RPM_BUILD_ROOT||g" | grep -v -e gtk -e instQ>> libodbc-devellibs.filelist
unixODBC/unixODBC.spec:- Add back *.la and *.a as well (oops).
xine-lib-compat/xine-lib-compat.spec:rm -f %buildroot/%_libdir/xine/plugins/*.la
xine-lib/xine-lib.spec:rm -f %buildroot/%_libdir/xine/plugins/1.0.0/*.la
xine-lib/xine-lib.spec:rm -f %buildroot/%_libdir/xine/plugins/1.0.0/post/*.la
xmms-alsa/xmms-alsa.spec:rm -f $RPM_BUILD_ROOT/%_libdir/{lib*,xmms/Output/libALSA.la}
$

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Re: I: eliminating unneeded libtool library files
  2003-12-01 11:27   ` [devel] " Alexey Tourbin
@ 2003-12-01 12:29     ` vserge
  0 siblings, 0 replies; 7+ messages in thread
From: vserge @ 2003-12-01 12:29 UTC (permalink / raw)
  To: ALT Devel discussion list

Добрый день

Раз у Вас уже есть RawHide и Cooker
может кините в меня пакетами OpenLDAP, если там решены вопросы с загрузкой
backends без *.la я готов перенять опыт

Мы обсуждали этот вопрос с Димой (ldv), но сделать я не успеваю ( достаточно
большая загрузка на работе, а сразу сделать я не сзнаю как :(( )


Вы написали Alexey Tourbin <at@altlinux.ru> Mon, 1 Dec 2003 14:27:48
+0300:

> On Mon, Dec 01, 2003 at 01:23:13PM +0300, Vitaly Lipatov wrote:
> > > 2. Убрать все вредные .la-файлы из системы.  Для решения этой
> > А как с этой ситуацией обстоит дело в других дистрибутивах? 
> > Неужели всё это время никто не задумывался об этой проблеме?
> 
> $ echo ${PWD##*/}
> rawhide
> $ grep '^[^%].*\.la\>' */*.spec
> abiword/abiword.spec:# nuke .la files
> abiword/abiword.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/AbiWord-2.0/plugins/*.la
> alchemist/alchemist.spec:- Move the blackbox .a and .la file to the devel
> subpackage (#68461) amanda/amanda.spec:#    mv .%{_libdir}/${i}.la
> .%{_libdir}/${i}-%{version}-19991216-beta1.la am-utils/am-utils.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/libamu.la aspell/aspell.spec:rm -f
> ${RPM_BUILD_ROOT}%{_libdir}/libaspell.la aspell/aspell.spec:rm -f
> ${RPM_BUILD_ROOT}%{_libdir}/libpspell.la aspell/aspell.spec:- removed .la
> files aspell/aspell.spec:- Add the .la files in the main package - used for
> dynamic loading aspell/aspell.spec:- dont include .la-files
> atk/atk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> at-spi/at-spi.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> audiofile/audiofile.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> binutils/binutils.spec:perl -pi -e 'm/LIBADD/ &&
> s/(\.\.\/bfd\/libbfd.la)/-L\.\.\/bfd\/\.libs \1/' opcodes/Makefile.{am,in}
> binutils/binutils.spec:rm -f
> %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.la binutils/binutils.spec:-
> remove lib{bfd,opcodes}.la (#98190) bluez-libs/bluez-libs.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la bluez-sdp/bluez-sdp.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la bonobo/bonobo.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la bonobo-conf/bonobo-conf.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la compat-db/compat-db.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la compat-db/compat-db.spec:rm -fr
> $RPM_BUILD_ROOT/%{_libdir}/*.la compat-db/compat-db.spec:- rather than hack
> *.la (see below), create /usr/lib/libdb-3.1.so symlink.
> compat-db/compat-db.spec:- change location in /usr/lib/libdb-3.1.la to point
> to /lib (#16776). compat-gcc/compat-gcc.spec:  install -m 644
> %{gcc_target_platform}/32/libobjc/libobjc.la $FULLPATH/32/libobjc.la
> compat-gcc/compat-gcc.spec:  install -m 644
> %{gcc_target_platform}/alt/libobjc/libobjc.la $FULLPATH/alt/libobjc.la
> control-center/control-center.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> control-center/control-center.spec:/bin/rm -rf
> $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/*.la
> control-center/control-center.spec:# loadable modules don't need static
> versions or .la files curl/curl.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/libcurl.la curl/curl.spec:- remove docs/LIBCURL
> from docs list; remove unpackaged libcurl.la cyrus-sasl/cyrus-sasl.spec:-
> move the .la files for plugins into their respective packages -- they're
> db4/db4.spec:- rather than hack *.la (see below), create
> /usr/lib/libdb-3.1.so symlink. db4/db4.spec:- change location in
> /usr/lib/libdb-3.1.la to point to /lib (#16776). dbus/dbus.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la eel2/eel2.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la esound/esound.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la evolution/evolution.spec:find
> $RPM_BUILD_ROOT/%{_libdir}/evolution -name '*.la' -exec rm {} \;
> evolution/evolution.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/gnome-pilot/conduits/*.la
> file-roller/file-roller.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/bonobo/libfile-roller-component.la
> file-roller/file-roller.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
> fontconfig/fontconfig.spec:rm $RPM_BUILD_ROOT%{_libdir}/*.la
> freeradius/freeradius.spec:find $RPM_BUILD_ROOT%{_libdir} -name "*.la"
> -print | xargs rm -f freetype/freetype.spec:- move .la file to devel pkg
> fribidi/fribidi.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
> gaim/gaim.spec:rm -f `find $RPM_BUILD_ROOT -name "*.la" -o -name "*.a"`
> gaim/gaim.spec:- don't include .a or .la files
> gal/gal.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
> gal/gal.spec:- fix .la buildroot dainbramage
> GConf2/GConf2.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
> GConf2/GConf2.spec:- remove .la files
> GConf2/GConf2.spec:- Install the .la files in the devel package.
> GConf/GConf.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la \
> GConf/GConf.spec:	$RPM_BUILD_ROOT%{_libdir}/GConf/1/*.la
> GConf/GConf.spec:- remove *.la
> GConf/GConf.spec:- Install the .la files in the devel package.
> gd/gd.spec:rm -rf $RPM_BUILD_ROOT/%{_libdir}/libgd.la
> gdk-pixbuf/gdk-pixbuf.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> gdk-pixbuf/gdk-pixbuf.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf/loaders/*.la
> gdk-pixbuf/gdk-pixbuf.spec:- remove .la files gdm/gdm.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la gedit/gedit.spec:/bin/rm -f
> `find $RPM_BUILD_ROOT%{_libdir}/gedit-2/plugins -name "*.la"`
> gettext/gettext.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/{libintl.a,libintl.la}
> gimp/gimp.spec:find $RPM_BUILD_ROOT/%{_libdir}/gimp/%{subver} -type f -exec
> file {} \; | grep -v perl | cut -d':' -f 1 | sed "s@^$RPM_BUILD_ROOT@@g" |
> grep -v %{_libdir}/gimp/%{subver}/modules/.*\.a$ | grep -v
> %{_libdir}/gimp/%{subver}/modules/.*\.la$ >>gimp-plugin-files
> gimp/gimp.spec:- filter .la files from main gimp package (#43317, #57571,
> #56667,
> glib2/glib2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> glib2/glib2.spec:  libtool linking to installed .la files
> gmp/gmp.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/lib{gmp,mp,gmpxx}.la
> gnome-bluetooth/gnome-bluetooth.spec:# we do not want .la files
> gnome-bluetooth/gnome-bluetooth.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> gnome-desktop/gnome-desktop.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> gnome-libs/gnome-libs.spec:	$RPM_BUILD_ROOT/%{_libdir}/*.la \
> gnome-mag/gnome-mag.spec:find $RPM_BUILD_ROOT -name '*.la' |xargs /bin/rm
> gnome-panel/gnome-panel.spec:/bin/rm -f
> $RPM_BUILD_ROOT%{_libdir}/libpanel-applet-2.la
> gnome-panel/gnome-panel.spec:/bin/rm -f
> $RPM_BUILD_ROOT%{_libdir}/libclock-applet-2.la
> gnome-panel/gnome-panel.spec:- remove the right .la files.
> gnome-pilot/gnome-pilot.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
> gnome-print/gnome-print.spec:rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la \
> gnome-print/gnome-print.spec:- remove .la files
> gnome-python2/gnome-python.spec:find $RPM_BUILD_ROOT -name '*.la' -exec rm
> {} \; gnome-speech/gnome-speech.spec:find $RPM_BUILD_ROOT -name '*.la'
> |xargs /bin/rm
> gnome-spell/gnome-spell.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/gnome-spell/*.la
> gnome-themes/gnome-themes.spec:/bin/rm -f
> $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/engines/*.la
> gnome-utils/gnome-utils.spec:/bin/rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la
> gnome-utils/gnome-utils.spec:/bin/rm -rf
> $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.2.0/immodules/*.la
> gnome-vfs2-extras/gnome-vfs2-extras.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/{libsmb.a,libsmb.la}
> gnome-vfs2/gnome-vfs2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> gnome-vfs-extras/gnome-vfs-extras.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/vfs/modules/libsmb.la gnome-vfs/gnome-vfs.spec:rm
> -f $RPM_BUILD_ROOT/%{_libdir}/*.la gnome-vfs/gnome-vfs.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/vfs/modules/*.la gnome-vfs/gnome-vfs.spec:-
> remove .la files gnopernicus/gnopernicus.spec:find $RPM_BUILD_ROOT -name
> '*.la' |xargs /bin/rm gnucash/gnucash.spec:for foo in `find . -name "*.la"`
> ; do gnumeric/gnumeric.spec:- Install all files from the plugins in the main
> package. Putting .la gphoto2/gphoto2.spec:	libgphoto2_port/libgphoto2_port/libgphoto2_port.la
> gphoto2/gphoto2.spec:find $RPM_BUILD_ROOT -name '*.la' | \
> gstreamer/gstreamer.spec:/bin/rm -f
> $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.la
> gstreamer/gstreamer.spec:/bin/rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> gstreamer/gstreamer.spec:- removed .la
> gstreamer-plugins/gstreamer-plugins.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{major}/*.la
> gstreamer-plugins/gstreamer-plugins.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la gtk2-engines/gtk2-engines.spec:find
> $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs rm gtk2/gtk2.spec:rm
> $RPM_BUILD_ROOT%{_libdir}/*.la gtkhtml2/gtkhtml2.spec:rm
> $RPM_BUILD_ROOT%{_libdir}/libgtkhtml-2.la gtkhtml3/gtkhtml3.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/*.la gtkhtml3/gtkhtml3.spec:rm -f
> $RPM_BUILD_ROOT/%{_libdir}/gtkhtml/*.la gtkhtml3/gtkhtml3.spec:- remove .la
> files gtkhtml/gtkhtml.spec:rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
> gtkhtml/gtkhtml.spec:- remove .la files
> gtksourceview/gtksourceview.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*{.a,.la}
> gtkspell/gtkspell.spec:find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \;
> guile/guile.spec:        guile-readline/libguilereadline.la
> guile/guile.spec:perl -p -i -e "s|^relink_command.*||g"
> guile-readline/libguilereadline.la guile/guile.spec:find $RPM_BUILD_ROOT
> -name '*.la' | \ guile/guile.spec:- Fixed .la file problem, moved from devel
> to normal package. g-wrap/g-wrap.spec:- move .la files to main package
> (#79068) imlib/imlib.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> im-sdk/im-sdk.spec:#        usr/bin/install -c xiiimp.la \
> im-sdk/im-sdk.spec:#       
> $RPM_BUILD_ROOT/usr/X11R6/lib/X11/locale/common/xiiimp.la
> ORBit2/ORBit2.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la ORBit/ORBit.spec:rm
> -f $RPM_BUILD_ROOT/%{_libdir}/*.la rpm/rpm.spec:perl -pi -e 's,/usr/lib,,'
> db3/libdb-4.2.la SDL_image/SDL_image.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la SDL_net/SDL_net.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la$
> 
> 
> $ echo ${PWD##*/}
> Cooker-SPECS
> $ grep '^[^%].*\.la\>' */*.spec
> a2ps/a2ps.spec:- Move *.la in devel package (thanks to Guillaume Cottenceau)
> aalib/aalib.spec:- put back .la in -devel files.
> alsaplayer/alsaplayer.spec:	%%_libdir/{.la,.so}, includes => -devel
> arts/arts.spec:- Ship *.so in -devel package. *.la should go there as well
> unless you aspell/aspell.spec:- Move pspell .la files in main package (fix
> pspell support) at-spi/at-spi.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la \ at-spi/at-spi.spec: 
> $RPM_BUILD_ROOT%{_libdir}/orbit-2.0/*.la avifile/avifile.spec:- moved
> %{_libdir}/*.la files in devel package (Gцtz Waschk
> <waschk@linux-mandrake.com>) avifile/avifile.spec:- added missing .la files
> binutils/binutils.spec:rm -f 
> $RPM_BUILD_ROOT%{_prefix}/%{_target_platform}/%{target_cpu}-linux/%{_lib}/*
> .la binutils/binutils.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> cim/cim.spec:cd $RPM_BUILD_ROOT%{_libdir}; grep -v libdir libcim.la >
> libcim.la.tmp;\ cim/cim.spec:echo "libdir='/usr/lib'" >> libcim.la.tmp; mv
> libcim.la.tmp libcim.la;\ db3/db3.spec:# XXX Rather than hack *.la (see
> below), create /usr/lib/libdb-3.1.so symlink. db3/db3.spec:#perl -pi -e
> 's,/usr,,' $RPM_BUILD_ROOT%{_libdir}/libdb-%{__soversion}.la db3/db3.spec:
> $RPM_BUILD_ROOT/%{_libdir}/libdb_java-3.3.la \ db3/db3.spec:- change
> location in /usr/lib/libdb-3.1.la to point to /lib (#16776). db4/db4.spec:#
> XXX Rather than hack *.la (see below), create /usr/lib/libdb-4.0.so symlink.
> db4/db4.spec:#perl -pi -e 's,/usr,,'
> %{buildroot}%{_libdir}/libdb-%{__soversion}.la db4/db4.spec:#rm -f 
> %{buildroot}/%{_libdir}/libdb_java-%{__soversion}.la db4/db4.spec:  - Maybe
> someone needs libdb_java-4.1.la, and if no-one does, at least db4/db4.spec:-
> change location in /usr/lib/libdb-3.1.la to point to /lib (#16776).
> eel/eel.spec:- Fix reference directory in .la files Eterm/Eterm.spec:- put
> libEterm.la into -devel expat/expat.spec:- move .la file to libexpat-devel
> file/file.spec:- Update Patch3 (deps) to make LDFLAGS use libmagic.la
> flac/flac.spec:rm -f %buildroot/%_libdir/xmms/Input/libxmms-flac.la
> gail/gail.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
> gaim/gaim.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.la
> galaxy/galaxy.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/engines/*.la \
> galaxy/galaxy.spec:  $RPM_BUILD_ROOT%{_libdir}/gtk/themes/engines/*.la
> gcc3.0/gcc-3.0.spec:       %{gcc_target_platform}/boehm-gc/libgcjgc.la \
> GConf2/GConf2.spec:- Remove .la files not under $libdir from devel package
> gda2.0/gda2.0.spec:- Fix reference directory in .la files
> gdbm/gdbm.spec:- Fix .la file (need to add prefix to build stage)
> gdk-pixbuf/gdk-pixbuf.spec:- Fix invalid directory references in .la files
> gedit/gedit.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/gedit-2/plugins/*.la \
> gedit/gedit.spec: $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
> gnome-db2.0/gnome-db2.0.spec:- Fix reference directory in .la files
> gnome-db/gnome-db.spec:- Fix reference directory in .la files
> gnomemm/gnomemm.spec:- Fix reference directory in .la files
> gnome-pim/gnome-pim.spec:	$RPM_BUILD_ROOT%{_libdir}/gnome-pilot/conduits/*.la
> gnome-pim/gnome-pim.spec:#%{_libdir}/gnome-pilot/conduits/*.la
> gnome-print/gnome-print.spec:- Fix reference directory in .la
> gnome-speech/gnome-speech.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/orbit-2.0/*.la gnome-vfs2/gnome-vfs2.spec:- Remove
> unused .la files from devel package gnumeric/gnumeric.spec:- Ship .la, they
> are needed for plugins (bug #4455) gsl/gsl.spec:- move *.la to -devel
> gstreamer/gstreamer.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/%{name}-%{majorminor}/*.la
> gstreamer-plugins/gstreamer-plugins.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la
> gstreamer-plugins/gstreamer-plugins.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la gtk+2.0/gtk+2.0.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}.*/immodules/
> *.la \ gtk+2.0/gtk+2.0.spec: 
> $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}.*/loaders/*.
> la g-wrap/g-wrap.spec:- .la must be in lib package for dynamic lib loading
> by libltdl hfsplusutils/hfsplus.spec:install -m 644 libhfsp/src/libhfsp.la
> %buildroot/%_libdir ibtk/ibtk.spec:- Ship with *.la file though I don't know
> anyone actually using that one ImageMagick/ImageMagick.spec:- removed
> buildroot dir from .la files. ImageMagick/ImageMagick.spec:- fixed
> coders/*.la files. ImageMagick/ImageMagick.spec:- put *.la back to main
> package (otherwise doesn't work!) ImageMagick/ImageMagick.spec:- put module
> *.so files in the main package while *.la and *.a go to devel
> imlib2/imlib2.spec:- Patch0: Avoid /home in .la files imlib/imlib.spec:-
> Remove Stefan hack, it causes bad .la files jpilot/jpilot.spec:mv
> %{buildroot}/%{_libdir}/lib*.la %{buildroot}/%{_libdir}/jpilot/plugins/
> kde1-compat/kde1-compat.spec:rm -rf $RPM_BUILD_ROOT/usr/man
> $RPM_BUILD_ROOT/usr/share/apps/kab $RPM_BUILD_ROOT/usr/lib/*.la
> kde1-compat/kde1-compat.spec:grep "\.la$" /tmp/master.list >> \
> kde1-compat/kde1-compat.spec:egrep -v
> "/include|\.so$|\.la$|\.a$|/share/kdoc|/bin|/man/man1" \
> kdebase/kdebase.spec:#%_libdir/kde3/kio_audiocd.la
> kdebase/kdebase.spec:#%_libdir/kde3/kio_ldap.la
> kdegames/kdegames.spec:#%_libdir/kbackgammon.la
> kdegames/kdegames.spec:#%_libdir/libkdehighscores.la
> kdegames/kdegames.spec:#%_libdir/libksirtetbase.la
> kdegames/kdegames.spec:#%_libdir/libksirtetcommon.la
> kdelibs2/kdelibs-2.0-opt.spec:	find . -name '*.so*' -o -name '*.la' |sed -e
> 's|^\.|\%attr(-,root,root) |' > \ kdelibs2/kdelibs-2.0-opt.spec:  find .
> -name '*.so*' -o -name '*.la' |sed -e 's|^\.|\%attr(-,root,root) |' > \
> koffice/koffice.spec:#%_libdir/kde3/sml_connector.la
> koffice/koffice.spec:#%_libdir/libkiviosmlconnector.la libao/libao.spec:-
> have libao.la file (I suck) libbonobo/libbonobo.spec:- Remove all .la files
> not in $libdir from devel package libbonoboui/libbonoboui.spec:- Remove all
> .la files not in $libdir from devel package
> libgail-gnome/libgail-gnome.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la libgda/libgda.spec:- Fix
> reference directory in .la files libggi/libggi.spec:- *.la files in devel
> packages. libglade/libglade.spec:- Fix reference directory for .la files
> libgnomecanvas/libgnomecanvas.spec:- Remove .la that are not inside $libdir
> from devel package libgphoto/libgphoto.spec:       
> libgphoto2_port/libgphoto2_port/libgphoto2_port.la
> libgphoto/libgphoto.spec:find $RPM_BUILD_ROOT -name '*.la' | \
> libid3tag/libid3tag.spec:- add .la files libjpeg/libjpeg.spec:- Patch3: Use
> autoconf variables to know libdir et al. Aka, fix *.la
> libjpeg/libjpeg.spec:- put back .the .la files where they should always be,
> ie in -devel (thx fcrozat). liblcms/liblcms.spec:libtool --mode=link $CC
> $CFLAGS -o liblcms.la \ liblcms/liblcms.spec:libtool --mode=install install
> -c liblcms.la \ liblcms/liblcms.spec:	$RPM_BUILD_ROOT%{_libdir}/liblcms.la)
> liblzo/liblzo.spec:- move .la to devel package
> libmikmod/libmikmod.spec:- added .la file.
> libmng/libmng.spec:- move .la in devel
> libmrproject/libmrproject.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/mrproject/*/*.la libogg/libogg.spec:- provide .la
> file in devel package (thx Goetz Waschk) libprelude/libprelude.spec:export
> LIBLTDL="%{_libdir}/libltdl.la" libtabe/libtabe.spec:# Remove unpackaged
> files, who needs those *.la files anyway? libtabe/libtabe.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la libtabe/libtabe.spec:- Don't ship with *.la
> files libtool/libtool.spec:- Move *.la to the development package to avoid a
> conflict (Kudos to libungif/libungif.spec:- put back the .la in -devel.
> libusb/libusb.spec:- put back the .la in devel.
> libvorbis/libvorbis.spec:- provide .la file in devel package (thx Goetz
> Waschk) licq/licq.spec:install -m644 src/.libs/licq_kde-gui.la
> $RPM_BUILD_ROOT%{_libdir}/licq/licq_kde-gui.la mad/mad.spec:- add .la files
> Mesa/Mesa.spec:if [ ! -e $RPM_BUILD_ROOT%{libdir}/libGL.la ]; then
> Mesa/Mesa.spec:  if [ -e src/libGL.la ]; then
> Mesa/Mesa.spec:    install -m 0644 src/libGL.la
> $RPM_BUILD_ROOT%{libdir}/libGL.la Mesa/Mesa.spec:# finally clean any .la
> file with still reference to tmppath. Mesa/Mesa.spec:perl -pi -e
> "s|\S+$RPM_BUILD_DIR\S*||g" $RPM_BUILD_ROOT/%{libdir}/*.la mm/mm.spec:rm -f
> %{buildroot}%{_libdir}/*.la mrproject/mrproject.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/mrproject/*.la \ mrproject/mrproject.spec:  
> $RPM_BUILD_ROOT%{_libdir}/mrproject/views/*.la MySQL/MySQL.spec:
> ${RBR}%{_libdir}/libmysqlclient.la  ${RBR}%{_libdir}/libmysqlclient_r.la
> nautilus-cd-burner/nautilus-cd-burner.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/*.la nautilus/nautilus.spec:
>  $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la
> netatalk/netatalk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
> netatalk/netatalk.spec:rm -f $RPM_BUILD_ROOT%{_libdir}/netatalk/uams/*.la
> openhbci/openhbci.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/openhbci/plugins/%{version_major}/media/*.la
> openldap/openldap.spec:perl -pi -e "s| -L../liblber/.libs||g"
> %{buildroot}%{_libdir}/libldap.la openldap/openldap.spec:- fix libldap.la
> (re: Lonnie Borntreger) ORBit2/ORBit2.spec:- Remove unused .la file from
> devel pango/pango.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/pango/%{module_version}/modules/*.la
> parted/parted.spec:- add parted.m4 and *.la in -devel
> pspell/pspell.spec:perl -pi -e 's/$RPM_BUILD_ROOT//g'
> $RPM_BUILD_ROOT%_libdir/*.la pspell/pspell.spec:perl -pi -e
> 's/-L$RPM_BUILD_ROOT.*?\.libs//g' $RPM_BUILD_ROOT%_libdir/*.la
> rpmlint/rpmlint.spec: o BinariesCheck.py: Check if .la files contain tmp or
> home rvm/rvm.spec:/usr/lib/librvm.la
> rvm/rvm.spec:/usr/lib/librvmlwp.la
> rvm/rvm.spec:/usr/lib/libseg.la
> rvm/rvm.spec:/usr/lib/librds.la
> rvm/rvm.spec:/usr/lib/librdslwp.la
> sane/sane.spec:perl -pi -e "s/installed.*/installed=yes/g"
> $RPM_BUILD_ROOT%{_libdir}/libsane.la sane/sane.spec:- moved lib*.so to
> %files devel and dropped the *.la files screem/screem.spec:# perl -pi -e
> "s|/home/lenny/rpm/BUILD/screem-0.4.1/libneon| |g;"
> $RPM_BUILD_ROOT/%_libdir/%name/plugins/*.la screem/screem.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/screem/plugins/*.la screem/screem.spec:- remove
> invalid-directory-reference in .la files smpeg/smpeg.spec:  - added missing
> files, smpeg.m4 and libsmpeg.la swfdec/swfdec.spec:rm -f
> $RPM_BUILD_ROOT%{_libdir}/*.la t1lib/t1lib.spec:- put back the .la in
> -devel. ucd-snmp/ucd-snmp.spec:# [gb] grmpf, nuke buildroot in *.la files
> ucd-snmp/ucd-snmp.spec:perl -pi -e "s,$RPM_BUILD_ROOT,,g"
> $RPM_BUILD_ROOT%{_libdir}/*.la unixODBC/unixODBC.spec:find
> $RPM_BUILD_ROOT/%_libdir -name '*.so' -o -name '*.la' -o -name '*.a' | sed
> -e "s|$RPM_BUILD_ROOT||g" | grep -v -e gtk -e instQ>>
> libodbc-devellibs.filelist unixODBC/unixODBC.spec:- Add back *.la and *.a as
> well (oops). xine-lib-compat/xine-lib-compat.spec:rm -f
> %buildroot/%_libdir/xine/plugins/*.la xine-lib/xine-lib.spec:rm -f
> %buildroot/%_libdir/xine/plugins/1.0.0/*.la xine-lib/xine-lib.spec:rm -f
> %buildroot/%_libdir/xine/plugins/1.0.0/post/*.la xmms-alsa/xmms-alsa.spec:rm
> -f $RPM_BUILD_ROOT/%_libdir/{lib*,xmms/Output/libALSA.la}$
> 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] I: eliminating unneeded libtool library files
  2003-12-01 10:23 ` Vitaly Lipatov
  2003-12-01 11:27   ` [devel] " Alexey Tourbin
@ 2003-12-02 10:20   ` Dmitry V. Levin
  1 sibling, 0 replies; 7+ messages in thread
From: Dmitry V. Levin @ 2003-12-02 10:20 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1565 bytes --]

On Mon, Dec 01, 2003 at 01:23:13PM +0300, Vitaly Lipatov wrote:
> On 1 Декабрь 2003 02:22, Dmitry V. Levin wrote:
> > Этих (и других похожих) неприятностей можно было бы избежать,
> > если бы можно было решить одну из двух задач:
> > 1. Исправить libtool, чтобы он нормально поддерживал
> ...
> > 2. Убрать все вредные .la-файлы из системы.  Для решения этой
> А как с этой ситуацией обстоит дело в других дистрибутивах? 

По-разному.

> Неужели всё это время никто не задумывался об этой проблеме?

Почему же, задумывались.

> > .la-файлы, которые сопровождают библиотеки.  Помимо них, есть
> > ещё много .la-файлов, сопровождающих plugin'ы.  Иногда такие
> > .la-файлы используются для динамической загрузки plugin'ов с
> > помощью средств библиотеки ltdl.  Во всех остальных случаях от
> > них нет ни пользы, ни вреда.
> Так а что будет с использующими ltdl? Придётся "отрывать" её 
> использование?

Зачем?

Ещё раз повторю классификацию установленных .la-файлов:
- вредные: .la-файлы, которые сопровождают библиотеки (с которыми можно
  линковаться на стадии сборки);
- необходимые: .la-файлы, которые сопровождают plugin'ы, которые
  загружаются средствами библиотеки ltdl;
- бесполезные и безвредные: все остальные .la-файлы, т.е. те, которые
  сопровождают plugin'ы, которые загружаются средствами библиотеки dl.

Таким образом, от вредных нужно быстро избавиться, необходимые нужно
поддерживать в актуальном состоянии (в часности, следить за
dependency_libs), а на все остальные можно пока закрыть глаза и вычищать
их по мере пересборки пакетов.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [devel] Re: I: eliminating unneeded libtool library files
  2003-11-30 23:22 [devel] I: eliminating unneeded libtool library files Dmitry V. Levin
  2003-12-01 10:23 ` Vitaly Lipatov
@ 2003-12-04 20:42 ` Michael Shigorin
  2003-12-04 20:50 ` Michael Shigorin
  2 siblings, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2003-12-04 20:42 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 260 bytes --]

On Mon, Dec 01, 2003 at 02:22:11AM +0300, Dmitry V. Levin wrote:
> Тема сегодняшней лекции - о пользе и вреде .la-файлов. :)

Профессор, вот еще бы до зачета ;-)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [devel] Re: I: eliminating unneeded libtool library files
  2003-11-30 23:22 [devel] I: eliminating unneeded libtool library files Dmitry V. Levin
  2003-12-01 10:23 ` Vitaly Lipatov
  2003-12-04 20:42 ` [devel] " Michael Shigorin
@ 2003-12-04 20:50 ` Michael Shigorin
  2 siblings, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2003-12-04 20:50 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 436 bytes --]

On Mon, Dec 01, 2003 at 02:22:11AM +0300, Dmitry V. Levin wrote:
> libxmms-devel

Я могу залить в incoming xmms-1.2.8-alt4.  У меня есть к нему
пара претензий, но они уже (imho) приемлемого для Sisyphus
уровня. (QA в курсе)

Заливать?

Как вариант -- подписанный пакет можно забрать здесь:
http://xms.com.ua/~mike/xmms-1.2.8-alt3.src.rpm

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-12-04 20:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-30 23:22 [devel] I: eliminating unneeded libtool library files Dmitry V. Levin
2003-12-01 10:23 ` Vitaly Lipatov
2003-12-01 11:27   ` [devel] " Alexey Tourbin
2003-12-01 12:29     ` vserge
2003-12-02 10:20   ` [devel] " Dmitry V. Levin
2003-12-04 20:42 ` [devel] " Michael Shigorin
2003-12-04 20:50 ` Michael Shigorin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git