Archived
1

Fix bug with overlapping ids, and add rpms

This commit is contained in:
Evan Pratten 2023-07-05 12:11:25 -04:00
parent 0f78e96d3e
commit 89a04a3eb6
3 changed files with 65 additions and 17 deletions

32
.rpm/netbrowse.spec Normal file
View File

@ -0,0 +1,32 @@
%define __spec_install_post %{nil}
%define __os_install_post %{_dbpath}/brp-compress
%define debug_package %{nil}
Name: netbrowse
Summary: A graphical frontend to avahi-browse
Version: @@VERSION@@
Release: @@RELEASE@@%{?dist}
License: GPL-3.0
Group: Applications/System
Source0: %{name}-%{version}.tar.gz
URL: https://github.com/ewpratten/netbrowse
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
%{summary}
%prep
%setup -q
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
cp -a * %{buildroot}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/*

View File

@ -1,6 +1,6 @@
[package] [package]
name = "netbrowse" name = "netbrowse"
version = "0.1.0" version = "0.1.1"
authors = ["Evan Pratten <ewpratten@gmail.com>"] authors = ["Evan Pratten <ewpratten@gmail.com>"]
edition = "2018" edition = "2018"
description = "A graphical frontend to avahi-browse" description = "A graphical frontend to avahi-browse"
@ -20,3 +20,11 @@ colored = "2.0.0"
eframe = "0.15.0" eframe = "0.15.0"
ipnet = "2.3.1" ipnet = "2.3.1"
thiserror = "1.0.30" thiserror = "1.0.30"
[package.metadata.rpm]
package = "netbrowse"
[package.metadata.rpm.cargo]
buildflags = ["--release"]
[package.metadata.rpm.targets]
netbrowse = { path = "/usr/bin/netbrowse" }

View File

@ -118,24 +118,32 @@ impl epi::App for BrowseApp {
// Render each host // Render each host
for host in hosts.values() { for host in hosts.values() {
// Render the packet data // Render the packet data
egui::CollapsingHeader::new(&host.name).show(ui, |ui| { egui::CollapsingHeader::new(&host.name)
// Render every service name as a dropdown .id_source(format!("{}_{}", interface, &host.name))
for service_name in host.services.keys() { .show(ui, |ui| {
egui::CollapsingHeader::new(service_name).show(ui, |ui| { // Render every service name as a dropdown
// Render provider for the service as its own dropdown, containing optional metadata for service_name in host.services.keys() {
for service in host.services.get(service_name).unwrap() { egui::CollapsingHeader::new(service_name)
egui::CollapsingHeader::new(format!( .id_source(format!(
"{} (IP: {} Port: {})", "{}_{}_{}",
service.hostname, service.ip, service.port interface, &host.name, service_name
)) ))
.show(ui, |ui| { .show(ui, |ui| {
// Render the metadata // Render provider for the service as its own dropdown, containing optional metadata
ui.label(service.data.join("\n")); for service in host.services.get(service_name).unwrap()
{
egui::CollapsingHeader::new(format!(
"{} (IP: {} Port: {})",
service.hostname, service.ip, service.port
))
.show(ui, |ui| {
// Render the metadata
ui.label(service.data.join("\n"));
});
}
}); });
} }
}); });
}
});
} }
} }
}); });