Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Aug 2014 14:26:40 -0400
From:      Dan Langille <dan@langille.org>
To:        ports@freebsd.org
Subject:   libraries with version numbers - sysutils/bacula
Message-ID:  <DBCDEDF4-B7B3-474B-9B2F-42CE9F32E117@langille.org>

next in thread | raw e-mail | index | archive | help

--Apple-Mail=_E84DBA61-6328-4497-A2D4-9113436BC4CC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

I=92m having trouble updating the sysutils/bacula-server port to 7.0.4.  =
This is a packaging issue, not a =91does it run=92 issue.  Regression =
testing is fine (see comment below).

I have https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D191311 nearly =
finished. The blocking issue arises with =
src/cats/install-default-backend.in which later stops the installation =
of the right symlink files.

short version:

After bacula-server installs, we have this:
[dan@testing /usr/local/lib]$ ls -l libbaccats*
-rwxr-xr-x  1 root  wheel   1010 Aug  3 18:20 libbaccats-postgresql.la
lrwxr-xr-x  1 root  wheel     26 Aug  3 18:20 libbaccats-postgresql.so =
-> libbaccats-postgresql.so.7
-rwxr-xr-x  1 root  wheel  42622 Aug  3 18:20 libbaccats-postgresql.so.7
-rwxr-xr-x  1 root  wheel    944 Aug  3 18:20 libbaccats.la
lrwxr-xr-x  1 root  wheel     15 Aug  3 18:20 libbaccats.so -> =
libbaccats.so.7
-rwxr-xr-x  1 root  wheel   6376 Aug  3 18:20 libbaccats.so.7

libbaccats.so.7 should be a symlink to libbaccats-postgresql.so <=97 =
this change is done by the install-default-backend postgresql script =
(mentioned soon below).

longer version:

After installation, a grep gives this:
# cd /var/ports/usr/ports/sysutils/bacula-server/work/bacula-7.0.4/src
# grep -r install-default-backend *
cats/Makefile:	./install-default-backend postgresql 5 =
$(DESTDIR)$(libdir)
cats/Makefile.in:	./install-default-backend @DEFAULT_DB_TYPE@ 5 =
$(DESTDIR)$(libdir)
cats/Makefile.in.orig:	./install-default-backend @DEFAULT_DB_TYPE@ =
$(LIBBACCATS_LT_RELEASE) $(DESTDIR)$(libdir)

See that 5?  I think it should be a 7.  I have no idea where the 5 is =
coming from.  It should be the value from LIBBACCATS_LT_RELEASE

A grep for that gives (not all lines are included here):

# grep -r LIBBACCATS_LT_RELEASE *
cats/Makefile:LIBBACCATS_LT_RELEASE =3D 7.0.4

So I get confused and can=92t see why. Spending more hours on this seems =
fruitless.

I am also trying to understand the version numbers used in the Bacula =
port.  Bacula 5.2.12_6 installs these libraries:

[dan@bacula:/usr/local/lib] $ ls -l libbac*
-rwxr-xr-x  1 root  wheel     900 Jul  5 22:12 libbac.la
lrwxr-xr-x  1 root  wheel      15 Jul  5 22:12 libbac.so -> =
libbac.so.5.0.2
lrwxr-xr-x  1 root  wheel      15 Jul  5 22:12 libbac.so.5 -> =
libbac.so.5.0.2
-rwxr-xr-x  1 root  wheel  434017 Jul  5 22:12 libbac.so.5.0.2
-rwxr-xr-x  1 root  wheel     984 Jul  5 22:15 libbaccats-postgresql.la
lrwxr-xr-x  1 root  wheel      30 Jul  5 22:15 libbaccats-postgresql.so =
-> libbaccats-postgresql.so.5.0.2
lrwxr-xr-x  1 root  wheel      30 Jul  5 22:15 =
libbaccats-postgresql.so.5 -> libbaccats-postgresql.so.5.0.2
-rwxr-xr-x  1 root  wheel   42270 Jul  5 22:15 =
libbaccats-postgresql.so.5.0.2
-rwxr-xr-x  1 root  wheel     924 Jul  5 22:15 libbaccats.la
lrwxr-xr-x  1 root  wheel      19 Jul  5 22:15 libbaccats.so -> =
libbaccats.so.5.0.2
lrwxr-xr-x  1 root  wheel      24 Jul  5 22:15 libbaccats.so.5 -> =
libbaccats-postgresql.so
-rwxr-xr-x  1 root  wheel    6576 Jul  5 22:15 libbaccats.so.5.0.2

=85 etc

I think 5.0.2 is derived from 5.2.16 by this patch in =
files/patch-src__cats__Makefile.in:

-       $(LIBTOOL_LINK) $(CXX) $(DEFS) $(DEBUG) $(LDFLAGS) -o $@ =
$(LIBBACSQL_LOBJS) -export-dynamic -rpath $(libdir) -release =
$(LIBBACSQL_LT_RELEASE) $(DB_LIBS)
+       $(LIBTOOL_LINK) $(CXX) $(DEFS) $(DEBUG) $(LDFLAGS) -o $@ =
$(LIBBACSQL_LOBJS) -export-dynamic -rpath $(libdir) -version-info =
$(LIBBACSQL_LT_RELEASE:S/./:/g:S/12/0/g)

I didn=92t create that substitution and I do not understand why it is =
useful.  Can help me understand please?

I suspect this approach was taken so minor upgrades do not require =
reinstalling other apps.

Thanks.

=97=20
Dan Langille


--Apple-Mail=_E84DBA61-6328-4497-A2D4-9113436BC4CC
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iEYEARECAAYFAlPefuAACgkQCgsXFM/7nTw0SgCg4JZU30RwglKYlfwWsCWHTkWb
FXkAnA4VxEgLb/IfIZcPaG9PlsS7SLy4
=fomM
-----END PGP SIGNATURE-----

--Apple-Mail=_E84DBA61-6328-4497-A2D4-9113436BC4CC--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DBCDEDF4-B7B3-474B-9B2F-42CE9F32E117>