public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/oidc-agent/, net-misc/oidc-agent/files/
Date: Fri, 19 Jun 2020 17:15:20 +0000 (UTC)	[thread overview]
Message-ID: <1592586899.f1f6e093d99e20c69802ce6c6e3c64d13f0ecaca.marecki@gentoo> (raw)

commit:     f1f6e093d99e20c69802ce6c6e3c64d13f0ecaca
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 19 17:12:40 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Jun 19 17:14:59 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1f6e093

net-misc/oidc-agent: new package

OpenID Connect equivalent of ssh-agent.

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 net-misc/oidc-agent/Manifest                       |  1 +
 .../files/oidc-agent-3.3.1_desktop-category.patch  |  9 ++++
 .../files/oidc-agent-3.3.1_install-perms.patch     | 58 +++++++++++++++++++++
 .../oidc-agent-3.3.1_makefile-toolchain-vars.patch | 30 +++++++++++
 ...c-agent-3.3.1_test-suite-buffer-overflows.patch | 51 +++++++++++++++++++
 net-misc/oidc-agent/metadata.xml                   | 19 +++++++
 net-misc/oidc-agent/oidc-agent-3.3.1.ebuild        | 59 ++++++++++++++++++++++
 7 files changed, 227 insertions(+)

diff --git a/net-misc/oidc-agent/Manifest b/net-misc/oidc-agent/Manifest
new file mode 100644
index 00000000000..cd447dca2a2
--- /dev/null
+++ b/net-misc/oidc-agent/Manifest
@@ -0,0 +1 @@
+DIST oidc-agent-3.3.1.tar.gz 764721 BLAKE2B eea09b3b140ca81be0f3dc8f200120287682ddb328275be35bd736249b72eabb40c87ebd168e51c992ccd4b4a02138e17d3e20f3cebfb4d42bde01351aacead1 SHA512 75428bb52c0cf43256fddd3b33895d7c882ced367543763c68a385448dbe29805ee1fc035f3727e743a607ed4af851ae5db24b40cc6801fc31e45b6fec16bd66

diff --git a/net-misc/oidc-agent/files/oidc-agent-3.3.1_desktop-category.patch b/net-misc/oidc-agent/files/oidc-agent-3.3.1_desktop-category.patch
new file mode 100644
index 00000000000..49bfcfdb70b
--- /dev/null
+++ b/net-misc/oidc-agent/files/oidc-agent-3.3.1_desktop-category.patch
@@ -0,0 +1,9 @@
+--- a/config/scheme_handler/oidc-gen.desktop
++++ b/config/scheme_handler/oidc-gen.desktop
+@@ -5,5 +5,5 @@
+ Icon=utilities-terminal
+ Terminal=true
+ Type=Application
+-Categories=Application;Network;
++Categories=Network;
+ MimeType=x-scheme-handler/edu.kit.data.oidc-agent;

diff --git a/net-misc/oidc-agent/files/oidc-agent-3.3.1_install-perms.patch b/net-misc/oidc-agent/files/oidc-agent-3.3.1_install-perms.patch
new file mode 100644
index 00000000000..1992ee0ef31
--- /dev/null
+++ b/net-misc/oidc-agent/files/oidc-agent-3.3.1_install-perms.patch
@@ -0,0 +1,58 @@
+--- a/Makefile
++++ b/Makefile
+@@ -316,7 +316,7 @@
+ 
+ ## Bash completion
+ $(BASH_COMPLETION_PATH)/$(AGENT): $(CONFDIR)/bash-completion/oidc-agent $(BASH_COMPLETION_PATH)
+-	@install -m 744 $< $@
++	@install -m 644 $< $@
+ 
+ $(BASH_COMPLETION_PATH)/$(GEN): $(BASH_COMPLETION_PATH)
+ 	@ln -s $(AGENT) $@
+@@ -332,15 +332,15 @@
+ 
+ ## Man pages
+ $(MAN_PATH)/man1/$(AGENT).1: $(MANDIR)/$(AGENT).1 $(MAN_PATH)/man1
+-	@install $< $@
++	@install -m 644 $< $@
+ $(MAN_PATH)/man1/$(GEN).1: $(MANDIR)/$(GEN).1 $(MAN_PATH)/man1
+-	@install $< $@
++	@install -m 644 $< $@
+ $(MAN_PATH)/man1/$(ADD).1: $(MANDIR)/$(ADD).1 $(MAN_PATH)/man1
+-	@install $< $@
++	@install -m 644 $< $@
+ $(MAN_PATH)/man1/$(CLIENT).1: $(MANDIR)/$(CLIENT).1 $(MAN_PATH)/man1
+-	@install $< $@
++	@install -m 644 $< $@
+ $(MAN_PATH)/man1/$(KEYCHAIN).1: $(MANDIR)/$(KEYCHAIN).1 $(MAN_PATH)/man1
+-	@install $< $@
++	@install -m 644 $< $@
+ 
+ 
+ ## Lib
+@@ -354,20 +354,20 @@
+ 	@ln -sf $(SHARED_LIB_NAME_SO) $@
+ 
+ $(INCLUDE_PATH)/oidc-agent/api.h: $(SRCDIR)/$(CLIENT)/api.h $(INCLUDE_PATH)/oidc-agent
+-	@install $< $@
++	@install -m 644 $< $@
+ 
+ $(INCLUDE_PATH)/oidc-agent/ipc_values.h: $(SRCDIR)/defines/ipc_values.h $(INCLUDE_PATH)/oidc-agent
+-	@install $< $@
++	@install -m 644 $< $@
+ 
+ $(INCLUDE_PATH)/oidc-agent/oidc_error.h: $(SRCDIR)/utils/oidc_error.h $(INCLUDE_PATH)/oidc-agent
+-	@install $< $@
++	@install -m 644 $< $@
+ 
+ $(LIBDEV_PATH)/liboidc-agent.a: $(APILIB)/liboidc-agent.a $(LIBDEV_PATH)
+-	@install $< $@
++	@install -m 644 $< $@
+ 
+ ## scheme handler
+ $(DESKTOP_APPLICATION_PATH)/oidc-gen.desktop: $(CONFDIR)/scheme_handler/oidc-gen.desktop
+-	@install -D $< $@
++	@install -m 644 -D $< $@
+ 	@echo "Exec=x-terminal-emulator -e bash -c \"$(BIN_AFTER_INST_PATH)/bin/$(GEN) --codeExchange=%u; exec bash\"" >> $@
+ 
+ ## Xsession

