Compare commits
55 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 63cbfe6ac5 | |||
| 30aed9be20 | |||
| a9646e3638 | |||
| f4b3c6f0bd | |||
| 8d8f8a421e | |||
|
|
5240880e50 | ||
| 42d9f4429f | |||
| f8354971f4 | |||
| 42c5492b46 | |||
| 8ae087460c | |||
| c3a73e03a3 | |||
| ac124580cc | |||
| c3abe589ce | |||
| 10ecd8fcfd | |||
| 17153ac992 | |||
| 19ec2c1042 | |||
| 8e211f404d | |||
| 82dbfc933c | |||
| fb620d9a76 | |||
| 6955fdb8d1 | |||
| f4451ef915 | |||
| bd218282ec | |||
| db7089f6e7 | |||
| 42ad4a8089 | |||
| 00206313ec | |||
| 7f522500cd | |||
| 3d8228b52e | |||
| 0ba7125459 | |||
| 869c6ef021 | |||
| 7a7b7add96 | |||
| 7014233758 | |||
| ffc387d406 | |||
| 69ce33384b | |||
| 0b8241f181 | |||
| ff1acc2f3f | |||
|
68b545677a |
|||
| c0210a674c | |||
| 1782d1593d | |||
|
|
21bd346cd9 | ||
| 4ecda66198 | |||
| 2310942f0f | |||
| 9e0984c7dc | |||
| 1fd0e97f26 | |||
| 6038940fa5 | |||
| b47593831e | |||
| a5f83f83e5 | |||
| 7aa1fa3a68 | |||
| 2cd9464302 | |||
| a21a3f57b3 | |||
| 6913b7d622 | |||
|
c3d84370ea |
|||
|
4d5f8c3a3a |
|||
|
3c47f3fa44 |
|||
| 48237b8b68 | |||
| 555c03d223 |
44 changed files with 599 additions and 374 deletions
33
.forgejo/issue_template/change.md
Normal file
33
.forgejo/issue_template/change.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
name: Change template
|
||||
about: Use this template to open an issue for a Fedora Change
|
||||
title: "Change: "
|
||||
---
|
||||
|
||||
This issue tracks the release note for the following Fedora Change:
|
||||
|
||||
!!!!LINK TO WIKI HERE!!!!
|
||||
|
||||
**If you own this change**, please add additional information here that we should communicate to Fedora users. Specifically, please consider:
|
||||
|
||||
* New features available because of this change - pick those that are important to end users
|
||||
* Considerations for users of previous releases of Fedora (upgrade issues, format changes, etc.)
|
||||
* Links to any upstream Release Notes
|
||||
* If this helps Fedora be a superior environment for our target audiences, please explain how so that we can emphasize this.
|
||||
|
||||
Your notes to us do not need to be formally written - we will edit them and add details if needed. This is a way for you to ensure that we know what is critical about your change.
|
||||
|
||||
**If you want to write this release note**, then:
|
||||
|
||||
* Assign this issue to yourself
|
||||
* Check the wiki page linked above, find out what the change is about
|
||||
* Determine whether the change actually made it into the release or not[0]
|
||||
* Write a draft release note using that information against the correct branch here, in Gitlab. (or see below)
|
||||
* Get in touch with the contact person/people listed on the wiki page, either through IRC/Matrix or e-mail or just by @-mentioning them in a comment here, and ask them to check your draft for technical accuracy
|
||||
* Submit your Release Note as a PR to this repository.
|
||||
|
||||
Once you're done with the above, make sure to either commit the relnote to an appropriate section of the Release Notes, or, if you're not familiar with Git, AsciiDoc, or whatever else, just add it to this issue as a comment and let the team[1] know that you're done with this one and you'd like the note included. Be sure to do this at least one day before the final release (see current schedule[2]). Also make sure to do this even for relnotes that haven't been checked by the change owner.
|
||||
|
||||
[0] You can do that by asking the change owner listed on the wiki page; alternatively you can infer it by checking the tracker bug (linked in Wiki) in Bugzilla and looking at its status; see bug comments for details. Ask someone on Matrix if you're not sure.
|
||||
[1] On Matrix in the Fedora Documentation channel - see https://docs.fedoraproject.org/en-US/project/communications/.
|
||||
[2] Schedules are all here: https://fedorapeople.org/groups/schedule/ - make sure to pick the correct release.
|
||||
137
README.md
137
README.md
|
|
@ -1,126 +1,29 @@
|
|||
# Fedora Release Notes
|
||||
# Fedora Release Notes Documentation
|
||||
|
||||
Please report Issues and submit Pull Requests for **Content Fixes** here.
|
||||
Never done a pull request (or "PR")? Here's the [Pagure documentation for
|
||||
Pull Requests](https://docs.pagure.org/pagure/usage/pull_requests.html).
|
||||
Release Notes document the most important changes and new features in each Fedora Linux release.
|
||||
|
||||
## Published documentation
|
||||
|
||||
General appearance issues and publishing issues should be reported against
|
||||
the [publishing software](https://pagure.io/fedora-docs/docs-fp-o).
|
||||
The published version of this documentation is available at:
|
||||
[https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/](https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/)
|
||||
|
||||
## Structure
|
||||
## Contributing
|
||||
|
||||
```
|
||||
|-- README.md
|
||||
|-- antora.yml ....................... 1.
|
||||
|-- build.sh ......................... 2.
|
||||
|-- preview.sh ....................... 3.
|
||||
|-- site.yml ......................... 4.
|
||||
`-- modules
|
||||
`-- ROOT ......................... 5.
|
||||
|-- assets
|
||||
| `-- images ............... 6.
|
||||
| `-- pizza.png
|
||||
|-- nav.adoc ................. 7.
|
||||
`-- pages .................... 8.
|
||||
|-- architecture.adoc
|
||||
|-- community.adoc
|
||||
|-- faq.adoc
|
||||
|-- index.adoc
|
||||
|-- pizza-dough.adoc
|
||||
`-- pizza-oven.adoc
|
||||
```
|
||||
We welcome contributions! Whether it's fixing a typo, reporting an outdated
|
||||
page, or writing new content — every little bit helps.
|
||||
|
||||
1. Metadata definition.
|
||||
2. A script that does a local build. Uses docker.
|
||||
3. A script that shows a preview of the site in a web browser by running a local web server. Uses docker.
|
||||
4. A definition file for the build script.
|
||||
5. A "root module of this documentation component". Please read below for an explanation.
|
||||
6. **Images** to be used on any page.
|
||||
7. **Menu definition.** Also defines the hierarchy of all the pages.
|
||||
8. **Pages with the actual content.** They can be also organised into subdirectories if desired.
|
||||
> **Note:** This is a versioned repository — there is a separate branch for each
|
||||
> Fedora release. Pull requests should generally go to these release-specific branches.
|
||||
> Branch `main` is only used as a template from which each new version is branched.
|
||||
|
||||
## Components and Modules
|
||||
See the [Fedora Docs Contributor Guide](https://docs.fedoraproject.org/en-US/fedora-docs/contributing-docs/)
|
||||
for how to get started.
|
||||
|
||||
Antora introduces two new terms:
|
||||
Please report **content issues** in this repository.
|
||||
For general site/publishing issues, use the
|
||||
[Fedora Docs Website repository](https://forge.fedoraproject.org/docs/docs-fp-o).
|
||||
|
||||
* **Component** — Simply put, a component is a part of the documentation website with its own menu. Components can also be versioned. In the Fedora Docs, we use separate components for user documentation, the Fedora Poject, Fedora council, Mindshare, FESCO, but also subprojects such as CommOps or Modulartity.
|
||||
* **Module** — A component can be broken down into multiple modules. Modules still share a single menu on the site, but their sources can be stored in different git repositories, even owned by different groups. The default module is called "ROOT" (that's what is in this example). If you don't want to use multiple modules, only use "ROOT". But to define more modules, simply duplicate the "ROOT" directory and name it anything you want. You can store modules in one or more git repositories.
|
||||
|
||||
## Local preview
|
||||
|
||||
This repo includes scripts to build and preview the contents of this repository.
|
||||
|
||||
**NOTE**: Please note that if you reference pages from other repositoreis, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions.
|
||||
|
||||
Both scripts work on Fedora (using Podman) and macOS (using Docker).
|
||||
|
||||
To build and preview the site, run:
|
||||
|
||||
```
|
||||
$ ./build.sh && ./preview.sh
|
||||
```
|
||||
|
||||
The result will be available at http://localhost:8080
|
||||
|
||||
### Installing Podman on Fedora
|
||||
|
||||
Fedora Workstation doesn't come with Podman preinstalled by default — so you might need to install it using the following command:
|
||||
|
||||
```
|
||||
$ sudo dnf install podman
|
||||
```
|
||||
|
||||
### Preview as a part of the whole Fedora Docs site
|
||||
|
||||
You can also build the whole Fedora Docs site locally to see your changes in the whole context.
|
||||
This is especially useful for checking if your `xref` links work properly.
|
||||
|
||||
To do this, you need to clone the main [Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o), modify the `site.yml` file to reference a repo with your changes, and build it.
|
||||
Steps:
|
||||
|
||||
Clone the main repository and cd into it:
|
||||
|
||||
```
|
||||
$ git clone https://pagure.io/fedora-docs/docs-fp-o.git
|
||||
$ cd docs-fp-o
|
||||
```
|
||||
|
||||
Find a reference to the repository you're changing in the `site.yml` file, and change it so it points to your change.
|
||||
So for example, if I made a modification to the Modularity docs, I would find:
|
||||
|
||||
```
|
||||
...
|
||||
- url: https://pagure.io/fedora-docs/modularity.git
|
||||
branches:
|
||||
- master
|
||||
...
|
||||
```
|
||||
|
||||
And replaced it with a pointer to my fork:
|
||||
```
|
||||
...
|
||||
- url: https://pagure.io/forks/asamalik/fedora-docs/modularity.git
|
||||
branches:
|
||||
- master
|
||||
...
|
||||
```
|
||||
|
||||
I could also point to a local repository, using `HEAD` as a branch to preview the what's changed without the need of making a commit.
|
||||
|
||||
**Note:** I would need to move the repository under the `docs-fp-o` directory, because the builder won't see anything above.
|
||||
So I would need to create a `repositories` directory in `docs-fp-o` and copy my repository into it.
|
||||
|
||||
```
|
||||
...
|
||||
- url: ./repositories/modularity
|
||||
branches:
|
||||
- HEAD
|
||||
...
|
||||
```
|
||||
|
||||
To build the whole site, I would run the following in the `docs-fp-o` directory.
|
||||
|
||||
```
|
||||
$ ./build.sh && ./preview.sh
|
||||
```
|
||||
## Contact
|
||||
- **Matrix:** [#docs:fedoraproject.org](https://matrix.to/#/#docs:fedoraproject.org)
|
||||
- **Private comms:** Use our FAS emails for anything that shouldn't be public.
|
||||
- **Discussion forums:** [discussion.fedoraproject.org](https://discussion.fedoraproject.org/tag/docs-team/337)
|
||||
52
build.sh
52
build.sh
|
|
@ -1,52 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
image="docker.io/antora/antora"
|
||||
cmd="--html-url-extension-style=indexify site.yml"
|
||||
|
||||
if uname | grep -iwq darwin; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo ""
|
||||
echo "This build script is using Docker container runtime to run the build in an isolated environment."
|
||||
echo ""
|
||||
docker run --rm -it -v "$(pwd):/antora" "${image}" ${cmd}
|
||||
|
||||
elif uname | grep -iq linux; then
|
||||
# Running on Linux.
|
||||
# there isn't an antora/aarch64 container, antora can be installed locally
|
||||
# Check whether podman is available, else faill back to docker
|
||||
# which requires root.
|
||||
|
||||
if [ -f /usr/local/bin/antora ]; then
|
||||
/usr/local/bin/antora ${cmd}
|
||||
elif uname -m | grep -iwq aarch64; then
|
||||
echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`"
|
||||
elif [ -f /usr/bin/podman ]; then
|
||||
echo ""
|
||||
echo "This build script is using Podman to run the build in an isolated environment."
|
||||
echo ""
|
||||
podman run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
|
||||
elif [ -f /usr/bin/docker ]; then
|
||||
echo ""
|
||||
echo "This build script is using Docker to run the build in an isolated environment."
|
||||
echo ""
|
||||
|
||||
if groups | grep -wq "docker"; then
|
||||
docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
else
|
||||
echo "You might be asked for your password."
|
||||
echo "You can avoid this by adding your user to the 'docker' group,"
|
||||
echo "but be aware of the security implications."
|
||||
echo "See https://docs.docker.com/install/linux/linux-postinstall/"
|
||||
echo ""
|
||||
sudo docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "Error: Container runtime haven't been found on your system. Fix it by:"
|
||||
echo "$ sudo dnf install podman"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
278
docsbuilder.sh
Executable file
278
docsbuilder.sh
Executable file
|
|
@ -0,0 +1,278 @@
|
|||
#!/bin/bash
|
||||
|
||||
# script to watch source directory for changes, and re-run build and preview
|
||||
|
||||
script_name="docsbuilder.sh"
|
||||
script_source="https://gitlab.com/fedora/docs/templates/fedora-docs-template/-/raw/main/${script_name}"
|
||||
version="1.2.0"
|
||||
image="docker.io/antora/antora"
|
||||
cmd="--html-url-extension-style=indexify site.yml"
|
||||
srcdir="modules"
|
||||
buildir="public"
|
||||
previewpidfile="preview.pid"
|
||||
|
||||
# 4913: for vim users, vim creates a temporary file to test it can write to
|
||||
# directory
|
||||
# https://groups.google.com/g/vim_dev/c/sppdpElxY44
|
||||
# .git: so we don't get rebuilds each time git metadata changes
|
||||
inotifyignore="\.git.*|4913"
|
||||
|
||||
watch_and_build () {
|
||||
if ! command -v inotifywait > /dev/null
|
||||
then
|
||||
echo "inotifywait command could not be found. Please install inotify-tools."
|
||||
echo "On Fedora, run: sudo dnf install inotify-tools"
|
||||
stop_preview_and_exit
|
||||
else
|
||||
# check for git
|
||||
# required to get ignorelist
|
||||
if ! command -v git > /dev/null
|
||||
then
|
||||
echo "git command could not be found. Please install git."
|
||||
echo "On Fedora, run: sudo dnf install git-core"
|
||||
stop_preview_and_exit
|
||||
else
|
||||
# Get files not being tracked, we don't watch for changes in these.
|
||||
# Could hard code, but people use different editors that may create
|
||||
# temporary files that are updated regularly and so on, so better
|
||||
# to get the list from git. It'll also look at global gitingore
|
||||
# settings and so on.
|
||||
inotifyignore="$(git status -s --ignored | grep '^!!' | sed -e 's/^!! //' | tr '\n' '|')${inotifyignore}"
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
echo "Watching current directory (excluding: ${inotifyignore}) for changes and re-building as required. Use Ctrl C to stop."
|
||||
inotifywait -q --exclude "($inotifyignore)" -e modify,create,delete,move -r . && echo "Change detected, rebuilding.." && build
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
build () {
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo ""
|
||||
echo "This build script is using Docker container runtime to run the build in an isolated environment."
|
||||
echo ""
|
||||
docker run --rm -it -v $(pwd):/antora $image $cmd
|
||||
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Check whether podman is available, else faill back to docker
|
||||
# which requires root.
|
||||
|
||||
if [ -f /usr/bin/podman ]; then
|
||||
echo ""
|
||||
echo "This build script is using Podman to run the build in an isolated environment."
|
||||
echo ""
|
||||
podman run --rm -it -v $(pwd):/antora:z $image $cmd --stacktrace
|
||||
|
||||
elif [ -f /usr/bin/docker ]; then
|
||||
echo ""
|
||||
echo "This build script is using Docker to run the build in an isolated environment."
|
||||
echo ""
|
||||
|
||||
if groups | grep -wq "docker"; then
|
||||
docker run --rm -it -v $(pwd):/antora:z $image $cmd
|
||||
else
|
||||
echo ""
|
||||
echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password."
|
||||
echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/."
|
||||
echo ""
|
||||
sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd
|
||||
fi
|
||||
|
||||
else
|
||||
echo ""
|
||||
echo "Error: Container runtime haven't been found on your system. Fix it by:"
|
||||
echo "$ sudo dnf install podman"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
start_preview () {
|
||||
|
||||
# clean up a preview that may be running
|
||||
stop_preview
|
||||
|
||||
# always run an initial build so preview shows latest version
|
||||
build
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo "The preview will be available at http://localhost:8080/"
|
||||
docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx
|
||||
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Fedora Workstation has python3 installed as a default, so using that
|
||||
echo ""
|
||||
echo "The preview is available at http://localhost:8080"
|
||||
echo ""
|
||||
pushd "${buildir}" > /dev/null 2>&1
|
||||
python3 -m http.server 8080 &
|
||||
echo "$!" > ../"${previewpidfile}"
|
||||
popd > /dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_preview () {
|
||||
if [ -e "${previewpidfile}" ]
|
||||
then
|
||||
PID=$(cat "${previewpidfile}")
|
||||
kill $PID
|
||||
echo "Stopping preview server (running with PID ${PID}).."
|
||||
rm -f "${previewpidfile}"
|
||||
else
|
||||
echo "No running preview server found to stop: no ${previewpidfile} file found."
|
||||
fi
|
||||
}
|
||||
|
||||
stop_preview_and_exit ()
|
||||
{
|
||||
# stop and also exit the script
|
||||
|
||||
# if stop_preview is trapped, then SIGINT doesn't stop the build loop. So
|
||||
# we need to make sure we also exit the script.
|
||||
|
||||
# stop_preview is called before other functions, so we cannot add exit to
|
||||
# it.
|
||||
stop_preview
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
# https://apple.stackexchange.com/questions/83939/compare-multi-digit-version-numbers-in-bash/123408#123408
|
||||
version () { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
|
||||
|
||||
|
||||
check_update () {
|
||||
if ! command -v curl > /dev/null
|
||||
then
|
||||
echo "curl command could not be found. Please install curl."
|
||||
echo "On Fedora, run: sudo dnf install curl"
|
||||
exit 0
|
||||
fi
|
||||
script_version="$(grep "^version=" ${script_name} | cut -d '=' -f2 | tr --delete '"')"
|
||||
tempdir="$(mktemp -d)"
|
||||
echo "$tempdir"
|
||||
pushd "$tempdir" > /dev/null 2>&1
|
||||
curl "$script_source" --silent --output "${script_name}"
|
||||
upstream_version="$(grep "^version=" ${script_name} | cut -d '=' -f2 | tr --delete '"')"
|
||||
echo "${upstream_version}"
|
||||
if [ $(version $upstream_version) -gt $(version $script_version) ]; then
|
||||
echo "Update available"
|
||||
echo "Script version $upstream_version is available at $script_source"
|
||||
echo "This version is $script_version."
|
||||
echo "Please use the '-U' option to update."
|
||||
echo
|
||||
fi
|
||||
popd > /dev/null 2&>1
|
||||
}
|
||||
|
||||
install_update () {
|
||||
if ! command -v curl > /dev/null
|
||||
then
|
||||
echo "curl command could not be found. Please install curl."
|
||||
echo "On Fedora, run: sudo dnf install curl"
|
||||
exit 0
|
||||
fi
|
||||
curl "$script_source" --silent --output "${script_name}.new"
|
||||
mv "${script_name}.new" "${script_name}"
|
||||
chmod +x "${script_name}"
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "$0: Build and preview Fedora antora based documentation"
|
||||
echo
|
||||
echo "Usage: $0 [-awbpkh]"
|
||||
echo
|
||||
echo "-a: start preview, start watcher and rebuilder"
|
||||
echo "-w: start watcher and rebuilder"
|
||||
echo "-b: rebuild"
|
||||
echo "-p: start_preview"
|
||||
echo "-k: stop_preview"
|
||||
echo "-h: print this usage text and exit"
|
||||
echo "-u: check builder script update"
|
||||
echo "-U: install builder script from upstream"
|
||||
echo
|
||||
echo "Maintained by the Fedora documentation team."
|
||||
echo "Please contact on our channels: https://docs.fedoraproject.org/en-US/fedora-docs/#find-docs"
|
||||
}
|
||||
|
||||
# check if the script is being run in a Fedora docs repository
|
||||
if [ ! -e "site.yml" ]
|
||||
then
|
||||
echo "site.yml not be found."
|
||||
echo "This does not appear to be a Fedora Antora based documentation repository."
|
||||
echo "Exiting."
|
||||
echo
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ $# -lt 1 ]
|
||||
then
|
||||
echo "No options provided, running preview with watch and build."
|
||||
echo "Run script with '-h' to see all available options."
|
||||
echo
|
||||
echo
|
||||
trap stop_preview_and_exit INT
|
||||
start_preview
|
||||
watch_and_build
|
||||
stop_preview
|
||||
fi
|
||||
|
||||
# parse options
|
||||
while getopts "awbpkhuU" OPTION
|
||||
do
|
||||
case $OPTION in
|
||||
a)
|
||||
# handle sig INT to stop the preview
|
||||
trap stop_preview_and_exit INT
|
||||
start_preview
|
||||
watch_and_build
|
||||
stop_preview
|
||||
exit 0
|
||||
;;
|
||||
w)
|
||||
watch_and_build
|
||||
exit 0
|
||||
;;
|
||||
b)
|
||||
build
|
||||
exit 0
|
||||
;;
|
||||
p)
|
||||
start_preview
|
||||
echo "Please run ./${script_name} -k to stop the preview server"
|
||||
exit 0
|
||||
;;
|
||||
k)
|
||||
stop_preview
|
||||
exit 0
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
u)
|
||||
check_update
|
||||
exit 0
|
||||
;;
|
||||
U)
|
||||
install_update
|
||||
exit 0
|
||||
;;
|
||||
?)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
@ -1,29 +1,10 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
* xref:index.adoc[Fedora Release Notes]
|
||||
** xref:welcome/Welcome.adoc[Welcome to Fedora]
|
||||
*** xref:welcome/Hardware_Overview.adoc[Hardware Overview]
|
||||
*** xref:welcome/Feedback.adoc[Feedback]
|
||||
** xref:sysadmin/Sysadmins.adoc[System Administrators]
|
||||
*** xref:sysadmin/Distribution.adoc[Distribution-wide Changes]
|
||||
*** xref:sysadmin/Installation.adoc[Installation]
|
||||
*** xref:sysadmin/Security.adoc[Security]
|
||||
*** xref:sysadmin/Networking.adoc[Networking]
|
||||
*** xref:sysadmin/Storage.adoc[Storage]
|
||||
*** xref:sysadmin/System_Utilities.adoc[System Utilities]
|
||||
*** xref:sysadmin/Printing_Scanning.adoc[Printing and Scanning]
|
||||
** xref:desktop/Desktop_index.adoc[Desktop Users]
|
||||
** xref:developers/Developers.adoc[Developers]
|
||||
*** xref:developers/Development_Tools.adoc[Development Tools]
|
||||
*** xref:developers/Development_Binutils.adoc[Binutils]
|
||||
*** xref:developers/Development_C.adoc[C]
|
||||
*** xref:developers/Development_Go.adoc[Go]
|
||||
*** xref:developers/Development_Haskell.adoc[Haskell]
|
||||
*** xref:developers/Development_LLVM.adoc[LLVM]
|
||||
*** xref:developers/Development_Dotnet.adoc[.NET]
|
||||
*** xref:developers/Development_Python.adoc[Python]
|
||||
*** xref:developers/Development_Ruby.adoc[Ruby]
|
||||
*** xref:developers/Development_Web.adoc[Web Development]
|
||||
//CHANGE THIS WITH A NEW RELEASE
|
||||
** link:https://fedoraproject.org/wiki/Common_F34_bugs[Common Bugs]
|
||||
** xref:Revision_History.adoc[Revision History]
|
||||
** xref:welcome.adoc[Welcome to Fedora]
|
||||
*** xref:hardware_overview.adoc[Hardware Overview]
|
||||
*** xref:feedback.adoc[Feedback]
|
||||
** xref:sysadmin.adoc[System Administrators]
|
||||
** xref:desktop.adoc[Desktop Users]
|
||||
** xref:developers.adoc[Developers]
|
||||
** link:{COMMONBUGS_URL}[Common Bugs]
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[appe-Release_Notes-Revision_History]]
|
||||
= Revision History
|
||||
|
|
@ -1 +0,0 @@
|
|||
.The Fedora Docs Team
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
:BOOKID: release-notes
|
||||
:BZURL: https://pagure.io/fedora-docs/release-notes/issues
|
||||
:COMMONBUGS_URL: https://fedoraproject.org/wiki/Common_F34_bugs
|
||||
:HOLDER: Fedora Project Contributors
|
||||
:PREVVER: 35
|
||||
:PRODUCT: Fedora Documentation
|
||||
:PRODVER: Rawhide
|
||||
:YEAR: 2022
|
||||
4
modules/release-notes/pages/desktop.adoc
Normal file
4
modules/release-notes/pages/desktop.adoc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
:experimental:
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
= Changes in Fedora {PRODVER} For Desktop Users
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Notable changes for desktop users
|
||||
4
modules/release-notes/pages/developers.adoc
Normal file
4
modules/release-notes/pages/developers.adoc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
:experimental:
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
= Changes in Fedora {PRODVER} For Developers
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Notable changes for developers
|
||||
|
||||
This section lists changes in Fedora {PRODVER} relevant to developers.
|
||||
Use the navigation tab on the left to view release notes for various languages.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-binutils]]
|
||||
= GNU Binutils
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-c]]
|
||||
= C
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-dotnet]]
|
||||
= .NET
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-development-go]]
|
||||
= Golang
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-haskell]]
|
||||
= Haskell
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-llvm]]
|
||||
= LLVM
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-python]]
|
||||
= Python
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-ruby]]
|
||||
= Ruby
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-development-tools]]
|
||||
= Development Tools
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-web-development]]
|
||||
= Web Development
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
[[sect-Release_Notes-Feedback]]
|
||||
= Feedback
|
||||
|
|
@ -8,7 +8,7 @@ Thank you for taking the time to provide your comments, suggestions, and bug rep
|
|||
|
||||
== Providing Feedback on Fedora Software
|
||||
|
||||
To provide feedback on Fedora software or other system elements, please refer to link:++https://fedoraproject.org/wiki/BugsAndFeatureRequests++[Bugs And Feature Requests]. A list of commonly reported bugs and known issues for this release is available from link:{COMMONBUGS_URL}[Common Bugs] on the wiki.
|
||||
To provide feedback on Fedora software or other system elements, please refer to link:++https://docs.fedoraproject.org/en-US/quick-docs/bugzilla-file-a-bug/++[Bugs And Feature Requests]. A list of commonly reported bugs and known issues for this release is available from link:{COMMONBUGS_URL}[Common Bugs] on the forums.
|
||||
|
||||
== Providing Feedback on Release Notes
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
[[sect-hardware-overview]]
|
||||
= Hardware Overview
|
||||
|
|
@ -29,7 +29,7 @@ For best results on systems with less than 1GB of memory, use the DVD installati
|
|||
|
||||
The figures below are recommended for the default x86_64 Workstation installation featuring the Gnome desktop . Your requirements may differ, depending on Desktop Environment and use case.
|
||||
|
||||
* 2GHz quad core processor
|
||||
* 2GHz quad core processor
|
||||
|
||||
* 4GB System Memory
|
||||
|
||||
|
|
@ -46,15 +46,9 @@ For best results on systems with less than 1GB of memory, use the DVD installati
|
|||
[[hardware_overview-resolution]]
|
||||
== Display resolution
|
||||
|
||||
VGA capable of 1024x768 screen resolution
|
||||
|
||||
.Graphical Installation requires 800x600 resolution or higher
|
||||
[NOTE]
|
||||
====
|
||||
Graphical installation of Fedora requires a minimum screen resolution of 800x600. Owners of devices with lower resolution, such as some netbooks, should use text or VNC installation.
|
||||
Graphical installation of Fedora requires a minimum screen resolution of **1024x768**. Owners of devices with lower resolution, such as some netbooks, should use text or VNC installation.
|
||||
|
||||
Once installed, Fedora will support these lower resolution devices. The minimum resolution requirement applies only to graphical installation.
|
||||
====
|
||||
|
||||
[[hardware_overview-graphics]]
|
||||
== Graphics Hardware
|
||||
|
|
@ -62,7 +56,7 @@ Once installed, Fedora will support these lower resolution devices. The minimum
|
|||
[[hardware_overview-graphics-legacy_gpus]]
|
||||
=== Minimum Hardware for Accelerated Desktops
|
||||
|
||||
Fedora {PRODVER} supports most display adapters. Modern, feature-rich desktop environments like *GNOME3* and *KDE Plasma Workspaces* use video devices to provide 3D-accelerated desktops. Older graphics hardware may *not support* acceleration:
|
||||
Fedora {PRODVER} supports most display adapters. Modern, feature-rich desktop environments like *GNOME* and *KDE Plasma Workspaces* use video devices to provide 3D-accelerated desktops. Older graphics hardware may *not support* acceleration:
|
||||
|
||||
* Intel prior to GMA9xx
|
||||
|
||||
|
|
@ -78,22 +72,18 @@ Systems with older or no graphics acceleration devices can have accelerated desk
|
|||
[[hardware_overview-graphics-desktops]]
|
||||
=== Choosing a Desktop Environment for your hardware
|
||||
|
||||
Fedora {PRODVER}'s default desktop environment, *GNOME3*, functions best with hardware acceleration. Alternative desktops are recommended for users with older graphics hardware or those seeing insufficient performance with *LLVMpipe*.
|
||||
Fedora {PRODVER}'s default desktop environment, *GNOME*, functions best with hardware acceleration. Alternative desktops are recommended for users with older graphics hardware or those seeing insufficient performance with *LLVMpipe*.
|
||||
|
||||
Desktop environments can be added to an existing installation and selected at login. To list the available desktops, use the [command]`dnf grouplist` command:
|
||||
Desktop environments can be added to an existing installation and selected at login. To list the available desktops, use the [command]`dnf environment list` command:
|
||||
|
||||
----
|
||||
# dnf grouplist -v hidden | grep Desktop
|
||||
# dnf environment list
|
||||
----
|
||||
|
||||
Install the desired group:
|
||||
Install the desired environment using its ID as listed in the above command's output:
|
||||
|
||||
----
|
||||
# dnf groupinstall "KDE Plasma Workspaces"
|
||||
# dnf install @cinnamon-desktop-environment
|
||||
----
|
||||
|
||||
Or, use the short group name to install:
|
||||
|
||||
----
|
||||
# dnf install @mate-desktop-environment
|
||||
----
|
||||
For more information, see the `dnf5-environment` man page.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
= Release Notes
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ This document provides the release notes for Fedora Linux {PRODVER}. It describe
|
|||
====
|
||||
Have something that should be included in the release notes?
|
||||
Notice something wrong?
|
||||
File an issue in the https://pagure.io/fedora-docs/release-notes[fedora-docs/release-notes repo].
|
||||
File an issue in the https://gitlab.com/fedora/docs/fedora-linux-documentation/release-notes/-/issues[Release Notes repository].
|
||||
====
|
||||
|
||||
[NOTE]
|
||||
|
|
@ -23,6 +23,4 @@ Use the sidebar on the left to navigate the Release Notes as well as other docum
|
|||
====
|
||||
|
||||
image:title_logo.svg[Fedora Logo]
|
||||
include::{partialsdir}/Legal_Notice.adoc[]
|
||||
|
||||
include::{partialsdir}/Author_Group.adoc[]
|
||||
include::partial$Legal_Notice.adoc[]
|
||||
|
|
|
|||
4
modules/release-notes/pages/sysadmin.adoc
Normal file
4
modules/release-notes/pages/sysadmin.adoc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
:experimental:
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
= Changes in Fedora {PRODVER} For System Administrators
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[select-distribution]]
|
||||
= Distribution-wide Changes
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-installation]]
|
||||
= Installation
|
||||
|
||||
[[sect-installation-anaconda]]
|
||||
== Anaconda changes
|
||||
|
||||
This section covers changes in the [application]*Anaconda* installer, including changes in the graphical and text mode interactive installers, Kickstart, and installer boot options.
|
||||
|
||||
[[sect-installation-anaconda-general]]
|
||||
=== General changes
|
||||
|
||||
[[sect-installation-kickstart]]
|
||||
=== Kickstart changes
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[networking]]
|
||||
= Networking
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-printing-scanning]]
|
||||
= Printing and Scanning
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-security]]
|
||||
= Security
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-storage]]
|
||||
= Storage
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Notable changes for system administrators
|
||||
|
||||
This section lists changes in Fedora {PRODVER} relevant to system administrators.
|
||||
Use the navigation tab on the left to view release notes for various fields of interest.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-system-utilities]]
|
||||
= System Utilities
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
[[sect-welcome_to_fedora]]
|
||||
= Welcome to Fedora
|
||||
|
|
@ -13,26 +13,26 @@ The Fedora Project's mission is to lead the advancement of free and open source
|
|||
|
||||
* The Fedora Project succeeds through shared action on the part of many people throughout our community.
|
||||
|
||||
To find out more general information about Fedora, refer to the following pages, on the Fedora Project Wiki:
|
||||
To find out more general information about Fedora, refer to the following pages:
|
||||
|
||||
* link:++https://fedoraproject.org/wiki/Overview++[Fedora Overview]
|
||||
* link:++https://docs.fedoraproject.org/en-US/project/++[Fedora’s Mission and Foundations]
|
||||
|
||||
* link:++https://fedoraproject.org/wiki/FAQ++[Fedora FAQ]
|
||||
|
||||
* link:++https://fedoraproject.org/wiki/Communicate++[Help and Discussions]
|
||||
* link:++https://docs.fedoraproject.org/en-US/project/communications/++[Communication in Fedora]
|
||||
|
||||
* link:++https://fedoraproject.org/wiki/Join++[Participate in the Fedora Project]
|
||||
* link:++https://docs.fedoraproject.org/en-US/project/join/++[Get Involved in Fedora]
|
||||
|
||||
[[sect-need-help]]
|
||||
== Need Help?
|
||||
|
||||
There are a number of places you can get assistance should you run into problems.
|
||||
|
||||
If you run into a problem and would like some assistance, go to link:++https://ask.fedoraproject.org++[]. Many answers are already there, but if you don't find yours, you can simply post a new question. This has the advantage that anyone else with the same problem can find the answer, too.
|
||||
If you run into a problem and would like some assistance, go to link:++https://discussion.fedoraproject.org/c/ask/6++[Ask Fedora]. Many answers are already there, but if you don't find yours, you can simply post a new question. This has the advantage that anyone else with the same problem can find the answer, too.
|
||||
|
||||
You may also find assistance on the `#fedora` channel on the IRC network `irc.libera.chat`. Keep in mind that the channel is populated by volunteers wanting to help, but folks knowledgeable about a specific topic might not always be available.
|
||||
You may also find assistance in the `#fedora` room on link:++https://chat.fedoraproject.org/++[Fedora's Matrix instance]. Keep in mind that the room is populated by volunteers wanting to help, but folks knowledgeable about a specific topic might not always be available.
|
||||
|
||||
[[sect-providing-help]]
|
||||
== Want to Contribute?
|
||||
|
||||
You can help the Fedora Project community continue to improve Fedora if you file bug reports and enhancement requests. Refer to link:++https://fedoraproject.org/wiki/BugsAndFeatureRequests++[Bugs And Feature Requests] on the Fedora Wiki for more information about bug and feature reporting. Thank you for your participation.
|
||||
You can help the Fedora Project community continue to improve Fedora if you file bug reports and enhancement requests. Refer to link:++https://docs.fedoraproject.org/en-US/quick-docs/bugzilla-file-a-bug/++[How to file a bug] for more information about bug and feature reporting. Thank you for your participation.
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
:experimental:
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
include::partial$entities.adoc[]
|
||||
|
||||
== We want feedback
|
||||
indexterm:[feedback,contact information for this manual]
|
||||
9
modules/release-notes/partials/entities.adoc
Normal file
9
modules/release-notes/partials/entities.adoc
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
:BOOKID: release-notes
|
||||
:BZURL: https://gitlab.com/fedora/docs/fedora-linux-documentation/release-notes/-/issues
|
||||
// Change this to the latest version
|
||||
:COMMONBUGS_URL: https://discussion.fedoraproject.org/tags/c/ask/common-issues/82/all/f40
|
||||
:HOLDER: Fedora Project Contributors
|
||||
:PREVVER: 39
|
||||
:PRODUCT: Fedora Documentation
|
||||
:PRODVER: rawhide
|
||||
:YEAR: 2024
|
||||
18
preview.sh
18
preview.sh
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo "The preview will be available at http://localhost:8080/"
|
||||
docker run --rm -v "$(pwd):/antora:ro" -v "$(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro" -p 8080:80 nginx
|
||||
|
||||
elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Fedora Workstation has python3 installed as a default, so using that
|
||||
echo ""
|
||||
echo "The preview is available at http://localhost:8080"
|
||||
echo ""
|
||||
cd ./public
|
||||
python3 -m http.server 8080
|
||||
fi
|
||||
181
scripts/gen_release_notes.py
Normal file
181
scripts/gen_release_notes.py
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
#!/usr/bin/python3
|
||||
"""
|
||||
gen_release_notes.py
|
||||
|
||||
Retrieve release notes from the wiki, and generate
|
||||
release notes adoc file for each release notes category in
|
||||
modules/release-notes/pages/$category_name.adoc.
|
||||
|
||||
The generated category document is based on the matching
|
||||
template $category_name.adoc.j2 in the templates directory.
|
||||
If this template does not exists, it will use
|
||||
default_category.adoc.j2 instead.
|
||||
|
||||
Requires:
|
||||
python3-requests
|
||||
python3-jinja2
|
||||
|
||||
dnf install -y python3-requests python3-jinja2
|
||||
or
|
||||
pip install -r requirements.txt
|
||||
"""
|
||||
|
||||
import requests
|
||||
import sys
|
||||
import re
|
||||
import jinja2
|
||||
import logging
|
||||
import urllib.parse
|
||||
import os
|
||||
import argparse
|
||||
|
||||
api_url = "https://fedoraproject.org/w/api.php"
|
||||
|
||||
|
||||
def list_changes(release):
|
||||
"""
|
||||
Retrieve list of changes from ChangeAcceptedFxx wiki category
|
||||
returns a list of wiki pages:
|
||||
[{
|
||||
"pageid": 12345,
|
||||
"ns": 0,
|
||||
"title": "Changes/MyAwesomeChange"
|
||||
},...]
|
||||
"""
|
||||
params = {
|
||||
"action": "query",
|
||||
"list": "categorymembers",
|
||||
"cmtitle": f"Category:ChangeAcceptedF{release}",
|
||||
"cmlimit": 100,
|
||||
"format": "json",
|
||||
}
|
||||
s = requests.Session()
|
||||
req = s.get(url=api_url, params=params)
|
||||
if req.status_code != 200:
|
||||
logging.error(req.status_code)
|
||||
return []
|
||||
|
||||
data = req.json()
|
||||
return data["query"]["categorymembers"]
|
||||
|
||||
|
||||
def get_change_info(pageid):
|
||||
"""
|
||||
Get change release notes and categories from the wiki page
|
||||
returns a dict:
|
||||
{
|
||||
"title": MyAwesomeChange,
|
||||
"categories": ["SystemWideChange", "SomeOtherCategory"],
|
||||
"url": f"https://fedoraproject.org/wiki/Changes/MyAwesomeChange",
|
||||
"release_notes": "You are awesome!",
|
||||
}
|
||||
"""
|
||||
info = {}
|
||||
s = requests.Session()
|
||||
params = {
|
||||
"action": "parse",
|
||||
"pageid": pageid,
|
||||
"prop": "categories|sections",
|
||||
"format": "json",
|
||||
}
|
||||
req = s.get(url=api_url, params=params)
|
||||
page_data = req.json()
|
||||
rn_sid = None
|
||||
info = {
|
||||
"title": page["title"].replace("Changes/", ""),
|
||||
"categories": [],
|
||||
"url": f"https://fedoraproject.org/wiki/{urllib.parse.quote(page['title'])}",
|
||||
"release_notes": "",
|
||||
}
|
||||
|
||||
# Get categories
|
||||
for category in page_data["parse"]["categories"]:
|
||||
if category["*"].startswith("ChangeAccepted"):
|
||||
continue
|
||||
info["categories"].append(category["*"])
|
||||
|
||||
# Find release notes section
|
||||
for section in page_data["parse"]["sections"]:
|
||||
if section["line"] == "Release Notes":
|
||||
rn_sid = section["index"]
|
||||
break
|
||||
if rn_sid:
|
||||
# Fetch release notes text
|
||||
params = {
|
||||
"action": "parse",
|
||||
"pageid": page["pageid"],
|
||||
"section": rn_sid,
|
||||
"prop": "wikitext",
|
||||
"format": "json",
|
||||
}
|
||||
req = s.get(url=api_url, params=params)
|
||||
section_data = req.json()
|
||||
# Remove html comments and empty lines
|
||||
info["release_notes"] = "\n".join(
|
||||
re.sub(
|
||||
"<!--.*?-->",
|
||||
"",
|
||||
section_data["parse"]["wikitext"]["*"],
|
||||
flags=re.MULTILINE | re.DOTALL,
|
||||
).splitlines()[1::]
|
||||
).strip()
|
||||
|
||||
if not info["release_notes"]:
|
||||
# If no release notes, fallback to summary
|
||||
params = {
|
||||
"action": "parse",
|
||||
"pageid": page["pageid"],
|
||||
"section": 2, # I expect the summary to be always the first section (after the title) of the page
|
||||
"prop": "wikitext",
|
||||
"format": "json",
|
||||
}
|
||||
req = s.get(url=api_url, params=params)
|
||||
section_data = req.json()
|
||||
# Remove html comments and empty lines
|
||||
info["release_notes"] = "\n".join(
|
||||
re.sub(
|
||||
"<!--.*?-->",
|
||||
"",
|
||||
section_data["parse"]["wikitext"]["*"],
|
||||
flags=re.MULTILINE | re.DOTALL,
|
||||
).splitlines()[1::]
|
||||
).strip()
|
||||
|
||||
return info
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
abs_path = os.path.dirname(os.path.abspath(sys.argv[0]))
|
||||
rn_per_cats = {}
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Generate release notes from the ChangeAccepted wiki category"
|
||||
)
|
||||
parser.add_argument("release", help="Fedora Linux version")
|
||||
args = parser.parse_args()
|
||||
env = jinja2.Environment(loader=jinja2.FileSystemLoader(f"{abs_path}/templates"))
|
||||
default_tpl = env.get_template("default_category.adoc.j2")
|
||||
|
||||
logging.info(f"Fetching changes for Fedora {args.release}...")
|
||||
for page in list_changes(args.release):
|
||||
change = get_change_info(page["pageid"])
|
||||
logging.info(f"Processed change {change['title']}...")
|
||||
for cat in change["categories"]:
|
||||
if cat not in rn_per_cats:
|
||||
rn_per_cats[cat] = []
|
||||
rn_per_cats[cat].append(change)
|
||||
|
||||
for cat_name, changes in rn_per_cats.items():
|
||||
logging.info(f"Generating {cat_name}.adoc...")
|
||||
if os.path.exists(f"{abs_path}/templates/{cat_name}.adoc.j2"):
|
||||
tpl = env.get_template(f"{cat_name}.adoc.j2")
|
||||
else:
|
||||
tpl = default_tpl
|
||||
output_from_parsed_template = tpl.render(cat_name=cat_name, changes=changes)
|
||||
|
||||
with open(
|
||||
f"{abs_path}/../modules/release-notes/pages/{cat_name}.adoc", "w"
|
||||
) as fh:
|
||||
fh.write(output_from_parsed_template)
|
||||
|
||||
logging.info("Completed.")
|
||||
2
scripts/requirements.txt
Normal file
2
scripts/requirements.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
Jinja2
|
||||
requests
|
||||
16
scripts/templates/SelfContainedChange.adoc.j2
Normal file
16
scripts/templates/SelfContainedChange.adoc.j2
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Self-Contained Changes
|
||||
|
||||
A self-contained change is a change to isolated package(s), or a general change with limited scope and impact on the rest of the distribution/project.
|
||||
Examples include addition of a group of leaf packages, or a coordinated effort within a Special Interest Group (SIG) with limited impact outside the SIG’s functional area.
|
||||
|
||||
{% for change in changes %}
|
||||
== {{ change['title'] }}
|
||||
|
||||
{{ change['release_notes'] }}
|
||||
|
||||
__Read {{ change['url'] }}[more information] about this change.__
|
||||
|
||||
{% endfor %}
|
||||
13
scripts/templates/default_category.adoc.j2
Normal file
13
scripts/templates/default_category.adoc.j2
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= {{ cat_name }}
|
||||
|
||||
{% for change in changes %}
|
||||
== {{ change['title'] }}
|
||||
|
||||
{{ change['release_notes'] }}
|
||||
|
||||
__Read {{ change['url'] }}[more information] about this change.__
|
||||
|
||||
{% endfor %}
|
||||
6
site.yml
6
site.yml
|
|
@ -5,11 +5,11 @@ content:
|
|||
sources:
|
||||
- url: .
|
||||
branches: HEAD
|
||||
- url: https://pagure.io/fedora-docs/release-docs-home.git
|
||||
branches: master
|
||||
- url: https://gitlab.com/fedora/docs/fedora-linux-documentation/release-docs-home.git
|
||||
branches: main
|
||||
ui:
|
||||
bundle:
|
||||
url: https://asamalik.fedorapeople.org/ui-bundle.zip
|
||||
url: https://gitlab.com/fedora/docs/docs-website/ui-bundle/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
|
||||
snapshot: true
|
||||
default_layout: with_menu
|
||||
output:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue