Skip to content
Draft
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@
*.dir
*~
.build
*.sw?
32 changes: 19 additions & 13 deletions Packaging/Sources/1_build_libcorefoundation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
${ECHO} ">>> Installing ${OS_ID} packages for CoreFoundation library build"
if [ ${OS_ID} = "freebsd" ]; then
${ECHO} "FreeBSD: calling 'pkg install'..."
sudo pkg install --yes --quiet ${CORE_SYSTEM_DEPS}
${PRIV_CMD} pkg install --yes --quiet ${CORE_SYSTEM_DEPS}
elif [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then
${ECHO} "Debian-based Linux distribution: calling 'apt-get install'."
sudo apt-get install -y ${RUNTIME_DEPS} || exit 1
Expand Down Expand Up @@ -40,16 +40,16 @@ cd ${BUILD_ROOT}/${CF_PKG_NAME} || exit 1
rm -rf .build 2>/dev/null
mkdir -p .build
cd .build
C_FLAGS="-I/usr/local/include -I/usr/NextSpace/include -Wno-switch -Wno-enum-conversion"
C_FLAGS="-I/usr/local/include -I${NEXTSPACE_ROOT}/include -Wno-switch -Wno-enum-conversion"
$CMAKE_CMD .. \
-DCMAKE_C_COMPILER=${C_COMPILER} \
-DCMAKE_C_FLAGS="${C_FLAGS}" \
-DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/lib -L/usr/NextSpace/lib -luuid" \
-DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/lib -L${NEXTSPACE_ROOT}/lib -luuid" \
-DCF_DEPLOYMENT_SWIFT=NO \
-DBUILD_SHARED_LIBS=YES \
-DCMAKE_INSTALL_PREFIX=/usr/NextSpace \
-DCMAKE_INSTALL_LIBDIR=/usr/NextSpace/lib \
-DCMAKE_LIBRARY_PATH=/usr/NextSpace/lib \
-DCMAKE_INSTALL_PREFIX=${NEXTSPACE_ROOT} \
-DCMAKE_INSTALL_LIBDIR=${NEXTSPACE_ROOT}/lib \
-DCMAKE_LIBRARY_PATH=${NEXTSPACE_ROOT}/lib \
\
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_BUILD_TYPE=Debug \
Expand All @@ -65,16 +65,16 @@ if [ ${OS_ID} != "freebsd" ]; then
rm -rf .build 2>/dev/null
mkdir -p .build
cd .build
CFN_CFLAGS="-F../../${CF_PKG_NAME}/.build -I/usr/local/include -I/usr/NextSpace/include"
CFN_LD_FLAGS="-L/usr/NextSpace/lib -L../../${CF_PKG_NAME}/.build/CoreFoundation.framework"
CFN_CFLAGS="-F../../${CF_PKG_NAME}/.build -I/usr/local/include -I${NEXTSPACE_ROOT}/include"
CFN_LD_FLAGS="-L${NEXTSPACE_ROOT}/lib -L../../${CF_PKG_NAME}/.build/CoreFoundation.framework"
cmake .. \
-DCMAKE_C_COMPILER=${C_COMPILER} \
-DCMAKE_CXX_COMPILER=clang++ \
-DCFNETWORK_CFLAGS="${CFN_CFLAGS}" \
-DCFNETWORK_LDLAGS="${CFN_LD_FLAGS}" \
-DBUILD_SHARED_LIBS=YES \
-DCMAKE_INSTALL_PREFIX=/usr/NextSpace \
-DCMAKE_INSTALL_LIBDIR=/usr/NextSpace/lib \
-DCMAKE_INSTALL_PREFIX=${NEXTSPACE_ROOT} \
-DCMAKE_INSTALL_LIBDIR=${NEXTSPACE_ROOT}/lib \
\
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_BUILD_TYPE=Debug
Expand All @@ -90,7 +90,7 @@ fi
cd ${BUILD_ROOT}/${CF_PKG_NAME}/.build || exit 1
$INSTALL_CMD

CF_DIR=${DEST_DIR}/usr/NextSpace/Frameworks/CoreFoundation.framework
CF_DIR=${DEST_DIR}${NEXTSPACE_ROOT}/Frameworks/CoreFoundation.framework

$MKDIR_CMD ${CF_DIR}/Versions/${libcorefoundation_version}
cd $CF_DIR
Expand All @@ -114,7 +114,7 @@ if [ ${OS_ID} != "freebsd" ]; then
cd ${BUILD_ROOT}/${CFNET_PKG_NAME}/.build || exit 1
$INSTALL_CMD

CFNET_DIR=${DEST_DIR}/usr/NextSpace/Frameworks/CFNetwork.framework
CFNET_DIR=${DEST_DIR}${NEXTSPACE_ROOT}/Frameworks/CFNetwork.framework

$MKDIR_CMD $CFNET_DIR/Versions/${libcfnetwork_version}
cd $CFNET_DIR
Expand All @@ -135,5 +135,11 @@ if [ ${OS_ID} != "freebsd" ]; then
fi

if [ "$DEST_DIR" = "" ]; then
sudo ldconfig
if [ ${OS_ID} = "freebsd" ]; then
${ECHO} "Configuring ldconfig for NextSpace libraries..."
echo "${NEXTSPACE_ROOT}/lib" | ${PRIV_CMD} tee /usr/local/libdata/ldconfig/nextspace > /dev/null
${PRIV_CMD} ldconfig -R
else
${PRIV_CMD} ldconfig
fi
fi
1 change: 1 addition & 0 deletions Packaging/Sources/freebsd-15.deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ CORE_SYSTEM_DEPS="
curl
libuuid
pkgconf
cmake
"

# libwraster
Expand Down
37 changes: 30 additions & 7 deletions Packaging/environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,17 @@ else
fi
printf "OS:\t\t${OS_ID}-${OS_VERSION}\n"

#---------------------------------------
# Privilege escalation command
#---------------------------------------
if [ "$(id -u)" = "0" ]; then
PRIV_CMD=""
elif [ ${OS_ID} = "freebsd" ] && command -v doas >/dev/null 2>&1; then
PRIV_CMD="doas"
else
PRIV_CMD="sudo"
fi

#---------------------------------------
# Machine
#---------------------------------------
Expand All @@ -81,6 +92,14 @@ PROJECT_DIR=`pwd`
printf "NextSpace repo:\t${PROJECT_DIR}\n"
cd ${_PWD}

# NextSpace installation root
if [ ${OS_ID} = "freebsd" ]; then
NEXTSPACE_ROOT="/usr/local/NextSpace"
else
NEXTSPACE_ROOT="/usr/NextSpace"
fi
printf "Install root:\t${NEXTSPACE_ROOT}\n"

if [ -z $BUILD_RPM ]; then
BUILD_ROOT="${_PWD}/BUILD_ROOT"
if [ ! -d ${BUILD_ROOT} ]; then
Expand Down Expand Up @@ -133,11 +152,15 @@ if type "gmake" 2>/dev/null >/dev/null ;then
else
MAKE_CMD=make
fi
#

if [ "$1" != "" ];then
INSTALL_CMD="${MAKE_CMD} install DESTDIR=${1}"
else
INSTALL_CMD="sudo -E ${MAKE_CMD} install"
if [ "$PRIV_CMD" = "sudo" ]; then
INSTALL_CMD="${PRIV_CMD} -E ${MAKE_CMD} install"
else
INSTALL_CMD="${PRIV_CMD} ${MAKE_CMD} install"
fi
fi

# Utilities
Expand All @@ -148,11 +171,11 @@ if [ "$1" != "" ];then
CP_CMD="cp -R"
MKDIR_CMD="mkdir -p"
else
RM_CMD="sudo rm"
LN_CMD="sudo ln -sf"
MV_CMD="sudo mv -v"
CP_CMD="sudo cp -R"
MKDIR_CMD="sudo mkdir -p"
RM_CMD="${PRIV_CMD} rm"
LN_CMD="${PRIV_CMD} ln -sf"
MV_CMD="${PRIV_CMD} mv -v"
CP_CMD="${PRIV_CMD} cp -R"
MKDIR_CMD="${PRIV_CMD} mkdir -p"
fi

# Linker
Expand Down
7 changes: 1 addition & 6 deletions Packaging/functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,5 @@ prepare_redhat_environment()

prepare_freebsd_environment()
{
pkg info --quiet sudo
if [ $? = 1 ];then
print_ERR "There's no 'sudo' package installed. Please run 'pkg install sudo' command as root."
exit 1
fi
sudo pkg install --yes --quiet ${BUILD_TOOLS}
${PRIV_CMD} pkg install --yes --quiet ${BUILD_TOOLS}
}