Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F144409612
D53395.id165194.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D53395.id165194.diff
View Options
Index: www/Makefile
===================================================================
--- www/Makefile
+++ www/Makefile
@@ -206,6 +206,7 @@
SUBDIR += flickcurl
SUBDIR += foreign-cdm
SUBDIR += forgejo
+ SUBDIR += forgejo-lts
SUBDIR += forgejo7
SUBDIR += formication
SUBDIR += foswiki
Index: www/forgejo-lts/Makefile
===================================================================
--- /dev/null
+++ www/forgejo-lts/Makefile
@@ -0,0 +1,91 @@
+PORTNAME= forgejo
+DISTVERSIONPREFIX= v
+DISTVERSION= 11.0.7
+CATEGORIES= www
+MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONFULL}/
+PKGNAMESUFFIX= -lts
+DISTNAME= forgejo-src-${DISTVERSION}
+
+MAINTAINER= des@FreeBSD.org
+COMMENT= Compact self-hosted Git forge
+WWW= https://forgejo.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= git:devel/git
+
+USES= cpe gmake go:1.25,no_targets
+USE_RC_SUBR= forgejo
+
+PIE_UNSAFE= yes
+
+CONFLICTS_INSTALL= forgejo forgejo7
+
+EXTRACT_AFTER_ARGS= --strip-components 1
+DBDIR= /var/db/forgejo
+LOGDIR= /var/log/forgejo
+SUB_FILES= app.ini.sample pkg-message
+SUB_LIST= GITUSER=${USERS} DBDIR=${DBDIR} LOGDIR=${LOGDIR}
+PLIST_SUB= DBDIR=${DBDIR} LOGDIR=${LOGDIR}
+
+NO_WRKSUBDIR= yes
+
+USERS= git
+GROUPS= git
+
+PORTDATA= *
+
+OPTIONS_DEFINE= BINDATA GIT_LFS PAM SQLITE
+OPTIONS_DEFAULT= BINDATA GIT_LFS PAM SQLITE
+OPTIONS_SUB= yes
+
+BINDATA_DESC= Build a single monolithic binary, with all assets included
+GIT_LFS_DESC= Support for Git Large File Storage (LFS)
+PAM_DESC= Enable support for PAM
+
+BINDATA_VARS= GO_TAGS+=bindata
+GIT_LFS_RUN_DEPENDS= git-lfs:devel/git-lfs
+PAM_VARS= GO_TAGS+=pam
+SQLITE_VARS= GO_TAGS+="sqlite sqlite_unlock_notify"
+
+SSP_UNSAFE= true
+LDFLAGS= "'-X "forgejo.org/modules/setting.CustomPath=${PREFIX}/etc/forgejo"'" \
+ "'-X "forgejo.org/modules/setting.AppWorkPath=${DATADIR}"'"
+MAKE_ARGS= GOFLAGS="-buildvcs=false" \
+ GOPATH=${WRKDIR} \
+ TAGS="${GO_TAGS}"
+ALL_TARGET= backend
+MAKE_JOBS_UNSAFE= yes
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD
+DAEMONARGS= -S -l \$${forgejo_facility} -s \$${forgejo_priority} -T \
+ \$${name}
+.else
+DAEMONARGS= -f
+.endif
+SUB_LIST+= DAEMONARGS="${DAEMONARGS}"
+
+# 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
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${MKDIR} ${STAGEDIR}${DBDIR}/data
+ ${MKDIR} ${STAGEDIR}${DBDIR}/forgejo-repositories
+ ${MKDIR} ${STAGEDIR}${LOGDIR}
+
+do-install-BINDATA-off:
+ cd ${WRKSRC} && \
+ ${COPYTREE_SHARE} "options public templates" ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
Index: www/forgejo-lts/distinfo
===================================================================
--- /dev/null
+++ www/forgejo-lts/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761594357
+SHA256 (forgejo-src-11.0.7.tar.gz) = 9b8cf1d593e855f35c8dd02364a62e9bb289cfe23d82c0c99c84e60caf061459
+SIZE (forgejo-src-11.0.7.tar.gz) = 55672879
Index: www/forgejo-lts/files/app.ini.sample.in
===================================================================
--- /dev/null
+++ www/forgejo-lts/files/app.ini.sample.in
@@ -0,0 +1,94 @@
+#
+# 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 appropriate values using:
+# gitea generate secret [INTERNAL_TOKEN|JWT_SECRET|LFS_JWT_SECRET|SECRET_KEY]
+# and then copy that output to the appropriate place in this file.
+#
+# 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 %%ETCDIR%%/conf writeable to the git user.
+
+APP_NAME = Forgejo: A self-hosted lightweight software forge
+RUN_MODE = prod
+RUN_USER = %%GITUSER%%
+
+[database]
+DB_TYPE = sqlite3
+HOST = 127.0.0.1:3306
+NAME = forgejo
+PASSWD =
+PATH = %%DBDIR%%/forgejo.db
+SSL_MODE = disable
+USER = root
+
+[indexer]
+ISSUE_INDEXER_PATH = %%DBDIR%%/indexers/issues.bleve
+
+[log]
+LEVEL = Info
+MODE = file
+ROOT_PATH = %%LOGDIR%%
+
+[mailer]
+ENABLED = false
+
+[oauth2]
+JWT_SECRET = CHANGE_ME
+
+[picture]
+AVATAR_UPLOAD_PATH = %%DBDIR%%/data/avatars
+DISABLE_GRAVATAR = true
+ENABLE_FEDERATED_AVATAR = false
+
+[repository]
+ROOT = %%DBDIR%%/forgejo-repositories
+# Forgejo's default is 'bash', so if you have bash installed, you can comment
+# this out.
+SCRIPT_TYPE = sh
+
+[repository.upload]
+TEMP_PATH = %%DBDIR%%/data/tmp/uploads
+
+[security]
+INSTALL_LOCK = true
+INTERNAL_TOKEN = CHANGE_ME
+SECRET_KEY = CHANGE_ME
+
+[session]
+PROVIDER = file
+PROVIDER_CONFIG = %%DBDIR%%/data/sessions
+
+[server]
+APP_DATA_PATH = %%DBDIR%%/data
+DISABLE_SSH = false
+DOMAIN = localhost
+HTTP_ADDR = 127.0.0.1
+HTTP_PORT = 3000
+OFFLINE_MODE = false
+ROOT_URL = http://localhost:3000/
+SSH_DOMAIN = %(DOMAIN)s
+SSH_PORT = 22
+
+[service]
+DISABLE_REGISTRATION = false
+ENABLE_CAPTCHA = true
+ENABLE_NOTIFY_MAIL = false
+REGISTER_EMAIL_CONFIRM = false
+REQUIRE_SIGNIN_VIEW = false
Index: www/forgejo-lts/files/forgejo.in
===================================================================
--- /dev/null
+++ www/forgejo-lts/files/forgejo.in
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# PROVIDE: forgejo
+# REQUIRE: NETWORKING SYSLOG
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable forgejo:
+#
+#forgejo_enable="YES"
+
+. /etc/rc.subr
+
+name="forgejo"
+rcvar="forgejo_enable"
+
+load_rc_config $name
+
+: ${forgejo_user:="%%GITUSER%%"}
+: ${forgejo_enable:="NO"}
+: ${forgejo_configcheck_enable:="YES"}
+: ${forgejo_facility:="daemon"}
+: ${forgejo_priority:="info"}
+: ${forgejo_custom:="%%PREFIX%%/etc/${name}"}
+
+command="%%PREFIX%%/sbin/${name} web"
+procname="%%PREFIX%%/sbin/${name}"
+githome="$(eval echo ~${forgejo_user})"
+
+pidfile="/var/run/${name}.pid"
+
+start_cmd="${name}_start"
+start_precmd="${name}_prestart"
+
+forgejo_start() {
+ for d in %%DBDIR%% %%LOGDIR%%; 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 \
+ "FORGEJO_CUSTOM=${forgejo_custom}" \
+ "HOME=${githome}" \
+ "PATH=%%PREFIX%%/bin:${PATH}" \
+ "USER=${forgejo_user}" \
+ $command
+}
+
+forgejo_prestart() {
+ if checkyesno forgejo_configcheck_enable; then
+ if ! errstr=$(/usr/bin/env -i \
+ "FORGEJO_CUSTOM=${forgejo_custom}" \
+ "HOME=${githome}" \
+ "PATH=%%PREFIX%%/bin:${PATH}" \
+ "USER=${forgejo_user}" \
+ /usr/bin/su -m ${forgejo_user} -c \
+ "%%PREFIX%%/sbin/${name} doctor check" 2>&1); then
+ rc=$?
+ echo "$errstr" >&2
+ return $rc
+ fi
+ fi
+}
+
+run_rc_command "$1"
Index: www/forgejo-lts/files/pkg-message.in
===================================================================
--- /dev/null
+++ www/forgejo-lts/files/pkg-message.in
@@ -0,0 +1,35 @@
+[
+{ type: install
+ message: <<EOM
+Before starting forgejo for the first time, you must set a number of
+secrets in the configuration file. For your convenience, a sample file
+has been copied to %%PREFIX%%/etc/forgejo/conf/app.ini.
+
+You need to replace every occurence of CHANGE_ME in the file with
+sensible values. Please refer to the official documentation at
+https://forgejo.org for details.
+
+You will also likely need to create directories for persistent storage.
+Run
+ su -m git -c 'forgejo doctor check'
+to check if all prerequisites have been met.
+EOM
+}
+{ type: upgrade
+ maximum_version: "1.21"
+ message: <<EOM
+Since forgejo version 7, the startup script will run forgejo doctor check
+to verify that forgejo can be started successfully. If you are sure that
+forgejo will start even if doctor has identified an issue, you can disable
+the check by setting forgejo_configcheck_enabled=NO in rc.conf.
+EOM
+}
+{ type: upgrade
+ maximum_version: "8.0.2"
+ message: <<EOM
+Breaking changes: upgrading from Forgejo 8 changes the semantics of some
+authentication, breaking previously working API calls. Please see the
+release notes for details: https://codeberg.org/forgejo/forgejo/milestone/7235
+EOM
+}
+]
Index: www/forgejo-lts/pkg-descr
===================================================================
--- /dev/null
+++ www/forgejo-lts/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.
Index: www/forgejo-lts/pkg-plist
===================================================================
--- /dev/null
+++ www/forgejo-lts/pkg-plist
@@ -0,0 +1,8 @@
+@sample %%ETCDIR%%/conf/app.ini.sample
+%%ETCDIR%%/conf/app.ini.defaults
+sbin/forgejo
+@dir %%DATADIR%%
+@dir(git,git,755) %%DBDIR%%
+@dir(git,git,755) %%DBDIR%%/data
+@dir(git,git,755) %%DBDIR%%/forgejo-repositories
+@dir(git,git,755) %%LOGDIR%%
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Feb 9, 7:19 AM (12 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28552278
Default Alt Text
D53395.id165194.diff (9 KB)
Attached To
Mode
D53395: www/forgejo-lts: Copied from www/forgejo
Attached
Detach File
Event Timeline
Log In to Comment