Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Mar 2024 14:44:46 +0100
From:      Moin Rahman <bofh@freebsd.org>
To:        "ports-committers@freebsd.org" <ports-committers@FreeBSD.org>, "dev-commits-ports-all@freebsd.org" <dev-commits-ports-all@FreeBSD.org>, "dev-commits-ports-main@freebsd.org" <dev-commits-ports-main@FreeBSD.org>
Subject:   Re: git: 00770786d88e - main - www/forgejo: New port
Message-ID:  <EC9C94CB-BBD0-49F2-B92D-1DA84FD28F1B@freebsd.org>
In-Reply-To: <202403091343.429DhM8w053045@gitrepo.freebsd.org>
References:  <202403091343.429DhM8w053045@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_862F3565-4D44-4154-A18C-FE67B1C39B58
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

This is supposed to go with:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D269065


> On Mar 9, 2024, at 2:43 PM, Muhammad Moinur Rahman <bofh@FreeBSD.org> =
wrote:
>=20
> The branch main has been updated by bofh:
>=20
> URL: =
https://cgit.FreeBSD.org/ports/commit/?id=3D00770786d88e06602a7dd3ed9cf0b2=
c96da4527f
>=20
> commit 00770786d88e06602a7dd3ed9cf0b2c96da4527f
> Author:     Vladimir Timofeev <vovkasm@gmail.com>
> AuthorDate: 2024-02-18 02:11:55 +0000
> Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
> CommitDate: 2024-03-09 13:43:11 +0000
>=20
>    www/forgejo: New port
> ---
> www/Makefile                        |  1 +
> www/forgejo/Makefile                | 82 =
++++++++++++++++++++++++++++++++
> www/forgejo/distinfo                |  3 ++
> www/forgejo/files/app.ini.sample.in | 93 =
+++++++++++++++++++++++++++++++++++++
> www/forgejo/files/forgejo.in        | 51 ++++++++++++++++++++
> www/forgejo/pkg-descr               |  5 ++
> www/forgejo/pkg-message             | 13 ++++++
> www/forgejo/pkg-plist               |  3 ++
> 8 files changed, 251 insertions(+)
>=20
> diff --git a/www/Makefile b/www/Makefile
> index fb80cc0f6e75..a087e573b1fe 100644
> --- a/www/Makefile
> +++ b/www/Makefile
> @@ -186,6 +186,7 @@
>     SUBDIR +=3D flexget
>     SUBDIR +=3D flickcurl
>     SUBDIR +=3D foreign-cdm
> +    SUBDIR +=3D forgejo
>     SUBDIR +=3D formication
>     SUBDIR +=3D foswiki
>     SUBDIR +=3D free-sa-devel
> diff --git a/www/forgejo/Makefile b/www/forgejo/Makefile
> new file mode 100644
> index 000000000000..90d360ab57d9
> --- /dev/null
> +++ b/www/forgejo/Makefile
> @@ -0,0 +1,82 @@
> +PORTNAME=3D forgejo
> +DISTVERSIONPREFIX=3D v
> +DISTVERSION=3D 1.21.7-0
> +CATEGORIES=3D www
> +MASTER_SITES=3D =
https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONPREFIX=
}${DISTVERSION}/
> +DISTNAME=3D forgejo-src-${DISTVERSION}
> +
> +MAINTAINER=3D stb@lassitu.de
> +COMMENT=3D Compact self-hosted Git service
> +WWW=3D https://forgejo.org/
> +
> +LICENSE=3D MIT
> +LICENSE_FILE=3D ${WRKSRC}/LICENSE
> +
> +RUN_DEPENDS=3D git:devel/git
> +
> +USES=3D cpe gmake go:1.21,no_targets
> +USE_RC_SUBR=3D forgejo
> +
> +EXTRACT_AFTER_ARGS=3D --strip-components 1
> +SUB_FILES+=3D app.ini.sample
> +SUB_LIST+=3D GITUSER=3D${USERS}
> +
> +NO_WRKSUBDIR=3D yes
> +
> +USERS=3D git
> +GROUPS=3D git
> +
> +PORTDATA=3D *
> +
> +OPTIONS_DEFINE=3D BINDATA GIT_LFS PAM SQLITE
> +OPTIONS_DEFAULT=3D BINDATA GIT_LFS PAM SQLITE
> +OPTIONS_SUB=3D yes
> +
> +BINDATA_DESC=3D Build a single monolithic binary, with all assets =
included
> +GIT_LFS_DESC=3D Support for Git Large File Storage (LFS)
> +PAM_DESC=3D Enable support for PAM
> +
> +BINDATA_VARS=3D GO_TAGS+=3Dbindata
> +GIT_LFS_RUN_DEPENDS=3D git-lfs:devel/git-lfs
> +PAM_VARS=3D GO_TAGS+=3Dpam
> +SQLITE_VARS=3D GO_TAGS+=3D"sqlite sqlite_unlock_notify"
> +
> +.include <bsd.port.options.mk>
> +
> +.if ${OPSYS} =3D=3D FreeBSD
> +DAEMONARGS=3D -S -l \$${forgejo_facility} -s \$${forgejo_priority} -T =
\
> + \$${name}
> +.else
> +DAEMONARGS=3D -f
> +.endif
> +
> +SUB_LIST+=3D DAEMONARGS=3D"${DAEMONARGS}"
> +
> +SSP_UNSAFE=3D true
> +# Default LDFLAGS are incompatible with build
> +MAKE_ENV=3D LDFLAGS=3D"${LDFLAGS} ${EXTRA_LDFLAGS}"
> +MAKE_ARGS=3D GOPATH=3D${WRKDIR} \
> + TAGS=3D"${GO_TAGS}"
> +ALL_TARGET=3D backend
> +MAKE_JOBS_UNSAFE=3D yes
> +
> +post-patch:
> + ${ECHO_CMD} ${DISTVERSION} >${WRKSRC}/VERSION
> +
> +# Too lazy to figure out why go install won't work.
> +do-install:
> +# Go binary is statically linked and cannot be stripped, so use
> +# INSTALL_SCRIPT.
> + ${INSTALL_SCRIPT} ${WRKSRC}/gitea \
> + ${STAGEDIR}${PREFIX}/sbin/forgejo
> + @${MKDIR} ${STAGEDIR}${ETCDIR}/conf
> + ${INSTALL_DATA} ${WRKDIR}/app.ini.sample \
> + ${STAGEDIR}${ETCDIR}/conf/app.ini.sample
> + ${INSTALL_DATA} ${WRKSRC}/custom/conf/app.example.ini \
> + ${STAGEDIR}${ETCDIR}/conf/app.ini.defaults
> +
> +do-install-BINDATA-off:
> + cd ${WRKSRC} && \
> + ${COPYTREE_SHARE} "options public templates" ${STAGEDIR}${DATADIR}
> +
> +.include <bsd.port.mk>
> diff --git a/www/forgejo/distinfo b/www/forgejo/distinfo
> new file mode 100644
> index 000000000000..29ac3152c0f2
> --- /dev/null
> +++ b/www/forgejo/distinfo
> @@ -0,0 +1,3 @@
> +TIMESTAMP =3D 1709747919
> +SHA256 (forgejo-src-1.21.7-0.tar.gz) =3D =
9c0148995288839f685d887f7d1c5f4c6f89511d60d6262ae500e2991803eb5c
> +SIZE (forgejo-src-1.21.7-0.tar.gz) =3D 58802779
> diff --git a/www/forgejo/files/app.ini.sample.in =
b/www/forgejo/files/app.ini.sample.in
> new file mode 100644
> index 000000000000..d625a9ebabab
> --- /dev/null
> +++ b/www/forgejo/files/app.ini.sample.in
> @@ -0,0 +1,93 @@
> +#
> +# Sample Configuration for Forgejo using SQLite
> +#
> +# For information on the available settings, consult the online
> +# documentation, or see the accompanying file app.ini.defaults, which
> +# contains the settings incorporated into the forgejo binary.
> +#
> +# This sample configuration runs Forgejo with a local database.  =
Before
> +# running this configuration, make sure to change the INTERNAL_TOKEN,
> +# JWT_SECRET, and SECRET_KEY variables.  SECRET_KEY is a password of =
your
> +# choosing, INTERNAL_TOKEN is a 64-byte random number in BASE64 =
encoding,
> +# JWT_SECRET is a 32-byte random number in BASE64 encoding.
> +#
> +# You can generate the token using for example:
> +#   openssl rand -base64 64
> +#
> +# You can let Forgejo add these to the config for you; you need to =
make
> +# app.ini writeable by the git user.
> +#
> +# There are no pre-configured users; the first user to register =
becomes an
> +# admin.  In this sample configuration, the HTTP server only listens =
on
> +# localhost.
> +#
> +# If you'd rather use the web-based installer, remove this =
conf/app.ini file
> +# and make %%PREFIX%%/etc/forgejo/conf writeable to the git user.
> +
> +APP_NAME =3D Forgejo: A self-hosted lightweight software forge
> +RUN_MODE =3D prod
> +RUN_USER =3D %%GITUSER%%
> +
> +[database]
> +DB_TYPE  =3D sqlite3
> +HOST     =3D 127.0.0.1:3306
> +NAME     =3D forgejo
> +PASSWD   =3D
> +PATH     =3D /var/db/forgejo/forgejo.db
> +SSL_MODE =3D disable
> +USER     =3D root
> +
> +[indexer]
> +ISSUE_INDEXER_PATH =3D /var/db/forgejo/indexers/issues.bleve
> +
> +[log]
> +LEVEL     =3D Info
> +MODE      =3D file
> +ROOT_PATH =3D /var/log/forgejo
> +
> +[mailer]
> +ENABLED =3D false
> +
> +[oauth2]
> +JWT_SECRET =3D CHANGE_ME
> +
> +[picture]
> +AVATAR_UPLOAD_PATH      =3D /var/db/forgejo/data/avatars
> +DISABLE_GRAVATAR        =3D true
> +ENABLE_FEDERATED_AVATAR =3D false
> +
> +[repository]
> +ROOT =3D /var/db/forgejo/forgejo-repositories
> +# Forgejo's default is 'bash', so if you have bash installed, you can =
comment
> +# this out.
> +SCRIPT_TYPE =3D sh
> +
> +[repository.upload]
> +TEMP_PATH =3D /var/db/forgejo/data/tmp/uploads
> +
> +[security]
> +INSTALL_LOCK   =3D true
> +INTERNAL_TOKEN =3D CHANGE_ME
> +SECRET_KEY     =3D CHANGE_ME
> +
> +[session]
> +PROVIDER        =3D file
> +PROVIDER_CONFIG =3D /var/db/forgejo/data/sessions
> +
> +[server]
> +APP_DATA_PATH =3D /var/db/forgejo/data
> +DISABLE_SSH   =3D false
> +DOMAIN        =3D localhost
> +HTTP_ADDR     =3D 127.0.0.1
> +HTTP_PORT     =3D 3000
> +OFFLINE_MODE  =3D false
> +ROOT_URL      =3D http://localhost:3000/
> +SSH_DOMAIN    =3D %(DOMAIN)s
> +SSH_PORT      =3D 22
> +
> +[service]
> +DISABLE_REGISTRATION   =3D false
> +ENABLE_CAPTCHA         =3D true
> +ENABLE_NOTIFY_MAIL     =3D false
> +REGISTER_EMAIL_CONFIRM =3D false
> +REQUIRE_SIGNIN_VIEW    =3D false
> diff --git a/www/forgejo/files/forgejo.in =
b/www/forgejo/files/forgejo.in
> new file mode 100644
> index 000000000000..ad5aee48f95d
> --- /dev/null
> +++ b/www/forgejo/files/forgejo.in
> @@ -0,0 +1,51 @@
> +#!/bin/sh
> +
> +# PROVIDE: forgejo
> +# REQUIRE: NETWORKING SYSLOG
> +# KEYWORD: shutdown
> +#
> +# Add the following lines to /etc/rc.conf to enable forgejo:
> +#
> +#forgejo_enable=3D"YES"
> +
> +. /etc/rc.subr
> +
> +name=3D"forgejo"
> +rcvar=3D"forgejo_enable"
> +
> +load_rc_config $name
> +
> +: ${forgejo_user:=3D"%%GITUSER%%"}
> +: ${forgejo_enable:=3D"NO"}
> +: ${forgejo_facility:=3D"daemon"}
> +: ${forgejo_priority:=3D"debug"}
> +: ${forgejo_shared:=3D"%%PREFIX%%/share/${name}"}
> +: ${forgejo_custom:=3D"%%PREFIX%%/etc/${name}"}
> +
> +command=3D"%%PREFIX%%/sbin/${name} web"
> +procname=3D"%%PREFIX%%/sbin/${name}"
> +githome=3D"$(eval echo ~${forgejo_user})"
> +
> +pidfile=3D"/var/run/${name}.pid"
> +
> +start_cmd=3D"${name}_start"
> +
> +forgejo_start() {
> + for d in /var/db/forgejo /var/log/forgejo; do
> + if [ ! -e "$d" ]; then
> + mkdir "$d"
> + chown ${forgejo_user} "$d"
> + fi
> + done
> + /usr/sbin/daemon %%DAEMONARGS%% \
> + -u ${forgejo_user} -p ${pidfile} \
> + /usr/bin/env -i \
> + "GITEA_WORK_DIR=3D${forgejo_shared}" \
> + "GITEA_CUSTOM=3D${forgejo_custom}" \
> + "HOME=3D${githome}" \
> + "PATH=3D%%PREFIX%%/bin:${PATH}" \
> + "USER=3D${forgejo_user}" \
> + $command
> +}
> +
> +run_rc_command "$1"
> diff --git a/www/forgejo/pkg-descr b/www/forgejo/pkg-descr
> new file mode 100644
> index 000000000000..f7e721e96eea
> --- /dev/null
> +++ b/www/forgejo/pkg-descr
> @@ -0,0 +1,5 @@
> +A self-hosted Git service.
> +
> +Forgejo is a community managed soft-fork of Gitea, which is a fork of =
Gogs,
> +lightweight code hosting solution written in Go and published under =
the MIT
> +license.
> diff --git a/www/forgejo/pkg-message b/www/forgejo/pkg-message
> new file mode 100644
> index 000000000000..5c8f0b5d39b4
> --- /dev/null
> +++ b/www/forgejo/pkg-message
> @@ -0,0 +1,13 @@
> +[
> +{ type: install
> +  message: <<EOM
> +Before starting forgejo you must create the main configuration file.
> +
> +    cp /usr/local/etc/forgejo/conf/app.ini.sample =
/usr/local/etc/forgejo/conf/app.ini
> +    ${EDITOR} /usr/local/etc/forgejo/conf/app.ini
> +
> +You need to replace every occurence of CHANGE_ME in the file with =
sensitive
> +values. Please refer to the official documentation for details.
> +EOM
> +}
> +]
> diff --git a/www/forgejo/pkg-plist b/www/forgejo/pkg-plist
> new file mode 100644
> index 000000000000..2a0da44d59ac
> --- /dev/null
> +++ b/www/forgejo/pkg-plist
> @@ -0,0 +1,3 @@
> +@sample %%ETCDIR%%/conf/app.ini.sample
> +%%ETCDIR%%/conf/app.ini.defaults
> +sbin/forgejo


