diff options
43 files changed, 123 insertions, 50 deletions
@@ -41,6 +41,7 @@ Makefile.in *.lo *.la *.so* +*.pc /config.h /config.h.in~ /config.log diff --git a/Makefile.am b/Makefile.am index 39f1344..ac8449e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,8 @@ AM_DEFAULT_SOURCE_EXT = .cpp +AM_CPPFLAGS = -I$(abs_srcdir) -I$(abs_srcdir)/include +export AM_CPPFLAGS + providersdir = ${libdir}/ipmid-providers providers_LTLIBRARIES = @@ -38,6 +41,9 @@ COMMON_CXX = \ -DBOOST_ALL_NO_LIB ipmid_CXXFLAGS = $(COMMON_CXX) +ipmid_LDADD = \ + libipmid/libipmid.la \ + libipmid-host/libipmid-host.la ipmid_LDFLAGS = \ $(SYSTEMD_LIBS) \ $(libmapper_LIBS) \ @@ -94,7 +100,9 @@ XFAIL_TESTS = TESTS = $(check_PROGRAMS) -libipmi20_la_LIBADD = user_channel/libuserlayer.la +libipmi20_la_LIBADD = \ + libipmid/libipmid.la \ + user_channel/libuserlayer.la libipmi20_la_LDFLAGS = \ $(SYSTEMD_LIBS) \ $(libmapper_LIBS) \ @@ -105,7 +113,9 @@ libipmi20_la_LDFLAGS = \ libipmi20_la_CXXFLAGS = $(COMMON_CXX) providers_LTLIBRARIES += libusercmds.la -libusercmds_la_LIBADD = user_channel/libuserlayer.la +libusercmds_la_LIBADD = \ + libipmid/libipmid.la \ + user_channel/libuserlayer.la libusercmds_la_SOURCES = \ user_channel/usercommands.cpp \ user_channel/channelcommands.cpp @@ -118,6 +128,9 @@ libusercmds_la_CXXFLAGS = \ -flto providers_LTLIBRARIES += libsysintfcmds.la +libsysintfcmds_la_LIBADD = \ + libipmid/libipmid.la \ + libipmid-host/libipmid-host.la libsysintfcmds_la_SOURCES = \ systemintfcmds.cpp \ host-interface.cpp @@ -131,14 +144,8 @@ libsysintfcmds_la_LDFLAGS = \ libsysintfcmds_la_CXXFLAGS = $(COMMON_CXX) nobase_include_HEADERS = \ - host-ipmid/iana.hpp \ - user_channel/user_layer.hpp \ user_channel/channel_layer.hpp \ - host-ipmid/ipmid-api.h \ - host-ipmid/ipmid-host-cmd.hpp \ - host-ipmid/ipmid-host-cmd-utils.hpp \ - host-ipmid/oemopenbmc.hpp \ - host-ipmid/oemrouter.hpp + user_channel/user_layer.hpp # Forcing the build of self and then subdir -SUBDIRS = user_channel . test softoff +SUBDIRS = include libipmid libipmid-host user_channel . test softoff diff --git a/app/watchdog.cpp b/app/watchdog.cpp index 3d8e227..7ca465c 100644 --- a/app/watchdog.cpp +++ b/app/watchdog.cpp @@ -4,7 +4,7 @@ #include "watchdog_service.hpp" #include <endian.h> -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <cstdint> #include <phosphor-logging/elog-errors.hpp> diff --git a/app/watchdog.hpp b/app/watchdog.hpp index 268ca92..767a776 100644 --- a/app/watchdog.hpp +++ b/app/watchdog.hpp @@ -1,6 +1,6 @@ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> /** @brief The RESET watchdog IPMI command. * diff --git a/app/watchdog_service.cpp b/app/watchdog_service.cpp index 769a70d..1deb58b 100644 --- a/app/watchdog_service.cpp +++ b/app/watchdog_service.cpp @@ -1,6 +1,6 @@ #include "watchdog_service.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <exception> #include <phosphor-logging/elog-errors.hpp> diff --git a/apphandler.cpp b/apphandler.cpp index f99cbe8..ac969e9 100644 --- a/apphandler.cpp +++ b/apphandler.cpp @@ -9,7 +9,7 @@ #include "utils.hpp" #include <arpa/inet.h> -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <limits.h> #include <mapper.h> #include <systemd/sd-bus.h> diff --git a/chassishandler.cpp b/chassishandler.cpp index 7b94189..068ad89 100644 --- a/chassishandler.cpp +++ b/chassishandler.cpp @@ -9,7 +9,7 @@ #include <arpa/inet.h> #include <endian.h> -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <limits.h> #include <mapper.h> #include <netinet/in.h> diff --git a/configure.ac b/configure.ac index 1f5ec66..9ee45e0 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,9 @@ AS_IF([test "x$enable_softoff" != "xno"], [AC_CHECK_PROG([DIRNAME], dirname, dirname)] ) +# Make sure the pkgconfigdata is configured for automake +PKG_INSTALLDIR + # Checks for libraries. AC_CHECK_LIB([pam], [pam_start], [], [AC_MSG_ERROR([libpam not found])]) AC_CHECK_LIB([mapper], [mapper_get_service], ,[AC_MSG_ERROR([Could not find libmapper...openbmc/phosphor-objmgr package required])]) @@ -163,5 +166,15 @@ AS_IF([test "x$HOST_IPMI_LIB_PATH" == "x"], [HOST_IPMI_LIB_PATH="/usr/lib/host-i AC_DEFINE_UNQUOTED([HOST_IPMI_LIB_PATH], ["$HOST_IPMI_LIB_PATH"], [The file path to search for libraries.]) # Create configured output -AC_CONFIG_FILES([Makefile test/Makefile softoff/Makefile user_channel/Makefile]) +AC_CONFIG_FILES([ + Makefile + include/Makefile + libipmid/Makefile + libipmid/libipmid.pc + libipmid-host/Makefile + libipmid-host/libipmid-host.pc + softoff/Makefile + test/Makefile + user_channel/Makefile +]) AC_OUTPUT diff --git a/dcmihandler.cpp b/dcmihandler.cpp index 15ab26c..1c448ce 100644 --- a/dcmihandler.cpp +++ b/dcmihandler.cpp @@ -5,7 +5,7 @@ #include "user_channel/channel_layer.hpp" #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <bitset> #include <cmath> diff --git a/globalhandler.cpp b/globalhandler.cpp index f329fa9..04d57af 100644 --- a/globalhandler.cpp +++ b/globalhandler.cpp @@ -2,7 +2,7 @@ #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <phosphor-logging/elog-errors.hpp> #include <phosphor-logging/log.hpp> diff --git a/groupext.cpp b/groupext.cpp index 43656cd..7b4ca5e 100644 --- a/groupext.cpp +++ b/groupext.cpp @@ -1,6 +1,6 @@ #include "ipmid.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <cstdio> diff --git a/host-cmd-manager.hpp b/host-cmd-manager.hpp index 6b56122..94cc6f1 100644 --- a/host-cmd-manager.hpp +++ b/host-cmd-manager.hpp @@ -1,6 +1,6 @@ #pragma once -#include <host-ipmid/ipmid-host-cmd-utils.hpp> +#include <ipmid-host/cmd-utils.hpp> #include <queue> #include <sdbusplus/bus.hpp> #include <sdbusplus/bus/match.hpp> diff --git a/host-interface.cpp b/host-interface.cpp index 2a3e6ce..0b5f63c 100644 --- a/host-interface.cpp +++ b/host-interface.cpp @@ -6,8 +6,8 @@ #include "utils.hpp" #include <functional> -#include <host-ipmid/ipmid-host-cmd-utils.hpp> -#include <host-ipmid/ipmid-host-cmd.hpp> +#include <ipmid-host/cmd-utils.hpp> +#include <ipmid-host/cmd.hpp> #include <phosphor-logging/log.hpp> namespace phosphor diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 0000000..50bb399 --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1,19 @@ +nobase_include_HEADERS = \ + ipmid/api.h \ + ipmid/iana.hpp \ + ipmid/oemopenbmc.hpp \ + ipmid/oemrouter.hpp \ + ipmid-host/cmd.hpp \ + ipmid-host/cmd-utils.hpp + +# Eventually we will split <ipmid/*> and <host-ipmid/*> headers +# For now they will be the same during migration +install-data-local: + $(MKDIR_P) $(DESTDIR)$(includedir)/host-ipmid + $(LN_S) ../ipmid/iana.hpp $(DESTDIR)$(includedir)/host-ipmid/iana.hpp + $(LN_S) ../ipmid/api.h $(DESTDIR)$(includedir)/host-ipmid/ipmid-api.h + $(LN_S) ../ipmid/oemopenbmc.hpp $(DESTDIR)$(includedir)/host-ipmid/oemopenbmc.hpp + $(LN_S) ../ipmid/oemrouter.hpp $(DESTDIR)$(includedir)/host-ipmid/oemrouter.hpp + $(LN_S) ../ipmid-host/cmd.hpp $(DESTDIR)$(includedir)/host-ipmid/ipmid-host-cmd.hpp + $(LN_S) ../ipmid-host/cmd-utils.hpp $(DESTDIR)$(includedir)/host-ipmid/ipmid-host-cmd-utils.hpp + diff --git a/host-ipmid/ipmid-host-cmd-utils.hpp b/include/ipmid-host/cmd-utils.hpp index e7c6dc2..e7c6dc2 100644 --- a/host-ipmid/ipmid-host-cmd-utils.hpp +++ b/include/ipmid-host/cmd-utils.hpp diff --git a/host-ipmid/ipmid-host-cmd.hpp b/include/ipmid-host/cmd.hpp index 4fd95a9..adea960 100644 --- a/host-ipmid/ipmid-host-cmd.hpp +++ b/include/ipmid-host/cmd.hpp @@ -1,5 +1,4 @@ -#include "ipmid-host-cmd-utils.hpp" - +#include <ipmid-host/cmd-utils.hpp> #include <memory> #include <sdbusplus/bus.hpp> diff --git a/host-ipmid/ipmid-api.h b/include/ipmid/api.h index b1c078b..b1c078b 100644 --- a/host-ipmid/ipmid-api.h +++ b/include/ipmid/api.h diff --git a/host-ipmid/iana.hpp b/include/ipmid/iana.hpp index aa9e173..aa9e173 100644 --- a/host-ipmid/iana.hpp +++ b/include/ipmid/iana.hpp diff --git a/host-ipmid/oemopenbmc.hpp b/include/ipmid/oemopenbmc.hpp index 101e715..b7b3a30 100644 --- a/host-ipmid/oemopenbmc.hpp +++ b/include/ipmid/oemopenbmc.hpp @@ -1,8 +1,8 @@ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> -#include <host-ipmid/oemrouter.hpp> +#include <ipmid/oemrouter.hpp> namespace oem { diff --git a/host-ipmid/oemrouter.hpp b/include/ipmid/oemrouter.hpp index fb12750..e0a9f14 100644 --- a/host-ipmid/oemrouter.hpp +++ b/include/ipmid/oemrouter.hpp @@ -1,11 +1,11 @@ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <array> #include <cstdint> #include <functional> -#include <host-ipmid/iana.hpp> +#include <ipmid/iana.hpp> #include <vector> namespace oem @@ -17,9 +17,9 @@ #include <algorithm> #include <cstring> -#include <host-ipmid/ipmid-host-cmd.hpp> -#include <host-ipmid/oemrouter.hpp> #include <iostream> +#include <ipmid-host/cmd.hpp> +#include <ipmid/oemrouter.hpp> #include <iterator> #include <map> #include <memory> @@ -1,6 +1,6 @@ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <stdio.h> // When the requester sends in a netfn and a command along with data, this diff --git a/libipmid-host/Makefile.am b/libipmid-host/Makefile.am new file mode 100644 index 0000000..7b8b003 --- /dev/null +++ b/libipmid-host/Makefile.am @@ -0,0 +1,8 @@ +pkgconfig_DATA = libipmid-host.pc +lib_LTLIBRARIES = libipmid-host.la +libipmid_host_la_SOURCES = +libipmid_host_la_LDFLAGS = \ + $(SDBUSPLUS_LIBS) \ + -version-info 0:0:0 -shared +libipmid_host_la_CXXFLAGS = \ + $(SDBUSPLUS_CFLAGS) diff --git a/libipmid-host/libipmid-host.pc.in b/libipmid-host/libipmid-host.pc.in new file mode 100644 index 0000000..ba842ac --- /dev/null +++ b/libipmid-host/libipmid-host.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libipmid-host +Description: IPMI Host Daemon Library +Version: @VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lipmid-host diff --git a/libipmid/Makefile.am b/libipmid/Makefile.am new file mode 100644 index 0000000..e5724a8 --- /dev/null +++ b/libipmid/Makefile.am @@ -0,0 +1,8 @@ +pkgconfig_DATA = libipmid.pc +lib_LTLIBRARIES = libipmid.la +libipmid_la_SOURCES = +libipmid_la_LDFLAGS = \ + $(SYSTEMD_LIBS) \ + -version-info 0:0:0 -shared +libipmid_la_CXXFLAGS = \ + $(SYSTEMD_CFLAGS) diff --git a/libipmid/libipmid.pc.in b/libipmid/libipmid.pc.in new file mode 100644 index 0000000..9366846 --- /dev/null +++ b/libipmid/libipmid.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libipmid +Description: IPMI Daemon Library +Version: @VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lipmid diff --git a/oemrouter.cpp b/oemrouter.cpp index f481970..00f66f1 100644 --- a/oemrouter.cpp +++ b/oemrouter.cpp @@ -1,6 +1,6 @@ #include <cstdio> #include <cstring> -#include <host-ipmid/oemrouter.hpp> +#include <ipmid/oemrouter.hpp> #include <map> #include <utility> diff --git a/read_fru_data.cpp b/read_fru_data.cpp index 44ea11c..2bb111f 100644 --- a/read_fru_data.cpp +++ b/read_fru_data.cpp @@ -4,7 +4,7 @@ #include "types.hpp" #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <algorithm> #include <map> diff --git a/selutility.cpp b/selutility.cpp index 0789be4..b9bf7ed 100644 --- a/selutility.cpp +++ b/selutility.cpp @@ -5,7 +5,7 @@ #include "types.hpp" #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <chrono> #include <phosphor-logging/elog-errors.hpp> diff --git a/sensordatahandler.hpp b/sensordatahandler.hpp index d56aea8..9c32da9 100644 --- a/sensordatahandler.hpp +++ b/sensordatahandler.hpp @@ -4,7 +4,7 @@ #include "types.hpp" #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <cmath> #include <sdbusplus/message/types.hpp> diff --git a/sensorhandler.cpp b/sensorhandler.cpp index 21677ea..3edf198 100644 --- a/sensorhandler.cpp +++ b/sensorhandler.cpp @@ -5,7 +5,7 @@ #include "types.hpp" #include "utils.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <mapper.h> #include <systemd/sd-bus.h> diff --git a/sensorhandler.hpp b/sensorhandler.hpp index 5e55080..1d455f3 100644 --- a/sensorhandler.hpp +++ b/sensorhandler.hpp @@ -2,7 +2,7 @@ #include "types.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <stdint.h> // IPMI commands for net functions. diff --git a/softoff/Makefile.am b/softoff/Makefile.am index bbe7b6e..e43cfbb 100644 --- a/softoff/Makefile.am +++ b/softoff/Makefile.am @@ -1,5 +1,4 @@ AM_DEFAULT_SOURCE_EXT = .cpp -AM_CPPFLAGS = -I$(top_srcdir) sbin_PROGRAMS = phosphor-softpoweroff # Using ../ instead of $(top_srcdir) due to automake bug in version 1.15. diff --git a/storageaddsel.cpp b/storageaddsel.cpp index 1dde2a4..90d3276 100644 --- a/storageaddsel.cpp +++ b/storageaddsel.cpp @@ -4,7 +4,7 @@ #include "storagehandler.hpp" #include "types.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <mapper.h> #include <systemd/sd-bus.h> diff --git a/storagehandler.cpp b/storagehandler.cpp index e142d9f..699e80c 100644 --- a/storagehandler.cpp +++ b/storagehandler.cpp @@ -8,7 +8,7 @@ #include "utils.hpp" #include <arpa/inet.h> -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <mapper.h> #include <systemd/sd-bus.h> diff --git a/systemintfcmds.cpp b/systemintfcmds.cpp index 06a46d0..d044030 100644 --- a/systemintfcmds.cpp +++ b/systemintfcmds.cpp @@ -5,10 +5,10 @@ #include "host-cmd-manager.hpp" #include "host-interface.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <cstring> -#include <host-ipmid/ipmid-host-cmd.hpp> +#include <ipmid-host/cmd.hpp> void register_netfn_app_functions() __attribute__((constructor)); diff --git a/test/oemrouter_unittest.cpp b/test/oemrouter_unittest.cpp index ec79316..49a1382 100644 --- a/test/oemrouter_unittest.cpp +++ b/test/oemrouter_unittest.cpp @@ -1,7 +1,7 @@ -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <cstring> -#include <host-ipmid/oemrouter.hpp> +#include <ipmid/oemrouter.hpp> #include "sample.h" diff --git a/transporthandler.cpp b/transporthandler.cpp index 14a9980..0b5a00c 100644 --- a/transporthandler.cpp +++ b/transporthandler.cpp @@ -6,7 +6,7 @@ #include "utils.hpp" #include <arpa/inet.h> -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <chrono> #include <fstream> diff --git a/user_channel/channel_layer.hpp b/user_channel/channel_layer.hpp index a3aebb8..3a172bc 100644 --- a/user_channel/channel_layer.hpp +++ b/user_channel/channel_layer.hpp @@ -14,7 +14,7 @@ // limitations under the License. */ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <string> diff --git a/user_channel/user_layer.hpp b/user_channel/user_layer.hpp index 7e8f185..6c8c683 100644 --- a/user_channel/user_layer.hpp +++ b/user_channel/user_layer.hpp @@ -14,7 +14,7 @@ // limitations under the License. */ #pragma once -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <string> diff --git a/user_channel/user_mgmt.cpp b/user_channel/user_mgmt.cpp index 3f82c15..0b86823 100644 --- a/user_channel/user_mgmt.cpp +++ b/user_channel/user_mgmt.cpp @@ -24,7 +24,6 @@ #include <boost/interprocess/sync/scoped_lock.hpp> #include <cerrno> #include <fstream> -#include <host-ipmid/ipmid-host-cmd.hpp> #include <nlohmann/json.hpp> #include <phosphor-logging/elog-errors.hpp> #include <phosphor-logging/log.hpp> diff --git a/user_channel/user_mgmt.hpp b/user_channel/user_mgmt.hpp index 0326dca..643ca93 100644 --- a/user_channel/user_mgmt.hpp +++ b/user_channel/user_mgmt.hpp @@ -16,7 +16,7 @@ #pragma once #include "user_layer.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <boost/interprocess/sync/file_lock.hpp> #include <boost/interprocess/sync/named_recursive_mutex.hpp> diff --git a/user_channel/usercommands.cpp b/user_channel/usercommands.cpp index 507d95c..90aadb1 100644 --- a/user_channel/usercommands.cpp +++ b/user_channel/usercommands.cpp @@ -20,7 +20,7 @@ #include "channel_layer.hpp" #include "user_layer.hpp" -#include <host-ipmid/ipmid-api.h> +#include <ipmid/api.h> #include <security/pam_appl.h> #include <phosphor-logging/log.hpp> |