Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions credentialsd-ui/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ async fn run() -> Result<(), Box<dyn Error>> {
let (request_tx, request_rx) = async_std::channel::bounded(2);
// this allows the D-Bus service to signal to the GUI to draw a window for
// executing the credential flow.
let conn = zbus::connection::Builder::session()?
.name("xyz.iinuwa.credentialsd.UiControl")?
.build()
.await?;
let cred_client = DbusCredentialClient::new(conn);
let client_conn = zbus::connection::Builder::session()?.build().await?;
let cred_client = DbusCredentialClient::new(client_conn);
let _handle = gui::start_gui_thread(request_rx, cred_client)?;
println!(" ✅");

Expand Down
5 changes: 1 addition & 4 deletions credentialsd/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,7 @@ async fn main() {

async fn run() -> Result<(), Box<dyn Error>> {
print!("Connecting to D-Bus as client...\t");
let dbus_client_conn = zbus::connection::Builder::session()?
.name("xyz.iinuwa.credentialsd.Credentialsd")?
.build()
.await?;
let dbus_client_conn = zbus::connection::Builder::session()?.build().await?;
println!(" ✅");

print!("Starting D-Bus UI -> Credential control service...");
Expand Down
2 changes: 1 addition & 1 deletion credentialsd/tests/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ test(
],
protocol: 'exitcode',
verbose: true,
)
)
25 changes: 25 additions & 0 deletions dbus/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
dbus_config = configuration_data()
dbus_service_dir = datadir / 'dbus-1' / 'services'
dbus_config.set('DAEMON_EXECUTABLE', bindir / backend_executable_name)
dbus_config.set(
'UI_EXECUTABLE',
bindir / gui_executable_name,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.Credentials.service.in',
install_dir: dbus_service_dir,
output: 'xyz.iinuwa.credentialsd.Credentials.service',
configuration: dbus_config,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.FlowControl.service.in',
install_dir: dbus_service_dir,
output: 'xyz.iinuwa.credentialsd.FlowControl.service',
configuration: dbus_config,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.UiControl.service.in',
install_dir: dbus_service_dir,
output: 'xyz.iinuwa.credentialsd.UiControl.service',
configuration: dbus_config,
)
4 changes: 4 additions & 0 deletions dbus/xyz.iinuwa.credentialsd.Credentials.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[D-BUS Service]
Name=xyz.iinuwa.credentialsd.Credentials
Exec=@DAEMON_EXECUTABLE@
SystemdService=xyz.iinuwa.credentialsd.Credentials.service
4 changes: 4 additions & 0 deletions dbus/xyz.iinuwa.credentialsd.FlowControl.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[D-BUS Service]
Name=xyz.iinuwa.credentialsd.FlowControl
Exec=@DAEMON_EXECUTABLE@
SystemdService=xyz.iinuwa.credentialsd.FlowControl.service
4 changes: 4 additions & 0 deletions dbus/xyz.iinuwa.credentialsd.UiControl.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[D-BUS Service]
Name=xyz.iinuwa.credentialsd.UiControl
Exec=@UI_EXECUTABLE@
SystemdService=xyz.iinuwa.credentialsd.UiControl.service
4 changes: 3 additions & 1 deletion meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ meson.add_dist_script(

subdir('credentialsd-common')
subdir('credentialsd')
subdir('credentialsd-ui')
subdir('credentialsd-ui')
subdir('dbus')
subdir('systemd')
27 changes: 27 additions & 0 deletions systemd/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
systemd_config = configuration_data()
# HACK: Not using libdir option, since on some distros (Fedora), libdir is `lib64`, but systemd is always in `lib`
# If you know of a better way to do this, let me know
systemd_user_service_dir = prefix / 'lib' / 'systemd' / 'user'
systemd_config.set('DAEMON_EXECUTABLE', bindir / backend_executable_name)
systemd_config.set(
'UI_EXECUTABLE',
bindir / gui_executable_name,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.Credentials.service.in',
install_dir: systemd_user_service_dir,
output: 'xyz.iinuwa.credentialsd.Credentials.service',
configuration: systemd_config,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.FlowControl.service.in',
install_dir: systemd_user_service_dir,
output: 'xyz.iinuwa.credentialsd.FlowControl.service',
configuration: systemd_config,
)
configure_file(
input: 'xyz.iinuwa.credentialsd.UiControl.service.in',
install_dir: systemd_user_service_dir,
output: 'xyz.iinuwa.credentialsd.UiControl.service',
configuration: systemd_config,
)
7 changes: 7 additions & 0 deletions systemd/xyz.iinuwa.credentialsd.Credentials.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[Unit]
Description=Service for creating and storing user credentials

[Service]
Type=dbus
BusName=xyz.iinuwa.credentialsd.Credentials
ExecStart=@DAEMON_EXECUTABLE@
7 changes: 7 additions & 0 deletions systemd/xyz.iinuwa.credentialsd.FlowControl.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[Unit]
Description=Internal helper service for credentialsd

[Service]
Type=dbus
BusName=xyz.iinuwa.credentialsd.FlowControl
ExecStart=@DAEMON_EXECUTABLE@
7 changes: 7 additions & 0 deletions systemd/xyz.iinuwa.credentialsd.UiControl.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[Unit]
Description=Internal helper service for credentialsd

[Service]
Type=dbus
BusName=xyz.iinuwa.credentialsd.UiControl
ExecStart=@UI_EXECUTABLE@