[OpenWrt-Devel] Move rrdns to rpcd?

Nick vincent at systemli.org
Thu Sep 13 16:55:06 EDT 2018


Hi,
why is the rrdns located under luci?
Can we make it consistent place rrdns somewhere else?
Furthermore we should change the Makefile of rpcd and the cmakefile that
rrdns ist listed automatically as rpcd plugin.
Right now its located under libraries.

So just add something like this to the end of the Makefile

> $(eval $(call BuildPlugin,rrdns,,Reverse DNS Daemon.)

And to the CMakefile

> OPTION(RRDNS_SUPPORT "rrdns plugin support" ON)
> ...
> IF (RRDNS_SUPPORT)
>   FIND_LIBRARY(resolv NAMES resolv)
>   IF(resolv STREQUAL "LIBS-NOTFOUND")
>     SET(resolv "")
>   ENDIF()
>   SET(PLUGINS ${PLUGINS} rrdns_plugin)
>   ADD_LIBRARY(rpcd-mod-rrdns MODULE rrdns.c)
>   TARGET_LINK_LIBRARIES(rpcd-mod-rrdns ubox ubus ${resolv})
>   SET_TARGET_PROPERTIES(rpcd-mod-rrdns PROPERTIES OUTPUT_NAME rrdns
> PREFIX "")
> ENDIF()

Or is there a reason why rrdns is located under luci?

-------------- next part --------------
cmake_minimum_required(VERSION 2.6)

INCLUDE(CheckFunctionExists)

PROJECT(rpcd C)
ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)
INCLUDE_DIRECTORIES(include)

OPTION(FILE_SUPPORT "File plugin support" ON)
OPTION(IWINFO_SUPPORT "libiwinfo plugin support" ON)
OPTION(RPCSYS_SUPPORT "rpc-sys plugin support" ON)
OPTION(RRDNS_SUPPORT "rrdns plugin support" ON)

SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")

IF(APPLE)
  INCLUDE_DIRECTORIES(/opt/local/include)
  LINK_DIRECTORIES(/opt/local/lib)
ENDIF()

CHECK_FUNCTION_EXISTS(getspnam HAVE_SHADOW)
IF(HAVE_SHADOW)
  ADD_DEFINITIONS(-DHAVE_SHADOW)
ENDIF()

FIND_LIBRARY(json NAMES json-c json)
FIND_LIBRARY(crypt NAMES crypt)
IF(crypt STREQUAL "crypt-NOTFOUND")
  SET(crypt "")
ENDIF()

FIND_PATH(ubus_include_dir libubus.h)
INCLUDE_DIRECTORIES(${ubus_include_dir})

FIND_PATH(ubox_include_dir libubox/blobmsg_json.h)
INCLUDE_DIRECTORIES(${ubox_include_dir})

ADD_EXECUTABLE(rpcd main.c exec.c session.c uci.c plugin.c)
TARGET_LINK_LIBRARIES(rpcd ubox ubus uci dl blobmsg_json ${json} ${crypt})

SET(PLUGINS "")

IF(FILE_SUPPORT)
  SET(PLUGINS ${PLUGINS} file_plugin)
  ADD_LIBRARY(file_plugin MODULE file.c)
  TARGET_LINK_LIBRARIES(file_plugin ubox ubus)
  SET_TARGET_PROPERTIES(file_plugin PROPERTIES OUTPUT_NAME file PREFIX "")
ENDIF()

IF(RPCSYS_SUPPORT)
  SET(PLUGINS ${PLUGINS} rpcsys_plugin)
  ADD_LIBRARY(rpcsys_plugin MODULE sys.c)
  TARGET_LINK_LIBRARIES(rpcsys_plugin ubox ubus)
  SET_TARGET_PROPERTIES(rpcsys_plugin PROPERTIES OUTPUT_NAME rpcsys PREFIX "")
ENDIF()

IF (IWINFO_SUPPORT)
  SET(PLUGINS ${PLUGINS} iwinfo_plugin)
  ADD_LIBRARY(iwinfo_plugin MODULE iwinfo.c)
  TARGET_LINK_LIBRARIES(iwinfo_plugin ubox ubus iwinfo)
  SET_TARGET_PROPERTIES(iwinfo_plugin PROPERTIES OUTPUT_NAME iwinfo PREFIX "")
ENDIF()

IF (RRDNS_SUPPORT)
  FIND_LIBRARY(resolv NAMES resolv)
  IF(resolv STREQUAL "LIBS-NOTFOUND")
    SET(resolv "")
  ENDIF()
  SET(PLUGINS ${PLUGINS} rrdns_plugin)
  ADD_LIBRARY(rpcd-mod-rrdns MODULE rrdns.c)
  TARGET_LINK_LIBRARIES(rpcd-mod-rrdns ubox ubus ${resolv})
  SET_TARGET_PROPERTIES(rpcd-mod-rrdns PROPERTIES OUTPUT_NAME rrdns PREFIX "")
ENDIF()

INSTALL(TARGETS rpcd ${PLUGINS}
	RUNTIME DESTINATION sbin
	LIBRARY DESTINATION lib
)
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list