swaroop: fix setuid on dcpomatic2_uuid. v2.13.91
authorCarl Hetherington <cth@carlh.net>
Mon, 24 Dec 2018 18:51:21 +0000 (18:51 +0000)
committerCarl Hetherington <cth@carlh.net>
Mon, 24 Dec 2018 18:51:21 +0000 (18:51 +0000)
debian/rules
wscript

index 2310d7d53351f30d9f6c753f2728590b8e1a71f3..2e266ada046609e96a9032df883c748f2a8e4d54 100755 (executable)
@@ -44,3 +44,6 @@ override_dh_strip:
 
 override_dh_shlibdeps:
        dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
+
+override_dh_fixperms:
+       dh_fixperms --exclude usr/bin/dcpomatic2_uuid
diff --git a/wscript b/wscript
index 14c6fee6152455d7746d97f38198d2a508789301..6fd048110c76ba1c6fcaf52ab3204bfd17034892 100644 (file)
--- a/wscript
+++ b/wscript
@@ -621,7 +621,14 @@ def create_version_cc(version, cxx_flags):
 def post(ctx):
     if ctx.cmd == 'install' and ctx.env.TARGET_LINUX:
         ctx.exec_command('/sbin/ldconfig')
-        os.chmod(os.path.join(ctx.options.prefix, 'bin/dcpomatic2_uuid'), 0o4755)
+        # I can't find anything which tells me where things have been installed to,
+        # so here's some nasty hacks to guess.
+        debian = os.path.join(ctx.out_dir, '../debian/dcpomatic/usr/bin/dcpomatic2_uuid')
+        prefix = os.path.join(ctx.env['INSTALL_PREFIX'], 'bin/dcpomatic2_uuid')
+        if os.path.exists(debian):
+            os.chmod(debian, 0o4755)
+        if os.path.exists(prefix):
+            os.chmod(prefix, 0o4755)
 
 def pot(bld):
     bld.recurse('src')