Skip to content
This repository was archived by the owner on Sep 12, 2024. It is now read-only.

Commit 9bdbf0d

Browse files
kkarmakarMSNarineM
andauthored
OpenSSL v3 support for DSC (#911)
* build dsc with openssl v3 * Add option * Folder update --------- Co-authored-by: Narine Mossikyan <narinem@microsoft.com>
1 parent 304fc91 commit 9bdbf0d

File tree

2 files changed

+93
-1
lines changed

2 files changed

+93
-1
lines changed

Makefile

+73
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ else
6161
$(MAKE) dsc110
6262
$(MAKE) dsckit110
6363
endif
64+
ifeq ($(BUILD_SSL_300),1)
65+
rm -rf omi-1.0.8/output_openssl_3.0.0/lib/libdsccore.so
66+
$(MAKE) omi300
67+
$(MAKE) dsc300
68+
$(MAKE) dsckit300
69+
endif
6470

6571
endif
6672

@@ -95,6 +101,16 @@ endif
95101
-mkdir -p release; \
96102
cp omi-1.0.8/output_openssl_1.1.0/release/*.{rpm,deb} output/release/*.{rpm,deb} release/
97103

104+
ifeq ($(BUILD_OMS),BUILD_OMS)
105+
dsckit300: nx nxOMSPerfCounter nxOMSSyslog nxOMSKeyMgmt nxOMSPlugin nxOMSCustomLog nxOMSSudoCustomLog nxFileInventory nxOMSGenerateInventoryMof nxOMSAgentNPMConfig nxOMSAutomationWorker nxOMSAuditdPlugin
106+
else
107+
dsckit300: nx nxNetworking nxComputerManagement nxMySQL
108+
endif
109+
$(MAKE) -C $(INSTALLBUILDER_DIR) SSL_VERSION=300 BUILD_RPM=$(BUILD_RPM) BUILD_DPKG=$(BUILD_DPKG) BUILD_OMS_VAL=$(BUILD_OMS_VAL)
110+
111+
-mkdir -p release; \
112+
cp omi-1.0.8/output_openssl_3.0.0/release/*.{rpm,deb} output/release/*.{rpm,deb} release/
113+
98114
dsc098: lcm098 providers
99115
mkdir -p intermediate/Scripts
100116
mkdir -p intermediate/Scripts/python3
@@ -226,6 +242,49 @@ dsc110: lcm110 providers
226242
done
227243
if [ -f ../dsc.version ]; then cp -f ../dsc.version build/dsc.version; else cp -f build/Makefile.version build/dsc.version; fi
228244

245+
dsc300: lcm300 providers
246+
mkdir -p intermediate/Scripts
247+
mkdir -p intermediate/Scripts/python3
248+
mkdir -p intermediate/Modules
249+
. omi-1.0.8/output_openssl_3.0.0/config.mak; \
250+
for f in LCM/scripts/*.py LCM/scripts/*.sh Providers/Scripts/*.py Providers/Scripts/*.sh; do \
251+
cat $$f | \
252+
sed "s@<CONFIG_BINDIR>@$$CONFIG_BINDIR@" | \
253+
sed "s@<CONFIG_LIBDIR>@$$CONFIG_LIBDIR@" | \
254+
sed "s@<CONFIG_LOCALSTATEDIR>@$$CONFIG_LOCALSTATEDIR@" | \
255+
sed "s@<CONFIG_SYSCONFDIR>@$$CONFIG_SYSCONFDIR@" | \
256+
sed "s@<CONFIG_SYSCONFDIR_DSC>@$(CONFIG_SYSCONFDIR_DSC)@" | \
257+
sed "s@<OAAS_CERTPATH>@$(OAAS_CERTPATH)@" | \
258+
sed "s@<OAAS_KEYPATH>@$(OAAS_KEYPATH)@" | \
259+
sed "s@<OAAS_THUMBPRINT>@$(OAAS_THUMBPRINT)@" | \
260+
sed "s@<OMI_LIB_SCRIPTS>@$$CONFIG_LIBDIR/Scripts@" | \
261+
sed "s@<PYTHON_PID_DIR>@$(PYTHON_PID_DIR)@" | \
262+
sed "s@<DSC_NAMESPACE>@$(DSC_NAMESPACE)@" | \
263+
sed "s@<DSC_SCRIPT_PATH>@$(DSC_SCRIPT_PATH)@" | \
264+
sed "s@<DSC_HOST_BASE_PATH>@$(DSC_HOST_BASE_PATH)@" | \
265+
sed "s@<DSC_MODULES_PATH>@$(DSC_MODULES_PATH)@" > intermediate/Scripts/`basename $$f`; \
266+
chmod a+x intermediate/Scripts/`basename $$f`; \
267+
done
268+
269+
for f in LCM/scripts/python3/*.py LCM/scripts/python3/*.sh; do \
270+
cat $$f | \
271+
sed "s@<CONFIG_BINDIR>@$$CONFIG_BINDIR@" | \
272+
sed "s@<CONFIG_LIBDIR>@$$CONFIG_LIBDIR@" | \
273+
sed "s@<CONFIG_LOCALSTATEDIR>@$$CONFIG_LOCALSTATEDIR@" | \
274+
sed "s@<CONFIG_SYSCONFDIR>@$$CONFIG_SYSCONFDIR@" | \
275+
sed "s@<CONFIG_SYSCONFDIR_DSC>@$(CONFIG_SYSCONFDIR_DSC)@" | \
276+
sed "s@<OAAS_CERTPATH>@$(OAAS_CERTPATH)@" | \
277+
sed "s@<OAAS_KEYPATH>@$(OAAS_KEYPATH)@" | \
278+
sed "s@<OAAS_THUMBPRINT>@$(OAAS_THUMBPRINT)@" | \
279+
sed "s@<OMI_LIB_SCRIPTS>@$$CONFIG_LIBDIR/Scripts@" | \
280+
sed "s@<PYTHON_PID_DIR>@$(PYTHON_PID_DIR)@" | \
281+
sed "s@<DSC_NAMESPACE>@$(DSC_NAMESPACE)@" | \
282+
sed "s@<DSC_SCRIPT_PATH>@$(DSC_SCRIPT_PATH)@" | \
283+
sed "s@<DSC_HOST_BASE_PATH>@$(DSC_HOST_BASE_PATH)@" | \
284+
sed "s@<DSC_MODULES_PATH>@$(DSC_MODULES_PATH)@" > intermediate/Scripts/python3/`basename $$f`; \
285+
chmod a+x intermediate/Scripts/python3/`basename $$f`; \
286+
done
287+
if [ -f ../dsc.version ]; then cp -f ../dsc.version build/dsc.version; else cp -f build/Makefile.version build/dsc.version; fi
229288

230289
omi098:
231290
$(MAKE) configureomi098
@@ -248,6 +307,13 @@ omi110:
248307
$(MAKE) -C omi-1.0.8
249308
$(MAKE) -C omi-1.0.8/installbuilder SSL_VERSION=110 BUILD_RPM=$(BUILD_RPM) BUILD_DPKG=$(BUILD_DPKG) SSL_BUILD=1.1.0
250309

310+
omi300:
311+
$(MAKE) configureomi300
312+
rm -rf omi-1.0.8/output
313+
ln -s output_openssl_3.0.0 omi-1.0.8/output
314+
$(MAKE) -C omi-1.0.8
315+
$(MAKE) -C omi-1.0.8/installbuilder SSL_VERSION=300 BUILD_RPM=$(BUILD_RPM) BUILD_DPKG=$(BUILD_DPKG) SSL_BUILD=3.0.0
316+
251317
configureomi098:
252318
(cd omi-1.0.8; ./configure $(DEBUG_FLAGS) --enable-preexec --prefix=/opt/omi --outputdirname=output_openssl_0.9.8 --localstatedir=/var/opt/omi --sysconfdir=/etc/opt/omi/conf --certsdir=/etc/opt/omi/ssl --opensslcflags="$(openssl098_cflags)" --openssllibs="-L$(current_dir)/ext/curl/current_platform/lib $(openssl098_libs)" --openssllibdir="$(openssl098_libdir)")
253319

@@ -257,6 +323,9 @@ configureomi100:
257323
configureomi110:
258324
(cd omi-1.0.8; ./configure $(DEBUG_FLAGS) --enable-preexec --prefix=/opt/omi --outputdirname=output_openssl_1.1.0 --localstatedir=/var/opt/omi --sysconfdir=/etc/opt/omi/conf --certsdir=/etc/opt/omi/ssl --opensslcflags="$(openssl110_cflags)" --openssllibs="-L$(current_dir)/ext/curl/current_platform/lib $(openssl110_libs)" --openssllibdir="$(openssl110_libdir)")
259325

326+
configureomi300:
327+
(cd omi-1.0.8; ./configure $(DEBUG_FLAGS) --enable-preexec --prefix=/opt/omi --outputdirname=output_openssl_3.0.0 --localstatedir=/var/opt/omi --sysconfdir=/etc/opt/omi/conf --certsdir=/etc/opt/omi/ssl --opensslcflags="$(openssl300_cflags)" --openssllibs="-L$(current_dir)/ext/curl/current_platform/lib $(openssl300_libs)" --openssllibdir="$(openssl300_libdir)")
328+
260329
lcm098:
261330
$(MAKE) -C LCM
262331

@@ -266,6 +335,9 @@ lcm100:
266335
lcm110:
267336
$(MAKE) -C LCM
268337

338+
lcm300:
339+
$(MAKE) -C LCM
340+
269341
providers:
270342
$(MAKE) -C Providers
271343

@@ -684,6 +756,7 @@ distclean: clean
684756
rm -rf omi-1.0.8/output_openssl_0.9.8
685757
rm -rf omi-1.0.8/output_openssl_1.0.0
686758
rm -rf omi-1.0.8/output_openssl_1.1.0
759+
rm -rf omi-1.0.8/output_openssl_3.0.0
687760

688761
clean:
689762
ifeq ($(BUILD_LOCAL),1)

configure

+20-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ BUILD_DPKG=1
55
BUILD_SSL_098=1
66
BUILD_SSL_100=1
77
BUILD_SSL_110=1
8+
BUILD_SSL_300=1
89
BUILD_SSL_SYSTEM=0
910
BUILD_DEBUG=0
1011
BUILD_OMS=
@@ -59,6 +60,9 @@ do
5960
--no-ssl-110)
6061
BUILD_SSL_110=0
6162
;;
63+
--no-ssl-300)
64+
BUILD_SSL_300=0
65+
;;
6266
--oms)
6367
if [ "$BUILD_LOCAL" = "1" ]; then
6468
echo "Error: options --oms and --local conflict."
@@ -100,6 +104,7 @@ OPTIONS:
100104
--no-ssl-098 Do not build for OpenSSL 0.9.8x
101105
--no-ssl-100 Do not build for OpenSSL 1.0.x
102106
--no-ssl-110 Do not build for OpenSSL 1.1.x
107+
--no-ssl-300 Do not build for OpenSSL 3.0.x
103108
104109
--local Build without packages and for the OpenSSL installed to the system.
105110
EOF
@@ -109,7 +114,7 @@ fi
109114

110115
pkgconfig=`which pkg-config`
111116

112-
if [ -d "/usr/local_ssl_0.9.8" ] || [ -d "/usr/local_ssl_1.0.0" ] || [ -d "/usr/local_ssl_1.1.0" ]; then
117+
if [ -d "/usr/local_ssl_0.9.8" ] || [ -d "/usr/local_ssl_1.0.0" ] || [ -d "/usr/local_ssl_1.1.0" ] || [ -d "/usr/local_ssl_3.0.0" ]; then
113118
if [ -d "/usr/local_ssl_0.9.8" ]; then
114119
if [ "`uname -m`" == "x86_64" ]; then
115120
openssl098_libdir=/usr/local_ssl_0.9.8/lib
@@ -144,6 +149,16 @@ if [ -d "/usr/local_ssl_0.9.8" ] || [ -d "/usr/local_ssl_1.0.0" ] || [ -d "/usr/
144149
echo -e "\e[33mYellow SSL version 1.1.0 is not found at path /usr/local_ssl_1.1.0. Skipping build for SSL 1.1.0.\e[0m"
145150
BUILD_SSL_110=0
146151
fi
152+
if [ -d "/usr/local_ssl_3.0.0" ]; then
153+
if [ "`uname -m`" == "x86_64" ]; then
154+
openssl300_libdir=/usr/local_ssl_3.0.0/lib64
155+
fi
156+
openssl300_cflags=`PKG_CONFIG_PATH=$openssl300_libdir/pkgconfig $pkgconfig --cflags openssl`
157+
openssl300_libs=`PKG_CONFIG_PATH=$openssl300_libdir/pkgconfig $pkgconfig --libs openssl`
158+
else
159+
echo -e "\e[33mYellow SSL version 3.0.0 is not found at path /usr/local_ssl_3.0.0. Skipping build for SSL 3.0.0.\e[0m"
160+
BUILD_SSL_300=0
161+
fi
147162
fi
148163

149164
cat <<EOF > config.mak
@@ -152,6 +167,7 @@ BUILD_DPKG=$BUILD_DPKG
152167
BUILD_SSL_098=$BUILD_SSL_098
153168
BUILD_SSL_100=$BUILD_SSL_100
154169
BUILD_SSL_110=$BUILD_SSL_110
170+
BUILD_SSL_300=$BUILD_SSL_300
155171
BUILD_LOCAL=$BUILD_LOCAL
156172
BUILD_OMS=$BUILD_OMS
157173
DSC_MODULES_PATH=$DSC_MODULES_PATH
@@ -172,6 +188,9 @@ openssl100_libdir=$openssl100_libdir
172188
openssl110_cflags=$openssl110_cflags
173189
openssl110_libs=$openssl110_libs
174190
openssl110_libdir=$openssl110_libdir
191+
openssl300_cflags=$openssl300_cflags
192+
openssl300_libs=$openssl300_libs
193+
openssl300_libdir=$openssl300_libdir
175194
176195
EOF
177196

0 commit comments

Comments
 (0)