diff --git a/README.md b/README.md index fe75eea..40052ec 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,11 @@ An example of using these APIs is in [test_verify.c](./tests/test_verify.c) - Parsing the JWT Signature. This is done by `xjwt__parse_ec_signature` function in [parse.c](./src/parse.c). - Validation of the EC Signature for the Header+Payload is done using OpenSSL's EVP API. +## Building Centos7 rpm + +Assuming a proper rpmbuild environment exists on the build host, a pair of rpms (bin and devel) for Centos7 can be built using the included spec file like so: +```rpmbuild --undefine=_disable_source_fetch -bb dist/rpm/libxjwt.spec``` + # License `libxjwt` is licensed under the Apache License Version 2.0. See the [LICENSE file](./LICENSE) for details. diff --git a/dist/rpm/libxjwt.spec b/dist/rpm/libxjwt.spec new file mode 100644 index 0000000..cd89524 --- /dev/null +++ b/dist/rpm/libxjwt.spec @@ -0,0 +1,50 @@ +Name: libxjwt +Version: 1.0.2 +Release: 1%{?dist} + +Summary: Minimal C library for validation of real-world JWTs +License: Apache 2.0 +Group: System/Libraries +Source0: https://github.com/ScaleFT/libxjwt/archive/v%{version}.tar.gz + +URL: https://github.com/ScaleFT/libxjwt +Vendor: ScaleFT http://scaleft.com + +BuildRequires: openssl-devel +BuildRequires: jansson-devel + +Prefix: %{_prefix} + +%description +libxjwt seeks to provide a minimal c89-style library and API surface for validating a compact-form JWT against a set of JWKs. This is not meant to be a general purpose JOSE library. If you are looking for a more general purpose C library, consider cjose. + +%files +%{_prefix}/lib/%{name}.* +%license $RPM_BUILD_DIR/%{name}-%{version}/LICENSE +%doc $RPM_BUILD_DIR/%{name}-%{version}/README.md + +%package -n %{name}-devel +Summary: %{name} dev files +Group: Development/Other +Requires: %{name} = %{version}-%{release} +Provides: %{name}-devel = %{version}-%{release} + +%description -n %{name}-devel +%{name} development files. + +%files -n %{name}-devel +%{_prefix}/include/xjwt/*.h + +%prep +rm -Rf $RPM_BUILD_DIR/%{name}-%{version} +tar xvfz $RPM_SOURCE_DIR/v%{version}.tar.gz -C $RPM_BUILD_DIR/ + +%build +cd %{name}-%{version} +./configure --prefix=%{_prefix} +make + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +cd %{name}-%{version} +make DESTDIR=$RPM_BUILD_ROOT install