diff options
author | Jan Synacek <jsynacek@redhat.com> | 2020-02-19 15:36:13 +0100 |
---|---|---|
committer | The Plumber <50238977+systemd-rhel-bot@users.noreply.github.com> | 2020-06-09 11:25:40 +0200 |
commit | 0065f2bf838dd0c24ec7be41439b4c0ba650029c (patch) | |
tree | c1b49755a5c094d04d6766e98fb5d700f11b66c1 | |
parent | 4e7a3af028dfe6b5a4a85c31d670df73c08a0719 (diff) |
Very loosely based on upstream commits e1ca734edd17a90a325d5b566a4ea96e66c206e5
and 681bd2c524ed71ac04045c90884ba8d55eee7b66.
Resolves: #1804252
-rw-r--r-- | meson.build | 15 | ||||
-rw-r--r-- | meson_options.txt | 3 | ||||
-rw-r--r-- | src/udev/udev-ctrl.c | 5 |
3 files changed, 18 insertions, 5 deletions
diff --git a/meson.build b/meson.build index c8ae1e15bd..0ba3f924ea 100644 --- a/meson.build +++ b/meson.build @@ -15,17 +15,24 @@ project('systemd', 'c', libsystemd_version = '0.23.0' libudev_version = '1.6.11' +dist_version = get_option('version-tag') +if dist_version == '' + dist_version = meson.project_version() +else + dist_version = meson.project_version() + ' (' + dist_version + ')' +endif + # We need the same data in two different formats, ugh! # Also, for hysterical reasons, we use different variable # names, sometimes. Not all variables are included in every # set. Ugh, ugh, ugh! conf = configuration_data() -conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version()) -conf.set_quoted('PACKAGE_VERSION', meson.project_version()) +conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + dist_version) +conf.set_quoted('PACKAGE_VERSION', dist_version) substs = configuration_data() substs.set('PACKAGE_URL', 'https://www.freedesktop.org/wiki/Software/systemd') -substs.set('PACKAGE_VERSION', meson.project_version()) +substs.set('PACKAGE_VERSION', dist_version) ##################################################################### @@ -2871,7 +2878,7 @@ run_target( ############################################################ status = [ - '@0@ @1@'.format(meson.project_name(), meson.project_version()), + '@0@ @1@'.format(meson.project_name(), dist_version), 'split /usr: @0@'.format(split_usr), 'split bin-sbin: @0@'.format(split_bin), diff --git a/meson_options.txt b/meson_options.txt index 563b11f0a2..0996891177 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,6 +1,9 @@ # -*- mode: meson -*- # SPDX-License-Identifier: LGPL-2.1+ +option('version-tag', type : 'string', + description : 'override the version string') + option('split-usr', type : 'combo', choices : ['auto', 'true', 'false'], description : '''/bin, /sbin aren't symlinks into /usr''') option('split-bin', type : 'combo', choices : ['auto', 'true', 'false'], diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c index efe7297f04..5382ce0d26 100644 --- a/src/udev/udev-ctrl.c +++ b/src/udev/udev-ctrl.c @@ -239,7 +239,10 @@ static int ctrl_send(struct udev_ctrl *uctrl, enum udev_ctrl_msg_type type, int int err = 0; memzero(&ctrl_msg_wire, sizeof(struct udev_ctrl_msg_wire)); - strcpy(ctrl_msg_wire.version, "udev-" PACKAGE_VERSION); + /* jsynacek: As PACKAGE_VERSION is populated from the spec file with %{version}-%{release}, + * it might not fit entirely into the version field. */ + strncpy(ctrl_msg_wire.version, "udev-" PACKAGE_VERSION, 16-5); + ctrl_msg_wire.version[15] = '\0'; ctrl_msg_wire.magic = UDEV_CTRL_MAGIC; ctrl_msg_wire.type = type; |