diff --git a/net-misc/oidc-agent/files/oidc-agent-3.3.1_makefile-toolchain-vars.patch b/net-misc/oidc-agent/files/oidc-agent-3.3.1_makefile-toolchain-vars.patch
new file mode 100644
index 00000000000..0cdf44fba8c
--- /dev/null
+++ b/net-misc/oidc-agent/files/oidc-agent-3.3.1_makefile-toolchain-vars.patch
@@ -0,0 +1,30 @@
+1. Support user-provided values of CC, CFLAGS and LDFLAGS
+2. Do not force the use of a static version of libsodium
+
+--- a/Makefile
++++ b/Makefile
+@@ -54,20 +54,20 @@
+ endif
+ 
+ # Compiler options
+-CC       = gcc
++CC       := $(CC)
+ # compiling flags here
+-CFLAGS   = -g -std=c99 -I$(SRCDIR) -I$(LIBDIR)  -Wall -Wextra
++CFLAGS   := $(CFLAGS) -g -std=c99 -I$(SRCDIR) -I$(LIBDIR)  -Wall -Wextra
+ ifndef MAC_OS
+ 	CFLAGS += $(shell pkg-config --cflags libsecret-1)
+ endif
+ TEST_CFLAGS = $(CFLAGS) -I.
+ 
+ # Linker options
+-LINKER   = gcc
++LINKER   := $(CC)
+ ifdef MAC_OS
+ LFLAGS   = -lsodium -largp
+ else
+-LFLAGS   = -l:libsodium.a -lseccomp
++LFLAGS   := $(LDFLAGS) -lsodium -lseccomp
+ endif
+ ifdef HAS_CJSON
+ 	LFLAGS += -lcjson

diff --git a/net-misc/oidc-agent/files/oidc-agent-3.3.1_test-suite-buffer-overflows.patch b/net-misc/oidc-agent/files/oidc-agent-3.3.1_test-suite-buffer-overflows.patch
new file mode 100644
index 00000000000..b43f20c0686
--- /dev/null
+++ b/net-misc/oidc-agent/files/oidc-agent-3.3.1_test-suite-buffer-overflows.patch
@@ -0,0 +1,51 @@
+--- a/test/src/utils/stringUtils/tc_strelim.c
++++ b/test/src/utils/stringUtils/tc_strelim.c
+@@ -7,7 +7,7 @@
+ 
+ START_TEST(test_noFound) {
+   const char* const str = "abcdeffedcba";
+-  char              s[strlen(str)];
++  char              s[strlen(str) + 1];
+   strcpy(s, str);
+   ck_assert_str_eq(strelim(s, 'x'), str);
+ }
+--- a/test/src/utils/stringUtils/tc_strelimIfAfter.c
++++ b/test/src/utils/stringUtils/tc_strelimIfAfter.c
+@@ -7,7 +7,7 @@
+ 
+ START_TEST(test_noElim) {
+   const char* const str = "abcdeffedcba";
+-  char              s[strlen(str)];
++  char              s[strlen(str) + 1];
+   strcpy(s, str);
+   ck_assert_str_eq(strelimIfAfter(s, 'b', 'x'), str);
+ }
+@@ -15,7 +15,7 @@
+ 
+ START_TEST(test_noFound) {
+   const char* const str = "abcdeffedcba";
+-  char              s[strlen(str)];
++  char              s[strlen(str) + 1];
+   strcpy(s, str);
+   ck_assert_str_eq(strelimIfAfter(s, 'x', 'a'), str);
+ }
+--- a/test/src/utils/stringUtils/tc_strelimIfFollowed.c
++++ b/test/src/utils/stringUtils/tc_strelimIfFollowed.c
+@@ -7,7 +7,7 @@
+ 
+ START_TEST(test_noElim) {
+   const char* const str = "abcdeffedcba";
+-  char              s[strlen(str)];
++  char              s[strlen(str) + 1];
+   strcpy(s, str);
+   ck_assert_str_eq(strelimIfFollowed(s, 'b', 'x'), str);
+ }
+@@ -15,7 +15,7 @@
+ 
+ START_TEST(test_noFound) {
+   const char* const str = "abcdeffedcba";
+-  char              s[strlen(str)];
++  char              s[strlen(str) + 1];
+   strcpy(s, str);
+   ck_assert_str_eq(strelimIfFollowed(s, 'x', 'a'), str);
+ }

