Browse Source

Initial packaging

Christoph Biedl 3 years ago
parent
commit
26d0044aa8

+ 1 - 0
debian/compat

@@ -0,0 +1 @@
+10

+ 47 - 0
debian/control

@@ -0,0 +1,47 @@
+Source: jose
+Maintainer: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Homepage: https://github.com/latchset/jose
+Standards-Version: 4.1.1
+Build-Depends: debhelper (>= 10~),
+    libjansson-dev,
+    libssl-dev,
+    pkg-config,
+    zlib1g-dev,
+Priority: optional
+Section: net
+
+Package: jose
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends},
+Description: C implementation of Javascript Object Signing and Encryption standards
+ José is a C-language implementation of the Javascript Object Signing
+ and Encryption standards. Specifically, José aims towards implementing
+ the following standards:
+ .
+   RFC 7515 - JSON Web Signature (JWS)
+   RFC 7516 - JSON Web Encryption (JWE)
+   RFC 7517 - JSON Web Key (JWK)
+   RFC 7518 - JSON Web Algorithms (JWA)
+   RFC 7519 - JSON Web Token (JWT)
+   RFC 7520 - Examples of ... JOSE
+   RFC 7638 - JSON Web Key (JWK) Thumbprint
+
+Package: libjose0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends},
+Section: libs
+Multi-Arch: same
+Description: Javascript Object Signing and Encryption (José) - library
+ This package provides the shared library for José, a C-language
+ implementation of the Javascript Object Signing and Encryption
+ standards.
+
+Package: libjose-dev
+Architecture: any
+Depends: ${misc:Depends},
+   libjose0 (= ${binary:Version}),
+Section: libdevel
+Description: Javascript Object Signing and Encryption (José) - development files
+ This package provides the development files for José, a C-language
+ implementation of the Javascript Object Signing and Encryption
+ standards.

+ 28 - 0
debian/copyright

@@ -0,0 +1,28 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: jose
+Source: https://github.com/latchset/jose
+
+Files: *
+Copyright: Copyright 2016 Red Hat, Inc.
+License: Apache-2.0
+
+Files:
+ debian/*
+Copyright: 2017 Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+License: Apache-2.0
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the complete text of the Apache version 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".

+ 19 - 0
debian/jose.install

@@ -0,0 +1,19 @@
+
+usr/bin/jose
+usr/share/man/man1/jose.1
+usr/share/man/man1/jose-alg.1
+usr/share/man/man1/jose-b64-dec.1
+usr/share/man/man1/jose-b64-enc.1
+usr/share/man/man1/jose-jwe-dec.1
+usr/share/man/man1/jose-jwe-enc.1
+usr/share/man/man1/jose-jwe-fmt.1
+usr/share/man/man1/jose-jwk-exc.1
+usr/share/man/man1/jose-jwk-gen.1
+usr/share/man/man1/jose-jwk-pub.1
+usr/share/man/man1/jose-jwk-thp.1
+usr/share/man/man1/jose-jwk-use.1
+usr/share/man/man1/jose-jws-fmt.1
+usr/share/man/man1/jose-jws-sig.1
+usr/share/man/man1/jose-jws-ver.1
+
+usr/share/man/man1/jose-fmt.1

+ 21 - 0
debian/libjose-dev.install

@@ -0,0 +1,21 @@
+
+usr/lib/*/*.so
+
+usr/include/jose/b64.h
+usr/include/jose/cfg.h
+usr/include/jose/io.h
+usr/include/jose/jose.h
+usr/include/jose/jwe.h
+usr/include/jose/jwk.h
+usr/include/jose/jws.h
+usr/include/jose/openssl.h
+
+usr/share/man/man3/jose_b64.3
+usr/share/man/man3/jose_cfg.3
+usr/share/man/man3/jose_io.3
+usr/share/man/man3/jose_io_t.3
+usr/share/man/man3/jose_jwe.3
+usr/share/man/man3/jose_jwk.3
+usr/share/man/man3/jose_jws.3
+
+usr/lib/*/pkgconfig/jose.pc

+ 2 - 0
debian/libjose0.install

@@ -0,0 +1,2 @@
+
+usr/lib/*/*.so.*

+ 61 - 0
debian/libjose0.symbols

@@ -0,0 +1,61 @@
+libjose.so.0 libjose0 #MINVER#
+ LIBJOSE_1.0@LIBJOSE_1.0 10
+ LIBJOSE_OPENSSL_1.0@LIBJOSE_OPENSSL_1.0 10
+ jose_b64_dec@LIBJOSE_1.0 10
+ jose_b64_dec_buf@LIBJOSE_1.0 10
+ jose_b64_dec_io@LIBJOSE_1.0 10
+ jose_b64_dec_load@LIBJOSE_1.0 10
+ jose_b64_enc@LIBJOSE_1.0 10
+ jose_b64_enc_buf@LIBJOSE_1.0 10
+ jose_b64_enc_dump@LIBJOSE_1.0 10
+ jose_b64_enc_io@LIBJOSE_1.0 10
+ jose_cfg@LIBJOSE_1.0 10
+ jose_cfg_auto@LIBJOSE_1.0 10
+ jose_cfg_decref@LIBJOSE_1.0 10
+ jose_cfg_err@LIBJOSE_1.0 10
+ jose_cfg_get_err_misc@LIBJOSE_1.0 10
+ jose_cfg_incref@LIBJOSE_1.0 10
+ jose_cfg_set_err_func@LIBJOSE_1.0 10
+ jose_hook_alg_find@LIBJOSE_1.0 10
+ jose_hook_alg_list@LIBJOSE_1.0 10
+ jose_hook_alg_push@LIBJOSE_1.0 10
+ jose_hook_jwk_list@LIBJOSE_1.0 10
+ jose_hook_jwk_push@LIBJOSE_1.0 10
+ jose_io_auto@LIBJOSE_1.0 10
+ jose_io_buffer@LIBJOSE_1.0 10
+ jose_io_decref@LIBJOSE_1.0 10
+ jose_io_file@LIBJOSE_1.0 10
+ jose_io_incref@LIBJOSE_1.0 10
+ jose_io_malloc@LIBJOSE_1.0 10
+ jose_io_malloc_steal@LIBJOSE_1.0 10
+ jose_io_multiplex@LIBJOSE_1.0 10
+ jose_jwe_dec@LIBJOSE_1.0 10
+ jose_jwe_dec_cek@LIBJOSE_1.0 10
+ jose_jwe_dec_cek_io@LIBJOSE_1.0 10
+ jose_jwe_dec_io@LIBJOSE_1.0 10
+ jose_jwe_dec_jwk@LIBJOSE_1.0 10
+ jose_jwe_enc@LIBJOSE_1.0 10
+ jose_jwe_enc_cek@LIBJOSE_1.0 10
+ jose_jwe_enc_cek_io@LIBJOSE_1.0 10
+ jose_jwe_enc_io@LIBJOSE_1.0 10
+ jose_jwe_enc_jwk@LIBJOSE_1.0 10
+ jose_jwe_hdr@LIBJOSE_1.0 10
+ jose_jwk_eql@LIBJOSE_1.0 10
+ jose_jwk_exc@LIBJOSE_1.0 10
+ jose_jwk_gen@LIBJOSE_1.0 10
+ jose_jwk_prm@LIBJOSE_1.0 10
+ jose_jwk_pub@LIBJOSE_1.0 10
+ jose_jwk_thp@LIBJOSE_1.0 10
+ jose_jwk_thp_buf@LIBJOSE_1.0 10
+ jose_jws_hdr@LIBJOSE_1.0 10
+ jose_jws_sig@LIBJOSE_1.0 10
+ jose_jws_sig_io@LIBJOSE_1.0 10
+ jose_jws_ver@LIBJOSE_1.0 10
+ jose_jws_ver_io@LIBJOSE_1.0 10
+ jose_openssl_jwk_from_EC_KEY@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_from_EC_POINT@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_from_EVP_PKEY@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_from_RSA@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_to_EC_KEY@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_to_EVP_PKEY@LIBJOSE_OPENSSL_1.0 10
+ jose_openssl_jwk_to_RSA@LIBJOSE_OPENSSL_1.0 10

+ 1 - 0
debian/patches/series

@@ -0,0 +1 @@
+typo-fixes.patch

+ 86 - 0
debian/patches/typo-fixes.patch

@@ -0,0 +1,86 @@
+Description: Typo fixes
+Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Date: 2017-11-04
+Forwarded: https://github.com/latchset/jose/issues/49
+
+--- a/doc/doxygen/man/man3/jose_cfg.3
++++ b/doc/doxygen/man/man3/jose_cfg.3
+@@ -37,7 +37,7 @@
+ .ti -1c
+ .RI "void * \fBjose_cfg_get_err_misc\fP (jose_cfg_t *cfg)"
+ .br
+-.RI "Gets the miscelaneous data associated with the current error handler\&. "
++.RI "Gets the miscellaneous data associated with the current error handler\&. "
+ .ti -1c
+ .RI "void \fBjose_cfg_err\fP (jose_cfg_t *cfg, uint64_t err, const char *fmt,\&.\&.\&.)"
+ .br
+@@ -116,14 +116,14 @@
+ .br
+ \fIerr\fP The error handler function you wish to enable\&. 
+ .br
+-\fImisc\fP The miscelaneous data you wish to pass to the error handler\&. 
++\fImisc\fP The miscellaneous data you wish to pass to the error handler\&. 
+ .RE
+ .PP
+ 
+ .SS "void* jose_cfg_get_err_misc (jose_cfg_t * cfg)"
+ 
+ .PP
+-Gets the miscelaneous data associated with the current error handler\&. 
++Gets the miscellaneous data associated with the current error handler\&. 
+ .PP
+ \fBParameters:\fP
+ .RS 4
+@@ -132,7 +132,7 @@
+ .PP
+ \fBReturns:\fP
+ .RS 4
+-The miscelaneous data associated with the error handler\&. 
++The miscellaneous data associated with the error handler\&. 
+ .RE
+ .PP
+ 
+--- a/doc/doxygen/man/man3/jose_jwe.3
++++ b/doc/doxygen/man/man3/jose_jwe.3
+@@ -146,7 +146,7 @@
+ .fi
+ .PP
+ .PP
+-In all the above examples, parameters like which encryption algorithms to use were inferred from our keys\&. Where such an inferrence cannot be made, sensible and secure defaults were chosen automatically\&. If you would like more control over the process, simply set parameters in the appropriate objects (more on this in the function documentation)\&. For example, to enable plaintext compression, you can specify the \fCzip\fP property in the JWE Protected Header: 
++In all the above examples, parameters like which encryption algorithms to use were inferred from our keys\&. Where such an inference cannot be made, sensible and secure defaults were chosen automatically\&. If you would like more control over the process, simply set parameters in the appropriate objects (more on this in the function documentation)\&. For example, to enable plaintext compression, you can specify the \fCzip\fP property in the JWE Protected Header: 
+ .PP
+ .nf
+ json_t *enc(void *plaintext, size_t len, json_t *jwkset) {
+--- a/jose/cfg.h
++++ b/jose/cfg.h
+@@ -98,16 +98,16 @@
+  *
+  * \param cfg  The configuration context.
+  * \param err  The error handler function you wish to enable.
+- * \param misc The miscelaneous data you wish to pass to the error handler.
++ * \param misc The miscellaneous data you wish to pass to the error handler.
+  */
+ void
+ jose_cfg_set_err_func(jose_cfg_t *cfg, jose_cfg_err_t *err, void *misc);
+ 
+ /**
+- * Gets the miscelaneous data associated with the current error handler.
++ * Gets the miscellaneous data associated with the current error handler.
+  *
+  * \param cfg  The configuration context.
+- * \return     The miscelaneous data associated with the error handler.
++ * \return     The miscellaneous data associated with the error handler.
+  */
+ void *
+ jose_cfg_get_err_misc(jose_cfg_t *cfg);
+--- a/jose/jwe.h
++++ b/jose/jwe.h
+@@ -107,7 +107,7 @@
+  *     }
+  *
+  * In all the above examples, parameters like which encryption algorithms to
+- * use were inferred from our keys. Where such an inferrence cannot be made,
++ * use were inferred from our keys. Where such an inference cannot be made,
+  * sensible and secure defaults were chosen automatically. If you would like
+  * more control over the process, simply set parameters in the appropriate
+  * objects (more on this in the function documentation). For example,

+ 15 - 0
debian/rules

@@ -0,0 +1,15 @@
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
+
+%:
+	dh $@
+
+override_dh_auto_install:
+	dh_auto_install
+
+	# Remove useless files
+	rm -f debian/tmp/usr/lib/*/*.la
+
+override_dh_missing:
+	dh_missing --fail-missing

+ 1 - 0
debian/source/format

@@ -0,0 +1 @@
+3.0 (quilt)

+ 4 - 0
debian/watch

@@ -0,0 +1,4 @@
+
+version=3
+https://github.com/latchset/jose/releases \
+    /latchset/jose/releases/download/[^/]+/jose-([0-9][.0-9]*)\.tar\.bz2