Skip to content

Commit

Permalink
CMAKE: add PANTAVISOR_USRMERGE (default: OFF) flag
Browse files Browse the repository at this point in the history
With PANTAVISOR_USRMERGE=ON, /lib/ content gets put into /usr/lib/,

 e.g. /usr/lib/pv/ and /usr/lib/pv_lxc.so
  • Loading branch information
asac committed May 28, 2024
1 parent 905f44b commit 2feeacd
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
27 changes: 17 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,29 @@ cmake_minimum_required(VERSION 3.0)
# Set the project name and version
project(pantavisor VERSION 019)

# subdirectories
add_subdirectory(plugins)

# include cmake packages
include(FindPackageHandleStandardArgs)

# feature flags
set(PANTAVISOR_DM_VERITY OFF CACHE BOOL "Enable support for dm verity mounted squash volumes")
set(PANTAVISOR_DM_CRYPT OFF CACHE BOOL "Enable support for dm crypt mounted disks")
set(PANTAVISOR_PVZRAM_TEST OFF CACHE BOOL "Build pvzram-test binary")
set(PANTAVISOR_DEBUG OFF CACHE BOOL "Enable debug features for Pantavisor")
set(PANTAVISOR_APPENGINE OFF CACHE BOOL "Build Pantavisor as appengine")
set(PANTAVISOR_USRMERGE OFF CACHE BOOL "Build Pantavisor with usrmerge feature")

# set cmake defintions
set(CODE_INSTALL_BASE "\$ENV{DESTDIR}")

set(BASELIBDIR "/")
IF(PANTAVISOR_USRMERGE)
add_compile_definitions(PANTAVISOR_USRMERGE)
set(BASELIBDIR "/usr/")
ENDIF()

# subdirectories
add_subdirectory(plugins)

# include cmake packages
include(FindPackageHandleStandardArgs)

# Find the shared library
find_library(THTTP thttp)
find_library(PICOHTTPPARSER picohttpparser)
Expand Down Expand Up @@ -204,10 +211,10 @@ ENDIF()
### install scripts
install(FILES scripts/JSON.sh scripts/pv_e2fsgrow scripts/pvcrash
PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE
DESTINATION /lib/pv/)
DESTINATION ${BASELIBDIR}lib/pv/)
install(DIRECTORY scripts/hooks_lxc-mount.d
FILE_PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE
DESTINATION /lib/pv)
DESTINATION ${BASELIBDIR}lib/pv)
install(PROGRAMS tools/pventer
tools/fallbear-cmd
DESTINATION /usr/bin)
Expand All @@ -216,14 +223,14 @@ install(PROGRAMS tools/pventer
IF(PANTAVISOR_DM_CRYPT)
install(DIRECTORY scripts/volmount/crypt
FILE_PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE
DESTINATION /lib/pv/volmount)
DESTINATION ${BASELIBDIR}lib/pv/volmount)
ENDIF()

### install dm verity feature
IF(PANTAVISOR_DM_VERITY)
install(DIRECTORY scripts/volmount/verity
FILE_PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE
DESTINATION /lib/pv/volmount)
DESTINATION ${BASELIBDIR}lib/pv/volmount)
ENDIF()


Expand Down
4 changes: 4 additions & 0 deletions config.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,11 @@ typedef enum {
#define SECUREBOOT_TRUSTSTORE_DEF PVS_CERT_DEFAULT_STORE
#define SYSTEM_CONFDIR_DEF "/configs"
#define SYSTEM_ETCDIR_DEF "/etc"
#ifdef PANTAVISOR_USRMERGE
#define SYSTEM_LIBDIR_DEF "/usr/lib"
#else
#define SYSTEM_LIBDIR_DEF "/lib"
#endif
#define SYSTEM_MEDIADIR_DEF "/media"
#define SYSTEM_RUNDIR_DEF "/pv"
#define SYSTEM_USRDIR_DEF "/usr"
Expand Down
2 changes: 1 addition & 1 deletion plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ SET_TARGET_PROPERTIES(pv_lxc PROPERTIES PREFIX "")
target_link_libraries(pv_lxc ${LXC_LIB})

install(TARGETS pv_lxc
DESTINATION /lib/
DESTINATION ${BASELIBDIR}/lib/
)

0 comments on commit 2feeacd

Please sign in to comment.