Dennis Camera
0ee3fda94d
Fix paths to cdist executable
2020-11-11 15:05:04 +01:00
Dennis Camera
21dd500c05
Make pycodestyle pipeline happy
2020-11-11 14:44:44 +01:00
Dennis Camera
87a0d91587
[type/__hostname] Fix OS version detection for SuSE
...
everything should be suse now…
2020-11-11 14:21:35 +01:00
Dennis Camera
702f3eba4f
[type/__hostname] Remove opensuse-leap OS string
...
everything should be suse now…
2020-11-11 14:21:35 +01:00
Dennis Camera
3e48ef9e11
[type/__hostname] Lint
...
- Error if expected environment variables are unset
- Always wrap variable expansions in {}
2020-11-11 14:21:35 +01:00
bf9d70bb8c
Merge branch 'reorg' into 'master'
...
small reorganization
See merge request ungleich-public/cdist!942
2020-11-11 07:49:08 +01:00
a95eab77a5
__locale: add state explorer
...
.. so it doesn't execute code all the time.
2020-11-08 15:28:14 +01:00
fe8920740f
Merge branch 'feature/__package_apt/recommends' into 'master'
...
__package_apt: add --install-recommends parameter
See merge request ungleich-public/cdist!949
2020-11-08 13:26:39 +01:00
729fdb9c1a
Merge branch 'type/__dpkg_architecture' into 'master'
...
New type __dpkg_architecture
See merge request ungleich-public/cdist!948
2020-11-08 13:24:58 +01:00
1b3e1acd22
Merge branch 'feature/type/__hostname/openwrt-support' into 'master'
...
__hostname: Add support for OpenWrt
See merge request ungleich-public/cdist!947
2020-11-08 13:23:36 +01:00
77397514ca
Merge branch 'fix/type/__file/pre-exists' into 'master'
...
__file: Fix --state pre-exists (this time for real)
See merge request ungleich-public/cdist!946
2020-11-08 13:22:06 +01:00
9fc6ee0948
__package_apt: add --install-recommends parameter
...
For a good reason, __package_apt doesn't install recommended packages as
default. But the option --install-recommends comes handy if you want to
install a package where you want to install all recommended packages
(and not to install all of them separately).
Also, the manpage now explains that the type won't install recommended
packages by default.
2020-11-08 13:19:46 +01:00
91bcc2a293
__dpkg_architecture: make type nonparallel
...
I think it's not good that dpkg or apt is running in parallel.
2020-11-07 21:03:38 +01:00
7777580d8f
__dpkg_architecture: add copyright headers
2020-11-07 20:56:17 +01:00
b0f3bb3350
New type __dpkg_architecture
...
This type handles foreign architectures added to dpkg.
2020-11-07 18:24:27 +01:00
Dennis Camera
10abe514b8
[type/__hostname] Add support for OpenWrt
2020-11-07 12:20:16 +01:00
Darko Poljak
0f1df5ef68
Fix shellcheck source directives
2020-11-07 12:07:58 +01:00
bd9b21394f
Merge branch 'type/openwrt-uci' into 'master'
...
Add OpenWrt UCI types
See merge request ungleich-public/cdist!886
2020-11-07 11:59:56 +01:00
67f1475a20
Merge branch 'feature/type/__apt_norecommends/reuse-file' into 'master'
...
__apt_norecommends: Use 00InstallRecommends file as debian-installer does
See merge request ungleich-public/cdist!945
2020-11-06 08:26:36 +01:00
Dennis Camera
df881c0f98
[type/__file] Fix --state pre-exists also for non-dry-runs
2020-11-04 08:34:17 +01:00
Darko Poljak
2be8c63458
pycodestyle fixes
2020-11-03 06:43:57 +01:00
Dennis Camera
ade69729dd
[type/__uci_section] Only generate UCI commands if state differs
2020-11-01 21:36:21 +01:00
Dennis Camera
9d40500570
[type/__uci_section] Apply all commands in a single batch
2020-11-01 21:36:21 +01:00
Dennis Camera
3e5f18d409
[type/__uci] Apply all commands in a single batch
2020-11-01 21:36:21 +01:00
Dennis Camera
ec984f81b5
[type/__uci] Delete --transaction parameter
2020-11-01 21:36:21 +01:00
Dennis Camera
dfe9e08c28
[type/__uci_commit] Delete type
2020-11-01 21:36:21 +01:00
Dennis Camera
e264fb004f
[type/__uci] Convert to immediate remote execution
2020-11-01 21:36:21 +01:00
Dennis Camera
c1ae3ccb2f
[type/__uci*] Remove public-facing transaction "interface"
2020-11-01 21:36:16 +01:00
Dennis Camera
a6c37095f1
[type/__uci_section] Externalise functions to separate file
2020-11-01 21:35:24 +01:00
Dennis Camera
7b30119504
[type/__uci] Externalise functions to separate file
2020-11-01 21:35:24 +01:00
Dennis Camera
63d41a1053
[type/__uci_section] Improve --match support with existing named sections
...
Use section if named section exists without --match option (e.g. empty section).
2020-11-01 21:35:24 +01:00
Dennis Camera
4aebb1f127
[type/__uci*] Update man.rst regarding quoting requirements
2020-11-01 21:35:24 +01:00
Dennis Camera
8728817af6
[type/__uci] Unquote UCI reported values
...
Without unquoting values printed in single quotes by UCI would always lead to
the state explorer reporting "different".
2020-11-01 21:35:24 +01:00
Dennis Camera
b99ca3cbdf
[type/__uci_section] Split up --option and --list
2020-11-01 21:35:16 +01:00
Dennis Camera
49e867fab4
[type/__uci_section] Add more parameter checks
2020-11-01 15:49:17 +01:00
Dennis Camera
0840afce03
[type/__uci] Add --type parameter
2020-11-01 15:49:13 +01:00
Dennis Camera
fe26c119b5
[type/__uci*] Update man pages
2020-11-01 13:34:31 +01:00
Dennis Camera
c37253b852
[type/__uci_section] Check __object_id for syntax errors
2020-11-01 13:34:31 +01:00
Dennis Camera
3a6b085145
[type/__uci] Check __object_id for syntax errors
2020-11-01 13:34:31 +01:00
Dennis Camera
f782a5a370
[type/__uci] Refactor to do proper quoting of UCI commands
2020-11-01 13:34:31 +01:00
Dennis Camera
d453d964e1
[type/__uci_section] Fix in section matching
2020-11-01 13:34:31 +01:00
Dennis Camera
179815b5e9
[type/__uci_section] Ignore SC2015 error (notabug)
2020-11-01 13:34:31 +01:00
Dennis Camera
4da3968118
[type/__uci_section] Add type
2020-11-01 13:34:31 +01:00
Dennis Camera
3ef638a611
[type/__uci_commit] Fail when uci(1) reports errors
2020-11-01 13:34:31 +01:00
Dennis Camera
cc599dab15
[type/__uci_commit] Move uncommited changes check from explorer to code-remote
...
This is done to prevent false positives/negatives (see NOTE in code)
2020-11-01 13:34:22 +01:00
Dennis Camera
e7369a1f99
[type/__uci_commit] Abort if uncommited changes are present on the target
2020-11-01 13:32:00 +01:00
Dennis Camera
3a3be36310
[type/__uci_commit] Send message on commit of a transaction
2020-11-01 11:01:25 +01:00
Dennis Camera
d3574b2d3e
[type/__uci] Send messages when options are set to be altered
2020-11-01 11:01:25 +01:00
Dennis Camera
d8f20a6a20
[type/__uci] Implement "real" transactions using batch files
2020-11-01 11:01:25 +01:00
Dennis Camera
a09120977f
[type/__uci] Allow omission of --value parameter if --state absent
2020-11-01 11:01:25 +01:00
Dennis Camera
55e7b32449
[type/__uci] Only generate __uci_commit if changes are required
2020-11-01 11:01:25 +01:00
Dennis Camera
e30ecdda53
Add __uci and __uci_commit types
2020-11-01 11:01:25 +01:00
Nico Schottelius
09dfcfe81e
[scanner] add to beta commands
2020-10-29 23:16:08 +01:00
Nico Schottelius
87b46a6224
[scanner] finish prototype
...
ping @poljakowski - it's your turn now
2020-10-29 18:49:20 +01:00
Nico Schottelius
b9ad22595f
[scanner] begin scanner implementation - non invasive
2020-10-29 18:03:27 +01:00
Dennis Camera
82a9aa7902
[type/__apt_norecommends] Use 00InstallRecommends file as debian-installer does
...
debian-installer can be preseeded with `base-installer/install-recommends` to
disable installation of recommended packages already during OS installation.
d-i will then create the file `/etc/apt/apt.conf.d/00InstallRecommends`
(cf. https://salsa.debian.org/installer-team/base-installer/-/blob/master/library.sh ).
__apt_norecommends should use the same file to avoid having two config files
effectively doing the same thing.
2020-10-29 10:45:18 +01:00
eda96a06a0
Merge branch 'fix/type/__file/pre-exists-dryrun' into 'master'
...
__file: Fix --state pre-exists
See merge request ungleich-public/cdist!944
2020-10-29 09:29:41 +01:00
Dennis Camera
367da4b77e
[type/__file] Fix --state pre-exists
2020-10-28 18:18:24 +01:00
aa5e882fce
Merge branch 'master' into reorg
2020-10-21 20:26:51 +03:00
b139ba2a5c
Merge branch '__update_alternatives_improvements' into 'master'
...
[__update_alternatives] rewrite and support --install
See merge request ungleich-public/cdist!936
2020-10-19 06:55:35 +02:00
f96f23e970
Merge branch '__acl_remove_deprecated' into 'master'
...
[__acl] remove deprecated parameters, fix some bugs and improve manual
Closes #823
See merge request ungleich-public/cdist!933
2020-10-19 06:54:13 +02:00
716cd37281
[__update_alternatives] rewrite and support --install
2020-10-18 23:57:25 +03:00
e3d906a85f
[__acl] remove deprecated parameters, fix some bugs and improve manual
2020-10-18 23:54:01 +03:00
b2e6afb57e
__download: adapt download+unpack example in manpage
2020-10-17 23:01:36 +02:00
507fa6fa93
__download: fix non-existent parameter of __unpack
...
Probably happened due to renaming .. guess it's correct now.
2020-10-17 17:09:41 +02:00
e55db1b427
use check_output for git describe execution and define fallback VERSION earlier
2020-10-16 15:41:38 +03:00
42d5d6c3e2
redundant str()
2020-10-16 14:12:39 +03:00
65c8af4ba3
overengineered version discovery
2020-10-16 14:11:12 +03:00
1614b62f70
fallback VERSION to "unknown version"
2020-10-16 13:48:28 +03:00
86057cef19
don't die if there is no version.py
2020-10-14 02:20:58 +03:00
1057ceef01
Merge branch 'line-replace' into 'master'
...
[__line] Add support for '--state replace'
See merge request ungleich-public/cdist!939
2020-10-09 06:51:45 +02:00
c030deea3d
[__line] Add support for '--state replace'
...
It is currently counter-intuitive that something like:
# File '/thing' contents
#SomeSetting WrongValue
# Manifest
__line '/thing' \
--line 'SomeSeting GoodValue' \
--regex '^(#[[:space:]]*)?SomeSetting[[:space:]]'
Produces:
# Resulting '/thing' contents
#SomeSetting WrongValue
This makes sense given the implementation, but it masks a very common use-case.
Changing the default behaviour for such a base type is not really an option, so
instead we add a `replace` as a valid value for `--state`, which would result
in:
# Resulting '/thing' contents with: --state replace
SomeSetting GoodValue
For compatibility, if the regex is missing, `--state replace` behaves just as
`--state present`.
2020-10-09 06:51:44 +02:00
Mark Verboom
5aeed14b1b
Fixed calling of __systemd_service type with correct arguments.
2020-10-08 16:15:20 +02:00
Darko Poljak
3fa74b454a
Fix typo
2020-09-30 15:43:32 +02:00
f994226d0e
[__package_pkgng_freebsd] Bootstrap pkg if necessary
...
In a pristine FreeBSD base installation, pkg is really a bootstrapper utility,
in such cases the type used to fail instead of automatically bootstrapping pkg.
2020-09-29 19:47:59 +02:00
Darko Poljak
0fc10749ed
Fix shellcheck
2020-09-21 09:11:35 +02:00
139a782c96
Merge branch '__package_pip_detect_pip_bin' into 'master'
...
[__package_pip] detect pip binary
See merge request ungleich-public/cdist!935
2020-09-21 09:06:44 +02:00
89b6215115
Clarify stdin input
...
Resolve #836 .
2020-09-21 09:04:05 +02:00
decc0ad54d
[__package_pip] detect pip binary
2020-09-19 12:38:20 +03:00
Darko Poljak
53b91adbd8
Fix shellcheck
2020-09-11 14:20:57 +02:00
a20ab63e60
Merge branch 'fix/__systemd_service/manpage' into 'master'
...
__systemd_service: fix manpage typos
See merge request ungleich-public/cdist!931
2020-09-10 13:21:19 +02:00
b1375464cc
__systemd_service: fix manpage typos
2020-09-09 21:11:40 +02:00
f5b534df71
Merge branch 'fix/type/__timezone/singleton' into 'master'
...
__timezone: Make singleton
See merge request ungleich-public/cdist!916
2020-09-08 07:20:01 +02:00
Darko Poljak
c17541f24c
Expand and split by consecutive require delimiters
...
Resolves #832 .
2020-08-24 07:16:28 +02:00
a8ea56253c
Merge branch 'feature/explorer/os_version/debian-sid' into 'master'
...
explorer/os_version: Convert Debian sid to version number.
Closes #833
See merge request ungleich-public/cdist!927
2020-08-18 11:05:12 +02:00
2c1eca9ee7
Merge branch '__download_man_fix' into 'master'
...
[__download] fix manual: onchange parameter in wrong section
See merge request ungleich-public/cdist!929
2020-08-18 11:02:18 +02:00
d239169c4f
[__download] fix manual: onchange parameter in wrong section
2020-08-18 00:48:58 +03:00
502d753047
[__unpack] add --onchange
2020-08-18 00:46:07 +03:00
Dennis Camera
6fed178529
[explorer/os_version] Convert Debian sid to version number.
...
Conversion of Debian sid to versions is done based on Debian codenames.
The version number is the version number of the final release - 0.01.
It is unknown if Debian < 4.0 has any sort of version information
available (apart from maybe checking base-files package version).
But I don't think any of these systems are still alive,
so I think going with 3.99 is fine for those.
2020-08-17 09:31:40 +02:00
ssrq
fa967631e3
Merge branch 'master' into 'fix/type/__locale_system/version-cmp'
...
# Conflicts:
# cdist/conf/type/__locale_system/manifest
2020-08-15 21:17:25 +02:00
7b0a4f6831
Merge branch 'feature/alpine-filesystem' into 'master'
...
Add Alpine Linux as supported for __filesystem.
See merge request ungleich-public/cdist!925
2020-08-15 21:09:37 +02:00
54c525e36c
Merge branch '__unpack_tar_extra_args' into 'master'
...
[__unpack] add parameter --tar-extra-args
See merge request ungleich-public/cdist!922
2020-08-15 21:07:20 +02:00
4082359a2f
Merge branch 'fix/explorer/os/opensuse' into 'master'
...
explorer/os: Fix OS detection for openSUSE
See merge request ungleich-public/cdist!924
2020-08-15 21:06:31 +02:00
17ab4bd80c
Add Alpine Linux as supported for __filesystem.
2020-08-06 11:45:05 +02:00
Dennis Camera
b370b70ff4
[explorer/os] Fix OS detection for openSUSE
...
All distros with ID_LIKE suse should be treated as "suse".
My openSUSE Leap 15.1 installation has:
ID_LIKE="suse opensuse"
This patch doesn't require a strict "suse" value but only the word suse to be in
the list.
2020-08-02 22:50:06 +02:00
Dennis Camera
7b480f4293
[type/__locale_system] Fix version extraction for SuSE
2020-08-02 22:47:46 +02:00
Dennis Camera
71710fa00a
[type/__locale_system] Implement "proper" version comparison
...
Proper in the sense that it can handle all numeric version numbers even if they
are not floating point (e.g. 16.04.6).
2020-08-02 20:59:22 +02:00
Dennis Camera
885d5a58f4
[type/__locale_system] Fix floating point version comparison
2020-08-02 17:04:06 +02:00
935f2395bc
[__locale_system] fix for debian and ubuntu
...
ubuntu 6.10 and debian etch are 10+ years old and EOL. rather than
preserving compatibility I'll just remove it. while /etc/environment
works too, correct place is /etc/default/locale (as it was before
breaking change). also /etc/debian_version (os_version explorer) may
contain minor version with dot (10.5) or string (bullseye/sid).
2020-08-02 13:54:30 +03:00
d37d2dc307
[__unpack] add parameter --tar-extra-args
2020-08-02 13:53:38 +03:00