Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ffbs/ffbs-gluon
  • parabol1337/ffbs-gluon
  • darkbit/ffbs-gluon
3 results
Show changes
Commits on Source (2019)
Showing
with 829 additions and 10 deletions
{
"Exclude": ["docs/_build"]
}
# Top-most EditorConfig file
root = true
[*]
end_of_line = lf
insert_final_newline = true
indent_style = tab
charset = utf-8
[Dockerfile]
indent_style = space
indent_size = 4
[/patches/**]
indent_style = unset
indent_size = unset
[*.c]
[*.css]
[*.dia]
indent_style = space
indent_size = 2
[*.h]
[*.html]
[*.js]
[*{.json,.ecrc}]
indent_style = space
indent_size = 2
[*.lua]
[{Makefile,*.mk}]
indent_style = unset
[*.md]
indent_style = space
indent_size = 4
[*.pl]
[*.py]
indent_style = space
indent_size = 4
[*.rst]
indent_style = space
indent_size = 2
[*.sh]
[*.yml]
indent_style = space
indent_size = 2
[CMakeLists.txt]
indent_style = space
indent_size = 2
[{docs,contrib/ci}/*site*/**/*.conf]
indent_style = space
indent_size = 2
......@@ -6,7 +6,7 @@ label: bug
<!--
Please carefully fill out the questionaire below to help improve the
Please carefully fill out the questionnaire below to help improve the
timely triaging of issues. Walk through the questions below and use
them as an inspiration for what information you can provide.
......@@ -27,7 +27,7 @@ Thank you for taking the time to report a bug with the Gluon project.
### Bug report
**What is the problem?**
<!--
<!--
- What is not working as expected?
- How is it misbehaving?
- When did the problem first start showing up?
......@@ -43,7 +43,7 @@ Thank you for taking the time to report a bug with the Gluon project.
-->
**Gluon Version:**
<!--
<!--
Please provide a usable Git reference before applying custom patches:
By using a Git reference:
......@@ -58,9 +58,9 @@ Or the URL to the relevant Gluon commit
<!--
Please provide the URL to your site configuration repository and the
explicit commit used to build the firmware experiencing the problem.
Additionally excerpts of problem-related configuration parts are
often helpful.
often helpful.
-->
**Custom patches:**
......
# Docs: <https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates>
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule: {interval: monthly}
- package-ecosystem: pip
directory: /docs/
schedule: {interval: monthly}
{
"armsr-armv7": [
"targets/armsr-armv7",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/armsr.inc"
],
"armsr-armv8": [
"targets/armsr-armv8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/armsr.inc"
],
"ath79-generic": [
"targets/ath79-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ath79-nand": [
"targets/ath79-nand",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ath79-mikrotik": [
"targets/ath79-mikrotik",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/mikrotik.inc"
],
"bcm27xx-bcm2708": [
"targets/bcm27xx-bcm2708",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"bcm27xx-bcm2709": [
"targets/bcm27xx-bcm2709",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"ipq40xx-generic": [
"targets/ipq40xx-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ipq40xx-mikrotik": [
"targets/ipq40xx-mikrotik",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/mikrotik.inc"
],
"ipq806x-generic": [
"targets/ipq806x-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"lantiq-xrx200": [
"targets/lantiq-xrx200",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"lantiq-xway": [
"targets/lantiq-xway",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mediatek-filogic": [
"targets/mediatek-filogic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mediatek-mt7622": [
"targets/mediatek-mt7622",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mpc85xx-p1010": [
"targets/mpc85xx-p1010",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mpc85xx-p1020": [
"targets/mpc85xx-p1020",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt7620": [
"targets/ramips-mt7620",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt7621": [
"targets/ramips-mt7621",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt76x8": [
"targets/ramips-mt76x8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"realtek-rtl838x": [
"targets/realtek-rtl838x",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"rockchip-armv8": [
"targets/rockchip-armv8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"sunxi-cortexa7": [
"targets/sunxi-cortexa7",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"x86-generic": [
"targets/x86-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc"
],
"x86-geode": [
"targets/x86-geode",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"x86-legacy": [
"targets/x86-legacy",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc"
],
"x86-64": [
"targets/x86-64",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc",
"contrib/ci/minimal-site/**",
"package/**"
],
"bcm27xx-bcm2710": [
"targets/bcm27xx-bcm2710",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"bcm27xx-bcm2711": [
"targets/bcm27xx-bcm2711",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"mvebu-cortexa9": [
"targets/mvebu-cortexa9",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
]
}
---
"3. topic: babel":
- changed-files:
- any-glob-to-any-file:
- package/gluon-l3roamd/**
- package/gluon-mesh-babel/**
- package/gluon-mmfd/**
"3. topic: batman-adv":
- changed-files:
- any-glob-to-any-file:
- docs/package/gluon-mesh-batman-adv*
- package/gluon-alfred/**
- package/gluon-client-bridge/**
- package/gluon-mesh-batman-adv/**
- package/libbatadv/**
"3. topic: build":
- changed-files:
- any-glob-to-any-file:
- Makefile
- scripts/**
"3. topic: config-mode":
- changed-files:
- any-glob-to-any-file:
- docs/dev/web/config-mode.rst
- docs/package/gluon-config-mode-*
- package/gluon-config-mode-*/**
- package/gluon-web*/**
"3. topic: continous integration":
- changed-files:
- any-glob-to-any-file:
- .github/workflows/*
- contrib/actions/**
- contrib/ci/**
"3. topic: docs":
- changed-files:
- any-glob-to-any-file:
- docs/**
"3. topic: fastd":
- changed-files:
- any-glob-to-any-file:
- docs/features/fastd*
- package/gluon-mesh-vpn-fastd/**
"3. topic: firewall":
- changed-files:
- any-glob-to-any-file:
- package/**/*-firewall
- package/gluon-ebtables-*/**
"3. topic: hardware":
- changed-files:
- any-glob-to-any-file:
- package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
- package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
- targets/*
"3. topic: multidomain":
- changed-files:
- any-glob-to-any-file:
- docs/features/multidomain*
- docs/multidomain-site-example/**
- package/gluon-config-mode-domain-select/**
- package/gluon-scheduled-domain-switch/**
"3. topic: package":
- changed-files:
- any-glob-to-any-file:
- package/**
"3. topic: respondd":
- changed-files:
- any-glob-to-any-file:
- package/**/*respondd*
- package/gluon-respondd/**
"3. topic: status-page":
- changed-files:
- any-glob-to-any-file:
- package/gluon-status-page/**
"3. topic: tests":
- changed-files:
- any-glob-to-any-file:
- tests/**
"3. topic: tunneldigger":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-vpn-tunneldigger/**
"3. topic: wireguard":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-vpn-wireguard/**
"3. topic: wireless":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-wireless-sae/**
- package/gluon-private-wifi/**
- package/gluon-web-private-wifi/**
- package/gluon-web-wifi-config/**
- package/gluon-wireless-encryption-wpa3/**
name: Backport
on:
pull_request_target:
types: [closed, labeled]
permissions:
contents: write # so it can comment
pull-requests: write # so it can create pull requests
jobs:
backport:
name: Backport Pull Request
if: github.repository_owner == 'freifunk-gluon' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Create backport PRs
uses: korthout/backport-action@v2.1.1
with:
# Config README: https://github.com/korthout/backport-action#backport-action
pull_description: |-
Automatic backport to `${target_branch}`, triggered by a label in #${pull_number}.
# Based on the example from https://docs.github.com/en/actions/publishing-packages/publishing-docker-images
name: Create and publish a Docker image
on:
push:
branches:
- 'master'
- 'next'
- 'v202[0-9].[0-9].x'
tags:
- 'v*'
pull_request:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}-build
jobs:
build-and-push-image:
runs-on: ubuntu-22.04
permissions: write-all
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@3d58c274f17dffee475a5520cbe67f0a882c4dbb
if: ${{ github.repository_owner == 'freifunk-gluon' && github.event_name == 'push' }}
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@e6428a5c4e294a61438ed7f43155db912025b6b3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56
with:
context: ./contrib/docker
push: ${{ github.repository_owner == 'freifunk-gluon' && github.event_name == 'push' }}
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
name: Build Documentation
on:
push:
paths:
- 'docs/**'
- '.github/workflows/build-docs.yml'
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'docs**/'
- '.github/workflows/build-docs.yml'
permissions:
contents: read
jobs:
build-documentation:
name: docs
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo pip3 install -r docs/requirements.txt
- name: Build documentation
run: make -C docs html
- name: Archive build output
uses: actions/upload-artifact@v4
with:
name: docs_output
path: docs/_build/html
name: Build Gluon
on:
push:
branches:
- master
- next
- 'v20[2-9][0-9].[0-9].x'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
changed:
permissions:
contents: read # for dorny/paths-filter to fetch a list of changed files
pull-requests: read # for dorny/paths-filter to read pull requests
runs-on: ubuntu-22.04
outputs:
targets: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v4
# Filter targets based on changed files
- uses: dorny/paths-filter@v3
id: filter
with:
filters: .github/filters.yml
build_firmware:
needs: changed
if: ${{ needs.changed.outputs.targets != '[]' && needs.changed.outputs.targets != '' }}
strategy:
fail-fast: false
matrix:
# Read back changed targets to create build matrix
target: ${{ fromJSON(needs.changed.outputs.targets) }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Show system information
run: contrib/actions/show-system-info.sh
- name: Build Docker container
run: docker build -t gluon-ci-container contrib/docker
- name: Build Gluon
run: docker run --rm -v $PWD:/gluon-ci -w /gluon-ci --user "$(id -u):$(id -g)" gluon-ci-container contrib/actions/run-build.sh ${{ matrix.target }}
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}_output
path: output
name: Check generated CI
on:
push:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
jobs:
check-ci:
name: Check generated CI
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Update CI
run: make update-ci
- name: Show diff
run: git status; git diff
- name: Patch status
run: git diff-files --quiet
---
name: Check patches
on:
push:
paths:
- 'modules'
- 'patches/**'
- '.github/workflows/check-patches.yml'
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'modules'
- 'patches/**'
- '.github/workflows/check-patches.yml'
permissions:
contents: read
jobs:
check-patches:
name: Check patches
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Refresh patches
run: make refresh-patches GLUON_SITEDIR="contrib/ci/minimal-site"
- name: Show diff
run: git status; git diff
- name: Patch status
run: git diff-files --quiet
name: "Label PRs"
on:
# only execute base branch actions
pull_request_target:
permissions:
contents: read
jobs:
labels:
permissions:
contents: read # for actions/labeler to determine modified files
pull-requests: write # for actions/labeler to add labels to PRs
runs-on: ubuntu-22.04
if: github.repository_owner == 'freifunk-gluon'
steps:
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true
name: Lint
on:
push:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
jobs:
lua:
name: Lua
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt-get -y update && sudo apt-get -y install lua-check
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint Lua code
run: make lint-lua
sh:
name: Shell
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt-get -y update && sudo apt-get -y install shellcheck
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint shell code
run: make lint-sh
editorconfig:
name: Editorconfig
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt install curl tar
- name: Install editorconfig-checker
env:
VERSION: 2.7.0
OS: linux
ARCH: amd64
run: |
curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz
tar xzf ec-$OS-$ARCH.tar.gz
sudo mv ./bin/ec-$OS-$ARCH /usr/bin/editorconfig-checker
sudo chmod +x /usr/bin/editorconfig-checker
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint editorconfig
run: make lint-editorconfig
*~
/openwrt
/output
/site
/tmp
/packages
.bash_history
.subversion
.wget-hsts
/.scmversion
[submodule "gluon-builder"]
path = gluon-builder
url = https://gitli.stratum0.org/ffbs/gluon-builder.git
[submodule "site"]
path = site
url = https://gitli.stratum0.org/ffbs/ffbs-site.git
......@@ -12,6 +12,7 @@ include_files = {
"**/*.lua",
"package/**/luasrc/**/*",
"targets/*",
"package/features",
}
exclude_files = {
......@@ -24,14 +25,17 @@ files["package/**/check_site.lua"] = {
"extend",
"in_domain",
"in_site",
"value",
"need",
"need_alphanumeric_key",
"need_array",
"need_array_elements_exclusive",
"need_array_of",
"need_boolean",
"need_chanlist",
"need_domain_name",
"need_number",
"need_number_range",
"need_one_of",
"need_string",
"need_string_array",
......@@ -47,6 +51,7 @@ files["package/**/check_site.lua"] = {
files["package/**/luasrc/lib/gluon/config-mode/*"] = {
globals = {
"MultiListValue",
"DynamicList",
"Flag",
"Form",
......@@ -60,6 +65,7 @@ files["package/**/luasrc/lib/gluon/config-mode/*"] = {
"translate",
"translatef",
"Value",
"Element",
},
}
......@@ -85,20 +91,29 @@ files["package/**/luasrc/lib/gluon/ebtables/*"] = {
files["targets/*"] = {
read_globals = {
"class",
"config",
"defaults",
"device",
"env",
"envtrue",
"exec",
"exec_capture",
"exec_capture_raw",
"exec_raw",
"factory_image",
"include",
"istrue",
"no_opkg",
"packages",
"sysupgrade_image",
"try_config",
},
}
files["package/features"] = {
read_globals = {
"_",
"feature",
"when",
},
}
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
build:
os: ubuntu-22.04
tools:
python: "3.11"
......@@ -23,8 +23,8 @@ using other parts or why the proposed change breaks other parts of the system.
They might even refuse the idea altogether - after all, they have to sleep well
after merging the changes, too.
The preferred way to discuss in the IRC channel ([#gluon] on irc.hackint.org)
or on the [mailing list], however, you can also open a new issue on Github to
The preferred way to discuss is in the IRC channel ([#gluon] on irc.hackint.org)
or on the [mailing list], however, you can also open a new issue on GitHub to
discuss there. We maintain a [list of rejected features] and we'd like to
kindly ask you to review it first. In general, looking for duplicates may save
you some time.
......
BSD 2-Clause License
The code of Project Gluon may be distributed under the following terms, unless
noted otherwise in individual files or subtrees.
Copyright (c) 2013-2018, Project Gluon
Copyright (c) Project Gluon
All rights reserved.
Redistribution and use in source and binary forms, with or without
......