From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- net-misc/sks/Manifest | 1 + .../sks/files/sks-1.1.5-disable-warn-error-a.patch | 29 +++++ net-misc/sks/files/sks-1.1.5-eddsa.patch | 84 +++++++++++++++ net-misc/sks/files/sks-db.initd | 25 +++++ net-misc/sks/files/sks-db.service | 11 ++ net-misc/sks/files/sks-recon.initd | 26 +++++ net-misc/sks/files/sks-recon.service | 11 ++ net-misc/sks/files/sks.confd | 4 + net-misc/sks/metadata.xml | 15 +++ net-misc/sks/sks-1.1.5-r1.ebuild | 117 +++++++++++++++++++++ net-misc/sks/sks-1.1.5.ebuild | 114 ++++++++++++++++++++ 11 files changed, 437 insertions(+) create mode 100644 net-misc/sks/Manifest create mode 100644 net-misc/sks/files/sks-1.1.5-disable-warn-error-a.patch create mode 100644 net-misc/sks/files/sks-1.1.5-eddsa.patch create mode 100644 net-misc/sks/files/sks-db.initd create mode 100644 net-misc/sks/files/sks-db.service create mode 100644 net-misc/sks/files/sks-recon.initd create mode 100644 net-misc/sks/files/sks-recon.service create mode 100644 net-misc/sks/files/sks.confd create mode 100644 net-misc/sks/metadata.xml create mode 100644 net-misc/sks/sks-1.1.5-r1.ebuild create mode 100644 net-misc/sks/sks-1.1.5.ebuild (limited to 'net-misc/sks') diff --git a/net-misc/sks/Manifest b/net-misc/sks/Manifest new file mode 100644 index 000000000000..d751a70d1851 --- /dev/null +++ b/net-misc/sks/Manifest @@ -0,0 +1 @@ +DIST sks-1.1.5.tgz 362941 SHA256 92a7f113f0ba7a28d51d7ced60a984d042d8524c651dc3fcafe9d11cc32981a0 SHA512 1fc1248281b4eb6bd0bafad7f3d1600ee86905614ee5c644d532059f972040c2673bee780a414e50e9287fc74fd140ac85db9629d502cff989981904acd3710c WHIRLPOOL 4281b40d72e7370b7c848d683beff2f4bd705a06139a25b27efe5be8a521df9fb870bdeeea97ac3617d542b64fd9c539f90d8f695cea1fec2bdcf267a2d3dc1f diff --git a/net-misc/sks/files/sks-1.1.5-disable-warn-error-a.patch b/net-misc/sks/files/sks-1.1.5-disable-warn-error-a.patch new file mode 100644 index 000000000000..18af6c524a22 --- /dev/null +++ b/net-misc/sks/files/sks-1.1.5-disable-warn-error-a.patch @@ -0,0 +1,29 @@ +From 5142992b465e87181a4674ac614bf7d2fd7110c4 Mon Sep 17 00:00:00 2001 +From: Kristian Fiskerstrand +Date: Sun, 26 Jul 2015 21:25:53 +0200 +Subject: [PATCH] (Makefile) Disable warn-error A + +warn-error A is set for development versions (tagged with +) upstream, +however it is not intended to actually be fatal errors for released +versions. We want to keep EdDSA support, i.e it is actually one +commit past 1.1.5, so just disabling making warnings fatal. +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 543c531..d4a1222 100644 +--- a/Makefile ++++ b/Makefile +@@ -49,7 +49,7 @@ SKSVS=$(shell grep 'version_suffix = "+"' common.ml) + ifeq ($(strip $(SKSVS)),) + WARNERR= + else +-WARNERR=-warn-error A ++WARNERR= + endif + + CAMLP4=-pp $(CAMLP4O) +-- +2.3.6 + diff --git a/net-misc/sks/files/sks-1.1.5-eddsa.patch b/net-misc/sks/files/sks-1.1.5-eddsa.patch new file mode 100644 index 000000000000..36359f233c49 --- /dev/null +++ b/net-misc/sks/files/sks-1.1.5-eddsa.patch @@ -0,0 +1,84 @@ +diff -r 4d5e4fd7c1c2 CHANGELOG +--- a/CHANGELOG Mon Aug 11 20:56:45 2014 -0500 ++++ b/CHANGELOG Tue Feb 03 00:01:20 2015 +0100 +@@ -1,3 +1,7 @@ ++Development: ++ - Add support for EdDSA key using Ed25519 signature scheme ++ (http://www.ietf.org/id/draft-koch-eddsa-for-openpgp-00.txt) ++ + 1.1.5 + - Fixes for machine-readable indices. Key expiration times are now read + from self-signatures on the key's UIDs. In addition, instead of 8-digit +diff -r 4d5e4fd7c1c2 common.ml +--- a/common.ml Mon Aug 11 20:56:45 2014 -0500 ++++ b/common.ml Tue Feb 03 00:01:20 2015 +0100 +@@ -47,7 +47,7 @@ + (* for Release versions, COMMONCAMLFLAGS in Makefile should include *) + (* '-warn-error a'. Development work should use '-warn-error A' for stricter *) + (* language checking. This affects the Ocaml compiler beginning with v4.01.0 *) +-let version_suffix = "" (* + for development branch *) ++let version_suffix = "+" (* + for development branch *) + let compatible_version_tuple = (0,1,5) + let version = + let (maj_version,min_version,release) = version_tuple in +diff -r 4d5e4fd7c1c2 packet.ml +--- a/packet.ml Mon Aug 11 20:56:45 2014 -0500 ++++ b/packet.ml Tue Feb 03 00:01:20 2015 +0100 +@@ -163,6 +163,7 @@ + | 19 -> "ECDSA (ECC)" (* RFC 6637 *) + | 20 -> "Elgamal (Encrypt or Sign)" + | 21 -> "Reserved for Diffie-Hellman (X9.42) as defined for IETF-S/MIME" ++ | 22 -> "EdDSA" + | x when x >= 100 && x <= 110 -> "Private/Experimental algorithm." + | _ -> "Unknown Public Key Algorithm" + +@@ -252,10 +253,11 @@ + | 2 -> "r" (* RSA encrypt *) + | 3 -> "s" (* RSA sign *) + | 16 -> "g" (* ElGamal encrypt *) +- | 20 -> "G" (* ElGamal sign and encrypt *) + | 17 -> "D" (* DSA *) + | 18 -> "e" (* ECDH *) + | 19 -> "E" (* ECDSA *) ++ | 20 -> "G" (* ElGamal sign and encrypt *) ++ | 22 -> "E" (* EdDSA *) + | _ -> "?" (* NoClue *) + + (** writes out packet, using old-style packets when possible *) +diff -r 4d5e4fd7c1c2 parsePGP.ml +--- a/parsePGP.ml Mon Aug 11 20:56:45 2014 -0500 ++++ b/parsePGP.ml Tue Feb 03 00:01:20 2015 +0100 +@@ -150,6 +150,7 @@ + | "\x2b\x24\x03\x03\x02\x08\x01\x01\x0b" -> 384 (* brainpoolP384r1 *) + | "\x2b\x24\x03\x03\x02\x08\x01\x01\x0d" -> 512 (* brainpoolP512r1 *) + | "\x2b\x81\x04\x00\x0a" -> 256 (* secp256k1 *) ++ | "\x2b\x06\x01\x04\x01\xda\x47\x0f\x01" -> 256 (* Ed25519 *) + | _ -> failwith "Unknown OID" + in + psize +@@ -168,6 +169,7 @@ + in + (mpi, psize) + ++ (* Algorithm specific fields for ECDSA and EdDSA *) + let parse_ecdsa_pubkey cin = + let length = cin#read_int_size 1 in + let oid = cin#read_string length in +@@ -185,7 +187,7 @@ + let algorithm = cin#read_byte in + let (tmpmpi, tmpsize) = match algorithm with + | 18 -> parse_ecdh_pubkey cin +- | 19 -> ( {mpi_bits = 0; mpi_data = ""}, (parse_ecdsa_pubkey cin)) ++ | 19 | 22 -> ( {mpi_bits = 0; mpi_data = ""}, (parse_ecdsa_pubkey cin)) + | _ -> ( {mpi_bits = 0; mpi_data = ""} , -1 ) + in + let mpis = match algorithm with +@@ -205,7 +207,7 @@ + pk_ctime = creation_time; + pk_expiration = (match expiration with Some 0 -> None | x -> x); + pk_alg = algorithm; +- pk_keylen = (match algorithm with |18|19 -> psize | _ -> mpi.mpi_bits); ++ pk_keylen = (match algorithm with |18|19|22 -> psize | _ -> mpi.mpi_bits); + } + + (********************************************************) diff --git a/net-misc/sks/files/sks-db.initd b/net-misc/sks/files/sks-db.initd new file mode 100644 index 000000000000..93f1561d7eb1 --- /dev/null +++ b/net-misc/sks/files/sks-db.initd @@ -0,0 +1,25 @@ +#!/sbin/runscript +source /etc/conf.d/sks + +command=/usr/bin/sks +command_args="db ${SKS_ARGS}" +command_background=1 +description="SKS database thread" +name="SKS db" +pidfile="/var/run/sks-db.pid" +required_files="${SKS_DIR}/sksconf" +start_stop_daemon_args="--chdir ${SKS_DIR} --user sks" + + +depend() +{ + use net +} + +start_pre() +{ + checkpath --owner sks:sks --directory \ + ${SKS_DIR} ${SKS_DIR}/KDB ${SKS_DIR}/PTree + checkpath --owner sks:sks --file \ + ${SKS_DIR}/*.log ${SKS_DIR}/KDB/* ${SKS_DIR}/PTree/* +} diff --git a/net-misc/sks/files/sks-db.service b/net-misc/sks/files/sks-db.service new file mode 100644 index 000000000000..bbc3ba7e2b2d --- /dev/null +++ b/net-misc/sks/files/sks-db.service @@ -0,0 +1,11 @@ +[Unit] +Description=SKS database thread +After=network.target + +[Service] +ExecStart=/usr/bin/sks db +User=sks +WorkingDirectory=/var/lib/sks + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/sks/files/sks-recon.initd b/net-misc/sks/files/sks-recon.initd new file mode 100644 index 000000000000..be44cb7e3cf7 --- /dev/null +++ b/net-misc/sks/files/sks-recon.initd @@ -0,0 +1,26 @@ +#!/sbin/runscript +source /etc/conf.d/sks + +command=/usr/bin/sks +command_args="recon ${SKS_ARGS}" +command_background=1 +description="Reconnoiters SKS peers for keys" +name="SKS recon" +pidfile="/var/run/sks-recon.pid" +required_files="${SKS_DIR}/sksconf ${SKS_DIR}/membership" +start_stop_daemon_args="--chdir ${SKS_DIR} --user sks" + + +depend() +{ + after sks-db + use net +} + +start_pre() +{ + checkpath --owner sks:sks --directory \ + ${SKS_DIR} ${SKS_DIR}/KDB ${SKS_DIR}/PTree + checkpath --owner sks:sks --file \ + ${SKS_DIR}/*.log ${SKS_DIR}/KDB/* ${SKS_DIR}/PTree/* +} diff --git a/net-misc/sks/files/sks-recon.service b/net-misc/sks/files/sks-recon.service new file mode 100644 index 000000000000..97ee52ffc0ed --- /dev/null +++ b/net-misc/sks/files/sks-recon.service @@ -0,0 +1,11 @@ +[Unit] +Description=SKS key reconnaissance thread +After=network.target + +[Service] +ExecStart=/usr/bin/sks recon +User=sks +WorkingDirectory=/var/lib/sks + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/sks/files/sks.confd b/net-misc/sks/files/sks.confd new file mode 100644 index 000000000000..64eef24ecc52 --- /dev/null +++ b/net-misc/sks/files/sks.confd @@ -0,0 +1,4 @@ +SKS_DIR="/var/lib/sks" + +# Set common options for sks db and sks recon here. +SKS_ARGS="" \ No newline at end of file diff --git a/net-misc/sks/metadata.xml b/net-misc/sks/metadata.xml new file mode 100644 index 000000000000..5b619cd7fdab --- /dev/null +++ b/net-misc/sks/metadata.xml @@ -0,0 +1,15 @@ + + + + + k_f@gentoo.org + Kristian Fiskerstrand + Maintainer + + + Enables bytecode optimization + + + skskeyserver/sks-keyserver + + diff --git a/net-misc/sks/sks-1.1.5-r1.ebuild b/net-misc/sks/sks-1.1.5-r1.ebuild new file mode 100644 index 000000000000..7ccf67f6817a --- /dev/null +++ b/net-misc/sks/sks-1.1.5-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit multilib user readme.gentoo systemd + +DESCRIPTION="An OpenPGP keyserver which is decentralized and provides highly reliable synchronization" +HOMEPAGE="https://bitbucket.org/skskeyserver/sks-keyserver" +SRC_URI="http://bitbucket.org/skskeyserver/sks-keyserver/downloads/${P}.tgz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="optimize test" +DOC_CONTENTS="To get sks running, first build the database, +start the databse, import atleast one key, then +run a cleandb. See the sks man page for more information +Typical DB_CONFIG file and sksconf has been installed +in /var/lib/sks and can be used as templates by renaming +to remove the .typical extension. The DB_CONFIG file has +to be in place before doing the database build, or the BDB +environment has to be manually cleared from both KDB and PTree. +The same applies if you are upgrading to this version with an existing KDB/Ptree, +using another version of BDB than 4.8; you need to clear the environment +using e.g. db4.6_recover -h . and db4.6_checkpoint -1h . in both KDB and PTree +Additionally a sample web interface has been installed as +web.typical in /var/lib/sks that can be used by renaming it to web +Important: It is strongly recommended to set up SKS behind a +reverse proxy. Instructions on properly configuring SKS can be +found at https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Peering" + +DEPEND="dev-lang/ocaml + dev-ml/cryptokit + sys-libs/db:4.8" +RDEPEND="${DEPEND}" + +pkg_setup() { + ebegin "Creating named group and user" + enewgroup sks + enewuser sks -1 -1 /var/lib/sks sks +} + +src_prepare() { + cp Makefile.local.unused Makefile.local || die + sed -i \ + -e "s:^BDBLIB=.*$:BDBLIB=-L/usr/$(get_libdir):g" \ + -e "s:^BDBINCLUDE=.*$:BDBINCLUDE=-I/usr/include/db4.8/:g" \ + -e "s:^LIBDB=.*$:LIBDB=-ldb-4.8:g" \ + -e "s:^PREFIX=.*$:PREFIX=${D}/usr:g" \ + -e "s:^MANDIR=.*$:MANDIR=${D}/usr/share/man:g" \ + Makefile.local || die + sed -i \ + -e 's:^CAMLINCLUDE= -I lib -I bdb$:CAMLINCLUDE= -I lib -I bdb -I +cryptokit:g' \ + -e 's:-Werror-implicit-function-declaration::g' \ + Makefile bdb/Makefile || die + sed -i \ + -e 's:/usr/sbin/sks:/usr/bin/sks:g' \ + sks_build.sh || die + + epatch "${FILESDIR}/${P}-eddsa.patch" + epatch "${FILESDIR}/${P}-disable-warn-error-a.patch" +} + +src_compile() { + emake dep + # sks build fails with paralell build in module Bdb + emake -j1 all + if use optimize; then + emake all.bc + fi +} + +src_test() { + ./sks unit_test || die +} + +src_install() { + if use optimize; then + emake install.bc + dosym /usr/bin/sks.bc usr/bin/sks + dosym /usr/bin/sks_add_mail.bc usr/bin/sks_add_mail + else + emake install + fi + + dodoc README.md + + newinitd "${FILESDIR}/sks-db.initd" sks-db + newinitd "${FILESDIR}/sks-recon.initd" sks-recon + newconfd "${FILESDIR}/sks.confd" sks + systemd_dounit "${FILESDIR}"/sks-db.service + systemd_dounit "${FILESDIR}"/sks-recon.service + + dodir "/var/lib/sks/web.typical" + insinto /var/lib/sks + newins sampleConfig/DB_CONFIG DB_CONFIG.typical + newins sampleConfig/sksconf.typical sksconf.typical + insinto /var/lib/sks/web.typical + doins sampleWeb/HTML5/* + + keepdir /var/lib/sks + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + if [[ -n ${REPLACING_VERSIONS} ]]; then + einfo "Note when upgrading from versions of SKS earlier than 1.1.4" + einfo "The default values for pagesize settings have changed. To continue" + einfo "using an existing DB without rebuilding, explicit settings have to be" + einfo "added to the sksconf file." + einfo "pagesize: 4" + einfo "ptree_pagesize: 1" + fi; +} diff --git a/net-misc/sks/sks-1.1.5.ebuild b/net-misc/sks/sks-1.1.5.ebuild new file mode 100644 index 000000000000..11762a72a862 --- /dev/null +++ b/net-misc/sks/sks-1.1.5.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit multilib user readme.gentoo systemd + +DESCRIPTION="An OpenPGP keyserver which is decentralized and provides highly reliable synchronization" +HOMEPAGE="https://bitbucket.org/skskeyserver/sks-keyserver" +SRC_URI="http://bitbucket.org/skskeyserver/sks-keyserver/downloads/${P}.tgz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="optimize test" +DOC_CONTENTS="To get sks running, first build the database, +start the databse, import atleast one key, then +run a cleandb. See the sks man page for more information +Typical DB_CONFIG file and sksconf has been installed +in /var/lib/sks and can be used as templates by renaming +to remove the .typical extension. The DB_CONFIG file has +to be in place before doing the database build, or the BDB +environment has to be manually cleared from both KDB and PTree. +The same applies if you are upgrading to this version with an existing KDB/Ptree, +using another version of BDB than 4.8; you need to clear the environment +using e.g. db4.6_recover -h . and db4.6_checkpoint -1h . in both KDB and PTree +Additionally a sample web interface has been installed as +web.typical in /var/lib/sks that can be used by renaming it to web +Important: It is strongly recommended to set up SKS behind a +reverse proxy. Instructions on properly configuring SKS can be +found at https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Peering" + +DEPEND="dev-lang/ocaml + dev-ml/cryptokit + sys-libs/db:4.8" +RDEPEND="${DEPEND}" + +pkg_setup() { + ebegin "Creating named group and user" + enewgroup sks + enewuser sks -1 -1 /var/lib/sks sks +} + +src_prepare() { + cp Makefile.local.unused Makefile.local || die + sed -i \ + -e "s:^BDBLIB=.*$:BDBLIB=-L/usr/$(get_libdir):g" \ + -e "s:^BDBINCLUDE=.*$:BDBINCLUDE=-I/usr/include/db4.8/:g" \ + -e "s:^LIBDB=.*$:LIBDB=-ldb-4.8:g" \ + -e "s:^PREFIX=.*$:PREFIX=${D}/usr:g" \ + -e "s:^MANDIR=.*$:MANDIR=${D}/usr/share/man:g" \ + Makefile.local || die + sed -i \ + -e 's:^CAMLINCLUDE= -I lib -I bdb$:CAMLINCLUDE= -I lib -I bdb -I +cryptokit:g' \ + -e 's:-Werror-implicit-function-declaration::g' \ + Makefile bdb/Makefile || die + sed -i \ + -e 's:/usr/sbin/sks:/usr/bin/sks:g' \ + sks_build.sh || die +} + +src_compile() { + emake dep + # sks build fails with paralell build in module Bdb + emake -j1 all + if use optimize; then + emake all.bc + fi +} + +src_test() { + ./sks unit_test || die +} + +src_install() { + if use optimize; then + emake install.bc + dosym /usr/bin/sks.bc usr/bin/sks + dosym /usr/bin/sks_add_mail.bc usr/bin/sks_add_mail + else + emake install + fi + + dodoc README.md + + newinitd "${FILESDIR}/sks-db.initd" sks-db + newinitd "${FILESDIR}/sks-recon.initd" sks-recon + newconfd "${FILESDIR}/sks.confd" sks + systemd_dounit "${FILESDIR}"/sks-db.service + systemd_dounit "${FILESDIR}"/sks-recon.service + + dodir "/var/lib/sks/web.typical" + insinto /var/lib/sks + newins sampleConfig/DB_CONFIG DB_CONFIG.typical + newins sampleConfig/sksconf.typical sksconf.typical + insinto /var/lib/sks/web.typical + doins sampleWeb/HTML5/* + + keepdir /var/lib/sks + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + if [[ -n ${REPLACING_VERSIONS} ]]; then + einfo "Note when upgrading from versions of SKS earlier than 1.1.4" + einfo "The default values for pagesize settings have changed. To continue" + einfo "using an existing DB without rebuilding, explicit settings have to be" + einfo "added to the sksconf file." + einfo "pagesize: 4" + einfo "ptree_pagesize: 1" + fi; +} -- cgit v1.2.3-65-gdbad