Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge grml-autoconfig #300

Draft
wants to merge 729 commits into
base: master
Choose a base branch
from
Draft

Merge grml-autoconfig #300

wants to merge 729 commits into from

Conversation

zeha
Copy link
Member

@zeha zeha commented Jan 30, 2025

TODO:

~/Source/grml $ mkdir migration
~/Source/grml $ cd migration
~/Source/grml/migration $ git clone [email protected]:grml/grml-autoconfig
Cloning into 'grml-autoconfig'...
remote: Enumerating objects: 3251, done.
remote: Counting objects: 100% (111/111), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 3251 (delta 70), reused 79 (delta 62), pack-reused 3140 (from 2)
Receiving objects: 100% (3251/3251), 1.16 MiB | 3.29 MiB/s, done.
Resolving deltas: 100% (1988/1988), done.
~/Source/grml/migration $ cd grml-autoconfig
~/Source/grml/migration/grml-autoconfig $ git filter-repo --to-subdirectory-filter grml-autoconfig
NOTICE: Removing 'origin' remote; see 'Why is my origin removed?'
        in the manual if you want to push back there.
        (was [email protected]:grml/grml-autoconfig)
Parsed 727 commits
New history written in 0.13 seconds; now repacking/cleaning...
Repacking your repo and cleaning out old unneeded objects
HEAD is now at b8964a8 Update changelog for 0.23.6 release
Enumerating objects: 3968, done.
Counting objects: 100% (3968/3968), done.
Delta compression using up to 8 threads
Compressing objects: 100% (1225/1225), done.
Writing objects: 100% (3968/3968), done.
Total 3968 (delta 1986), reused 3968 (delta 1986), pack-reused 0 (from 0)
Completely finished after 0.93 seconds.
~/Source/grml/migration/grml-autoconfig $ cd ../
~/Source/grml/migration $ git clone [email protected]:grml/grml-live
Cloning into 'grml-live'...
remote: Enumerating objects: 24231, done.
remote: Counting objects: 100% (1515/1515), done.
remote: Compressing objects: 100% (576/576), done.
remote: Total 24231 (delta 998), reused 989 (delta 916), pack-reused 22716 (from 3)
Receiving objects: 100% (24231/24231), 65.04 MiB | 8.04 MiB/s, done.
Resolving deltas: 100% (13941/13941), done.
~/Source/grml/migration $ cd grml-live
~/Source/grml/migration/grml-live $ git remote add grml-autoconfig ../grml-autoconfig
~/Source/grml/migration/grml-live $ git fetch grml-autoconfig
remote: Enumerating objects: 3968, done.
remote: Counting objects: 100% (3968/3968), done.
remote: Compressing objects: 100% (1225/1225), done.
remote: Total 3968 (delta 1986), reused 3968 (delta 1986), pack-reused 0 (from 0)
Receiving objects: 100% (3968/3968), 1.15 MiB | 69.16 MiB/s, done.
Resolving deltas: 100% (1986/1986), done.
From ../grml-autoconfig
 * [new branch]        master     -> grml-autoconfig/master
