App-DocKnot

 view release on metacpan or  search on metacpan

t/data/generate/remctl/output/readme-md  view on Meta::CPAN

`krb5-config` script on your path, set `PATH_KRB5_CONFIG` to a nonexistent
path:

```
    ./configure PATH_KRB5_CONFIG=/nonexistent
```

`krb5-config` is not used and library probing is always done if either
`--with-krb5-include` or `--with-krb5-lib` are given.

GSS-API libraries are found the same way: with `krb5-config` by default if
it is found, and a `--with-gssapi=PATH` flag to specify the installation
root.  `PATH_KRB5_CONFIG` is similarly used to find `krb5-config` for the
GSS-API libraries, and `--with-gssapi-include` and `--with-gssapi-lib` can
be used to specify the exact paths, overriding any `krb5-config` results.

Pass `--enable-silent-rules` to configure for a quieter build (similar to
the Linux kernel).  Use `make warnings` instead of `make` to build with
full GCC compiler warnings (requires either GCC or Clang and may require a
relatively current version of the compiler).

You can pass the `--enable-reduced-depends` flag to configure to try to
minimize the shared library dependencies encoded in the binaries.  This
omits from the link line all the libraries included solely because other
libraries depend on them and instead links the programs only against
libraries whose APIs are called directly.  This will only work with shared
libraries and will only work on platforms where shared libraries properly
encode their own dependencies (this includes most modern platforms such as
all Linux).  It is intended primarily for building packages for Linux
distributions to avoid encoding unnecessary shared library dependencies
that make shared library migrations more difficult.  If none of the above
made any sense to you, don't bother with this flag.

## Testing

remctl comes with a comprehensive test suite, but it requires some
configuration in order to test anything other than low-level utility
functions.  For the full test suite, you will need to have a keytab that
can authenticate to a running KDC.  Using a test KDC environment, if you
have one, is recommended.

Follow the instructions in `tests/config/README` to configure the test
suite.

Now, you can run the test suite with:

```
    make check
```

If a test fails, you can run a single test with verbose output via:

```
    tests/runtests -o <name-of-test>
```

Do this instead of running the test program directly since it will ensure
that necessary environment variables are set up.

On particularly slow or loaded systems, you may see intermittent failures
from the `server/streaming` test because it's timing-sensitive.

The test suite will also need to be able to bind to 127.0.0.1 on port
11119 and 14373 to run test network server programs.

To test anonymous authentication, the KDC configured in the test suite
needs to support service tickets for the anonymous identity (not a
standard configuration).  This test will be skipped if the KDC does not
support this.

To test user handling in remctld, you will need the `fakeroot` command
(available in the `fakeroot` package in Debian and Ubuntu).  This test
will be skipped if `fakeroot` isn't available.

The following additional Perl modules will be used by the test suite for
the main package and the Perl bindings if installed:

* Test::MinimumVersion
* Test::Perl::Critic
* Test::Pod
* Test::Spelling
* Test::Strict
* Test::Synopsis

All are available on CPAN.  Those tests will be skipped if the modules are
not available.

To enable tests that don't detect functionality problems but are used to
sanity-check the release, set the environment variable `RELEASE_TESTING`
to a true value.  To enable tests that may be sensitive to the local
environment or that produce a lot of false positives without uncovering
many problems, set the environment variable `AUTHOR_TESTING` to a true
value.

## Building on Windows

(These instructions are not tested by the author and are now dated.
Updated instructions via a pull request, issue, or email are very
welcome.)

First, install the Microsoft Windows SDK for Windows Vista if you have not
already.  This is a free download from Microsoft for users of "Genuine
Microsoft Windows."  The `vcvars32.bat` environment provided by Visual
Studio may work as an alternative, but has not been tested.

Next, install the [MIT Kerberos for Windows
SDK](https://web.mit.edu/kerberos/www/dist/index.html).  remctl has been
tested with version 3.2.1 but should hopefully work with later versions.

Then, follow these steps:

1. Run the `InitEnv.cmd` script included with the Windows SDK with
   parameters `"/xp /release"`.

2. Run the `configure.bat` script, giving it as an argument the location
   of the Kerberos for Windows SDK.  For example, if you installed the KfW
   SDK in `"c:\KfW SDK"`, you should run:

   ```
       configure "c:\KfW SDK"
   ```



( run in 1.232 second using v1.01-cache-2.11-cpan-39bf76dae61 )