a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
Go to file
lemoer 7347adb875 gluon-core: allow overriding gluon-version by .scmversion
Usually gluon calls "git describe" inside the gluon directory to determine
the gluon-version. While this is sufficient in most cases, it becomes
insufficient if you have a meta build system, which patches gluon before
building gluon.

It is actually insufficient, because if you patch gluon before building
it, the the output of "git describe" would then describe the patched
revision and not the base revision (before patching gluon).

After this commit, you can use .scmversion to avoid this problem. By
writing to .scmversion inside the gluon directory before calling make,
gluon will now use the contents of .scmversion instead of "git describe"
to define the gluon-version. So you can write to .scmversion to define
gluon-version before patching gluon in your meta build system.

To do this, you can do something like this in your meta build system:

    cd gluon
    make show-describe > .scmversion
    # apply your own patches to gluon
    git am < ...
    # make gluon
    make GLUON_TARGET=...

Instead of using the output of "make show-describe" as .scmversion, you
can also use any other useful version description. E.g. you may append
the number of additional patches on top of the base commit of gluon (or
so).

As a side note, inside gluon, you can obtain the version (as before) via:

    root@platzhalter-525400123457:/# cat /lib/gluon/gluon-version
    v2021.1-150-gb39ea759+

    root@platzhalter-525400123457:/# gluon-neighbour-info -r nodeinfo
    {
      ...
      "software": {
        "firmware": {
          "base": "gluon-v2021.1-150-gb39ea759+",
          ...
        }
      }
    }

    root@platzhalter-525400123457:/# opkg info gluon-core | grep ^Version:
    Version: v2021.1-150-gb39ea759+
2021-09-20 23:01:29 +02:00
.github actions: rebuild targets if includes change 2021-09-19 21:24:17 +02:00
contrib actions: rebuild targets if includes change 2021-09-19 21:24:17 +02:00
docs ramips-mt7621: add support for Ubiquiti UniFi 6 Lite (#2310) 2021-09-15 00:44:34 +02:00
package gluon-core: allow overriding gluon-version by .scmversion 2021-09-20 23:01:29 +02:00
patches gluon-mesh-vpn-wireguard: add package (#2168) 2021-09-15 01:25:59 +02:00
scripts scripts: add update-modules helper (#2294) 2021-08-15 01:32:05 +02:00
targets x86: don't build ext4 images 2021-09-19 21:24:17 +02:00
tests tests: respondd: update shebang to use the environments python3 version 2020-04-29 22:28:00 +02:00
.editorconfig .editorconfig: bunch of additions 2021-04-28 01:01:35 +02:00
.gitignore .gitignore: add files created when mounting repo in docker 2020-03-09 08:30:33 +01:00
.luacheckrc features: fix handling of logical expressions 2020-08-28 22:27:38 +02:00
.readthedocs.yml docs: add .readthedocs.yml to set Python version and requirements.txt 2021-06-26 20:39:22 +02:00
CONTRIBUTING.md CONTRIBUTING.md: fix link to list of rejected features (#1785) 2019-07-13 14:32:41 +02:00
LICENSE LICENSE: update for 2021 2021-01-02 19:10:18 +01:00
Makefile gluon-core: allow overriding gluon-version by .scmversion 2021-09-20 23:01:29 +02:00
modules modules: update packages 2021-09-19 20:09:55 +02:00
README.md README.md: add a teaster, update state of documentation 2021-06-11 00:32:39 +02:00

Build Gluon License GitHub release (latest SemVer)

Gluon

Gluon is a firmware framework to build preconfigured OpenWrt images for public mesh networks.

Getting started

We have a huge amount of documentation over at https://gluon.readthedocs.io/.

If you're new to Gluon and ready to get your feet wet, have a look at the Getting Started Guide.

Gluon's developers frequent an IRC chatroom at #gluon on hackint. There is also a webchat that allows for uncomplicated access from within your browser.

Issues & Feature requests

Before opening an issue, make sure to check whether any existing issues (open or closed) match. If you're suggesting a new feature, drop by on IRC or our mailinglist to discuss it first.

We maintain a Roadmap for the future development of Gluon.

Use a release!

Please refrain from using the master branch for anything else but development purposes! Use the most recent release instead. You can list all releases by running git tag and switch to one by running git checkout v2021.1 && make update.

If you're using the autoupdater, do not autoupdate nodes with anything but releases. If you upgrade using random master commits the nodes might break eventually.

Mailinglist

To subscribe to the list, send a message to:

gluon+subscribe@luebeck.freifunk.net

To remove your address from the list, just send a message to the address in the List-Unsubscribe header of any list message. If you haven't changed addresses since subscribing, you can also send a message to:

gluon+unsubscribe@luebeck.freifunk.net