├── Makefile ├── README.md └── openssl-gost-engine.spec /Makefile: -------------------------------------------------------------------------------- 1 | VERSION:=$(shell date +%Y%m%d) 2 | RPMTOP:=$(shell rpm --eval '%_topdir') 3 | ARCH:=$(shell rpm --eval '%_arch') 4 | DIST:=$(shell rpm --eval '%dist') 5 | BRANCH=master 6 | 7 | rpm: openssl-gost-engine-$(VERSION)-1$(DIST).$(ARCH).rpm gostsum-$(VERSION)-1$(DIST).$(ARCH).rpm 8 | 9 | %-$(VERSION)-1$(DIST).$(ARCH).rpm: $(RPMTOP)/RPMS/$(ARCH)/%-$(VERSION)-1$(DIST).$(ARCH).rpm 10 | cp $^ $@ 11 | 12 | $(RPMTOP)/RPMS/$(ARCH)/openssl-gost-engine-$(VERSION)-1$(DIST).$(ARCH).rpm $(RPMTOP)/RPMS/$(ARCH)/gostsum-$(VERSION)-1$(DIST).$(ARCH).rpm: $(RPMTOP)/SOURCES/openssl-gost-engine-$(VERSION).tar.bz2 $(RPMTOP)/SPECS/openssl-gost-engine.spec 13 | mkdir -p $(RPMTOP)/RPMS/$(ARCH) || true 14 | mkdir -p $(RPMTOP)/SRPMS 15 | rpmbuild -ba $(RPMTOP)/SPECS/openssl-gost-engine.spec 16 | 17 | $(RPMTOP)/SPECS/openssl-gost-engine.spec: openssl-gost-engine.spec 18 | mkdir -p $(RPMTOP)/SPECS || true 19 | sed 's/^Version: .*$$/Version: $(VERSION)/' $^> $@ 20 | 21 | $(RPMTOP)/SOURCES/openssl-gost-engine-$(VERSION).tar.bz2: engine/README.md 22 | mkdir -p $(RPMTOP)/SOURCES || true 23 | cd engine; git pull 24 | cd engine; git archive --format tar --prefix=openssl-gost-engine-$(VERSION)/ $(BRANCH) > $@ 25 | 26 | engine/README.md: 27 | git clone https://github.com/gost-engine/engine.git 28 | 29 | 30 | envtest: 31 | : ARCH=$(ARCH) 32 | : VERSION=$(VERSION) 33 | : RPMTOP=$(RPMTOP) 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | GOST ENGINE RPM 2 | =============== 3 | 4 | This repository contain spec files to build rpm package for gost engine. 5 | 6 | Separate GOST engine package can be build for systems with openssl 1.1.0 and 7 | above. 8 | 9 | We have no plans to support CentOS/RHEL/OracleLinux until they would 10 | release version 8 with appropriate OpenSSl in the base system. 11 | 12 | Now this spec files are intended for recent releases of Fedora and, 13 | possible other RPM-based distros which do include OpenSSL 1.1 and above. 14 | 15 | You should have installed rpm-build, git, openssl-devel and cmake in order 16 | to build RPM package 17 | 18 | Type make in this directory and it would 19 | 20 | 1. Clone gost-engine/engine repository 21 | 2. Prepare source tarball 22 | 3. Copy it and spec file out into rpm build tree 23 | 4. Build RPM 24 | 5. Copy it back here. 25 | 26 | -------------------------------------------------------------------------------- /openssl-gost-engine.spec: -------------------------------------------------------------------------------- 1 | Name: openssl-gost-engine 2 | Version: 3 | Release: 1%{?dist} 4 | Summary: Loadable module for openssl implementing GOST cryptoalgoritms 5 | 6 | Group: Libraries/Cryptography 7 | License: OpenSSL 8 | URL: https://github.com/gost-engine/engine 9 | Source0: %{name}-%{version}.tar.bz2 10 | 11 | BuildRequires: cmake, openssl-devel >= %{?rhel:1:}1.1 12 | Requires: openssl-libs 13 | 14 | 15 | %description 16 | 17 | This package contains openssl module with software implementation of GOST cryptoalgorithms. 18 | 19 | %package -n gostsum 20 | Summary: utilities to compute GOST hashes 21 | Group: Utilities/Cryptography 22 | License: OpenSSL 23 | 24 | %description -n gostsum 25 | Gostsum and gost12sum are utilities, similar to md5sum or sha1sum which computes 26 | 27 | 28 | %prep 29 | %setup -q 30 | 31 | 32 | %build 33 | cmake . 34 | make %{?_smp_mflags} 35 | 36 | 37 | %install 38 | install -d -m 755 %{buildroot}%{_libdir}/engines-1.1 39 | install -c -m 755 bin/gost.so %{buildroot}%{_libdir}/engines-1.1 40 | install -d -m 755 %{buildroot}%{_bindir} 41 | install -d -m 755 %{buildroot}%{_mandir}/man1 42 | install -c -m 755 bin/gostsum %{buildroot}%{_bindir} 43 | install -c -m 755 bin/gost12sum %{buildroot}%{_bindir} 44 | install -c -m 644 gostsum.1 %{buildroot}%{_mandir}/man1 45 | install -c -m 644 gost12sum.1 %{buildroot}%{_mandir}/man1 46 | 47 | %files 48 | %doc README.gost 49 | %doc README.md 50 | %dir %{_libdir}/engines-1.1 51 | %{_libdir}/engines-1.1/gost.so 52 | 53 | %files -n gostsum 54 | %{_bindir}/gostsum 55 | %{_bindir}/gost12sum 56 | %{_mandir}/man1/gostsum.1* 57 | %{_mandir}/man1/gost12sum.1* 58 | 59 | %changelog 60 | 61 | * Wed Aug 2 2017 Victor Wagner 62 | - initial release 63 | 64 | --------------------------------------------------------------------------------