From d451158e734de8e5370451b6026baa5294f57958 Mon Sep 17 00:00:00 2001 From: Stefan Knoblich Date: Tue, 26 Sep 2023 18:25:39 +0200 Subject: [PATCH] verdaccio: Initial import Signed-off-by: Stefan Knoblich --- acct-group/verdaccio/Manifest | 1 + acct-group/verdaccio/verdaccio-0.ebuild | 9 +++ acct-user/verdaccio/Manifest | 1 + acct-user/verdaccio/verdaccio-0.ebuild | 13 ++++ www-apps/verdaccio/Manifest | 4 ++ www-apps/verdaccio/files/verdaccio.confd | 16 +++++ www-apps/verdaccio/files/verdaccio.initd | 25 +++++++ www-apps/verdaccio/verdaccio-4.13.2.ebuild | 81 ++++++++++++++++++++++ 8 files changed, 150 insertions(+) create mode 100644 acct-group/verdaccio/Manifest create mode 100644 acct-group/verdaccio/verdaccio-0.ebuild create mode 100644 acct-user/verdaccio/Manifest create mode 100644 acct-user/verdaccio/verdaccio-0.ebuild create mode 100644 www-apps/verdaccio/Manifest create mode 100644 www-apps/verdaccio/files/verdaccio.confd create mode 100644 www-apps/verdaccio/files/verdaccio.initd create mode 100644 www-apps/verdaccio/verdaccio-4.13.2.ebuild diff --git a/acct-group/verdaccio/Manifest b/acct-group/verdaccio/Manifest new file mode 100644 index 0000000..7033cdc --- /dev/null +++ b/acct-group/verdaccio/Manifest @@ -0,0 +1 @@ +EBUILD verdaccio-0.ebuild 194 BLAKE2B 17096873100c81380415895fdddfc0d8cddeda8ec9ea4c658ed5e0737e0163e8e891f0137df7dc042294b3d334c7feb41f54857cdbc9a44807f746187cf5d9c7 SHA512 d6ab3e00012f99e80779a84c7a686eafe99f0b52e4a85e1c3f8e4ee6fb354d57eb75112141e38394e02b45c1f7d97d977938b3398bfcb24e0bbfab97501609b2 diff --git a/acct-group/verdaccio/verdaccio-0.ebuild b/acct-group/verdaccio/verdaccio-0.ebuild new file mode 100644 index 0000000..8052b3b --- /dev/null +++ b/acct-group/verdaccio/verdaccio-0.ebuild @@ -0,0 +1,9 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit acct-group + +DESCRIPTION="Verdaccio NPM registry group" +ACCT_GROUP_ID=987 diff --git a/acct-user/verdaccio/Manifest b/acct-user/verdaccio/Manifest new file mode 100644 index 0000000..b23d783 --- /dev/null +++ b/acct-user/verdaccio/Manifest @@ -0,0 +1 @@ +EBUILD verdaccio-0.ebuild 301 BLAKE2B 16b5f22bb0735127881041c9fab3412bd681e012f7de662b1f9736c2e7531d942938dcac3689c8bb28c5fd821ad46dc0318e0bed3419fb01b14388bcc653b178 SHA512 7967a8710f17b4ac862c63e2398446d1a45cb68c9d7b8954e220db86a20c8a4f45d75b2835d216260c9768a2eb994f91840d60ce2bfb438909ebb2ffdbdd1a9c diff --git a/acct-user/verdaccio/verdaccio-0.ebuild b/acct-user/verdaccio/verdaccio-0.ebuild new file mode 100644 index 0000000..2f5f24f --- /dev/null +++ b/acct-user/verdaccio/verdaccio-0.ebuild @@ -0,0 +1,13 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit acct-user + +DESCRIPTION="Verdaccio NPM registry user" +ACCT_USER_ID=987 +ACCT_USER_HOME=/var/lib/verdaccio +ACCT_USER_HOME_PERMS=0750 +ACCT_USER_GROUPS=( verdaccio ) +acct-user_add_deps diff --git a/www-apps/verdaccio/Manifest b/www-apps/verdaccio/Manifest new file mode 100644 index 0000000..35535ed --- /dev/null +++ b/www-apps/verdaccio/Manifest @@ -0,0 +1,4 @@ +AUX verdaccio.confd 332 BLAKE2B 30fc255502a5a6ab21eef31097b899143d38494b768ce66ce9b611b283caac7fa3232bd0512a1a450b3187948a78ff89e29767a121bea86c6f1448ff372acc23 SHA512 6b9efae2fca93a3ec1a74b3fc6ae07f31df48916d14d56b22c5ce225f22d8bc3bee23a6ef8b1dc6dd8b13b0f2469a73d139096a76330fb891f564d1983e84af1 +AUX verdaccio.initd 897 BLAKE2B 8dee494d5fe8d9f186549d542adf19553d1d9e8b1b10cc416ab40774584f23fd09118f84976f03db8450c57731bdfe038b1ae5fc8010816ef027d90f60bc3bbb SHA512 df70d528293415a5ca3f461f349d7aaca5496757e1c28a78c16889c5172cdb305f0cee6fcd85fe5514eaad18bd32caa2beb57bbea49e3a22eb0b73aed9bfd082 +DIST verdaccio-4.13.2.tgz 2220664 BLAKE2B 06b430d099b8640872f0f8cb31058603a16f5087480818b07c1ebda6abaf514c3b7280c0a0f3eaa252c6fe69552f43e40ec0cc414810b1f91d5276d502ba17dd SHA512 965330363d5603b0d2575fcbdecbd26e7e1ad023d7c351f09f1ff19373efa9a59f085ff9d56773842b880ab1a0a60189f1f2c93a8ec2eebb39efcfab20200503 +EBUILD verdaccio-4.13.2.ebuild 1933 BLAKE2B a76409a55382edee029c22d31c335a2fe5a7c03b53aa10dcf13a91cdc95a31872a2624b5ebdf8e0c3520b8dd9d52fbff3bf9c54b5a2ed25206d66c41bda201e2 SHA512 745d5e973f8d6d0fe700e56607b36fea12283be987127ec13184faaef1283af8e2469b2e0c72476c2e104f1cde2a89ca29a90e8e96ece43b57dbd444b2680235 diff --git a/www-apps/verdaccio/files/verdaccio.confd b/www-apps/verdaccio/files/verdaccio.confd new file mode 100644 index 0000000..1c93d06 --- /dev/null +++ b/www-apps/verdaccio/files/verdaccio.confd @@ -0,0 +1,16 @@ +# +# +# + +# User and group to run under +#VERDACCIO_USER=verdaccio +#VERDACCIO_GROUP=verdaccio + +# Additional options passed on startup +#VERDACCIO_OPTS="--listen 127.0.0.1:4873" + +# Location of storage and database files +#VERDACCIO_DATA_DIR=/var/lib/verdaccio + +# Configuration file to use +#VERDACCIO_CONFIGFILE=/etc/verdaccio/config.yaml diff --git a/www-apps/verdaccio/files/verdaccio.initd b/www-apps/verdaccio/files/verdaccio.initd new file mode 100644 index 0000000..5f838c4 --- /dev/null +++ b/www-apps/verdaccio/files/verdaccio.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run + +: ${VERDACCIO_CONFIGFILE_DIR:=/etc/verdaccio} +: ${VERDACCIO_CONFIGFILE:=${VERDACCIO_CONFIGFILE_DIR}/config.yaml} +: ${VERDACCIO_DATA_DIR:=/var/lib/${RC_SVCNAME}} +: ${VERDACCIO_PIDFILE_DIR:=/run} +: ${VERDACCIO_PIDFILE:=${VERDACCIO_PIDFILE_DIR}/${RC_SVCNAME}.pid} +: ${VERDACCIO_LOGFILE_DIR:=/var/log/verdaccio} +: ${VERDACCIO_LOGFILE:=${VERDACCIO_LOGFILE_DIR}/${RC_SVCNAME}.log} + +: ${VERDACCIO_GROUP:=verdaccio} +: ${VERDACCIO_USER:=verdaccio} + +directory="${VERDACCIO_DATA_DIR}" +pidfile="${VERDACCIO_PIDFILE}" +required_files="${VERDACCIO_CONFIGFILE}" +required_dirs="${VERDACCIO_PIDFILE_DIR} ${VERDACCIO_DATA_DIR} ${VERDACCIO_LOGFILE_DIR}" + +command="/usr/sbin/verdaccio" +command_args="--config ${VERDACCIO_CONFIGFILE} ${VERDACCIO_OPTS}" +command_user="${VERDACCIO_USER}:${VERDACCIO_GROUP}" +command_background="true" + +output_log="${VERDACCIO_LOGFILE}" +error_log="${VERDACCIO_LOGFILE}" diff --git a/www-apps/verdaccio/verdaccio-4.13.2.ebuild b/www-apps/verdaccio/verdaccio-4.13.2.ebuild new file mode 100644 index 0000000..4d48402 --- /dev/null +++ b/www-apps/verdaccio/verdaccio-4.13.2.ebuild @@ -0,0 +1,81 @@ +# +# +# + +EAPI=7 + +MY_P="${PN}-${PV/_beta/-beta.}" + +HOMEPAGE="https://www.verdaccio.org/" +DESCRIPTION="A lightweight private npm proxy registry" +SRC_URI="https://registry.npmjs.org/${PN}/-/${MY_P}.tgz" +RESTRICT="network-sandbox" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +LICENSE="MIT" + +S="${WORKDIR}/package" +RDEPEND=" + >=net-libs/nodejs-16.0.0 + acct-user/verdaccio + acct-group/verdaccio +" +DEPEND="${RDEPEND} + sys-apps/yarn" + +DOCS=( + conf/default.yaml + conf/full.yaml +) + +src_unpack() { + # Unpack top-level project + default_src_unpack + + # Fetch dependencies + if [[ -d "${PORTAGE_ACTUAL_DISTDIR}/yarn-cache" ]] + then + addwrite "${PORTAGE_ACTUAL_DISTDIR}/yarn-cache" + else + addwrite "${PORTAGE_ACTUAL_DISTDIR}" + fi + + yarn --cache-folder "${PORTAGE_ACTUAL_DISTDIR}/yarn-cache" --cwd "${S}" \ + --prefer-offline --pure-lockfile --prod install \ + || die "Failed to install dependencies" +} + +src_prepare() { + default_src_prepare + # Fix location of include files + sed -i -e "s:../build/:${EPREFIX}/usr/share/verdaccio/build/:" \ + bin/verdaccio || die "" + + # Locations in configuration files are relative to config file path, convert to absolute + sed -i -E -e "s|^(storage\|plugins):.+|\1: ${EPREFIX}/var/lib/verdaccio/\1|" \ + conf/*.yaml || die "" +} + +src_install() { + default_src_install + + keepdir /etc/verdaccio + insinto /etc/verdaccio + newins conf/default.yaml config.yaml + + insinto /usr/share/verdaccio + doins -r build index.js node_modules package.json + dosym /etc/verdaccio /usr/share/verdaccio/conf + dosbin bin/verdaccio + + keepdir /var/{lib,log}/verdaccio + keepdir /var/lib/verdaccio/{plugins,storage} + fowners verdaccio:verdaccio /var/{lib,log}/verdaccio + fowners verdaccio:verdaccio /var/lib/verdaccio/{plugins,storage} + fperms 0750 /var/{lib,log}/verdaccio + fperms 0750 /var/lib/verdaccio/{plugins,storage} + + newinitd "${FILESDIR}/verdaccio.initd" verdaccio + newconfd "${FILESDIR}/verdaccio.confd" verdaccio +}