Package: release.debian.org Severity: important User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package v4l-utils The version in testing contains a revised DVB-S tuning logic that is broken for some types of satellite-dish LNBs. Upstream author and Linux Media subsystem maintainer Mauro Carvalho Chehab fixed the bug and added some more logging for future incidents of that sort. He also added an configuration entry for another LNB. The changes look pretty straight-forward and I trust Mauro to be ablke to decide what's -stable material and what is not. Additionally the kFreeBSD build fix was applied upstream and some translation files updated. All those changes were bundled into a new stable v4l-utils release. Thanks, Gregor diff -Nru v4l-utils-1.12.2/ChangeLog v4l-utils-1.12.3/ChangeLog --- v4l-utils-1.12.2/ChangeLog 2017-01-22 21:56:18.000000000 +0100 +++ v4l-utils-1.12.3/ChangeLog 2017-02-17 20:07:58.000000000 +0100 @@ -1,3 +1,17 @@ +v4l-utils-1.12.3 +---------------- + +Gregor Jasny (1): + Apply FreeBSD header search paths also to kFreeBSD + +Mauro Carvalho Chehab (5): + dvb-sat: fix rangeswitch logic + dvb-sat: add verbose options for LNBf settings + dvb-sat: add support for Invacom QPH-031 LNBf + pt_BR: update translation file to reflect latest changes + dvb-sat: fix translation issues at LNBf settings + + v4l-utils-1.12.2 ---------------- diff -Nru v4l-utils-1.12.2/configure.ac v4l-utils-1.12.3/configure.ac --- v4l-utils-1.12.2/configure.ac 2017-01-22 21:56:44.000000000 +0100 +++ v4l-utils-1.12.3/configure.ac 2017-02-17 20:05:46.000000000 +0100 @@ -152,7 +152,7 @@ linux*) linux_os="yes" ;; - freebsd*) + *freebsd*) freebsd_os="yes" ;; esac diff -Nru v4l-utils-1.12.2/debian/changelog v4l-utils-1.12.3/debian/changelog --- v4l-utils-1.12.2/debian/changelog 2017-01-23 20:42:16.000000000 +0100 +++ v4l-utils-1.12.3/debian/changelog 2017-02-17 20:14:26.000000000 +0100 @@ -1,3 +1,9 @@ +v4l-utils (1.12.3-1) unstable; urgency=medium + + * Imported Upstream version 1.12.3 (Closes: #854100) + + -- Gregor Jasny <gja...@googlemail.com> Fri, 17 Feb 2017 20:14:26 +0100 + v4l-utils (1.12.2-2) unstable; urgency=medium * Apply FreeBSD header search paths also to kFreeBSD diff -Nru v4l-utils-1.12.2/debian/patches/kfreebsd-header-search-path.diff v4l-utils-1.12.3/debian/patches/kfreebsd-header-search-path.diff --- v4l-utils-1.12.2/debian/patches/kfreebsd-header-search-path.diff 2017-01-23 20:41:39.000000000 +0100 +++ v4l-utils-1.12.3/debian/patches/kfreebsd-header-search-path.diff 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -Author: Gregor Jasny <gja...@googlemail.com> -Description: Apply FreeBSD header search paths also to kFreeBSD -Applied-Upstream: https://git.linuxtv.org/v4l-utils.git/commit/?id=15479381d6924c02bb02755f0e05b84ddd1b4e1a - ---- a/configure.ac -+++ b/configure.ac -@@ -152,7 +152,7 @@ - linux*) - linux_os="yes" - ;; -- freebsd*) -+ *freebsd*) - freebsd_os="yes" - ;; - esac diff -Nru v4l-utils-1.12.2/debian/patches/series v4l-utils-1.12.3/debian/patches/series --- v4l-utils-1.12.2/debian/patches/series 2017-01-23 20:33:09.000000000 +0100 +++ v4l-utils-1.12.3/debian/patches/series 2017-02-17 20:14:26.000000000 +0100 @@ -1,2 +1 @@ -kfreebsd-header-search-path.diff dont-gererate-treeview.diff diff -Nru v4l-utils-1.12.2/lib/libdvbv5/dvb-sat.c v4l-utils-1.12.3/lib/libdvbv5/dvb-sat.c --- v4l-utils-1.12.2/lib/libdvbv5/dvb-sat.c 2017-01-22 18:33:34.000000000 +0100 +++ v4l-utils-1.12.3/lib/libdvbv5/dvb-sat.c 2017-02-17 20:05:04.000000000 +0100 @@ -152,6 +152,29 @@ }, }, { .desc = { + .name = N_("Invacom QPH-031"), + .alias = "QPH031", + // Legacy fields - kept just to avoid API/ABI breakages + .lowfreq = 10750, + .highfreq = 11250, + .rangeswitch = 12200, + .freqrange = { + { 11700, 12200 }, + { 12200, 12700 }, + }, + }, + // Note: This LNBf can accept both V/H and L/R polarization + // on ports 1 and 3, V is 12V and H is 19V + // on ports 2 and 4, R is 12V and L is 19V + // This is the same as what's done for Universal LNBf, so, + // we don't need any special logic here to handle this special + // case. + .freqrange = { + { 11700, 12200, 10750, 12200 }, + { 12200, 12700, 11250, 0 }, + }, + }, { + .desc = { .name = N_("Big Dish - Monopoint LNBf"), .alias = "C-BAND", // Legacy fields - kept just to avoid API/ABI breakages @@ -287,11 +310,11 @@ } static char *pol_name[] = { - [POLARIZATION_OFF] = "", - [POLARIZATION_H] = N_("Horizontal: "), - [POLARIZATION_V] = N_("Vertical : "), - [POLARIZATION_L] = N_("Left : "), - [POLARIZATION_R] = N_("Right : "), + [POLARIZATION_OFF] = N_("Freqs : "), + [POLARIZATION_H] = N_("Horizontal: "), + [POLARIZATION_V] = N_("Vertical : "), + [POLARIZATION_L] = N_("Left : "), + [POLARIZATION_R] = N_("Right : "), }; int dvb_print_lnb(int i) @@ -588,12 +611,18 @@ dvb_fe_retrieve_parm(&parms->p, DTV_FREQUENCY, &freq); if (!lnb->freqrange[1].low) { + if (parms->p.verbose) + dvb_log("LNBf with a single LO at %.2f MHz", parms->freq_offset/1000.); + /* Trivial case: LNBf with a single local oscilator(LO) */ parms->freq_offset = lnb->freqrange[0].int_freq * 1000; return freq; } if (lnb->freqrange[0].pol) { + if (parms->p.verbose > 1) + dvb_log("LNBf polarity driven"); + /* polarization-controlled multi-LO multipoint LNBf (bandstacking) */ dvb_fe_retrieve_parm(&parms->p, DTV_POLARIZATION, &pol); @@ -607,12 +636,20 @@ return freq; } } else { + if (parms->p.verbose > 1) + dvb_log("Seeking for LO for %.2f MHz frequency", freq / 1000000.); /* Multi-LO (dual-band) LNBf using DiSEqC */ for (j = 0; j < ARRAY_SIZE(lnb->freqrange) && lnb->freqrange[j].low; j++) { + if (parms->p.verbose > 1) + dvb_log("LO setting %i: %.2f MHz to %.2f MHz", j, + lnb->freqrange[j].low / 1000., lnb->freqrange[j].high / 1000.); + if (freq < lnb->freqrange[j].low * 1000 || freq > lnb->freqrange[j].high * 1000) continue; - if (freq > lnb->freqrange[j].rangeswitch * 1000) - j++; + if (lnb->freqrange[j].rangeswitch && freq > lnb->freqrange[j].rangeswitch * 1000) { + if (j + 1 < ARRAY_SIZE(lnb->freqrange) && lnb->freqrange[j + 1].low) + j++; + } /* Sets DiSEqC to high_band if not low band */ if (j) @@ -626,6 +663,8 @@ dvb_log("BPF: %d KHz", parms->p.freq_bpf); } else { parms->freq_offset = lnb->freqrange[j].int_freq * 1000; + if (parms->p.verbose > 1) + dvb_log("Multi-LO LNBf. using LO setting %i at %.2f MHz", j, parms->freq_offset / 1000.); } return freq; } diff -Nru v4l-utils-1.12.2/libdvbv5-po/libdvbv5.pot v4l-utils-1.12.3/libdvbv5-po/libdvbv5.pot --- v4l-utils-1.12.2/libdvbv5-po/libdvbv5.pot 2017-01-22 22:00:14.000000000 +0100 +++ v4l-utils-1.12.3/libdvbv5-po/libdvbv5.pot 2017-02-17 20:09:26.000000000 +0100 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: v4l-utils 1.12.2\n" +"Project-Id-Version: v4l-utils 1.12.3\n" "Report-Msgid-Bugs-To: linux-me...@vger.kernel.org\n" -"POT-Creation-Date: 2017-01-22 22:00+0100\n" +"POT-Creation-Date: 2017-02-17 20:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" @@ -502,71 +502,79 @@ msgstr "" #: lib/libdvbv5/dvb-sat.c:155 +msgid "Invacom QPH-031" +msgstr "" + +#: lib/libdvbv5/dvb-sat.c:178 msgid "Big Dish - Monopoint LNBf" msgstr "" -#: lib/libdvbv5/dvb-sat.c:168 +#: lib/libdvbv5/dvb-sat.c:191 msgid "Big Dish - Multipoint LNBf" msgstr "" -#: lib/libdvbv5/dvb-sat.c:183 +#: lib/libdvbv5/dvb-sat.c:206 msgid "DishPro LNBf" msgstr "" -#: lib/libdvbv5/dvb-sat.c:198 +#: lib/libdvbv5/dvb-sat.c:221 msgid "Japan 110BS/CS LNBf" msgstr "" -#: lib/libdvbv5/dvb-sat.c:211 +#: lib/libdvbv5/dvb-sat.c:234 msgid "BrasilSat Stacked" msgstr "" -#: lib/libdvbv5/dvb-sat.c:226 +#: lib/libdvbv5/dvb-sat.c:249 msgid "BrasilSat Oi" msgstr "" -#: lib/libdvbv5/dvb-sat.c:243 +#: lib/libdvbv5/dvb-sat.c:266 msgid "BrasilSat Amazonas 1/2 - 3 Oscilators" msgstr "" -#: lib/libdvbv5/dvb-sat.c:254 +#: lib/libdvbv5/dvb-sat.c:277 msgid "BrasilSat Amazonas 1/2 - 2 Oscilators" msgstr "" -#: lib/libdvbv5/dvb-sat.c:265 +#: lib/libdvbv5/dvb-sat.c:288 msgid "BrasilSat custom GVT" msgstr "" -#: lib/libdvbv5/dvb-sat.c:291 +#: lib/libdvbv5/dvb-sat.c:313 +msgid "Freqs : " +msgstr "" + +#: lib/libdvbv5/dvb-sat.c:314 msgid "Horizontal: " msgstr "" -#: lib/libdvbv5/dvb-sat.c:292 +#: lib/libdvbv5/dvb-sat.c:315 msgid "Vertical : " msgstr "" -#: lib/libdvbv5/dvb-sat.c:293 +#: lib/libdvbv5/dvb-sat.c:316 msgid "Left : " msgstr "" -#: lib/libdvbv5/dvb-sat.c:294 +#: lib/libdvbv5/dvb-sat.c:317 msgid "Right : " msgstr "" -#: lib/libdvbv5/dvb-sat.c:305 +#: lib/libdvbv5/dvb-sat.c:328 msgid " (bandstacking)" msgstr "" -#: lib/libdvbv5/dvb-sat.c:308 +#: lib/libdvbv5/dvb-sat.c:331 #, c-format msgid "\t%s%d to %d MHz, LO: %d MHz\n" msgstr "" -#: lib/libdvbv5/dvb-sat.c:532 +#: lib/libdvbv5/dvb-sat.c:555 msgid "sending diseq failed" msgstr "" -#: lib/libdvbv5/dvb-sat.c:581 +#: lib/libdvbv5/dvb-sat.c:604 msgid "Need a LNBf to work" msgstr "" Binary files /tmp/7Zgnqa9njs/v4l-utils-1.12.2/libdvbv5-po/pt_BR.gmo and /tmp/G7PgbslXWi/v4l-utils-1.12.3/libdvbv5-po/pt_BR.gmo differ diff -Nru v4l-utils-1.12.2/libdvbv5-po/pt_BR.po v4l-utils-1.12.3/libdvbv5-po/pt_BR.po --- v4l-utils-1.12.2/libdvbv5-po/pt_BR.po 2017-01-22 22:00:14.000000000 +0100 +++ v4l-utils-1.12.3/libdvbv5-po/pt_BR.po 2017-02-17 20:09:26.000000000 +0100 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: libdvbv5 1.7.0\n" "Report-Msgid-Bugs-To: linux-me...@vger.kernel.org\n" -"POT-Creation-Date: 2017-01-22 22:00+0100\n" -"PO-Revision-Date: 2016-06-16 21:05-0300\n" +"POT-Creation-Date: 2017-02-17 20:09+0100\n" +"PO-Revision-Date: 2017-02-15 11:50-0200\n" "Last-Translator: Mauro Carvalho Chehab <mche...@osg.samsung.com>\n" "Language-Team: Brazilian Portuguese\n" "Language: pt_BR\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.8.11\n" "X-Poedit-KeywordsList: _;N_\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -26,7 +26,7 @@ #: lib/libdvbv5/dvb-fe.c:148 #, c-format msgid "adapter %d, frontend %d not found" -msgstr "" +msgstr "adaptador %d, frontend %d não encontrado" #: lib/libdvbv5/dvb-fe.c:156 #, c-format @@ -209,12 +209,12 @@ #: lib/libdvbv5/dvb-fe.c:1758 msgid "SEC: set voltage to OFF" -msgstr "" +msgstr "SEC: desliga voltagem" #: lib/libdvbv5/dvb-fe.c:1762 #, c-format msgid "SEC: set voltage to %sV" -msgstr "" +msgstr "SEC: ajusta voltagem para %sV" #: lib/libdvbv5/dvb-fe.c:1777 #, c-format @@ -436,7 +436,7 @@ #: lib/libdvbv5/dvb-file.c:1342 msgid "WARNING: Some Service IDs are not at the SDT table" -msgstr "" +msgstr "AVISO: Alguns identificadores de serviço não estão na tabela SDT" #: lib/libdvbv5/dvb-file.c:1370 #, c-format @@ -512,71 +512,79 @@ msgstr "Astra" #: lib/libdvbv5/dvb-sat.c:155 +msgid "Invacom QPH-031" +msgstr "Invacom QPH-031" + +#: lib/libdvbv5/dvb-sat.c:178 msgid "Big Dish - Monopoint LNBf" msgstr "Prato grande - LNBf monoponto" -#: lib/libdvbv5/dvb-sat.c:168 +#: lib/libdvbv5/dvb-sat.c:191 msgid "Big Dish - Multipoint LNBf" msgstr "Prato grande - LNBf multiponto" -#: lib/libdvbv5/dvb-sat.c:183 +#: lib/libdvbv5/dvb-sat.c:206 msgid "DishPro LNBf" msgstr "LNBf DishPro" -#: lib/libdvbv5/dvb-sat.c:198 +#: lib/libdvbv5/dvb-sat.c:221 msgid "Japan 110BS/CS LNBf" msgstr "LNBf Japonês, 110BS/CS" -#: lib/libdvbv5/dvb-sat.c:211 +#: lib/libdvbv5/dvb-sat.c:234 msgid "BrasilSat Stacked" -msgstr "" +msgstr "BrasilSat Multiponto" -#: lib/libdvbv5/dvb-sat.c:226 +#: lib/libdvbv5/dvb-sat.c:249 msgid "BrasilSat Oi" -msgstr "" +msgstr "BrasilSat Oi" -#: lib/libdvbv5/dvb-sat.c:243 +#: lib/libdvbv5/dvb-sat.c:266 msgid "BrasilSat Amazonas 1/2 - 3 Oscilators" -msgstr "" +msgstr "BrasilSat Amazonas 1/2 - 3 Osciladores" -#: lib/libdvbv5/dvb-sat.c:254 +#: lib/libdvbv5/dvb-sat.c:277 msgid "BrasilSat Amazonas 1/2 - 2 Oscilators" -msgstr "" +msgstr "BrasilSat Amazonas 1/2 - 2 Osciladores" -#: lib/libdvbv5/dvb-sat.c:265 +#: lib/libdvbv5/dvb-sat.c:288 msgid "BrasilSat custom GVT" -msgstr "" +msgstr "BrasilSat customizado GVT" -#: lib/libdvbv5/dvb-sat.c:291 +#: lib/libdvbv5/dvb-sat.c:313 +msgid "Freqs : " +msgstr "Frequências: " + +#: lib/libdvbv5/dvb-sat.c:314 msgid "Horizontal: " -msgstr "" +msgstr "Horizontal : " -#: lib/libdvbv5/dvb-sat.c:292 +#: lib/libdvbv5/dvb-sat.c:315 msgid "Vertical : " -msgstr "" +msgstr "Vertical : " -#: lib/libdvbv5/dvb-sat.c:293 +#: lib/libdvbv5/dvb-sat.c:316 msgid "Left : " -msgstr "" +msgstr "Direita :" -#: lib/libdvbv5/dvb-sat.c:294 +#: lib/libdvbv5/dvb-sat.c:317 msgid "Right : " -msgstr "" +msgstr "Esquerda :" -#: lib/libdvbv5/dvb-sat.c:305 +#: lib/libdvbv5/dvb-sat.c:328 msgid " (bandstacking)" -msgstr "" +msgstr " (multiponto)" -#: lib/libdvbv5/dvb-sat.c:308 -#, fuzzy, c-format +#: lib/libdvbv5/dvb-sat.c:331 +#, c-format msgid "\t%s%d to %d MHz, LO: %d MHz\n" -msgstr "\t%d de %d MHz" +msgstr "\t%sde %d a %d MHz, LO: %d MHz\n" -#: lib/libdvbv5/dvb-sat.c:532 +#: lib/libdvbv5/dvb-sat.c:555 msgid "sending diseq failed" msgstr "envio de mensagem DiSEqC falhou" -#: lib/libdvbv5/dvb-sat.c:581 +#: lib/libdvbv5/dvb-sat.c:604 msgid "Need a LNBf to work" msgstr "Necessário um LNBf para funcionar" @@ -592,9 +600,9 @@ msgstr "%s: memória insuficiente" #: lib/libdvbv5/dvb-scan.c:199 -#, fuzzy, c-format +#, c-format msgid "%s: received table 0x%02x, extension ID 0x%04x, section %d/%d" -msgstr "%s: recebeu tabela 0x%02x, TS ID 0x%04x, seção%d/%d" +msgstr "%s: recebeu tabela 0x%02x, ID de extensão 0x%04x, seção %d/%d" #: lib/libdvbv5/dvb-scan.c:203 #, c-format @@ -602,9 +610,9 @@ msgstr "%s: não foi possível coincidir com ID %d nos filtros seção ativos" #: lib/libdvbv5/dvb-scan.c:261 -#, fuzzy, c-format +#, c-format msgid "%s: section repeated on table 0x%02x, extension ID 0x%04x: done" -msgstr "%s: recebeu tabela 0x%02x, TS ID 0x%04x, seção%d/%d" +msgstr "%s: recebeu tabela 0x%02x repetida, ID de extensão 0x%04x: concluído" #: lib/libdvbv5/dvb-scan.c:279 #, c-format @@ -612,9 +620,9 @@ msgstr "%s: no inicializador para a tabela %d" #: lib/libdvbv5/dvb-scan.c:285 -#, fuzzy, c-format +#, c-format msgid "%s: table 0x%02x, extension ID 0x%04x: done" -msgstr "%s: recebeu tabela 0x%02x, TS ID 0x%04x, seção%d/%d" +msgstr "%s: tabela 0x%02x, ID de extensão 0x%04x: concluído" #: lib/libdvbv5/dvb-scan.c:324 #, c-format @@ -730,6 +738,98 @@ msgid "symbol rate not found" msgstr "taxa de símbolo não encontrada" +#~ msgid "udev_device_get_sysname failed" +#~ msgstr "udev_device_get_sysname falhou" + +#~ msgid "Can't remove a device from the list of DVB devices" +#~ msgstr "Não foi possivel remover dispositivo da lista de dispositivos DVB" + +#~ msgid "Can't get device node filename" +#~ msgstr "Não foi possível obter nome de arquivo do nó do dispositivo" + +#~ msgid "Ignoring device %s" +#~ msgstr "Ignorando dispositivo %s" + +#~ msgid "Can't get sysname for device %s" +#~ msgstr "Não foi possível obter nome no sysfs para o dispositivo %s" + +#~ msgid "Can't get bus type for device %s" +#~ msgstr "Não foi possível obter tipo de barramento para o dispositivo %s" + +#~ msgid "error %d when storing bus address" +#~ msgstr "erro %d quando armazenando endereço do barramento" + +#~ msgid "Not enough memory to store the list of DVB devices" +#~ msgstr "" +#~ "Sem memória suficiente para armazenar lista de dispositivos de TV digital" + +#~ msgid "Found dvb %s device: %s" +#~ msgstr "Encontrado dispositivo %s de TV digital: %s" + +#~ msgid "Can't create an udev object\n" +#~ msgstr "Não foi possível criar objeto udev\n" + +#~ msgid "Unexpected device type found!" +#~ msgstr "Encontrado tipo inesperado de dispositivo!" + +#~ msgid "error %d when seeking for device's filename" +#~ msgstr "" +#~ "erro %d quando procurando por nome de arquivo associado ao dispositivo" + +#~ msgid "Selected dvb %s device: %s" +#~ msgstr "Selecionado dispositivo %s de TV digital: %s" + +#~ msgid "device %s not found" +#~ msgstr "dispositivo %s não encontrado" + +#~ msgid "Device not specified" +#~ msgstr "Dispositivo não especificado" + +#~ msgid "Can't find device %s" +#~ msgstr "Não encontrado dispositivo %s" + +#~ msgid "Can't open %s with flags %d: %d %m" +#~ msgstr "Não foi possível abrir %s com os flags %d: %d %m" + +#~ msgid "Couldn't free device\n" +#~ msgstr "Não foi possível liberar memória usada pelo dispositivo\n" + +#~ msgid "DMX_STOP failed" +#~ msgstr "DMX_STOP falhou" + +#~ msgid "DMX_SET_BUFFER_SIZE failed" +#~ msgstr "DMX_SET_BUFFER_SIZE falhou" + +#~ msgid "DMX_SET_PES_FILTER failed (PID = 0x%04x): %d %m" +#~ msgstr "DMX_SET_PES_FILTER falhou (PID = 0x%04x): %d %m" + +#~ msgid "DMX_SET_FILTER failed (PID = 0x%04x): %d %m" +#~ msgstr "DMX_SET_FILTER falhou (PID = 0x%04x): %d %m" + +#~ msgid "dvb_dev_scan: expecting a demux descriptor" +#~ msgstr "dvb_dev_scan: descritor do demux esperado" + +#~ msgid " path: %s" +#~ msgstr "caminho: %s" + +#~ msgid " sysfs path: %s" +#~ msgstr "caminho no sysfs: %s:" + +#~ msgid " bus addr: %s" +#~ msgstr "endereço no barramento: %s" + +#~ msgid " bus ID: %s" +#~ msgstr "ID barramento: %s" + +#~ msgid " manufacturer: %s" +#~ msgstr "fabricante: %s" + +#~ msgid " product: %s" +#~ msgstr " produto: %s" + +#~ msgid " serial: %s" +#~ msgstr " serial: %s" + #~ msgid "asprintf error" #~ msgstr "erro: asprintf" unblock v4l-utils/1.12.3-1 -- System Information: Debian Release: 9.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)