History log of /netbsd-src/crypto/external/bsd/netpgp/lib/Makefile (Results 1 – 18 of 18)
Revision Date Author Comments
# 40ca0b46 06-Sep-2023 riastradh <riastradh@NetBSD.org>

lib: Handle various external lib directories with build_install.

This way, update builds track shlib major bumps correctly.

For example, suppose you had built Heimdal's libkrb5.so.27 and
libgssapi.

lib: Handle various external lib directories with build_install.

This way, update builds track shlib major bumps correctly.

For example, suppose you had built Heimdal's libkrb5.so.27 and
libgssapi.so.11 linked against it, and then you updated past the recent
shlib major bump raising them to libkrb5.so.28 and libgssapi.so.12.

Without this change, the build will make the following sequence of
targets (interleaved with some others):

1. make dependall in libkrb5
2. make dependall in libgssapi
3. make install in libkrb5
4. make install in libgssapi

The existing .WAIT tags in SUBDIR ensure that (1) happens before (2)
and (3) happens before (4). Unfortunately, this sequence is wrong,
because it will produce the following effect:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make dependall in libgssapi builds libgssapi.so.12, linked against
libkrb5.so.27
3. make install in libkrb5 installs libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Why the out-of-date libkrb5.so.27 in step (2)? Because we just pass
-L${DESTDIR}/usr/lib -lkrb5 to the linker (or the equivalent with
--sysroot and implied -L/usr/lib), and ${DESTDIR}/usr/lib still has
only libkrb5.so.27 by the time of step (2), not libkrb5.so.28.

Now any applications that link against libkrb5.so _and_ libgssapi.so
will get libkrb5.so.28 and libgssapi.so.12 -- but transitively, via
libgssapi.so.12, they will also get libkrb5.so.27, which is a recipe
for disaster.

Splicing the Heimdal library subdirectories into lib/Makefile, as
this does, ensures that we run make dependall _and_ make install in
libkrb5 _before_ make dependall in libgssapi, giving the following
correct sequence:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make install in libkrb5 installs libkrb5.so.28
3. make dependall in libgssapi builds libgssapi.so.12, linked against
libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Note that LIBDPLIBS isn't enough here, as implemented. LIBDPLIBS
ensures that the incremental build will remake libgssapi.so. But it
doesn't ensure that the new libkrb5.so.28 is available before then,
so it doesn't prevent this problem.

We use the same mechanism for crypto/external/bsd/openssl/lib
already; this just extends it to other external library collections.

As an alternative, in principle perhaps we could teach LIBDPLIBS to
ensure that libkrb5.so comes out of the libkrb5 objdir, and not out
of ${DESTDIR}/usr/lib. But that requires some work to make happen,
and make it reliable, whereas this approach we've already confirmed
works without other adverse consequences (besides leaving
grody-looking mechanism lying around) for the libcrypto major bump
already. We need to get this pulled up to the branch so all the
other major bumps it required are handled correctly by update builds.

XXX pullup-10

show more ...


# aad9773e 05-Dec-2014 agc <agc@NetBSD.org>

set up the netpgp lib directory hierarchy a bit more logically

+ move libnetpgp to the same level as libnetpgpverify

+ fix up all paths to the new directory structure


# da39824b 09-Mar-2014 agc <agc@NetBSD.org>

Move netpgpkeys into the correct place in the reachover insfrastructure


# d9a6861d 11-Jul-2012 christos <christos@NetBSD.org>

no need for MKCRYPTO_IDEA


# f5b2f99a 10-Jul-2012 christos <christos@NetBSD.org>

- centralize WARNS=4, no need for WARNS=0 for the linker errors
(linking against) dummy idea
- add MKCRYPTO_IDEA support. Alas the code does not seem work accept my
passphrase on the idea key. A

- centralize WARNS=4, no need for WARNS=0 for the linker errors
(linking against) dummy idea
- add MKCRYPTO_IDEA support. Alas the code does not seem work accept my
passphrase on the idea key. A bug?

show more ...


# f65a48c2 13-Oct-2011 plunky <plunky@NetBSD.org>

max WARNS is 4


# 2f97867c 29-Nov-2010 agc <agc@NetBSD.org>

fastctype.[ch] source files are gone - use native <ctype.h>


# 7b5aa756 07-Aug-2010 agc <agc@NetBSD.org>

new directory structure - look in the right place for libraries


# 736e4816 26-Jul-2010 agc <agc@NetBSD.org>

Hook minimalist JSON implementation into the BSD build


# 352d6093 25-May-2010 agc <agc@NetBSD.org>

WARNS=5 now


# 561d2d6a 05-Dec-2009 agc <agc@NetBSD.org>

Add new files into netpgp lib


# 58e8878c 20-Jul-2009 christos <christos@NetBSD.org>

use the proper libcrypto


# 2df14e28 27-May-2009 agc <agc@NetBSD.org>

Use a relative path, rather than an absolute one, to find the source


# 07415064 26-May-2009 lukem <lukem@NetBSD.org>

Provide a generated config.h in the NetBSD build reachover.


# de704779 02-May-2009 agc <agc@NetBSD.org>

Make this code WARNS=4
Add an option to the netpgp command to produce a detached signature.


# 1f71d3ed 30-Apr-2009 agc <agc@NetBSD.org>

Build the netpgp library with WARNS=3


# efdd9dba 25-Apr-2009 agc <agc@NetBSD.org>

WARNS=4 changes


# 93bf6008 23-Apr-2009 agc <agc@NetBSD.org>

Import netpgp source into crypto/external - this is a heavily-modified
version of openpgpsdk, and will replace it. Differences between netpgp
and the NetBSD repository version of openpgpsdk are:

+ W

Import netpgp source into crypto/external - this is a heavily-modified
version of openpgpsdk, and will replace it. Differences between netpgp
and the NetBSD repository version of openpgpsdk are:

+ Wrap source code in GNU autoconf/configure
+ New high-level interface for libnetpgp(3) and netpgp(1)
+ Hide prolifery of local headers in the internal lib directory -
there is now one exported header called netpgp.h
+ Hide all ops_* functions and structs behind __ops_* names
+ Fix long-standing bug - make decryption work with files > 8192 bytes
(fix for signature verification of signed files > 8192 bytes was already
brought forward from the NetBSD repository of openpgpsdk)
+ Use mmap(2) to read files, falls back to read(2) if can't do mmap
+ Compile portable package using libtool
+ Rationalise the number of source files - merge a number of smaller ones
+ Case-insensitive matching of key ids
+ Use PRIsize throughout
+ Use calloc(3) throughout to zero memory
+ Get rid of global symbols which abused a macro
+ Use more descriptive names - remove "_arg_" components, name things for their
purpose, rather than what they are (their type)
+ No more --passphrase= argument to netpgp(1) - this is now always
done through callbacks
+ Report source code date and build date in version number, as well as the
version number itself

This will form the basis of the portable netpgp package.

show more ...