For Solaris 11, the module goes in drv, not fs.
Change-Id: Ib297239b845977eaf7e4cdb3edaba32db6733e12
Reviewed-on: http://gerrit.openafs.org/8152
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Use kindlegen located by the configure stage and test for
kindlegen and dbtoepub before building in all cases.
Change-Id: Ieb46023ddf0725a2c93f96e29f942b71343d53dd
Reviewed-on: http://gerrit.openafs.org/8148
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
In appendix C in the QSG, we give an example 'bos create'. The given
-cmd arguments should have quotes, or they will be interpreted as
individual arguments to 'bos create'.
Change-Id: Ie8b0a69908b3419af303716acce51e8d1e97837b
Reviewed-on: http://gerrit.openafs.org/7930
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
when we catch a control-c, do a clean shutdown
Change-Id: I8da28c28d0a238d3642f65c381c399a883d6d4b1
Reviewed-on: http://gerrit.openafs.org/8141
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
When the command is invoked within a case statement, we need the
"NOQ" version of RUN_LD. Add the LT_LDLIB_lwp_NOQ variant and use
it under src/sys where LT_LDLIB_lwp causes a build error.
Change-Id: I5af9c6cbbe9c3cf284d8e9aabb63d53bf5b056ea
Reviewed-on: http://gerrit.openafs.org/8140
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
already safe and being used on other platforms; might as well
here too.
Change-Id: I1fe4c2459caaea873e5618d0b097a142dd935791
Reviewed-on: http://gerrit.openafs.org/8139
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
OPTF should not be forced on if the user specified debugging.
side effect: use the OPTMZ setting for the platform instead
of hardcoding here.
Change-Id: Ib1cd4afebbd037938e2ee18e3bfc347b3690277b
Reviewed-on: http://gerrit.openafs.org/8136
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
our workaround for #define KERNEL didn't work on OSX because
roken.h included dirent.h before we got the chance. cope with
it.
Change-Id: I5e580aa934cec4e99d62ba105873f71b11326e2f
Reviewed-on: http://gerrit.openafs.org/8132
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
perluafs is a shared library, therefore we need to use the PIC version
of the opr library (just like any of the other libraries that have two
flavors and get linked with perluafs).
Change-Id: I597f4f40010524d94341d343d3f54648a139f760
Reviewed-on: http://gerrit.openafs.org/8131
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Don't install several libraries that have dependencies that are
not currently installed, but install static libraries.
Fix rule for libafsauthent_pic.a to get the library from .libs
Change-Id: I746b111edf8a6d94ad98fcf235e34b4dac1eb050
Reviewed-on: http://gerrit.openafs.org/8123
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Sprinkle AFS_UNUSED attributes where the compiler complains
about unused variables.
Note that this file is assembled from code generated by the heimdal
source. A similar fix exists in the generator code upstream, so
when the file is re-generated in the future it should not be
necessary to re-apply this.
Change-Id: I2ef407428d90157050481d5630f6f22510d65ca3
Reviewed-on: http://gerrit.openafs.org/8122
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Avoid the problems with libopr's dependencies by just converting
the tests to use the libtool version of the opr library. While we're
at it, make the tests pthreaded too.
Change-Id: I4e570b288ea57c758c848be1d545e5ee59771ab9
Reviewed-on: http://gerrit.openafs.org/8127
Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Currently, the type of library you build is determined by whether
the library is build in a pthread, or an lwp build directory. However,
this prevents building an LWP library in a directory that builds
pthreaded clients and servers.
As we want to continue to provide LWP libraries for backwards
compatibility, but move over to pthreaded binaries, this causes
some issues.
So, split up the libtool logic, so we have Makefile.libtool, which
you include if you want to build a pthreaded libtool library, and
Makefile.lwptool, for building a library which supports LWP and
pthreaded use. These only affect how .lo files are built - so the
.o files used for non-library objects are managed with the
Makefile.pthread and Makefile.lwp includes as before.
Change-Id: Ib1af48342253230abab9056eb15a3f79bd77a6de
Reviewed-on: http://gerrit.openafs.org/8126
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
The volser Makefile had a bad path for liboafs_util, and was still
directly pulling in some objects from the fileserver build. Fix it
so that it uses proper libraries.
Change-Id: Ic36c6a0f93c299bd04d48fa4238c4da5cbc571d4
Reviewed-on: http://gerrit.openafs.org/8125
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Same logic as ee18ccbe - we have to avoid building libafsauthent.la
and libafsauthent_pic.la at the same time. Add a dependency to
force make to build them in sequence.
Change-Id: I4b341d7688a249e0067c3917909259c813f26717
Reviewed-on: http://gerrit.openafs.org/8121
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Do not assume that there is only a single character before the dot.
Change-Id: I45169a6faa5dbeafc4f9c57deaaad96bef8de613
Reviewed-on: http://gerrit.openafs.org/8106
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
There should be a dependency between the libtool archive
liboafs_opr.la and the symbol map for the archive
(liboafs_opr.la.sym) so the archive is rebuilt if symbols are added
to, or removed from, the map file.
Change-Id: Ifb0cd0a8abaa4c9b476c53cf186458ec0b8f8778
Reviewed-on: http://gerrit.openafs.org/8107
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
The Solaris 11 syscall code was missing a definition for the
'error' variable
Change-Id: Ia9a678435203994e1791824954d8c28c3cdefe17
Reviewed-on: http://gerrit.openafs.org/8103
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
On Solaris, a library can't re-export functions which come from one
of its dependencies - so libafsrpc can't easily republish the 5 opr
functions that are currently in the libafsrpc map file.
Including the bits of the opr library that define these functions
causes problems with then linking libafsrpc against libopr, which
we do in a number of places.
libafsauthent has exactly the same problem, with a few symbols that
it pulls in from util.
The affected symbols were all added relatively recently, and have
limited uses outside of the OpenAFS tree, so just remove them from
the export list so we are one step closer to building on Solaris
again.
Change-Id: If0a1105320e416ebc013ff670dddd5d247b06f6b
Reviewed-on: http://gerrit.openafs.org/8102
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
Construct the libafsauthent library with libtool. All libraries
contributing to libafsauthent provide a libauthent_<library>.la
convenience library, which we use libtool to combine into shared
and static versions of libafsauthent.
Change-Id: I76fa61eb027862eab730c4c86ab74a7b7e03c13b
Reviewed-on: http://gerrit.openafs.org/8097
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
uuid needs hc_RAND_bytes, which means that liboafs_opr has a dependency
on hcrypto (and, until hcrypto is libtooled, on libroken as well). Make
this dependency explicit.
Change-Id: I748a43f7a2125c12b566502580e149ad1d9c1164
Reviewed-on: http://gerrit.openafs.org/8101
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
It's not safe to have libtool building a blah.lo at the same time as
gcc is building blah.o. A Makefile must exclusively use either the .lo
or the .o form.
Fix ptserver so that ptint.xdr.lo is the only one referenced, and just
explicitly pull in the LWP object for the ptserver.
Change-Id: I2e868d2d318c84e20bcccc0ffc462c87e4b7a2f2
Reviewed-on: http://gerrit.openafs.org/8100
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Modify the kauth directory so that we use libtool to build its library.
Unlike most of our other directories, kauth has few pthreaded consumers
within the tree, so the libtool library itself is currently unused. The
libtool conversion is done as a stepping point for libafsauthent, which
does include kauth objects.
At the same time, we take the opportunity to modify kaserver so that it
uses libkauth, rather than referencing the library objects directly
Change-Id: I9d261686753b30c415f767603d44c7ce6e10eed1
Reviewed-on: http://gerrit.openafs.org/8095
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Use libtool to build a pthreaded version of libprot in src/ptserver.
Make the tptserver directory just build pthreaded versions of the
client and server, and link these against libprot
Change-Id: Idc43de8c548f38584e78b35f9f1ecba3eb4b74d2
Reviewed-on: http://gerrit.openafs.org/8091
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Use libtool to build LWP and pthreaded versions of the ubik library.
Both versions are built in the src/ubik directory. src/tubik is modified
to only build pthreaded versions of the ubik test commands.
Replace use of libubik_pthread.a with the libtool generated library.
Change-Id: Id441fe00dbe801e38a108600bfbe06c292383872
Reviewed-on: http://gerrit.openafs.org/8090
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
libtool gets confused if it is running two instances in the same
directory, so make sure we build libafsrpc.la and libafsrpc_pic.la
one after the other.
Change-Id: Idfd16b1f4e1efe07822a300df798bf05e2df6bcd
Reviewed-on: http://gerrit.openafs.org/8086
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
Return of an exit status of zero when running commands with -help,
instead of returning an error. By general convention, and in
previous versions, tools do not not treat -help as an error.
The AFS::Command perl modules, use -help as an introspection
technique, and fail when commands run with the -help option returns
non-zero.
Change-Id: I6ecd95f6ccd07218a2657dbb4dbf1c13599159f4
Reviewed-on: http://gerrit.openafs.org/8087
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Use libtool to build a pthreaded version of the auth library
Change-Id: I452773e7fa159c278f5a7a7d21e77b6dd44c14bd
Reviewed-on: http://gerrit.openafs.org/8089
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Instead of using libafsrpc.a in the pthreaded server directories,
use the libtool library variants instead.
Change-Id: I4cdbaf5a060b3e5aa82fb0d79535cb4fdc850bcf
Reviewed-on: http://gerrit.openafs.org/8074
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
This will clarify where patches should go, and who can do backports.
Change-Id: Ie3efa6522382ea0cabc5847dbc1d75d59b04a403
Reviewed-on: http://gerrit.openafs.org/8075
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
aix has an atomic facility. add support for it.
Change-Id: Iaf1305fbafe1c0d7f0d22f14babfbea382c0b32d
Reviewed-on: http://gerrit.openafs.org/8076
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Use libtool to assemble the libafsrpc shared and static libraries
from objects built with libtool in each of the directories that
contribute to the library (fsint, rx, rxkad, comerr, util, rxstat,
sys and lwp).
Each source directory controls which objects are built into the shared
library by making a libafsrpc_<dir> libtool convenience directory. These
convenience directories are then merged together to produce the
libafsrpc library.
Change-Id: I330aeb8df4c237b408a298826363eea7357339ce
Reviewed-on: http://gerrit.openafs.org/8072
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
previously we installed the same library as both the normal and pic variants.
tweak to build a pic version also.
Change-Id: I6b197d43184a9aa23aa65de663f8f5f08d486912
Reviewed-on: http://gerrit.openafs.org/8073
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
A number of pthreaded directories explicitly build, and link, with
rx_pthread.o, in order to be able to send RX 'dpf' debugging messages
to the server log, rather than to stderr.
However, this direct linking causes build failures on some platforms,
because we end up linking in a version of rx_pthread.o, twice and both
versions contain identical linker symbols.
As this functionality is only used for debugging, just get rid of the
additional object.
Change-Id: I6126891db2dcbc289f6a9f7b99c01d6af7a19089
Reviewed-on: http://gerrit.openafs.org/8071
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Move the fsint directory over to building a libtool library
(liboafs_fsint). Because libtool requires that libraries have no
unresolved dependencies, we cannot include the server side stubs in
the libtool library.
Change-Id: Ia3f009680ac510f522b806366985e557cd6e4219
Reviewed-on: http://gerrit.openafs.org/8070
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
The majority of the LWP directory isn't used by pthreaded applications.
However, there are three files - fasttime.c, lock.c and waitkey.c which
are used within pthreaded code.
Eventually, these should live somewhere other than the LWP directory.
For now, just build a small pthreaded library to hold them, so we
can finish up with the libtool work before considering how to move
this code elsewhere.
Change-Id: I66281f7cd838c048fd982bbd0f756a16a10862d1
Reviewed-on: http://gerrit.openafs.org/8069
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
rx exposes the rxi_Alloc function to be used for memory allocation
in security classes, not osi_Alloc which is private. Using rxi_Alloc
means that allocations are counted in the general rx statistics.
Modify rxkad so that it uses rxi_Alloc. This also restores symmetry
in the allocator - the memory that's allocated by rxkad_server is
already freed using rxi_Free in rxkad_DestroyConnection
Change-Id: I3321355f2470974d3570dd911f06ea91c21d1c9d
Reviewed-on: http://gerrit.openafs.org/8067
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Fix a couple of issues in the install targets following the libtool
changes:
- don't install liboafs_comerr or liboafs_opr, they're not ready to
be exposed to the outside world
- fix the libcmd.a install target to use INSTALL_DATA and the correct
library name
Change-Id: I2bf241cfff419d51bf170fdc871248e9b0c7ab33
Reviewed-on: http://gerrit.openafs.org/8063
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Create a pthreaded version of libsys.a, called liboafs_sys.a
On AIX, the sys library is special because it includes references to
two syscall stubs - lpioctl and lsetpag. This means that we can't link
the library with -no-undefined, as the references to these stubs are
only resolved at run time.
Change-Id: Iaae5923fe4eec7bc3f006e29df4e26e4ba8e5418
Reviewed-on: http://gerrit.openafs.org/8061
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Build a pthreaded, libtool, version of librx.a called liboafs_rx.la.
librx.a remains for LWP applications to use. With this change, all RX
objects are built in both the LWP and pthread cases, so some #ifdef
guards are required to protect code that isn't relevant in a given
build.
Currently, all of our pthreaded objects use libafsrpc to get RX
functionality, so this change is fairly minimal outside of the RX
directory.
Change-Id: I8e629e2319fb1964058e70c3c0c3ed548b09b22d
Reviewed-on: http://gerrit.openafs.org/8058
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>