Hello all.  I discovered PicoGUI a few days ago, and decided to create
Debian packages for it when I discovered it doesn't have any yet.  I ran
into a few issues, which I hope you could help me solve.

First let me say that overall, the packaging went very smoothly, thanks
to the high quality build system.

Here are the issues I encountered:

1. The 'apps' directory installs a library and some headers: pgboard.h,
   pgboard_api.h, and libpgboard.  What purpose does this library serve?
   Is it useful to third party developers?  If so, it would probably be
   best packaged with the client library, is that acceptable?

2. The apps are all linked with the --rpath option.  For example:

   /bin/sh ../libtool --mode=link gcc    -o pgedit  pgedit.o -lpgui 
   mkdir .libs
   gcc -o pgedit pgedit.o  /usr/local/lib/libpgui.so -Wl,--rpath
   -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib

   For reasons I don't understand completely yet, Debian considers
   --rpath very bad and throws warnings when I test the package.  I
   think there was a workaround in use for a while involving the
   symbol LIBTOOL_IS_A_FOOL (it's a libtool issue), but I've had
   a hard time finding accurate information on this issue.

I think those are the only issues I've come across for now.

Micah, I remember we talked briefly about library versining on IRC.  Here
is a great summary of how versioning works with libtool.  The idea is that
each release of the library is described by three numbers:

## CURRENT
##      The most recent interface number that this library implements.
##
## REVISION
##      The implementation number of the CURRENT interface.
##
## AGE
##      The difference between the newest and oldest interfaces that this
##      library implements.  In other words, the library implements all the
##      interface numbers in the range from number `CURRENT - AGE' to
##      `CURRENT'.
##
##    If two libraries have identical CURRENT and AGE numbers, then the
## dynamic linker chooses the library with the greater REVISION number.
##
##   1. Start with version information of `0:0:0' for each libtool library.
##
##   2. Update the version information only immediately before a public
##      release of your software.  More frequent updates are unnecessary,
##      and only guarantee that the current interface number gets larger
##      faster.
##
##   3. If the library source code has changed at all since the last
##      update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
##
##   4. If any interfaces have been added, removed, or changed since the
##      last update, increment CURRENT, and set REVISION to 0.
##
##   5. If any interfaces have been added since the last public release,
##      then increment AGE.
##
##   6. If any interfaces have been removed since the last public release,
##      then set AGE to 0.

Joshua

-- 
Joshua Haberman  <[EMAIL PROTECTED]>

_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to