...
~/Source/grml/migration/grml-live $ git checkout -b merge-grml-autoconfig
Switched to a new branch 'merge-grml-autoconfig'
~/Source/grml/migration/grml-live $ git merge --allow-unrelated-histories grml-autoconfig/master
Merge made by the 'ort' strategy.
 grml-autoconfig/.github/workflows/test-build.yml                |   35 ++
 grml-autoconfig/README.md                                       |    7 +
 grml-autoconfig/autoconfig                                      |   85 +++
 grml-autoconfig/autoconfig.functions                            | 1509 +++++++++++++++++++++++++++++++++++++++++++++++++
 grml-autoconfig/autoconfig.local                                |    6 +
 grml-autoconfig/bin/restore-config                              |  175 ++++++
 grml-autoconfig/bin/save-config                                 |  274 +++++++++
 grml-autoconfig/debian/changelog                                | 3406 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 grml-autoconfig/debian/compat                                   |    1 +
 grml-autoconfig/debian/control                                  |   58 ++
 grml-autoconfig/debian/copyright                                |   27 +
 grml-autoconfig/debian/gbp.conf                                 |    8 +
 grml-autoconfig/debian/grml-autoconfig.dirs                     |    4 +
 grml-autoconfig/debian/grml-autoconfig.docs                     |    4 +
 grml-autoconfig/debian/grml-autoconfig.install                  |   11 +
 grml-autoconfig/debian/grml-autoconfig.links                    |    1 +
 grml-autoconfig/debian/grml-autoconfig.lintian-overrides        |    7 +
 grml-autoconfig/debian/grml-autoconfig.maintscript              |    1 +
 grml-autoconfig/debian/grml-autoconfig.manpages                 |    4 +
 grml-autoconfig/debian/postinst                                 |   11 +
 grml-autoconfig/debian/rules                                    |   23 +
 grml-autoconfig/debian/source/format                            |    1 +
 grml-autoconfig/doc/Makefile                                    |   21 +
 grml-autoconfig/doc/grml-autoconfig.1.txt                       |  199 +++++++
 grml-autoconfig/doc/grml-autoconfig.8.txt                       |   80 +++
 grml-autoconfig/doc/grml-autoconfig.current.txt                 |  176 ++++++
 grml-autoconfig/doc/restore-config.1.txt                        |   72 +++
 grml-autoconfig/doc/save-config.1.txt                           |  101 ++++
 grml-autoconfig/etc/dhcp/dhclient-exit-hooks.d/grml-sethostname |   12 +
 grml-autoconfig/etc/grml/modules                                |   11 +
 grml-autoconfig/etc/grml/partconf                               |    4 +
 grml-autoconfig/grml-autoconfig                                 |  112 ++++
 grml-autoconfig/language-functions                              |  749 +++++++++++++++++++++++++
 grml-autoconfig/modules-load.d/grml-autoconfig.conf             |    4 +
 grml-autoconfig/sbin/grml-autoconfig                            |  108 ++++
 grml-autoconfig/systemd/grml-autoconfig.service                 |   15 +
 grml-autoconfig/test/docker-build-deb.sh                        |   48 ++
 grml-autoconfig/test/gha-build-deb.sh                           |   15 +
 grml-autoconfig/tests/common_tests                              |   15 +
 grml-autoconfig/tests/run_tests.sh                              |   29 +
 grml-autoconfig/tests/test_bootparameters.sh                    |   53 ++
 grml-autoconfig/tests/test_dcsdir.sh                            |   16 +
 grml-autoconfig/tests/test_debs.sh                              |   35 ++
 grml-autoconfig/tests/test_grmlcfg.sh                           |   44 ++
 44 files changed, 7577 insertions(+)
 create mode 100644 grml-autoconfig/.github/workflows/test-build.yml
 create mode 100644 grml-autoconfig/README.md
 create mode 100644 grml-autoconfig/autoconfig
 create mode 100755 grml-autoconfig/autoconfig.functions
 create mode 100644 grml-autoconfig/autoconfig.local
 create mode 100755 grml-autoconfig/bin/restore-config
 create mode 100755 grml-autoconfig/bin/save-config
 create mode 100644 grml-autoconfig/debian/changelog
 create mode 100644 grml-autoconfig/debian/compat
 create mode 100644 grml-autoconfig/debian/control
 create mode 100644 grml-autoconfig/debian/copyright
 create mode 100644 grml-autoconfig/debian/gbp.conf
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.dirs
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.docs
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.install
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.links
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.lintian-overrides
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.maintscript
 create mode 100644 grml-autoconfig/debian/grml-autoconfig.manpages
 create mode 100755 grml-autoconfig/debian/postinst
 create mode 100755 grml-autoconfig/debian/rules
 create mode 100644 grml-autoconfig/debian/source/format
 create mode 100644 grml-autoconfig/doc/Makefile
 create mode 100644 grml-autoconfig/doc/grml-autoconfig.1.txt
 create mode 100644 grml-autoconfig/doc/grml-autoconfig.8.txt
 create mode 100644 grml-autoconfig/doc/grml-autoconfig.current.txt
 create mode 100644 grml-autoconfig/doc/restore-config.1.txt
 create mode 100644 grml-autoconfig/doc/save-config.1.txt
 create mode 100755 grml-autoconfig/etc/dhcp/dhclient-exit-hooks.d/grml-sethostname
 create mode 100644 grml-autoconfig/etc/grml/modules
 create mode 100644 grml-autoconfig/etc/grml/partconf
 create mode 100755 grml-autoconfig/grml-autoconfig
 create mode 100644 grml-autoconfig/language-functions
 create mode 100644 grml-autoconfig/modules-load.d/grml-autoconfig.conf
 create mode 100755 grml-autoconfig/sbin/grml-autoconfig
 create mode 100644 grml-autoconfig/systemd/grml-autoconfig.service
 create mode 100755 grml-autoconfig/test/docker-build-deb.sh
 create mode 100755 grml-autoconfig/test/gha-build-deb.sh
 create mode 100644 grml-autoconfig/tests/common_tests
 create mode 100755 grml-autoconfig/tests/run_tests.sh
 create mode 100755 grml-autoconfig/tests/test_bootparameters.sh
 create mode 100755 grml-autoconfig/tests/test_dcsdir.sh
 create mode 100755 grml-autoconfig/tests/test_debs.sh
 create mode 100755 grml-autoconfig/tests/test_grmlcfg.sh

