Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ option(WARNING_AS_ERROR "Treat warnings as errors" ON)
option(PEDANTIC_WARNINGS "Compile with pedantic warnings" OFF)
option(BUILD_WITH_CODE_COVERAGE "Enable gcov code coverage" OFF)
option(BUILD_OSTREE "Set to ON to compile with OSTree support" OFF)
option(BUILD_RAUC "Set to ON to compile with RAUC support" ON)
option(BUILD_DEB "Set to ON to compile with debian packages support" OFF)
option(BUILD_P11 "Support for key storage in a HSM via PKCS#11" OFF)
option(BUILD_SOTA_TOOLS "Set to ON to build SOTA tools" OFF)
Expand Down Expand Up @@ -109,6 +110,11 @@ else(BUILD_OSTREE)
endif(NOT BUILD_SOTA_TOOLS)
endif(BUILD_OSTREE)

if(BUILD_RAUC)
find_package(sdbus-c++ REQUIRED)
add_definitions(-DBUILD_RAUC)
endif(BUILD_RAUC)

if(BUILD_P11)
find_package(LibP11 REQUIRED)
add_definitions(-DBUILD_P11)
Expand Down Expand Up @@ -319,6 +325,7 @@ include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third_party/googletest/googlete
include_directories(SYSTEM ${JSONCPP_INCLUDE_DIRS})
include_directories(SYSTEM ${Boost_INCLUDE_DIR})
include_directories(SYSTEM ${LIBOSTREE_INCLUDE_DIRS})
include_directories(SYSTEM ${LIBRAUC_INCLUDE_DIRS})
include_directories(SYSTEM ${SQLITE3_INCLUDE_DIRS})
include_directories(SYSTEM ${LIBP11_INCLUDE_DIR})
include_directories(SYSTEM ${sodium_INCLUDE_DIR})
Expand Down Expand Up @@ -365,6 +372,7 @@ set (AKTUALIZR_EXTERNAL_LIBS
Threads::Threads
${sodium_LIBRARY_RELEASE}
${LIBOSTREE_LIBRARIES}
SDBusCpp::sdbus-c++
${SQLITE3_LIBRARIES}
${LibArchive_LIBRARIES}
${LIBP11_LIBRARIES}
Expand Down
3 changes: 3 additions & 0 deletions include/libaktualizr/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,12 @@ struct UptaneConfig {
// TODO: move these to their corresponding headers
#define PACKAGE_MANAGER_NONE "none"
#define PACKAGE_MANAGER_OSTREE "ostree"
#define PACKAGE_MANAGER_RAUC "rauc"

#ifdef BUILD_OSTREE
#define PACKAGE_MANAGER_DEFAULT PACKAGE_MANAGER_OSTREE
#elif BUILD_RAUC
#define PACKAGE_MANAGER_DEFAULT PACKAGE_MANAGER_RAUC
#else
#define PACKAGE_MANAGER_DEFAULT PACKAGE_MANAGER_NONE
#endif
Expand Down
1 change: 1 addition & 0 deletions include/libaktualizr/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,7 @@ class Target {
* root commit object.
*/
bool IsOstree() const;
bool IsRauc() const;
std::string type() const { return type_; }

// Comparison is usually not meaningful. Use MatchTarget instead.
Expand Down
20 changes: 19 additions & 1 deletion src/libaktualizr/package_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,21 @@ if(BUILD_OSTREE)
ARGS ${PROJECT_BINARY_DIR}/ostree_repo)
endif(BUILD_OSTREE)

# RAUC backend
if(BUILD_RAUC)
target_sources(package_manager PRIVATE raucmanager.cc)
target_include_directories(package_manager PUBLIC ${LIBRAUC_INCLUDE_DIRS})
set_target_properties(package_manager PROPERTIES
CXX_STANDARD 17
CXX_EXTENSIONS off)
target_link_libraries(package_manager PUBLIC SDBusCpp::sdbus-c++)

add_aktualizr_test(NAME raucmanager SOURCES raucmanager_test.cc PROJECT_WORKING_DIRECTORY)
set_target_properties(t_raucmanager PROPERTIES
CXX_STANDARD 17
CXX_EXTENSIONS off)
endif(BUILD_RAUC)

add_aktualizr_test(NAME packagemanagerconfig SOURCES packagemanagerconfig_test.cc NO_VALGRIND)
add_aktualizr_test(NAME packagemanager_factory SOURCES packagemanagerfactory_test.cc
ARGS ${PROJECT_BINARY_DIR}/ostree_repo)
Expand All @@ -38,4 +53,7 @@ aktualizr_source_file_checks(fetcher_death_test.cc
packagemanagerfactory_test.cc
ostreemanager_test.cc
ostreemanager.cc
ostreemanager.h)
ostreemanager.h
raucmanager_test.cc
raucmanager.cc
raucmanager.h)
Loading