List Info

Thread: Packaging libtool archives (*.la files)




Packaging libtool archives (*.la files)
user name
2006-08-25 02:59:18
Hi,

while looking at various spec files, I noticed that it seems
to become
increasingly popular these days that libtool archives (*.la
files) are
removed from packages, by deleting them during the build or
by using the
%exclude directive or similar.

Is there a general policy about this? The idea seems to come
from
Fedora, where this _is_ a general policy. I'd like to know
whether we
have a similar policy or whether each packager decides that
himself.

Andreas Hanke
------------------------------------------------------------
---------
To unsubscribe, e-mail: opensuse-packaging+unsubscribeopensuse.org
For additional commands, e-mail: opensuse-packaging+helpopensuse.org

Packaging libtool archives (*.la files)
user name
2006-08-25 08:20:18
On Fri, Aug 25, Andreas Hanke wrote:

> Hi,
> 
> while looking at various spec files, I noticed that it
seems to become
> increasingly popular these days that libtool archives
(*.la files) are
> removed from packages, by deleting them during the
build or by using the
> %exclude directive or similar.
> 
> Is there a general policy about this?

The general policy is: Remove it if this makes no trouble.

> The idea seems to come from Fedora, 

No, we did it (at least I for my packages) for a much longer
time
than Fedora.

> where this _is_ a general policy. I'd like to know
whether we
> have a similar policy or whether each packager decides
that himself.

There are three kind of packages:

- The package will stop working if you remove the *.la file
- Building other packages will become much order or will
break
- A lot of problems will be solved by removing the *.la file
  or nobody cares.

In the first case we will of course not remove the *.la
file. In 
the seond case: depends on if there is the time to fix all
other
packages. In the third case: remove it.

  Thorsten

-- 
Thorsten Kukuk         http://www.suse.de/~kukuk/
      kukuksuse.de
SUSE LINUX Products GmbH       Maxfeldstr. 5       D-90409
Nuernberg
------------------------------------------------------------
--------    
Key fingerprint = 8C6B FD92 EE0F 42ED F91A  6A73 6D1A 7F05
2E59 24BB
------------------------------------------------------------
---------
To unsubscribe, e-mail: opensuse-packaging+unsubscribeopensuse.org
For additional commands, e-mail: opensuse-packaging+helpopensuse.org

Packaging libtool archives (*.la files)
user name
2006-08-31 17:11:07
Thorsten Kukuk wrote:
> On Fri, Aug 25, Andreas Hanke wrote:

> > while looking at various spec files, I noticed
that it seems to become
> > increasingly popular these days that libtool
archives (*.la files) are
> > removed from packages, by deleting them during the
build or by using the
> > %exclude directive or similar.
> > 
> > Is there a general policy about this?
> 
> The general policy is: Remove it if this makes no
trouble.

I have tried to make a short proposal about it. It is not
yet "Remove it
if this makes no trouble", but only "Remove it
if you are sure that this
makes no trouble". It's hard to decide in case of
"Building other
packages will become much order or will break".

Note that not only ltdl, but probably also guile can need
*.la files,
and mono can need *.so files.


Libraries in libdir:

If your package installs *.so symlink, *.la and *.a files,
but does't
provide any header files for these libraries, you can
consider these
files as obsolete and remove them.

Example:

Package nautilus contains two libraries - public
libnautilus-extension
with headers and private libnautilus-private without
headers. It means,
that libnautilus-private cannot be used for development
outside nautilus
package. You can remove its development files:

  # libnautilus-private does not export its headers, so it
can't be used
  # outside nautilus,
  rm $RPM_BUILD_ROOT%/%_lib/libnautilus-private.*a
  rm $RPM_BUILD_ROOT%/%_lib/libnautilus-private.so

Note: In rare cases, the library is loaded with use of *.so
or *.la
files. In this situation, you have to keep these files.

Dynamic modules and libraries outside libdir:

If your package installs *.so, *.la and *.a files into a
sub-directory
of libdir, please evaluate usefulness of those files:

If these files are dynamically loaded shared modules, static
*.a files
has no use, and you can remove them to save space. If module
is not
intended for program using libltdl, libtool *.la files has
no use, and
you can remove them to save space. For some module types,
you can even
remove *.so symlink if it is not required for proper
function of program
module it is intended for.

Example:

Package libgnomeui provides modules for gtk+ and libglade.
You can
remove obsolete files:

  # remove obsolete files for dynamic modules
  rm $RPM_BUILD_ROOT%/%_lib/libglade/2.0/*.*a
  rm
$RPM_BUILD_ROOT%/%_lib/gtk-2.0/2.4.0/filesystems/lib
gnome-vfs.*a

-- 
Best Regards / S pozdravem,

Stanislav Brabec
software developer
------------------------------------------------------------
---------
SUSE LINUX, s. r. o.                          e-mail:
sbrabecsuse.cz
Lihovarská 1060/12                            tel: +420 284
028 966
190 00 Praha 9                                fax: +420 284
028 951
Czech Republic                                http://www.suse.cz/

------------------------------------------------------------
---------
To unsubscribe, e-mail: opensuse-packaging+unsubscribeopensuse.org
For additional commands, e-mail: opensuse-packaging+helpopensuse.org

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )