Configure and test modification for better Freebsd port

This commit is contained in:
User Olof 2019-09-20 06:09:48 -10:00
parent fe1aeda4f2
commit 8c18f2a86d
12 changed files with 31 additions and 29 deletions

View file

@ -17,7 +17,10 @@
* Restconf top-level operations GET root resource modified to comply with RFC 8040 Sec 3.1
* non-pretty print remove all spaces, eg `{"operations":{"clixon-example:client-rpc":[null]`
* Replaced JSON `null` with `[null]` as proper empty JSON leaf/leaf-list encoding.
### Minor changes
* Configure and test modification for better Freebsd port
### Corrected Bugs
* Hello netconf candidate capability misspelled, mentioned in [Can clixon_netconf receive netconf packets as a server? #93](https://github.com/clicon/clixon/issues/93)
* [Cannot write to config using restconf example #91](https://github.com/clicon/clixon/issues/91)

26
configure vendored
View file

@ -686,7 +686,6 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
@ -769,7 +768,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
@ -1022,15 +1020,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@ -1168,7 +1157,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1321,7 +1310,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@ -1381,8 +1369,8 @@ Some influential environment variables:
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc',
`yacc'.
Defaults to the first program found out of: `bison -o y.tab.c',
`byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
This script will default YFLAGS to the empty string to avoid a
default value of `-d' given by some make applications.
@ -4011,7 +3999,7 @@ $as_echo "CFLAGS is $CFLAGS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: INSTALLFLAGS is $INSTALLFLAGS" >&5
$as_echo "INSTALLFLAGS is $INSTALLFLAGS" >&6; }
for ac_prog in 'bison -y' byacc
for ac_prog in 'bison -o y.tab.c' byacc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@ -4218,11 +4206,11 @@ if test "$LEX" = ":"; then
fi
# Get "bison" from bison -y or other string
bisonstr=$(expr substr "$YACC" 1 5)
if test "$bisonstr" != "bison"; then
if test "$YACC" = "${YACC##bison}" ; then
as_fn_error $? "CLIXON does not find bison. There are several problems with yacc and byacc. Please install bison. YACC=\"$YACC\"" "$LINENO" 5
fi
# Hardcoded to bison -y, seems to work in all bisons?
YACC="bison -y"
if test "$prefix" = "NONE"; then
prefix=${ac_default_prefix}

View file

@ -127,11 +127,11 @@ if test "$LEX" = ":"; then
fi
# Get "bison" from bison -y or other string
bisonstr=$(expr substr "$YACC" 1 5)
if test "$bisonstr" != "bison"; then
if test "$YACC" = "${YACC##bison}" ; then
AC_MSG_ERROR(CLIXON does not find bison. There are several problems with yacc and byacc. Please install bison. YACC="$YACC")
fi
# Hardcoded to bison -y, seems to work in all bisons?
YACC="bison -y"
if test "$prefix" = "NONE"; then
prefix=${ac_default_prefix}

View file

@ -121,3 +121,7 @@ After release:
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}.PRE\""
```
* Run autoconf
## Use of constants etc
Use MAXPATHLEN (not PATH_MAX)

View file

@ -48,6 +48,7 @@
#include <netinet/in.h>
#include <sys/time.h> /* gettimeofday */
#include <sys/types.h>
#include <sys/param.h> /* MAXPATHLEN */
/*
* CLIXON version macros

View file

@ -180,7 +180,7 @@ typedef struct clixon_plugin_api* (plginit2_t)(clicon_handle); /* Clixon plug
struct clixon_plugin_api{
/*--- Common fields. ---*/
char ca_name[PATH_MAX]; /* Name of plugin (given by plugin) */
char ca_name[MAXPATHLEN]; /* Name of plugin (given by plugin) */
plginit2_t *ca_init; /* Clixon plugin Init (implicit) */
plgstart_t *ca_start; /* Plugin start */
plgexit_t *ca_exit; /* Plugin exit */
@ -235,7 +235,7 @@ typedef struct clixon_plugin_api clixon_plugin_api;
/* Internal plugin structure with dlopen() handle and plugin_api
*/
struct clixon_plugin{
char cp_name[PATH_MAX]; /* Plugin filename. Note api ca_name is given by plugin itself */
char cp_name[MAXPATHLEN]; /* Plugin filename. Note api ca_name is given by plugin itself */
plghndl_t cp_handle; /* Handle to plugin using dlopen(3) */
clixon_plugin_api cp_api;
};

View file

@ -509,7 +509,7 @@ rpc_callback_register(clicon_handle h,
char *namespace,
char *name)
{
rpc_callback_t *rc;
rpc_callback_t *rc = NULL;
if (name == NULL || namespace == NULL){
clicon_err(OE_DB, EINVAL, "name or namespace NULL");

View file

@ -55,6 +55,7 @@
#include <assert.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <sys/param.h>
/* cligen */
#include <cligen/cligen.h>

View file

@ -78,6 +78,7 @@
#include <assert.h>
#include <regex.h>
#include <netinet/in.h>
#include <sys/param.h>
/* cligen */
#include <cligen/cligen.h>

View file

@ -77,7 +77,11 @@ testname=
: ${RCLOG:=}
# Wait after daemons (backend/restconf) start. See mem.sh for valgrind
: ${RCWAIT:=2}
: ${RCWAIT:=2}
# www user (on linux typically www-data, freebsd www)
# could be taken from configure
: ${wwwuser:=www-data}
# Parse yangmodels from https://github.com/YangModels/yang
# Recommended: checkout yangmodels elsewhere in the tree and set the env

View file

@ -156,7 +156,7 @@ if [ $BE -ne 0 ]; then
fi
new "kill old restconf daemon"
sudo pkill -u www-data clixon_restconf
sudo pkill -u $wwwuser clixon_restconf
new "start restconf daemon"
start_restconf -f $cfg

View file

@ -160,7 +160,7 @@ main(int argc,
int c;
char *regexp = NULL;
char *content = NULL;
int ret;
int ret = 0;
int nr = 1;
int mode = 0; /* 0 is posix, 1 is libxml */