From 5d2c9b92f9825ca2494493cfe407536f9269bc80 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Wed, 12 Mar 2025 08:59:48 +0800 Subject: rrdtool: upgrade 1.8.0 -> 1.9.0 * remove b76e3c578f1e9f582e9c28f50d82b1f569602075.patch, already in 1.9.0 * set AUTOTOOLS_AUXDIR Upstream commit [99275bf1 Remove autogenerated files] remove aux dir conftools, which causes do_configure failed with error: error: required file 'conftools/config.rpath' not found set the correct AUTOTOOLS_AUXDIR to fix it. Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- .../b76e3c578f1e9f582e9c28f50d82b1f569602075.patch | 1583 -------------------- meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb | 141 -- meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb | 146 ++ 3 files changed, 146 insertions(+), 1724 deletions(-) delete mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool/b76e3c578f1e9f582e9c28f50d82b1f569602075.patch delete mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb create mode 100644 meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/b76e3c578f1e9f582e9c28f50d82b1f569602075.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/b76e3c578f1e9f582e9c28f50d82b1f569602075.patch deleted file mode 100644 index 7f54a3723d..0000000000 --- a/meta-oe/recipes-extended/rrdtool/rrdtool/b76e3c578f1e9f582e9c28f50d82b1f569602075.patch +++ /dev/null @@ -1,1583 +0,0 @@ -From b76e3c578f1e9f582e9c28f50d82b1f569602075 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20Such=C3=A1nek?= -Date: Fri, 5 Jan 2024 15:31:48 +0100 -Subject: [PATCH] Constify argv, fix warnings. (#1242) - -* Fix perl warnings - - - cast POPs to void to avoid unused value warning - - declare functions that don't set RETVAL as returning void - -Signed-off-by: Michal Suchanek - -* Constify argv - -rrd has no business modifying the string pointed to by passed agrv, and -as far as gcc can see it does indeed not modify them because it compiles -with const argv. - -This fixes warnings when passing const strings into rrd, and avoids the -need to duplicate all strings in the tcl bindings. - -This fixes warnings like these: -[ 3s] prog/sensord/rrd.c: In function 'rrdInit': -[ 3s] prog/sensord/rrd.c:302:40: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual] -[ 3s] 302 | ret = rrd_create(argc, (char**) argv); -[ 3s] | ^ -[ 3s] prog/sensord/rrd.c: In function 'rrdUpdate': -[ 3s] prog/sensord/rrd.c:458:42: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual] -[ 3s] 458 | if ((ret = rrd_update(3, (char **) /* WEAK */ argv))) { -[ 3s] | ^ - -Signed-off-by: Michal Suchanek - -* tcl: Do not duplicate const strings - ---------- - -Signed-off-by: Michal Suchanek -Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/b76e3c578f1e9f582e9c28f50d82b1f569602075] ---- - CHANGES | 3 ++ - bindings/lua/rrdlua.c | 25 +++++----- - bindings/perl-shared/RRDs.xs | 36 +++++++------- - bindings/python/rrdtoolmodule.c | 38 +++++++-------- - bindings/ruby/main.c | 10 ++-- - bindings/tcl/tclrrd.c | 84 ++++++++------------------------- - src/optparse.c | 14 +++--- - src/optparse.h | 6 +-- - src/rrd.h | 38 +++++++-------- - src/rrd_cgi.c | 24 +++++----- - src/rrd_create.c | 2 +- - src/rrd_daemon.c | 12 ++--- - src/rrd_dump.c | 4 +- - src/rrd_fetch.c | 2 +- - src/rrd_first.c | 2 +- - src/rrd_flushcached.c | 2 +- - src/rrd_graph.c | 6 +-- - src/rrd_graph.h | 4 +- - src/rrd_graph_helper.c | 2 +- - src/rrd_info.c | 2 +- - src/rrd_last.c | 2 +- - src/rrd_lastupdate.c | 2 +- - src/rrd_list.c | 6 +-- - src/rrd_modify.c | 2 +- - src/rrd_modify.h | 2 +- - src/rrd_resize.c | 4 +- - src/rrd_restore.c | 2 +- - src/rrd_tool.c | 26 +++++----- - src/rrd_tune.c | 2 +- - src/rrd_update.c | 4 +- - src/rrd_xport.c | 2 +- - src/rrdupdate.c | 7 +-- - 32 files changed, 168 insertions(+), 209 deletions(-) - -diff --git a/bindings/lua/rrdlua.c b/bindings/lua/rrdlua.c -index d1a700641..2095c3b5b 100644 ---- a/bindings/lua/rrdlua.c -+++ b/bindings/lua/rrdlua.c -@@ -37,8 +37,8 @@ - extern void rrd_freemem(void *mem); - - extern int luaopen_rrd (lua_State * L); --typedef int (*RRD_FUNCTION)(int, char **); --typedef rrd_info_t *(RRD_FUNCTION_V)(int, char **); -+typedef int (*RRD_FUNCTION)(int, const char **); -+typedef rrd_info_t *(RRD_FUNCTION_V)(int, const char **); - - /**********************************************************/ - -@@ -49,9 +49,9 @@ static void reset_rrd_state(void) - rrd_clear_error(); - } - --static char **make_argv(const char *cmd, lua_State * L) -+static const char **make_argv(const char *cmd, lua_State * L) - { -- char **argv; -+ const char **argv; - int i; - int argc = lua_gettop(L) + 1; - -@@ -60,13 +60,12 @@ static char **make_argv(const char *cmd, lua_State * L) - luaL_error(L, "Can't allocate memory for arguments array", cmd); - - /* fprintf(stderr, "Args:\n"); */ -- argv[0] = (char *) cmd; /* Dummy arg. Cast to (char *) because rrd */ -- /* functions don't expect (const * char) */ -+ argv[0] = cmd; - /* fprintf(stderr, "%s\n", argv[0]); */ - for (i=1; i - #include "../../src/rrd_tool.h" - #include "../../src/rrd_format.h" -+#include "../../src/unused.h" - - /* support pre-8.4 tcl */ - -@@ -41,47 +42,39 @@ extern int Tclrrd_SafeInit( - * Hence, we need to do some preparation before - * calling the rrd library functions. - */ --static char **getopt_init( -+static const char **getopt_init( - int argc, - CONST84 char *argv[]) - { -- char **argv2; -+ const char **argv2; - int i; - - argv2 = calloc(argc, sizeof(char *)); - for (i = 0; i < argc; i++) { -- argv2[i] = strdup(argv[i]); -+ argv2[i] = argv[i]; - } - return argv2; - } - - static void getopt_cleanup( -- int argc, -- char **argv2) -+ int UNUSED(argc), -+ const char **argv2) - { -- int i; -- -- for (i = 0; i < argc; i++) { -- if (argv2[i] != NULL) { -- free(argv2[i]); -- } -- } -- free(argv2); -+ free((void *)argv2); - } - - static void getopt_free_element( -- char *argv2[], -+ const char *argv2[], - int argn) - { - if (argv2[argn] != NULL) { -- free(argv2[argn]); - argv2[argn] = NULL; - } - } - - static void getopt_squieeze( - int *argc, -- char *argv2[]) -+ const char *argv2[]) - { - int i, null_i = 0, argc_tmp = *argc; - -@@ -104,7 +97,7 @@ static int Rrd_Create( - CONST84 char *argv[]) - { - int argv_i; -- char **argv2; -+ const char **argv2; - char *parsetime_error = NULL; - time_t last_up = time(NULL) - 10; - long int long_tmp; -@@ -295,7 +288,7 @@ static int Rrd_Flushcached( - return TCL_ERROR; - } - -- rrd_flushcached(argc, (char**)argv); -+ rrd_flushcached(argc, argv); - - if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", -@@ -380,7 +373,7 @@ static int Rrd_Update( - CONST84 char *argv[]) - { - int argv_i; -- char **argv2, *template = NULL; -+ const char **argv2, *template = NULL; - - argv2 = getopt_init(argc, argv); - -@@ -391,16 +384,10 @@ static int Rrd_Update( - Tcl_AppendResult(interp, "RRD Error: option '", - argv2[argv_i - 1], "' needs an argument", - (char *) NULL); -- if (template != NULL) { -- free(template); -- } - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } -- if (template != NULL) { -- free(template); -- } -- template = strdup(argv2[argv_i]); -+ template = argv2[argv_i]; - getopt_free_element(argv2, argv_i - 1); - getopt_free_element(argv2, argv_i); - } else if (!strcmp(argv2[argv_i], "--")) { -@@ -409,9 +396,6 @@ static int Rrd_Update( - } else if (argv2[argv_i][0] == '-') { - Tcl_AppendResult(interp, "RRD Error: unknown option '", - argv2[argv_i], "'", (char *) NULL); -- if (template != NULL) { -- free(template); -- } - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } -@@ -422,18 +406,12 @@ static int Rrd_Update( - if (argc < 2) { - Tcl_AppendResult(interp, "RRD Error: needs rrd filename", - (char *) NULL); -- if (template != NULL) { -- free(template); -- } - getopt_cleanup(argc, argv2); - return TCL_ERROR; - } - - rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2); - -- if (template != NULL) { -- free(template); -- } - getopt_cleanup(argc, argv2); - - if (rrd_test_error()) { -@@ -454,7 +432,6 @@ static int Rrd_Info( - { - int status = TCL_OK; - rrd_info_t *data; -- char **argv2; - - /* TODO: support for rrdcached */ - if (argc != 2) { -@@ -463,9 +440,7 @@ static int Rrd_Info( - return TCL_ERROR; - } - -- argv2 = getopt_init(argc, argv); -- -- data = rrd_info_r(argv2[1]); -+ data = rrd_info_r(argv[1]); - - if (data) { - Tcl_SetObjResult(interp, convert_info(data)); -@@ -477,7 +452,6 @@ static int Rrd_Info( - status = TCL_ERROR; - } - -- getopt_cleanup(argc, argv2); - return status; - } - -@@ -488,7 +462,6 @@ static int Rrd_Lastupdate( - CONST84 char *argv[]) - { - time_t last_update; -- char **argv2; - char **ds_namv; - char **last_ds; - char s[30]; -@@ -502,8 +475,7 @@ static int Rrd_Lastupdate( - return TCL_ERROR; - } - -- argv2 = getopt_init(argc, argv); -- if (rrd_lastupdate_r(argv2[1], &last_update, -+ if (rrd_lastupdate_r(argv[1], &last_update, - &ds_cnt, &ds_namv, &last_ds) == 0) { - listPtr = Tcl_GetObjResult(interp); - for (i = 0; i < ds_cnt; i++) { -@@ -527,7 +499,6 @@ static int Rrd_Lastupdate( - free(ds_namv); - } - } -- getopt_cleanup(argc, argv2); - return TCL_OK; - } - -@@ -543,10 +514,8 @@ static int Rrd_Fetch( - char **ds_namv; - Tcl_Obj *listPtr; - char s[30]; -- char **argv2; - -- argv2 = getopt_init(argc, argv); -- if (rrd_fetch(argc, argv2, &start, &end, &step, -+ if (rrd_fetch(argc, argv, &start, &end, &step, - &ds_cnt, &ds_namv, &data) != -1) { - datai = data; - listPtr = Tcl_GetObjResult(interp); -@@ -562,7 +531,6 @@ static int Rrd_Fetch( - free(ds_namv); - free(data); - } -- getopt_cleanup(argc, argv2); - - if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", -@@ -590,7 +558,7 @@ static int Rrd_Graph( - int rc, xsize, ysize; - double ymin, ymax; - char dimensions[50]; -- char **argv2; -+ const char **argv2; - CONST84 char *save; - - /* -@@ -692,11 +660,7 @@ static int Rrd_Tune( - int argc, - CONST84 char *argv[]) - { -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_tune(argc, argv2); -- getopt_cleanup(argc, argv2); -+ rrd_tune(argc, argv); - - if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", -@@ -716,11 +680,7 @@ static int Rrd_Resize( - int argc, - CONST84 char *argv[]) - { -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_resize(argc, argv2); -- getopt_cleanup(argc, argv2); -+ rrd_resize(argc, argv); - - if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", -@@ -740,11 +700,7 @@ static int Rrd_Restore( - int argc, - CONST84 char *argv[]) - { -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_restore(argc, argv2); -- getopt_cleanup(argc, argv2); -+ rrd_restore(argc, argv); - - if (rrd_test_error()) { - Tcl_AppendResult(interp, "RRD Error: ", -diff --git a/src/optparse.c b/src/optparse.c -index 9040ba8b2..79a3efe11 100644 ---- a/src/optparse.c -+++ b/src/optparse.c -@@ -10,7 +10,7 @@ - #define options_argv(i) \ - ((i) < options->argc ? options->argv[i] : NULL) - --void optparse_init(struct optparse *options, int argc, char **argv) -+void optparse_init(struct optparse *options, int argc, const char **argv) - { - options->argv = argv; - options->argc = argc; -@@ -42,7 +42,7 @@ is_longopt(const char *arg) - static void - permute(struct optparse *options, int index) - { -- char *nonoption = options->argv[index]; -+ const char *nonoption = options->argv[index]; - for (int i = index; i < options->optind - 1; i++) - options->argv[i] = options->argv[i + 1]; - options->argv[options->optind - 1] = nonoption; -@@ -67,7 +67,7 @@ int optparse(struct optparse *options, const char *optstring) - options->errmsg[0] = '\0'; - options->optopt = 0; - options->optarg = NULL; -- char *option = options_argv(options->optind); -+ const char *option = options_argv(options->optind); - if (option == NULL) { - return -1; - } else if (is_dashdash(option)) { -@@ -88,7 +88,7 @@ int optparse(struct optparse *options, const char *optstring) - option += options->subopt + 1; - options->optopt = option[0]; - int type = argtype(optstring, option[0]); -- char *next = options_argv(options->optind + 1); -+ const char *next = options_argv(options->optind + 1); - switch (type) { - case -1: - opterror(options, "invalid option -- '%c'", option[0]); -@@ -128,10 +128,10 @@ int optparse(struct optparse *options, const char *optstring) - return 0; - } - --char *optparse_arg(struct optparse *options) -+const char *optparse_arg(struct optparse *options) - { - options->subopt = 0; -- char *option = options->argv[options->optind]; -+ const char *option = options->argv[options->optind]; - if (option != NULL) - options->optind++; - return option; -@@ -222,7 +222,7 @@ optparse_long(struct optparse *options, - int *longindex) - { - // printf("%i < %i\n",options->optind,options->argc); -- char *option = options_argv(options->optind); -+ const char *option = options_argv(options->optind); - if (option == NULL) { - return -1; - } else if (is_dashdash(option)) { -diff --git a/src/optparse.h b/src/optparse.h -index c4b0ec19c..7a0bb3885 100644 ---- a/src/optparse.h -+++ b/src/optparse.h -@@ -44,7 +44,7 @@ - */ - - struct optparse { -- char **argv; -+ const char **argv; - int argc; - int permute; - int optind; -@@ -65,7 +65,7 @@ struct optparse_long { - /** - * Initializes the parser state. - */ --void optparse_init(struct optparse *options, int argc, char **argv); -+void optparse_init(struct optparse *options, int argc, const char **argv); - - /** - * Read the next option in the argv array. -@@ -98,6 +98,6 @@ optparse_long(struct optparse *options, - * subcommand returned by optparse_arg(). This function allows you to - * ignore the value of optind. - */ --char *optparse_arg(struct optparse *options); -+const char *optparse_arg(struct optparse *options); - - #endif -diff --git a/src/rrd.h b/src/rrd.h -index 184887ccc..b40f9a449 100644 ---- a/src/rrd.h -+++ b/src/rrd.h -@@ -155,10 +155,10 @@ extern "C" { - /* main function blocks */ - int rrd_create( - int, -- char **); -+ const char **); - rrd_info_t *rrd_info( - int, -- char **); -+ const char **); - rrd_info_t *rrd_info_push( - rrd_info_t *, - char *, -@@ -170,19 +170,19 @@ extern "C" { - rrd_info_t *); - char *rrd_list( - int, -- char **); -+ const char **); - char *rrd_list_r( - int, -- char *dirname); -+ const char *dirname); - int rrd_update( - int, -- char **); -+ const char **); - rrd_info_t *rrd_update_v( - int, -- char **); -+ const char **); - int rrd_graph( - int, -- char **, -+ const char **, - char ***, - int *, - int *, -@@ -191,11 +191,11 @@ extern "C" { - double *); - rrd_info_t *rrd_graph_v( - int, -- char **); -+ const char **); - - int rrd_fetch( - int, -- char **, -+ const char **, - time_t *, - time_t *, - unsigned long *, -@@ -204,32 +204,32 @@ extern "C" { - rrd_value_t **); - int rrd_restore( - int, -- char **); -+ const char **); - int rrd_dump( - int, -- char **); -+ const char **); - int rrd_tune( - int, -- char **); -+ const char **); - time_t rrd_last( - int, -- char **); -+ const char **); - int rrd_lastupdate( - int argc, -- char **argv); -+ const char **argv); - time_t rrd_first( - int, -- char **); -+ const char **); - int rrd_resize( - int, -- char **); -+ const char **); - char *rrd_strversion( - void); - double rrd_version( - void); - int rrd_xport( - int, -- char **, -+ const char **, - int *, - time_t *, - time_t *, -@@ -239,7 +239,7 @@ extern "C" { - rrd_value_t **); - int rrd_flushcached( - int argc, -- char **argv); -+ const char **argv); - - void rrd_freemem( - void *mem); -@@ -323,7 +323,7 @@ extern "C" { - const char **argv); - int rrd_dump_opt_r( - const char *filename, -- char *outname, -+ const char *outname, - int opt_noheader); - int rrd_dump_r( - const char *filename, -diff --git a/src/rrd_cgi.c b/src/rrd_cgi.c -index b82c310db..14a4f511a 100644 ---- a/src/rrd_cgi.c -+++ b/src/rrd_cgi.c -@@ -102,7 +102,7 @@ static char *rrdstrip( - static char *scanargs( - char *line, - int *argc, -- char ***args); -+ const char ***args); - - /* format at-time specified times using strftime */ - static char *printstrftime( -@@ -317,7 +317,7 @@ static const char *putvar( - } - - /* expand those RRD:* directives that can be used recursively */ --static char *rrd_expand_vars( -+static const char *rrd_expand_vars( - char *buffer) - { - int i; -@@ -434,7 +434,7 @@ static int readfile( - - int main( - int argc, -- char *argv[]) -+ const char *argv[]) - { - char *buffer; - long i; -@@ -926,7 +926,7 @@ static char *drawgraph( - } - calfree(); - if (rrd_graph -- (argc + 1, (char **) args - 1, &calcpr, &xsize, &ysize, NULL, &ymin, -+ (argc + 1, args - 1, &calcpr, &xsize, &ysize, NULL, &ymin, - &ymax) != -1) { - return stralloc(calcpr[0]); - } else { -@@ -973,7 +973,7 @@ static char *printtimelast( - /* not raising argc in step with args - 1 since the last argument - will be used below for strftime */ - -- last = rrd_last(argc, (char **) args - 1); -+ last = rrd_last(argc, args - 1); - if (rrd_test_error()) { - char err[4096]; - -@@ -1027,7 +1027,7 @@ static char *printtimenow( - static char *scanargs( - char *line, - int *argument_count, -- char ***arguments) -+ const char ***arguments) - { - char *getP; /* read cursor */ - char *putP; /* write cursor */ -@@ -1039,8 +1039,8 @@ static char *scanargs( - - /* local array of arguments while parsing */ - int argc = 1; -- char **argv; -- char **argv_tmp; /* temp variable for realloc() */ -+ const char **argv; -+ const char **argv_tmp; /* temp variable for realloc() */ - - #ifdef DEBUG_PARSER - printf("<-- scanargs(%s) -->\n", line); -@@ -1051,7 +1051,7 @@ static char *scanargs( - - /* create initial argument array of char pointers */ - argsz = 32; -- argv = (char **) malloc(argsz * sizeof(char *)); -+ argv = malloc(argsz * sizeof(char *)); - if (!argv) { - return NULL; - } -@@ -1146,7 +1146,7 @@ static char *scanargs( - if (argc == argsz - 2) { - /* resize argument array */ - argsz *= 2; -- argv_tmp = (char **) rrd_realloc(argv, argsz * sizeof(char *)); -+ argv_tmp = rrd_realloc(argv, argsz * sizeof(char *)); - if (*argv_tmp == NULL) { - return NULL; - } -@@ -1213,7 +1213,7 @@ static int parse( - /* the name of the vairable ... */ - char *val; - long valln; -- char **args; -+ const char **args; - char *end; - long end_offset; - int argc; -@@ -1264,7 +1264,7 @@ static int parse( - /* make sure we do not shrink the mallocd block */ - size_t newbufsize = i + strlen(end) + valln + 1; - -- *buf = (char *) rrd_realloc(*buf, newbufsize); -+ *buf = rrd_realloc(*buf, newbufsize); - - if (*buf == NULL) { - perror("Realoc buf:"); -diff --git a/src/rrd_create.c b/src/rrd_create.c -index f9bad0866..919b4195a 100644 ---- a/src/rrd_create.c -+++ b/src/rrd_create.c -@@ -76,7 +76,7 @@ static void parseGENERIC_DS( - - int rrd_create( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"start", 'b', OPTPARSE_REQUIRED}, -diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c -index 751798aa1..21c38a11d 100644 ---- a/src/rrd_daemon.c -+++ b/src/rrd_daemon.c -@@ -1877,7 +1877,7 @@ static int handle_request_tune( - HANDLER_PROTO) - { /* {{{ */ - int status; -- char** argv = NULL; -+ const char** argv = NULL; - int argc, argc_tmp; - char* i; - int rc; -@@ -1916,7 +1916,7 @@ static int handle_request_tune( - goto done; - } - -- if ((argv = (char **) malloc(argc * sizeof(char*))) == NULL) { -+ if ((argv = malloc(argc * sizeof(char*))) == NULL) { - rc = send_response(sock, RESP_ERR, "%s\n", rrd_strerror(ENOMEM)); - goto done; - } -@@ -1927,7 +1927,7 @@ static int handle_request_tune( - argc_tmp += 1; - } - -- status = rrd_tune_r(file, argc, (const char **)argv); -+ status = rrd_tune_r(file, argc, argv); - if (status != 0) { - rc = send_response(sock, RESP_ERR, "Got error %s\n", rrd_get_error()); - goto done; -@@ -1935,7 +1935,7 @@ static int handle_request_tune( - rc = send_response(sock, RESP_OK, "Success\n"); - done: - free(file); -- free(argv); -+ free((void *)argv); - return rc; - } - -@@ -4505,7 +4505,7 @@ static int cleanup( - - static int read_options( - int argc, -- char **argv) -+ const char **argv) - { /* {{{ */ - struct optparse_long longopts[] = { - {NULL, 'a', OPTPARSE_REQUIRED}, -@@ -5050,7 +5050,7 @@ static int read_options( - - int main( - int argc, -- char **argv) -+ const char **argv) - { - int status; - -diff --git a/src/rrd_dump.c b/src/rrd_dump.c -index a4490d594..c58e0ee4a 100644 ---- a/src/rrd_dump.c -+++ b/src/rrd_dump.c -@@ -497,7 +497,7 @@ static size_t rrd_dump_opt_cb_fileout( - - int rrd_dump_opt_r( - const char *filename, -- char *outname, -+ const char *outname, - int opt_noheader) - { - FILE *out_file; -@@ -543,7 +543,7 @@ int rrd_dump_r( - - int rrd_dump( - int argc, -- char **argv) -+ const char **argv) - { - int opt; - struct optparse_long longopts[] = { -diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c -index c739bfc45..54780f19b 100644 ---- a/src/rrd_fetch.c -+++ b/src/rrd_fetch.c -@@ -61,7 +61,7 @@ - - int rrd_fetch( - int argc, -- char **argv, -+ const char **argv, - time_t *start, - time_t *end, /* which time frame do you want ? - * will be changed to represent reality */ -diff --git a/src/rrd_first.c b/src/rrd_first.c -index a696c5c38..f3dde5404 100644 ---- a/src/rrd_first.c -+++ b/src/rrd_first.c -@@ -13,7 +13,7 @@ - - time_t rrd_first( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"rraindex", 129, OPTPARSE_REQUIRED}, -diff --git a/src/rrd_flushcached.c b/src/rrd_flushcached.c -index 090bca749..3bf6cd29d 100644 ---- a/src/rrd_flushcached.c -+++ b/src/rrd_flushcached.c -@@ -22,7 +22,7 @@ - #include "rrd_tool.h" - #include "rrd_client.h" - --int rrd_flushcached (int argc, char **argv) -+int rrd_flushcached (int argc, const char **argv) - { - struct optparse_long longopts[] = { - {"daemon", 'd', OPTPARSE_REQUIRED}, -diff --git a/src/rrd_graph.c b/src/rrd_graph.c -index b32d45085..46511e9a3 100644 ---- a/src/rrd_graph.c -+++ b/src/rrd_graph.c -@@ -4607,7 +4607,7 @@ int scan_for_col( - /* Now just a wrapper around rrd_graph_v */ - int rrd_graph( - int argc, -- char **argv, -+ const char **argv, - char ***prdata, - int *xsize, - int *ysize, -@@ -4690,7 +4690,7 @@ int rrd_graph( - - rrd_info_t *rrd_graph_v( - int argc, -- char **argv) -+ const char **argv) - { - image_desc_t im; - rrd_info_t *grinfo; -@@ -4953,7 +4953,7 @@ void rrd_graph_init( - - void rrd_graph_options( - int argc, -- char *argv[], -+ const char **argv, - struct optparse *poptions, - image_desc_t *im) - { -diff --git a/src/rrd_graph.h b/src/rrd_graph.h -index 4df32ec66..083cf3800 100644 ---- a/src/rrd_graph.h -+++ b/src/rrd_graph.h -@@ -473,12 +473,12 @@ void time_clean( - - void rrd_graph_options( - int, -- char **, -+ const char **, - struct optparse *, - image_desc_t *); - void rrd_graph_script( - int, -- char **, -+ const char **, - image_desc_t *const, - int); - int rrd_graph_color( -diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c -index 99cdefa65..ba90e1a6c 100644 ---- a/src/rrd_graph_helper.c -+++ b/src/rrd_graph_helper.c -@@ -1952,7 +1952,7 @@ static int parse_xport( - - void rrd_graph_script( - int argc, -- char *argv[], -+ const char **argv, - image_desc_t *const im, - int optno) - { -diff --git a/src/rrd_info.c b/src/rrd_info.c -index c0c6f68c7..eb0d4e4de 100644 ---- a/src/rrd_info.c -+++ b/src/rrd_info.c -@@ -82,7 +82,7 @@ rrd_info_t - - rrd_info_t *rrd_info( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"daemon", 'd', OPTPARSE_REQUIRED}, -diff --git a/src/rrd_last.c b/src/rrd_last.c -index 026a1e828..1aae72512 100644 ---- a/src/rrd_last.c -+++ b/src/rrd_last.c -@@ -11,7 +11,7 @@ - - time_t rrd_last( - int argc, -- char **argv) -+ const char **argv) - { - char *opt_daemon = NULL; - time_t lastupdate; -diff --git a/src/rrd_lastupdate.c b/src/rrd_lastupdate.c -index ab30dcf67..4f7f4770e 100644 ---- a/src/rrd_lastupdate.c -+++ b/src/rrd_lastupdate.c -@@ -14,7 +14,7 @@ - #include "rrd_client.h" - #include - --int rrd_lastupdate (int argc, char **argv) -+int rrd_lastupdate (int argc, const char **argv) - { - struct optparse_long longopts[] = { - {"daemon", 'd', OPTPARSE_REQUIRED}, -diff --git a/src/rrd_list.c b/src/rrd_list.c -index e743b9b7d..6e96220ea 100644 ---- a/src/rrd_list.c -+++ b/src/rrd_list.c -@@ -37,7 +37,7 @@ static char *move_past_prefix(const char *prefix, const char *string) - return (char *)&(string[index]); - } - --static char *rrd_list_rec(int recursive, char *root, char *dirname) -+static char *rrd_list_rec(int recursive, const char *root, const char *dirname) - { - #define SANE_ASPRINTF2(_dest_str, _format, ...) \ - if (asprintf(&_dest_str, _format, __VA_ARGS__) == -1) { \ -@@ -138,7 +138,7 @@ static char *rrd_list_rec(int recursive, char *root, char *dirname) - return out; - } - --char *rrd_list_r(int recursive, char *dirname) -+char *rrd_list_r(int recursive, const char *dirname) - { - #define SANE_ASPRINTF(_dest_str, _format, ...) \ - if (asprintf(&_dest_str, _format, __VA_ARGS__) == -1) { \ -@@ -240,7 +240,7 @@ char *rrd_list_r(int recursive, char *dirname) - return rrd_list_rec(recursive, dirname, dirname); - } - --char *rrd_list(int argc, char **argv) -+char *rrd_list(int argc, const char **argv) - { - char *opt_daemon = NULL; - int status; -diff --git a/src/rrd_modify.c b/src/rrd_modify.c -index a2b07f640..70ac9e77f 100644 ---- a/src/rrd_modify.c -+++ b/src/rrd_modify.c -@@ -1297,7 +1297,7 @@ static int add_rras(const rrd_t *in, rrd_t *out, const int *ds_map, - } - - int handle_modify(const rrd_t *in, const char *outfilename, -- int argc, char **argv, int optidx, -+ int argc, const char **argv, int optidx, - int newstep) { - // parse add/remove options - int rc = -1; -diff --git a/src/rrd_modify.h b/src/rrd_modify.h -index 52d8789be..64a39926e 100644 ---- a/src/rrd_modify.h -+++ b/src/rrd_modify.h -@@ -28,7 +28,7 @@ typedef struct { - } rra_mod_op_t; - - int handle_modify(const rrd_t *in, const char *outfilename, -- int argc, char **argv, int optind, -+ int argc, const char **argv, int optind, - int newstep); - - typedef union { -diff --git a/src/rrd_resize.c b/src/rrd_resize.c -index fb75d81ff..742e6d141 100644 ---- a/src/rrd_resize.c -+++ b/src/rrd_resize.c -@@ -12,9 +12,9 @@ - - int rrd_resize( - int argc, -- char **argv) -+ const char **argv) - { -- char *infilename, outfilename[11] = "resize.rrd"; -+ const char *infilename, outfilename[11] = "resize.rrd"; - rrd_t rrdold, rrdnew; - rrd_value_t buffer; - int version; -diff --git a/src/rrd_restore.c b/src/rrd_restore.c -index 85d481e0c..ebef5efe8 100644 ---- a/src/rrd_restore.c -+++ b/src/rrd_restore.c -@@ -1378,7 +1378,7 @@ int write_file( - - int rrd_restore( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"range-check", 'r', OPTPARSE_NONE}, -diff --git a/src/rrd_tool.c b/src/rrd_tool.c -index cc6119d9a..56321ee1a 100644 ---- a/src/rrd_tool.c -+++ b/src/rrd_tool.c -@@ -22,16 +22,16 @@ - - - static void PrintUsage( -- char *cmd); -+ const char *cmd); - static int CountArgs( - char *aLine); - static int CreateArgs( -+ const char *, - char *, -- char *, -- char **); -+ const char **); - static int HandleInputLine( - int, -- char **, -+ const char **, - FILE *); - int RemoteMode = 0; - int ChangeRoot = 0; -@@ -42,7 +42,7 @@ int ChangeRoot = 0; - - - static void PrintUsage( -- char *cmd) -+ const char *cmd) - { - - const char *help_main = -@@ -443,11 +443,11 @@ static char *fgetslong( - - int main( - int argc, -- char *argv[]) -+ const char *argv[]) - { -- char **myargv; -+ const char **myargv; - char *aLine; -- char *firstdir = ""; -+ const char *firstdir = ""; - - #ifdef MUST_DISABLE_SIGFPE - signal(SIGFPE, SIG_IGN); -@@ -526,7 +526,7 @@ int main( - printf("ERROR: not enough arguments\n"); - continue; - } -- if ((myargv = (char **) malloc((argc + 1) * -+ if ((myargv = malloc((argc + 1) * - sizeof(char *))) == NULL) { - perror("malloc"); - exit(1); -@@ -572,7 +572,7 @@ int main( - resolving them portably is not really simple. */ - static int HandleInputLine( - int argc, -- char **argv, -+ const char **argv, - FILE * out) - { - #if defined(HAVE_OPENDIR) && defined (HAVE_READDIR) -@@ -887,12 +887,12 @@ static int CountArgs( - * CreateArgs - take a string (aLine) and tokenize - */ - static int CreateArgs( -- char *pName, -+ const char *pName, - char *aLine, -- char **argv) -+ const char **argv) - { - char *getP, *putP; -- char **pargv = argv; -+ const char **pargv = argv; - char Quote = 0; - int inArg = 0; - int len; -diff --git a/src/rrd_tune.c b/src/rrd_tune.c -index 198817f37..dd3f3f7cb 100644 ---- a/src/rrd_tune.c -+++ b/src/rrd_tune.c -@@ -71,7 +71,7 @@ static int set_hwsmootharg( - - int rrd_tune( - int argc, -- char **argv) -+ const char **argv) - { - char *opt_daemon = NULL; - const char *in_filename = NULL; -diff --git a/src/rrd_update.c b/src/rrd_update.c -index fbbe2820a..bb9a0602c 100644 ---- a/src/rrd_update.c -+++ b/src/rrd_update.c -@@ -299,7 +299,7 @@ static void initialize_time( - - rrd_info_t *rrd_update_v( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"template", 't', OPTPARSE_REQUIRED}, -@@ -674,7 +674,7 @@ static int rrd_template_update(const char *filename, /* {{{ */ - - int rrd_update( - int argc, -- char **argv) -+ const char **argv) - { - struct optparse_long longopts[] = { - {"template", 't', OPTPARSE_REQUIRED}, -diff --git a/src/rrd_xport.c b/src/rrd_xport.c -index d15d33dd9..93c02f926 100644 ---- a/src/rrd_xport.c -+++ b/src/rrd_xport.c -@@ -73,7 +73,7 @@ static int rrd_xport_format_addprints( - - int rrd_xport( - int argc, -- char **argv, -+ const char **argv, - int UNUSED(*xsize), - time_t *start, - time_t *end, /* which time frame do you want ? -diff --git a/src/rrdupdate.c b/src/rrdupdate.c -index cbbf48cc1..e368516c8 100644 ---- a/src/rrdupdate.c -+++ b/src/rrdupdate.c -@@ -20,19 +20,20 @@ int main( - int argc, - char **argv) - { -+ const char **cargv = (const char **)argv; - char *name=basename(argv[0]); - rrd_info_t *info; - - if (!strcmp(name, "rrdcreate")) { -- rrd_create(argc, argv); -+ rrd_create(argc, cargv); - } - else if (!strcmp(name, "rrdinfo")) { -- info=rrd_info(argc, argv); -+ info=rrd_info(argc, cargv); - rrd_info_print(info); - rrd_info_free(info); - } - else { -- rrd_update(argc, argv); -+ rrd_update(argc, cargv); - } - - if (rrd_test_error()) { diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb deleted file mode 100644 index af19043eff..0000000000 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb +++ /dev/null @@ -1,141 +0,0 @@ -SUMMARY = "High performance data logging and graphing system for time series data" -HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676" - -DEPENDS = "libpng zlib glib-2.0 libxml2 groff-native python3-setuptools-native" - -SRCREV = "3af04acd38bbc61bbdcdd931dcf234c971aa5336" -PV = "1.8.0" - -SRC_URI = "\ - git://github.com/oetiker/rrdtool-1.x.git;protocol=https;branch=master \ - file://b76e3c578f1e9f582e9c28f50d82b1f569602075.patch \ -" - -S = "${WORKDIR}/git" - -inherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd - -BBCLASSEXTEND = "native" - -SYSTEMD_PACKAGES = "rrdcached" -SYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service" - -EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" - -PACKAGECONFIG ??= "perl graph ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -PACKAGECONFIG[python] = "--enable-python=yes \ -am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ -am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ ---disable-python,python," - -PACKAGECONFIG[perl] = \ -"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \ -ac_cv_path_PERL_CC='${CC}', \ ---disable-perl,perl," - -PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" - -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," - -PACKAGECONFIG[graph] = "--enable-rrd_graph,--disable-rrd_graph,pango cairo" - -EXTRA_OECONF = " \ - --enable-shared \ - --disable-libwrap \ - --program-prefix='' \ - rd_cv_ieee_works=yes \ - --disable-ruby \ - --disable-lua \ - --disable-tcl \ - --disable-rpath \ - --enable-nls=${USE_NLS} \ - --disable-docs \ -" - -export STAGING_LIBDIR -export STAGING_INCDIR - -# emulate cpan_do_configure -EXTRA_OEMAKE = ' CC="${CC} -Wno-incompatible-pointer-types" PERL5LIB="${PERL_ARCHLIB}" ' -# Avoid do_configure error on some hosts - -do_configure() { - unset PERLHOSTLIB - #fix the pkglib problem with newer automake - #perl - sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ - ${S}/bindings/perl-shared/Makefile.PL - - #python - sed -i -e '/PYTHON_INCLUDES="-I${/c \ - PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ - ${S}/m4/acinclude.m4 - #remove the useless RPATH from the rrdtool.so - sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am - - autotools_do_configure - - #modify python sitepkg - #remove the dependency of perl-shared:Makefile - #or perl-shared/Makefile will be regenerated - #if any code touch bindings/Makefile after below perl bindings code - sed -i -e "s:python/setup.py install:python/setup.py install \ - --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ - -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ - ${B}/bindings/Makefile - - #redo the perl bindings - ( - cd ${S}/bindings/perl-shared; - perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; - - cd ../../bindings/perl-piped; - perl Makefile.PL INSTALLDIRS="vendor"; - ) - - #change the interpreter in file - sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ - ${B}/examples/Makefile - sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ - ${B}/examples/*.pl -} - -do_install:append:class-native() { - # Replace the shebang line in cgi-demo.cgi - sed -i '1s|^.*$|#!/usr/bin/env rrdcgi|' ${D}${datadir}/rrdtool/examples/cgi-demo.cgi -} - -PACKAGES =+ "${PN}-perl ${PN}-python" -PACKAGES =+ "rrdcached" - -DESCRIPTION:rrdcached = \ -"The rrdcached package contains the data caching daemon for RRDtool." - -FILES:rrdcached = "${bindir}/rrdcached \ - ${systemd_unitdir}/system/rrdcached.service \ - ${systemd_unitdir}/system/rrdcached.socket" - -FILES:${PN}-doc += "${datadir}/rrdtool/examples" - -DESCRIPTION:${PN}-perl = \ -"The ${PN}-perl package includes RRDtool bindings for perl." -FILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ - ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" -RDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ - perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" - -DESCRIPTION:${PN}-python = \ -"The ${PN}-python package includes RRDtool bindings for python." -FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS:${PN}-python = "python3" - -FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ - ${PYTHON_SITEPACKAGES_DIR}/.debug" - -# http://errors.yoctoproject.org/Errors/Details/766911/ -# rrd_tune.c:239:35: error: passing argument 3 of 'optparse_init' from incompatible pointer type [-Wincompatible-pointer-types] -CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb new file mode 100644 index 0000000000..330647a210 --- /dev/null +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb @@ -0,0 +1,146 @@ +SUMMARY = "High performance data logging and graphing system for time series data" +HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676" + +DEPENDS = "libpng zlib glib-2.0 libxml2 groff-native python3-setuptools-native" + +SRCREV = "522b228d74da7054594b6ed9c289058acd6cd3e7" +PV = "1.9.0" + +SRC_URI = "\ + git://github.com/oetiker/rrdtool-1.x.git;protocol=https;branch=master \ +" + +S = "${WORKDIR}/git" + +inherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd + +BBCLASSEXTEND = "native" + +SYSTEMD_PACKAGES = "rrdcached" +SYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service" + +AUTOTOOLS_AUXDIR = "${S}/conftools" + +EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" + +PACKAGECONFIG ??= "perl graph ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[python] = "--enable-python=yes \ +am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ +am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ +--disable-python,python," + +PACKAGECONFIG[perl] = \ +"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \ +ac_cv_path_PERL_CC='${CC}', \ +--disable-perl,perl," + +PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," + +PACKAGECONFIG[graph] = "--enable-rrd_graph,--disable-rrd_graph,pango cairo" + +EXTRA_OECONF = " \ + --enable-shared \ + --disable-libwrap \ + --program-prefix='' \ + rd_cv_ieee_works=yes \ + --disable-ruby \ + --disable-lua \ + --disable-tcl \ + --disable-rpath \ + --enable-nls=${USE_NLS} \ + --disable-docs \ +" + +export STAGING_LIBDIR +export STAGING_INCDIR + +# emulate cpan_do_configure +EXTRA_OEMAKE = ' CC="${CC} -Wno-incompatible-pointer-types" PERL5LIB="${PERL_ARCHLIB}" ' +# Avoid do_configure error on some hosts + +do_configure:prepend () { + mkdir -p ${AUTOTOOLS_AUXDIR} +} + +do_configure() { + unset PERLHOSTLIB + #fix the pkglib problem with newer automake + #perl + sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ + ${S}/bindings/perl-shared/Makefile.PL + + #python + sed -i -e '/PYTHON_INCLUDES="-I${/c \ + PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ + ${S}/m4/acinclude.m4 + #remove the useless RPATH from the rrdtool.so + sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am + + autotools_do_configure + + #modify python sitepkg + #remove the dependency of perl-shared:Makefile + #or perl-shared/Makefile will be regenerated + #if any code touch bindings/Makefile after below perl bindings code + sed -i -e "s:python/setup.py install:python/setup.py install \ + --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ + -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ + ${B}/bindings/Makefile + + #redo the perl bindings + ( + cd ${S}/bindings/perl-shared; + perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; + + cd ../../bindings/perl-piped; + perl Makefile.PL INSTALLDIRS="vendor"; + ) + + #change the interpreter in file + sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ + ${B}/examples/Makefile + sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ + ${B}/examples/*.pl +} + +do_install:append:class-native() { + # Replace the shebang line in cgi-demo.cgi + sed -i '1s|^.*$|#!/usr/bin/env rrdcgi|' ${D}${datadir}/rrdtool/examples/cgi-demo.cgi +} + +PACKAGES =+ "${PN}-perl ${PN}-python" +PACKAGES =+ "rrdcached" + +DESCRIPTION:rrdcached = \ +"The rrdcached package contains the data caching daemon for RRDtool." + +FILES:rrdcached = "${bindir}/rrdcached \ + ${systemd_unitdir}/system/rrdcached.service \ + ${systemd_unitdir}/system/rrdcached.socket" + +FILES:${PN}-doc += "${datadir}/rrdtool/examples" + +DESCRIPTION:${PN}-perl = \ +"The ${PN}-perl package includes RRDtool bindings for perl." +FILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ + ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" +RDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ + perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" + +DESCRIPTION:${PN}-python = \ +"The ${PN}-python package includes RRDtool bindings for python." +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS:${PN}-python = "python3" + +FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ + ${PYTHON_SITEPACKAGES_DIR}/.debug" + +# http://errors.yoctoproject.org/Errors/Details/766911/ +# rrd_tune.c:239:35: error: passing argument 3 of 'optparse_init' from incompatible pointer type [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" -- cgit v1.2.3-54-g00ecf