summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-04-05 14:39:58 +0800
committerRunxi Yu <me@runxiyu.org>2025-04-05 14:39:58 +0800
commit3584c3480f4d282e5044ee2b1200c631e28c3fa6 (patch)
treee2f63081569ce748810f8388339c4e9edfbc4004 /content
parentRemove old code style guide (diff)
downloadwebsite-3584c3480f4d282e5044ee2b1200c631e28c3fa6.tar.gz
website-3584c3480f4d282e5044ee2b1200c631e28c3fa6.tar.zst
website-3584c3480f4d282e5044ee2b1200c631e28c3fa6.zip
Update forge docs
Diffstat (limited to 'content')
-rw-r--r--content/forge/_index.md28
-rw-r--r--content/forge/setup.md26
2 files changed, 41 insertions, 13 deletions
diff --git a/content/forge/_index.md b/content/forge/_index.md
index 4998133..6e65d12 100644
--- a/content/forge/_index.md
+++ b/content/forge/_index.md
@@ -10,24 +10,25 @@ primarily designed for self-hosting by small organizations and individuals.
The Lindenii project itself
[runs an instance](https://forge.lindenii.runxiyu.org/),
where the
-[official source repository of Lindenii Forge](https://forge.lindenii.runxiyu.org/lindenii/forge/:/repos/server/)
+[official source repository of Lindenii Forge](https://forge.lindenii.runxiyu.org/forge/-/repos/server/)
is located.
## Organization
Misc URLs (for hosting stylesheets, scripts, the login page, etc.) are like
-`https://forge.example.org/:/functionality...`.
+`https://forge.example.org/-/functionality...`.
Contentful URLs are like
-`https://forge.example.org/group_name/subgroup_name.../:/module_type/module_name`.
+`https://forge.example.org/group_name/subgroup_name.../-/module_type/module_name`.
The available `module_type`s are:
-* `repos` for version control
+* `repos` for version control (the only one implemented so far)
* `tickets` for ticket trackers
* `discuss` for discussions
+* `decisions` for requests for comments and collective decision-making
-Group and subgroup names may not be `:`.
+Group and subgroup names may not be `-`.
While this syntax looks a bit odd, it makes it possible to unambiguously
identify where subgroups end and modules begin, without needing to touch the
@@ -95,6 +96,19 @@ far future.
It should be possible to associate tickets with MRs.
+### Requests for comments and decisions
+
+Requests for comments (RFCs) and decisions are similar to tickets, but
+specifically designed for collective decision-making.
+
+In general, there will be two or more sides to a question, and people may use
+commentaries to express their opinions. Group voting is supported for RFC
+trackers that choose so; others may use dictatorial voting. At the end of
+decisions, there shall be a final rationale, and users may submit concurring or
+dissenting opinions.
+
+It should be possible to associate RFCs with MRs too.
+
### Discussions
Discussions are basically mailing lists that could also be used from a Web
@@ -143,7 +157,7 @@ This plan is subject to change.
We are currently using the
[GNU Affero General Public License version 3](https://www.gnu.org/licenses/agpl-3.0.html).
-The forge software serves its own source at `/:/source/`.
+The forge software serves its own source at `/-/source/`.
## Support and development
@@ -157,7 +171,7 @@ The forge software serves its own source at `/:/source/`.
since our own ticket tracking system is not ready yet.
Please submit patches by pushing to `contrib/...` in the official repo.
* We have several Git repo mirrors on a few places:
- * [Lindenii Forge itself](https://forge.lindenii.runxiyu.org/lindenii/:/repos/forge/)
+ * [Lindenii Forge itself](https://forge.lindenii.runxiyu.org/forge/-/repos/forge/)
* [The Lindenii Project's cgit](https://git.lindenii.runxiyu.org/forge.git/)
* [SourceHut](https://git.sr.ht/~runxiyu/forge/)
* [Codeberg](https://codeberg.org/lindenii/forge/)
diff --git a/content/forge/setup.md b/content/forge/setup.md
index 37be79c..d2686a1 100644
--- a/content/forge/setup.md
+++ b/content/forge/setup.md
@@ -2,27 +2,41 @@
title: Setup
---
+## System requirements
+
+We currently only support Linux and FreeBSD. Support for other UNIX-like
+operating systems may be added in the future, but we do not have any plans to
+support Windows.
+
## Build dependencies
* Git
* GNU Make
* C compiler
* Recent Go toolchain
+* [libgit2](https://libgit2.org)
+* A recent [mandoc](https://mandoc.bsd.lv)
+ (we recommend using the latest CVS checkout)
-## Build and install
-
-Clone the source code and run `make`.
+## Build
-Then run `make install` to install it. By default, it installs to `/usr/local/`.
+Clone the source code and run `gmake`.
Note that setting `GOARCH` to cross compile does not completely work, since the
-hooks handler is written in C. You need to customize `CC` to point to a proper
-cross compiler.
+hooks handler and Git RPC daemon is written in C. You need to customize `CC` to
+point to a proper cross compiler.
+
+## Install
+
+We don't provide an `install` target yet, so just copy the files to reasonable
+locations.
## Runtime dependencies
* Git
* PostgreSQL 14 or later
+* [libgit2](https://libgit2.org)
+* A runtime copy of your C library, if you are not statically linking
## Configuration