1--- a/Makefile.am
2+++ b/Makefile.am
3@@ -1,6 +1,6 @@
4 ## Process this file with automake to produce Makefile.in
5
6-SHELL = /bin/bash
7+SHELL = @bash@
8 .SHELLFLAGS = -o pipefail -c
9
10 PYTHON ?= python3
11--- a/data/80-udisks2.rules
12+++ b/data/80-udisks2.rules
13@@ -17,9 +17,9 @@
14 #
15 # TODO: file bug against mdadm(8) to have --export-prefix option that can be used with e.g. UDISKS_MD_MEMBER
16 #
17-SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="/bin/sh -c '/sbin/mdadm --examine --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_MEMBER_/g'"
18+SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="@sh@ -c '@mdadm@ --examine --export $tempnode | @sed@ s/^MD_/UDISKS_MD_MEMBER_/g'"
19
20-SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="/bin/sh -c '/sbin/mdadm --detail --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_/g'"
21+SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="@sh@ -c '@mdadm@ --detail --export $tempnode | @sed@ s/^MD_/UDISKS_MD_/g'"
22
23 LABEL="udisks_probe_end"
24
25--- a/modules/zram/udiskslinuxmanagerzram.c
26+++ b/modules/zram/udiskslinuxmanagerzram.c
27@@ -250,7 +250,7 @@
28
29 g_snprintf (tmp, 255, "zram%" G_GUINT64_FORMAT, i);
30 filename = g_build_filename (PACKAGE_ZRAMCONF_DIR, tmp, NULL);
31- contents = g_strdup_printf ("#!/bin/bash\n\n"
32+ contents = g_strdup_printf ("#!@bash@\n\n"
33 "ZRAM_NUM_STR=%" G_GUINT64_FORMAT "\n"
34 "ZRAM_DEV_SIZE=%" G_GUINT64_FORMAT "\n"
35 "SWAP=n\n",
36--- a/src/tests/install-udisks/runtest.sh
37+++ b/src/tests/install-udisks/runtest.sh
38@@ -1,4 +1,4 @@
39-#!/bin/bash
40+#!@bash@
41 # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
42 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43 #
44--- a/src/tests/integration-test
45+++ b/src/tests/integration-test
46@@ -414,7 +414,7 @@
47 f.write('KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", '
48 'ATTRS{model}=="scsi_debug*", '
49 'ENV{ID_CDROM_MEDIA}=="?*", '
50- 'IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"\n')
51+ 'IMPORT{program}="@blkid@ -o udev -p -u noraid $tempnode"\n')
52 # reload udev
53 subprocess.call('sync; pkill --signal HUP udevd || '
54 'pkill --signal HUP systemd-udevd',
55@@ -1079,7 +1079,7 @@
56 self.assertFalse(os.access(f, os.X_OK))
57
58 f = os.path.join(mount_point, 'simple.exe')
59- shutil.copy('/bin/bash', f)
60+ shutil.copy('@bash@', f)
61 self.assertTrue(os.access(f, os.R_OK))
62 self.assertTrue(os.access(f, os.W_OK))
63 self.assertTrue(os.access(f, os.X_OK))
64@@ -1092,7 +1092,7 @@
65 self.assertFalse(os.access(f, os.X_OK))
66
67 f = os.path.join(mount_point, 'subdir', 'subdir.exe')
68- shutil.copy('/bin/bash', f)
69+ shutil.copy('@bash@', f)
70 self.assertTrue(os.access(f, os.R_OK))
71 self.assertTrue(os.access(f, os.W_OK))
72 self.assertTrue(os.access(f, os.X_OK))
73--- a/src/tests/storadectl/runtest.sh
74+++ b/src/tests/storadectl/runtest.sh
75@@ -1,4 +1,4 @@
76-#!/bin/bash
77+#!@bash@
78 # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
79 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 #
81--- a/src/tests/test.c
82+++ b/src/tests/test.c
83@@ -71,7 +71,7 @@
84 {
85 UDisksSpawnedJob *job;
86
87- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, NULL);
88+ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, NULL);
89 udisks_spawned_job_start (job);
90 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_success), NULL);
91 g_object_unref (job);
92@@ -84,10 +84,10 @@
93 {
94 UDisksSpawnedJob *job;
95
96- job = udisks_spawned_job_new ("/bin/false", NULL, getuid (), geteuid (), NULL, NULL);
97+ job = udisks_spawned_job_new ("@false@", NULL, getuid (), geteuid (), NULL, NULL);
98 udisks_spawned_job_start (job);
99 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
100- (gpointer) "Command-line `/bin/false' exited with non-zero exit status 1: ");
101+ (gpointer) "Command-line `@false@' exited with non-zero exit status 1: ");
102 g_object_unref (job);
103 }
104
105@@ -119,7 +119,7 @@
106
107 cancellable = g_cancellable_new ();
108 g_cancellable_cancel (cancellable);
109- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, cancellable);
110+ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, cancellable);
111 udisks_spawned_job_start (job);
112 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
113 (gpointer) "Operation was cancelled (g-io-error-quark, 19)");
114@@ -145,7 +145,7 @@
115 GCancellable *cancellable;
116
117 cancellable = g_cancellable_new ();
118- job = udisks_spawned_job_new ("/bin/sleep 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
119+ job = udisks_spawned_job_new ("@sleep@ 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
120 udisks_spawned_job_start (job);
121 g_timeout_add (10, on_timeout, cancellable); /* 10 msec */
122 g_main_loop_run (loop);
123@@ -199,7 +199,7 @@
124 {
125 UDisksSpawnedJob *job;
126
127- job = udisks_spawned_job_new ("/bin/sleep 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
128+ job = udisks_spawned_job_new ("@sleep@ 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
129 udisks_spawned_job_start (job);
130 g_object_unref (job);
131 }