diff --git a/net-misc/oidc-agent/metadata.xml b/net-misc/oidc-agent/metadata.xml
new file mode 100644
index 00000000000..befedd63922
--- /dev/null
+++ b/net-misc/oidc-agent/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>marecki@gentoo.org</email>
+		<name>Marek Szuba</name>
+	</maintainer>
+	<longdescription>
+		oidc-agent is a set of tools to manage OpenID Connect tokens and make them
+		easily usable from the command line. We followed the ssh-agent design, so users
+		can handle OIDC tokens in a similar way as they do with ssh keys.
+		oidc-agent is usually started in the beginning of an X-session or a login
+		session. Through use of environment variables the agent can be located and
+		used to handle OIDC tokens.
+	</longdescription>
+	<upstream>
+		<remote-id type="github">indigo-dc/oidc-agent</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/net-misc/oidc-agent/oidc-agent-3.3.1.ebuild b/net-misc/oidc-agent/oidc-agent-3.3.1.ebuild
new file mode 100644
index 00000000000..12161b8e904
--- /dev/null
+++ b/net-misc/oidc-agent/oidc-agent-3.3.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xdg-utils
+
+DESCRIPTION="oidc-agent for managing OpenID Connect tokens on the command line"
+HOMEPAGE="https://github.com/indigo-dc/oidc-agent"
+SRC_URI="https://github.com/indigo-dc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="app-crypt/libsecret
+	dev-libs/libsodium
+	net-libs/libmicrohttpd"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-libs/check )"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.3.1_desktop-category.patch
+	"${FILESDIR}"/${PN}-3.3.1_install-perms.patch
+	"${FILESDIR}"/${PN}-3.3.1_makefile-toolchain-vars.patch
+	"${FILESDIR}"/${PN}-3.3.1_test-suite-buffer-overflows.patch
+)
+
+src_compile() {
+	# Parallel building doesn't work
+	emake -j1
+}
+
+src_install() {
+	emake \
+		PREFIX="${ED}" \
+		BIN_AFTER_INST_PATH="/usr" \
+		INCLUDE_PATH="${ED}"/usr/include \
+		LIB_PATH="${ED}"/usr/$(get_libdir) \
+		install
+}
+
+pkg_postinst() {
+	xdg_desktop_database_update
+
+	elog
+	elog "You should use oidc-gen to initially generate your account configuration"
+	elog "before it can be loaded into oidc-agent using oidc-add. For details, please"
+	elog "consult the man page of oidc-gen, or full documentation at"
+	elog "    https://indigo-dc.gitbooks.io/oidc-agent/"
+	elog
+}
+
+pkg_postrm() {
+	xdg_desktop_database_update
+}


             reply	other threads:[~2020-06-19 17:15 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19 17:15 Marek Szuba [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-23 12:02 [gentoo-commits] repo/gentoo:master commit in: net-misc/oidc-agent/, net-misc/oidc-agent/files/ Marek Szuba
2021-03-11 10:26 Marek Szuba
2021-03-11 10:26 Marek Szuba
2021-11-10 16:49 Marek Szuba
2021-12-15 13:23 Marek Szuba
2022-02-03 17:31 Marek Szuba
2022-07-12 22:20 Marek Szuba
2023-02-24 16:50 Marek Szuba
2023-03-27 20:18 Marek Szuba
2023-03-27 20:18 Marek Szuba
2023-05-19  8:52 Marek Szuba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1592586899.f1f6e093d99e20c69802ce6c6e3c64d13f0ecaca.marecki@gentoo \
    --to=marecki@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox