core: add %v specifier
This commit is contained in:
parent
61ad59b131
commit
6aaa8c2f78
4
TODO
4
TODO
|
@ -60,7 +60,7 @@ Features:
|
|||
* given that logind/machined now let PID 1 do all nasty work we can
|
||||
probably reduce the capability set they retain substantially.
|
||||
|
||||
* btfs raid assembly: some .device jobs stay stuck in the queue
|
||||
* btrfs raid assembly: some .device jobs stay stuck in the queue
|
||||
|
||||
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
|
||||
|
||||
|
@ -80,8 +80,6 @@ Features:
|
|||
|
||||
* journald: optionally, when messages with a high log priority are logged, sync() immediately.
|
||||
|
||||
* introduce %v resolving to the string returned by "uname -r"
|
||||
|
||||
* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
|
||||
|
||||
* do we really need both hasprefix() and startswith()?
|
||||
|
|
|
@ -1175,7 +1175,7 @@
|
|||
</variablelist>
|
||||
|
||||
<para>The following specifiers are interpreted in the
|
||||
Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b.
|
||||
Install section: %n, %N, %p, %i, %U, %u, %m, %H, %b, %v.
|
||||
For their meaning see the next section.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
@ -1293,6 +1293,11 @@
|
|||
<entry>Host name</entry>
|
||||
<entry>The hostname of the running system.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%v</literal></entry>
|
||||
<entry>Kernel release</entry>
|
||||
<entry>Identical to <command>uname -r</command> output.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>%%</literal></entry>
|
||||
<entry>Escaped %</entry>
|
||||
|
@ -1321,7 +1326,8 @@
|
|||
<citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>uname</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -268,6 +268,7 @@ char *unit_full_printf(Unit *u, const char *format) {
|
|||
* %m the machine ID of the running system
|
||||
* %H the host name of the running system
|
||||
* %b the boot ID of the running system
|
||||
* %v `uname -r` of the running system
|
||||
*/
|
||||
|
||||
const Specifier table[] = {
|
||||
|
@ -291,7 +292,8 @@ char *unit_full_printf(Unit *u, const char *format) {
|
|||
{ 'm', specifier_machine_id, NULL },
|
||||
{ 'H', specifier_host_name, NULL },
|
||||
{ 'b', specifier_boot_id, NULL },
|
||||
{ 0, NULL, NULL }
|
||||
{ 'v', specifier_kernel_release, NULL },
|
||||
{}
|
||||
};
|
||||
|
||||
assert(format);
|
||||
|
|
|
@ -108,6 +108,7 @@ char *install_full_printf(InstallInfo *i, const char *format) {
|
|||
* %m the machine ID of the running system
|
||||
* %H the host name of the running system
|
||||
* %b the boot ID of the running system
|
||||
* %v `uname -r` of the running system
|
||||
*/
|
||||
|
||||
const Specifier table[] = {
|
||||
|
@ -122,7 +123,8 @@ char *install_full_printf(InstallInfo *i, const char *format) {
|
|||
{ 'm', specifier_machine_id, NULL },
|
||||
{ 'H', specifier_host_name, NULL },
|
||||
{ 'b', specifier_boot_id, NULL },
|
||||
{ 0, NULL, NULL }
|
||||
{ 'v', specifier_kernel_release, NULL },
|
||||
{}
|
||||
};
|
||||
|
||||
assert(i);
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
***/
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#include "macro.h"
|
||||
#include "util.h"
|
||||
|
@ -145,3 +146,14 @@ char *specifier_boot_id(char specifier, void *data, void *userdata) {
|
|||
char *specifier_host_name(char specifier, void *data, void *userdata) {
|
||||
return gethostname_malloc();
|
||||
}
|
||||
|
||||
char *specifier_kernel_release(char specifier, void *data, void *userdata) {
|
||||
struct utsname uts;
|
||||
int r;
|
||||
|
||||
r = uname(&uts);
|
||||
if (r < 0)
|
||||
return NULL;
|
||||
|
||||
return strdup(uts.release);
|
||||
}
|
||||
|
|
|
@ -36,3 +36,4 @@ char *specifier_string(char specifier, void *data, void *userdata);
|
|||
char *specifier_machine_id(char specifier, void *data, void *userdata);
|
||||
char *specifier_boot_id(char specifier, void *data, void *userdata);
|
||||
char *specifier_host_name(char specifier, void *data, void *userdata);
|
||||
char *specifier_kernel_release(char specifier, void *data, void *userdata);
|
||||
|
|
Loading…
Reference in New Issue