Add dcpomatic2_uuid tool.
authorCarl Hetherington <cth@carlh.net>
Sun, 23 Dec 2018 20:08:24 +0000 (20:08 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 23 Dec 2018 21:04:49 +0000 (21:04 +0000)
src/tools/dcpomatic_uuid.cc [new file with mode: 0644]
src/tools/wscript
wscript

diff --git a/src/tools/dcpomatic_uuid.cc b/src/tools/dcpomatic_uuid.cc
new file mode 100644 (file)
index 0000000..65582ac
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+    Copyright (C) 2018 Carl Hetherington <cth@carlh.net>
+
+    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 <http://www.gnu.org/licenses/>.
+
+*/
+
+#include <cstdio>
+
+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;
+}
index b6efc22b586d119ec3c42ee781c947adc5336ba9..c71b96ea4f47ff55b8d6f69de77481c79064cb6e 100644 (file)
@@ -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 de9c82d2c6f606167e5513af83f9a281f2b5c63a..16c3ef9793cafe37dafd186a0dd628f2bbcf5ae9 100644 (file)
--- 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')