--Apple-Mail=_862F3565-4D44-4154-A18C-FE67B1C39B58
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEETfdREoUGjQZKBS+fvbm1phfAvJEFAmXsZ85fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDRE
Rjc1MTEyODUwNjhEMDY0QTA1MkY5RkJEQjlCNUE2MTdDMEJDOTEACgkQvbm1phfA
vJGfRg//SIUPY6r/NJeJF6QDIktHggBeFttLr242/O4tVMMKjCTNIPJ3/w/XVVo5
fs4NdNoT6zSUxfbrB1qeZpPzkZpuUIgYL6khsTxFGyqfyNrECb6mFpKHndAjoEow
pvLq28dDEmm6TFhQpysjuRpB3C1vxVDXUNWSB85rtDo1uw7WKF9n4xaWeQexDFRF
Y0pCDrg5aJZ6JtiuRiUudgC4lLTvxj4TtNibHQx3gNWrV/883qYmvlHj7MzCUCSU
EejxwMpKKZ3o1P6fuqSlS28r80OSNF+qVfEX0FlodfdvG/Fm0ziRi6zRKERk7DCk
MFQyfNiPkkKTpIbDe+1MQ82yObnIPAV23R7bxAeljPWubymQtoriwypHQRer+wUx
TLbWJbnhZdhnAuUdsShH9qPHQ0dR4PLUtkjgMDX7EFVN5vc40NoJq/ZlBdmAHHdf
gqu8WO4Nj/2/lLsf74mXbkRyS/Jx+J7RDR1PI+esc3fAJ7EfVV5Ude2mZFPfBLB0
Y5dhrNrA7T5KR9miIIgUui8rix9/rcJ5XMkVcL8XTJlRNySuEoLebDktx/7ghKAc
hyjyubRWdDkRmK1OTzZgnpdjrKL9HDPEnfj1DP1qU0s53hTgrYb9ZMvGCnJG9ITx
wnB7myCT/qUYHnj0oRPoyxKTXsnRd/LThZCc94pkeY6qERYpuDI=
=ePHu
-----END PGP SIGNATURE-----

--Apple-Mail=_862F3565-4D44-4154-A18C-FE67B1C39B58--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EC9C94CB-BBD0-49F2-B92D-1DA84FD28F1B>