zeha and others added 30 commits December 22, 2011 16:18
This should prevent feedback issues with internal mics reported by Aeiri.
If a brltty option is specified at the commandline run brltty.sh
brltty reads /proc/cmdline itself so there is no need for running brltty with
the specified bootoptions.

http://mielke.cc/brltty/guidelines.html documents the boot option.
This commit allows to specify mount options to be used for mounting the
DCSDEVICE. This can be used to mount devices which need additional/special
mount options.
This patch allows to use exported directories via 9p-virtio to be used as
DCS-directory. This allows customization of standard Grml ISO images in
virtualized environments without the need to adjust anything or create
specialized blockdevices/floppy images.

For a short introduction about using 9p with qemu/kvm see
http://wiki.qemu.org/Documentation/9psetup
The idea is to share a filesystem with the mount-tag grml-parameters which
will be used to add additional commandline parameters to your system.
When using Grml as a rescue distribution for dedicated server it is
typically necessary to change the root password manually as user
expect to be able to login into the rescue system directly as root.

This patch modified the behaviour of the ssh bootoption and will set
the root password to the same value as for the grml user.
Change default language function to exporting the language from
quickconfig or bootoption or set language to 'en'.
Drop the checkgrmlsmall check in the language config functions.
There's no need to execute the hostname command if the boot
option hostname is not present as /etc/init.d/hostname.sh is
executed on Grml during bootup. We keep the config_hostname()
only because we support setting it to a random hostname if no
argument was specified to the boot option and to keep using
grml-hostname as main interface for changing hostnames
on-the-fly.
This was just crazy, finally make it more sane…
…erwise fail

If autoconfig.functions can't be parsed (e.g. because of syntax errors)
then the test suite returns with exit code 0.
zeha and others added 28 commits December 20, 2024 12:16
Drop support for non-systemd systems
This seems to save about 50% runtime on some invocations.
This is documented only for netconfig, most boots never use it.
Always true since a few Debian releases.
Also avoid running imvirt at all, if virt-what succeeds.
It never really was an init script, and certainly has not been since migrating
to systemd. Move the file into /usr/share/grml-autoconfig, so it stops being a
conffile and lintian also stops complaining.
Move main startup script into /usr/share/grml-autoconfig/
Support for CONSOLEFONT was guarded by an if !SYSTEMD clause since
c2a439d and was removed completely in
5654657.
Support for KDEKEYBOARDS? was guarded by an if !SYSTEMD clause since
c2a439d and was removed completely in
5654657.
Drop CONSOLEFONT, KDEKEYBOARD, KDEKEYBOARDS
#257 attempted to no longer install
rsyslog, but this gets fooled by grml-autoconfig depending on it.

Remove the rsyslog dependency and any startup code for it.
The file /etc/default/rcS no longer exists, and also /etc/adjtime
doesn't necessarily exist any longer.

Instead, even /etc/timezone is gone nowadays, see e.g.
systemd/systemd#35413

We don't need to support the bootoption "utc" any longer, as this is the
default nowadays.

Don't invoke hwlock at all anymore, instead set /etc/localtime to the
timezone requested via boot option tz=..., if set.  Accordingly drop
Depends on util-linux-extra, which we no longer need now with the
hwclock removal. And use `timedatectl set-local-rtc 1` as interface for
/etc/adjtime with its localtime handling.

Drop $CONFIG_TIME + config_time with this cleanup and handle all of the
remaining timezone handling within $CONFIG_TIMEZONE + config_timezone.

Thanks to Chris and Darsha for the debugging session, and clarifying this.
Re-design config_timezone for TZ + localtime handling + drop config_time
@zeha zeha self-assigned this Jan 30, 2025
@zeha zeha marked this pull request as draft January 30, 2025 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants