Added updates for DMR ids
This commit is contained in:
parent
556daa9eca
commit
dfc016b154
1 changed files with 55 additions and 0 deletions
|
@ -40,6 +40,10 @@ in
|
||||||
default = "/dev/ttyUSB0";
|
default = "/dev/ttyUSB0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dmr-id-url = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "https://database.radioid.net/static/user.csv";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,6 +71,10 @@ in
|
||||||
RuntimeDirectory = "MMDVMHost";
|
RuntimeDirectory = "MMDVMHost";
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
|
if [ ! -e /var/lib/mmdvm/DMRIds.dat ]; then
|
||||||
|
touch /var/lib/mmdvm/DMRIds.dat
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -e /var/lib/mmdvm/firmware-version ]; then
|
if [ ! -e /var/lib/mmdvm/firmware-version ]; then
|
||||||
touch /var/lib/mmdvm/firmware-version
|
touch /var/lib/mmdvm/firmware-version
|
||||||
fi
|
fi
|
||||||
|
@ -78,6 +86,53 @@ in
|
||||||
exec ${cfg.host_package}/bin/MMDVMHost ${cfg.config-file}
|
exec ${cfg.host_package}/bin/MMDVMHost ${cfg.config-file}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.paths.mmdvm_dmr_ids = {
|
||||||
|
after = [ "mmdvm_host.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
pathConfig = {
|
||||||
|
PathModified = "/var/lib/mmdvm/DMRIds.dat";
|
||||||
|
Unit = "mmdvm_host_restart.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.mmdvm_host_restart = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
description = "MMDVMHost restart service";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
${pkgs.systemd}/bin/systemctl restart "mmdvm_host.service"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.dmr_id_update = {
|
||||||
|
wants = [ "network.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
description = "Update DMR ids";
|
||||||
|
startAt = "02:00:00";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
};
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
${pkgs.curl}/bin/curl "${cfg.dmr-id-url}" | \
|
||||||
|
${pkgs.gnused}/bin/sed -e 's/\t//g' | ${pkgs.gawk}/bin/awk -F"," '/,/{gsub(/ /, "", $2); printf "%s\t%s\t%s\n", $1, $2, $3}' | \
|
||||||
|
${pkgs.gnused}/bin/sed -e 's/\(.\) .*/\1/g' > /var/lib/mmdvm/DMRIds.tmp
|
||||||
|
|
||||||
|
NUMOFLINES=$(${pkgs.coreutils}/bin/wc -l /var/lib/mmdvm/DMRIds.tmp | ${pkgs.gawk}/bin/awk '{print $1}')
|
||||||
|
if [ $NUMOFLINES -gt 1 ]
|
||||||
|
then
|
||||||
|
mv /var/lib/mmdvm//DMRIds.tmp /var/lib/mmdvm/DMRIds.dat
|
||||||
|
else
|
||||||
|
rm /var/lib/mmdvm//DMRIds.tmp
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue