Skip to content

Commit fdca4bd

Browse files
committed
Remove dependency on OpenSSL
1 parent a370c58 commit fdca4bd

10 files changed

Lines changed: 1192 additions & 408 deletions

File tree

.github/workflows/build_release.yml

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ jobs:
3333
"ubuntu:25.04",
3434
"ubuntu:24.04",
3535
"ubuntu:22.04",
36+
"debian:13",
3637
"debian:12",
37-
"debian:11",
3838
]
3939
libyubihsm_tag : [ "2.7.0" ]
4040

@@ -113,7 +113,7 @@ jobs:
113113
sed -i 's/add_definitions (-D_FORTIFY_SOURCE=2)/add_definitions (-D_FORTIFY_SOURCE=3)/' cmake/SecurityFlags.cmake
114114
fi
115115
116-
if [ "$PLATFORM" = "ubuntu2504" ]; then
116+
if [ "$PLATFORM" = "ubuntu2504" ] || [ "$PLATFORM" = "debian13" ]; then
117117
# Set PCSC flags
118118
sed -i 's/#SET(CMAKE_C_FLAGS/SET(CMAKE_C_FLAGS/' ykhsmauth/CMakeLists.txt
119119
fi
@@ -132,7 +132,7 @@ jobs:
132132
cd ..
133133
git clone -b yubihsm-manager https://github.com/Yubico/yubihsmrs.git
134134
135-
- name: Build binary
135+
- name: Build installer
136136
working-directory: yubihsm-manager
137137
env:
138138
PLATFORM: ${{ env.PLATFORM }}
@@ -153,13 +153,26 @@ jobs:
153153
YUBIHSM_LIB_DIR=/usr/lib/x86_64-linux-gnu cargo build --release
154154
strip --strip-all target/release/yubihsm-manager
155155
cargo deb --no-build
156-
cp target/debian/*.deb $OUTPUT/
156+
#cp target/debian/*.deb $OUTPUT/
157+
158+
dpkg -i target/debian/*.deb
159+
yubihsm-manager --version
160+
yubihsm-manager --help
161+
162+
- name: Pack artifact
163+
working-directory: yubihsm-manager
164+
env:
165+
PLATFORM: ${{ env.PLATFORM }}
166+
run: |
167+
set -x -e
168+
OUTPUT=$GITHUB_WORKSPACE/$PLATFORM/yubihsm-manager
157169
170+
cp target/debian/*.deb $OUTPUT/
158171
cp $GITHUB_WORKSPACE/libyubihsm1_*.deb $OUTPUT/
159172
cp $GITHUB_WORKSPACE/libyubihsm-http1_*.deb $OUTPUT/
160173
cp $GITHUB_WORKSPACE/libyubihsm-usb1_*.deb $OUTPUT/
161-
162-
cd $OUTPUT
174+
175+
cd $OUTPUT/
163176
rm -f yubihsm-manager-$PLATFORM-amd64.tar.gz
164177
tar -C .. -zcvf ../yubihsm-manager-$PLATFORM-amd64.tar.gz yubihsm-manager
165178
rm -f *.deb
@@ -210,24 +223,35 @@ jobs:
210223
git \
211224
chrpath \
212225
cmake \
226+
gengetopt \
213227
openssl-devel \
214228
libedit-devel \
215229
libcurl-devel \
216230
rpmdevtools \
217231
pcsc-lite-devel \
218232
libusb1-devel \
233+
help2man \
234+
zlib-devel
219235
220236
curl -o rustup.sh https://sh.rustup.rs
221237
bash ./rustup.sh -y
222238
223239
- name: install libyubihsm
224240
run: |
225241
git clone https://github.com/Yubico/yubihsm-shell.git
226-
cd yubihsm-shell
227-
mkdir build
228-
cd build
229-
cmake .. -DBUILD_ONLY_LIB=ON
230-
make
242+
# Set PCSC flags
243+
sed -i 's/#SET(CMAKE_C_FLAGS/SET(CMAKE_C_FLAGS/' yubihsm-shell/ykhsmauth/CMakeLists.txt
244+
245+
export INPUT=$GITHUB_WORKSPACE/yubihsm-shell
246+
export CMAKE="cmake"
247+
248+
RPM_DIR=$GITHUB_WORKSPACE/rpmbuild
249+
mkdir -p $RPM_DIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
250+
echo '%_topdir %(echo $HOME)/rpmbuild' > $GITHUB_WORKSPACE/.rpmmacros
251+
252+
cp yubihsm-shell/resources/release/linux/yubihsm-shell.spec $RPM_DIR/SPECS/
253+
QA_SKIP_BUILD_ROOT=1 QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild -bb $RPM_DIR/SPECS/yubihsm-shell.spec
254+
yum install -y /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel-*.rpm
231255
232256
- name: clone yubihsmrs
233257
run: |
@@ -250,9 +274,30 @@ jobs:
250274
251275
cargo install cargo-rpm
252276
cargo rpm init
253-
YUBIHSM_LIB_DIR=$GITHUB_WORKSPACE/yubihsm-shell/build/lib cargo build --release
254-
YUBIHSM_LIB_DIR=$GITHUB_WORKSPACE/yubihsm-shell/build/lib cargo rpm build
277+
YUBIHSM_LIB_DIR=/usr/lib64 cargo build --release
278+
YUBIHSM_LIB_DIR=/usr/lib64 cargo rpm build
279+
#cp target/release/rpmbuild/RPMS/x86_64/*.rpm $OUTPUT/
280+
#cp /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel*.rpm $OUTPUT/
281+
282+
yum install -y target/release/rpmbuild/RPMS/x86_64/yubihsm-manager-*.rpm
283+
yubihsm-manager --version
284+
yubihsm-manager --help
285+
286+
- name: Pack artifact
287+
working-directory: yubihsm-manager
288+
env:
289+
PLATFORM: ${{ env.PLATFORM }}
290+
run: |
291+
OUTPUT=$GITHUB_WORKSPACE/$PLATFORM/yubihsm-manager
292+
255293
cp target/release/rpmbuild/RPMS/x86_64/*.rpm $OUTPUT/
294+
cp /github/home/rpmbuild/RPMS/x86_64/yubihsm-devel*.rpm $OUTPUT/
295+
296+
cd $OUTPUT
297+
rm -f yubihsm-manager-$PLATFORM-amd64.tar.gz
298+
tar -C .. -zcvf ../yubihsm-manager-$PLATFORM-amd64.tar.gz yubihsm-manager
299+
rm -f *.deb
300+
rm -rf ../yubihsm-manager
256301
257302
- name: upload artifacts
258303
uses: actions/upload-artifact@v4
@@ -267,7 +312,7 @@ jobs:
267312
fail-fast: false
268313
matrix:
269314
include:
270-
- os: macos-latest
315+
- os: macos-latest-large
271316
arch: amd
272317
- os: macos-latest-xlarge
273318
arch: arm
@@ -378,35 +423,16 @@ jobs:
378423
379424
mkdir artifact
380425
381-
C:/vcpkg/vcpkg.exe install openssl:x64-windows
382-
C:/vcpkg/vcpkg.exe install openssl:x64-windows-static
383-
C:/vcpkg/vcpkg.exe integrate install
384-
$env:VCPKGRS_DYNAMIC=1
385-
$env:OPENSSL_ROOT_DIR ="C:/vcpkg/packages/openssl_x64-windows"
386-
$env:OPENSSL_LIBS="ssl:crypto"
387-
388-
$env:OPENSSL_LIB_DIR="$env:OPENSSL_ROOT_DIR\lib"
389-
$env:OPENSSL_INCLUDE_DIR="$env:OPENSSL_ROOT_DIR\include"
390-
$env:OPENSSL_DIR="$env:OPENSSL_ROOT_DIR"
391-
392-
#$env:OPENSSL_LIB_DIR="C:\Strawberry\c\lib"
393-
#$env:OPENSSL_INCLUDE_DIR="C:\Strawberry\c\include"
394-
#$env:OPENSSL_DIR="C:\Strawberry\c"
395-
396-
ls $env:OPENSSL_DIR/
397-
ls $env:OPENSSL_DIR/bin
398-
399426
rustup target add x86_64-pc-windows-msvc
400427
rustup default stable-x86_64-pc-windows-msvc
401428
402429
$env:RUST_BACKTRACE=1
403-
$env:YUBIHSM_LIB_DIR="C:\Program Files\Yubico\YubiHSM Shell\bin"
404-
#$env:PATH+=";C:\Program Files\Yubico\YubiHSM Shell\bin;C:\rtools44\x86_64-w64-mingw32.static.posix\bin"
430+
$env:YUBIHSM_LIB_DIR="C:\Program Files\Yubico\YubiHSM Shell\lib"
405431
$env:PATH+=";C:\Program Files\Yubico\YubiHSM Shell\bin"
406432
cargo.exe update
407433
cargo.exe build --release
408-
./target/release/yubihsm-manager.exe --help
409434
./target/release/yubihsm-manager.exe --version
435+
./target/release/yubihsm-manager.exe --help
410436
install target/release/yubihsm-manager $env:GITHUB_WORKSPACE/artifact/yubihsm-manager
411437
412438
- name: Upload artifact

0 commit comments

Comments
 (0)