Skip to content

Commit 7779e5f

Browse files
committed
Copy config files to output directory
1 parent d582e85 commit 7779e5f

File tree

3 files changed

+62
-15
lines changed

3 files changed

+62
-15
lines changed

pkg/fedora/surface-dtx-daemon.spec

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ Summary: Surface Detachment System (DTX) Daemon
66
License: MIT
77
URL: https://github.com/linux-surface/surface-dtx-daemon
88

9-
Source0: https://github.com/linux-surface/surface-dtx-daemon/archive/refs/tags/v%{version}-{release}.tar.gz
10-
119
Requires: dbus libgcc
1210
BuildRequires: rust cargo dbus-devel
1311

@@ -35,14 +33,14 @@ install -D -m755 "target/release/surface-dtx-daemon" "%{buildroot}/usr/bin/surfa
3533
install -D -m755 "target/release/surface-dtx-userd" "%{buildroot}/usr/bin/surface-dtx-userd"
3634

3735
# application files
38-
install -D -m644 "etc/dtx/surface-dtx-daemon.conf" "%{buildroot}/etc/surface-dtx/surface-dtx-daemon.conf"
39-
install -D -m644 "etc/dtx/surface-dtx-userd.conf" "%{buildroot}/etc/surface-dtx/surface-dtx-userd.conf"
40-
install -D -m755 "etc/dtx/attach.sh" "%{buildroot}/etc/surface-dtx/attach.sh"
41-
install -D -m755 "etc/dtx/detach.sh" "%{buildroot}/etc/surface-dtx/detach.sh"
42-
install -D -m644 "etc/systemd/surface-dtx-daemon.service" "%{buildroot}/usr/lib/systemd/system/surface-dtx-daemon.service"
43-
install -D -m644 "etc/systemd/surface-dtx-userd.service" "%{buildroot}/usr/lib/systemd/user/surface-dtx-userd.service"
44-
install -D -m644 "etc/dbus/org.surface.dtx.conf" "%{buildroot}/etc/dbus-1/system.d/org.surface.dtx.conf"
45-
install -D -m644 "etc/udev/40-surface_dtx.rules" "%{buildroot}/etc/udev/rules.d/40-surface_dtx.rules"
36+
install -D -m644 "target/etc/dtx/surface-dtx-daemon.conf" "%{buildroot}/etc/surface-dtx/surface-dtx-daemon.conf"
37+
install -D -m644 "target/etc/dtx/surface-dtx-userd.conf" "%{buildroot}/etc/surface-dtx/surface-dtx-userd.conf"
38+
install -D -m755 "target/etc/dtx/attach.sh" "%{buildroot}/etc/surface-dtx/attach.sh"
39+
install -D -m755 "target/etc/dtx/detach.sh" "%{buildroot}/etc/surface-dtx/detach.sh"
40+
install -D -m644 "target/etc/systemd/surface-dtx-daemon.service" "%{buildroot}/usr/lib/systemd/system/surface-dtx-daemon.service"
41+
install -D -m644 "target/etc/systemd/surface-dtx-userd.service" "%{buildroot}/usr/lib/systemd/user/surface-dtx-userd.service"
42+
install -D -m644 "target/etc/dbus/org.surface.dtx.conf" "%{buildroot}/etc/dbus-1/system.d/org.surface.dtx.conf"
43+
install -D -m644 "target/etc/udev/40-surface_dtx.rules" "%{buildroot}/etc/udev/rules.d/40-surface_dtx.rules"
4644

4745
# completion files
4846
install -D -m644 "target/surface-dtx-daemon.bash" "%{buildroot}/usr/share/bash-completion/completions/surface-dtx-daemon"
@@ -53,7 +51,6 @@ install -D -m644 "target/surface-dtx-daemon.fish" "%{buildroot}/usr/share/fish/v
5351
install -D -m644 "target/surface-dtx-userd.fish" "%{buildroot}/usr/share/fish/vendor_completions.d/surface-dtx-userd.fish"
5452

5553
%files
56-
%license surface-dtx-daemon/LICENSE
5754
%config /etc/dbus-1/system.d/org.surface.dtx.conf
5855
%config /etc/udev/rules.d/40-surface_dtx.rules
5956
%config(noreplace) /etc/surface-dtx/*

surface-dtx-daemon/build.rs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,43 @@
11
use std::env;
2+
use std::path::PathBuf;
23
use clap_complete::shells;
34

45
include!("src/cli.rs");
56

67

78
fn main() {
8-
let outdir = env::var_os("CARGO_TARGET_DIR")
9+
let outdir: PathBuf = env::var_os("CARGO_TARGET_DIR")
910
.or_else(|| env::var_os("OUT_DIR"))
10-
.unwrap();
11+
.unwrap()
12+
.into();
1113

14+
let rootdir = env::current_dir().unwrap();
15+
let rootdir = rootdir
16+
.parent().unwrap();
17+
18+
println!("{rootdir:?}");
19+
20+
// generate shell completions
1221
let mut app = app();
1322
clap_complete::generate_to(shells::Bash, &mut app, "surface-dtx-daemon", &outdir).unwrap();
1423
clap_complete::generate_to(shells::Zsh, &mut app, "surface-dtx-daemon", &outdir).unwrap();
1524
clap_complete::generate_to(shells::Fish, &mut app, "surface-dtx-daemon", &outdir).unwrap();
25+
26+
// copy config files
27+
let files = [
28+
"etc/dbus/org.surface.dtx.conf",
29+
"etc/dtx/attach.sh",
30+
"etc/dtx/detach.sh",
31+
"etc/dtx/surface-dtx-daemon.conf",
32+
"etc/systemd/surface-dtx-daemon.service",
33+
"etc/udev/40-surface_dtx.rules",
34+
];
35+
36+
for file in files {
37+
let src = rootdir.join(file);
38+
let tgt = outdir.join(file);
39+
40+
std::fs::create_dir_all(tgt.parent().unwrap()).unwrap();
41+
std::fs::copy(src, tgt).unwrap();
42+
}
1643
}

surface-dtx-userd/build.rs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,39 @@
11
use std::env;
2+
use std::path::PathBuf;
23
use clap_complete::shells;
34

45
include!("src/cli.rs");
56

67

78
fn main() {
8-
let outdir = env::var_os("CARGO_TARGET_DIR")
9+
let outdir: PathBuf = env::var_os("CARGO_TARGET_DIR")
910
.or_else(|| env::var_os("OUT_DIR"))
10-
.unwrap();
11+
.unwrap()
12+
.into();
1113

14+
let rootdir = env::current_dir().unwrap();
15+
let rootdir = rootdir
16+
.parent().unwrap();
17+
18+
println!("{rootdir:?}");
19+
20+
// generate shell completions
1221
let mut app = app();
1322
clap_complete::generate_to(shells::Bash, &mut app, "surface-dtx-userd", &outdir).unwrap();
1423
clap_complete::generate_to(shells::Zsh, &mut app, "surface-dtx-userd", &outdir).unwrap();
1524
clap_complete::generate_to(shells::Fish, &mut app, "surface-dtx-userd", &outdir).unwrap();
25+
26+
// copy config files
27+
let files = [
28+
"etc/dtx/surface-dtx-userd.conf",
29+
"etc/systemd/surface-dtx-userd.service",
30+
];
31+
32+
for file in files {
33+
let src = rootdir.join(file);
34+
let tgt = outdir.join(file);
35+
36+
std::fs::create_dir_all(tgt.parent().unwrap()).unwrap();
37+
std::fs::copy(src, tgt).unwrap();
38+
}
1639
}

0 commit comments

Comments
 (0)