Bug 889244 - bacula: unversioned so files directly in _libdir
bacula: unversioned so files directly in _libdir
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: bacula (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Simone Caronni
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-20 10:26 EST by Stanislav Ochotnicky
Modified: 2013-02-07 21:32 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-01-23 11:00:27 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stanislav Ochotnicky 2012-12-20 10:26:16 EST
Description of problem:
several bacula subpackages contain unversioned so files directly in _libdir (not in private subdirectory). These libraries belong into -devel subpackage [1]
bacula-libs: /usr/lib64/libbac-5.2.12.so
bacula-libs: /usr/lib64/libbac.so
bacula-libs: /usr/lib64/libbaccfg-5.2.12.so
bacula-libs: /usr/lib64/libbaccfg.so
bacula-libs: /usr/lib64/libbacfind-5.2.12.so
bacula-libs: /usr/lib64/libbacfind.so
bacula-libs: /usr/lib64/libbacpy-5.2.12.so
bacula-libs: /usr/lib64/libbacpy.so
bacula-libs-sql: /usr/lib64/libbaccats-mysql-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-mysql.so
bacula-libs-sql: /usr/lib64/libbaccats-postgresql-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-postgresql.so
bacula-libs-sql: /usr/lib64/libbaccats-sqlite3-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-sqlite3.so
bacula-libs-sql: /usr/lib64/libbacsql-5.2.12.so
bacula-libs-sql: /usr/lib64/libbacsql.so
bacula-client: /usr/lib64/bacula/bpipe-fd.so


[1] http://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages
Comment 1 Simone Caronni 2013-01-09 09:06:46 EST
Hello,

the Bacula package is a bit peculiar.

1) Bacule pipe plugin

bacula-client: /usr/lib64/bacula/bpipe-fd.so

This is a plugin to be loaded by the Bacula File Daemon, it is loaded exactly like it is packaged. The daemon loads the plugins from that folder without the folder being in the library path.

2) Normal libraries

bacula-libs: /usr/lib64/libbac.so
bacula-libs: /usr/lib64/libbaccfg.so
bacula-libs: /usr/lib64/libbacfind.so
bacula-libs: /usr/lib64/libbacpy.so
bacula-libs-sql: /usr/lib64/libbacsql.so

Yes, this is a bug and those should be removed.

3) Bacula Director library (libbaccats)

bacula-libs-sql: /usr/lib64/libbaccats-mysql-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-mysql.so
bacula-libs-sql: /usr/lib64/libbaccats-postgresql-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-postgresql.so
bacula-libs-sql: /usr/lib64/libbaccats-sqlite3-5.2.12.so
bacula-libs-sql: /usr/lib64/libbaccats-sqlite3.so
bacula-libs-sql: /usr/lib64/libbacsql.so

This is bit of a problem. Some daemons/libraries/programs are linked to the libbaccats-<version>.so library, while the library itself does not exist.

In the build, 3 different libraries are provided, one for each database backend.
Depending on the choice of the user, the alternatives system is set accordingly for the correct library:

# alternatives --config libbaccats.so

There are 3 programs which provide 'libbaccats.so'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib64/libbaccats-mysql.so
 + 2           /usr/lib64/libbaccats-sqlite3.so
*  3           /usr/lib64/libbaccats-postgresql.so

Enter to keep the current selection[+], or type selection number:

Th alternatives choices were originally specified not with libbaccats.so but with libbaccats-<version>.so, but upon an upgrade the choice was corrupted and always pointing at the default alternative.

i.e. the user selected "libbaccats-mysql-5.2.10.so" but with an upgrade to 5.2.11 the user had "libbaccats-postgresql-5.2.11.so" as the default. The only way to preserve the option is to use a name for the alternatives system that does not change between the upgrades.

This has in fact been changed after many users complained that the update broke their setup:

http://pkgs.fedoraproject.org/cgit/bacula.git/commit/?id=f5b13930abef59dab2af299c056ebb5a924da792

Any idea on this?

Regards,
--Simone
Comment 2 Simone Caronni 2013-01-09 09:13:19 EST
First fix for point 2 in the previous list:

http://pkgs.fedoraproject.org/cgit/bacula.git/commit/?id=8e73d46d46875b0e7579941b9e8378989bc13949
Comment 3 Stanislav Ochotnicky 2013-01-09 10:20:13 EST
(In reply to comment #1)

> 1) Bacule pipe plugin
> 
> bacula-client: /usr/lib64/bacula/bpipe-fd.so

My bad, private subdir is OK. It was included in the bugreport accidentaly

> 2) Normal libraries
> 
> bacula-libs: /usr/lib64/libbac.so
> bacula-libs: /usr/lib64/libbaccfg.so
> bacula-libs: /usr/lib64/libbacfind.so
> bacula-libs: /usr/lib64/libbacpy.so
> bacula-libs-sql: /usr/lib64/libbacsql.so
> 
> Yes, this is a bug and those should be removed.

Good, glad it wasn't completely bogus.
 
> 3) Bacula Director library (libbaccats)
> Any idea on this?

Not really, it is obviously very specific use case which I missed completely.

All in all I consider commit for 2) to fix all issues that bacula had. Feel free to close as you see apropriate (after backporting to F18 if you want)
Comment 4 Simone Caronni 2013-01-10 05:09:34 EST
Hello,

since f17/f18/master branches are in sync, I applied it to all packages.

Regards,
--Simone
Comment 5 Fedora Update System 2013-01-10 05:11:20 EST
bacula-5.2.12-6.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/bacula-5.2.12-6.fc17
Comment 6 Fedora Update System 2013-01-10 05:11:43 EST
bacula-5.2.12-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/bacula-5.2.12-6.fc18
Comment 7 Fedora Update System 2013-01-10 16:28:48 EST
Package bacula-5.2.12-6.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing bacula-5.2.12-6.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-0573/bacula-5.2.12-6.fc18
then log in and leave karma (feedback).
Comment 8 Fedora Update System 2013-01-23 11:00:33 EST
bacula-5.2.12-6.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 9 Fedora Update System 2013-01-23 11:24:49 EST
bacula-5.2.12-6.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 10 Fedora Update System 2013-01-28 08:14:29 EST
bacula-5.0.3-35.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/bacula-5.0.3-35.fc16
Comment 11 Fedora Update System 2013-02-07 21:32:43 EST
bacula-5.0.3-35.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.