From a65efe6bd00fbba4f075c4c666dafafb8a5eed4d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 23 Dec 2018 20:08:24 +0000 Subject: [PATCH] Add dcpomatic2_uuid tool. --- src/tools/dcpomatic_uuid.cc | 40 +++++++++++++++++++++++++++++++++++++ src/tools/wscript | 2 +- wscript | 3 ++- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 src/tools/dcpomatic_uuid.cc diff --git a/src/tools/dcpomatic_uuid.cc b/src/tools/dcpomatic_uuid.cc new file mode 100644 index 000000000..65582ac0c --- /dev/null +++ b/src/tools/dcpomatic_uuid.cc @@ -0,0 +1,40 @@ +/* + Copyright (C) 2018 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include + +int main () +{ +#ifdef DCPOMATIC_LINUX + FILE* f = fopen ("/sys/class/dmi/id/product_uuid", "r"); + if (!f) { + printf ("unknown"); + return 1; + } + char buffer[256]; + int const N = fread (buffer, 1, 255, f); + buffer[N] = '\0'; + printf ("%s", buffer); + fclose (f); + return 0; +#endif + printf ("unknown"); + return 1; +} diff --git a/src/tools/wscript b/src/tools/wscript index b6efc22b5..c71b96ea4 100644 --- a/src/tools/wscript +++ b/src/tools/wscript @@ -54,7 +54,7 @@ def build(bld): gui_tools = [] if not bld.env.DISABLE_GUI: if bld.env.VARIANT == 'swaroop': - gui_tools = ['dcpomatic_player', 'dcpomatic_playlist'] + gui_tools = ['dcpomatic_player', 'dcpomatic_playlist', 'dcpomatic_uuid'] else: gui_tools = ['dcpomatic', 'dcpomatic_batch', 'dcpomatic_server', 'dcpomatic_kdm', 'dcpomatic_player'] diff --git a/wscript b/wscript index de9c82d2c..16c3ef979 100644 --- a/wscript +++ b/wscript @@ -619,8 +619,9 @@ def create_version_cc(version, cxx_flags): sys.exit(-1) def post(ctx): - if ctx.cmd == 'install': + if ctx.cmd == 'install' and ctx.env.TARGET_LINUX: ctx.exec_command('/sbin/ldconfig') + os.chmod(os.path.join(ctx.env.PREFIX, 'bin/dcpomatic2_uuid'), 0o4755) def pot(bld): bld.recurse('src') -- 2.30.2