2026-08-03 14:05 Version 0.2.2 Zertifikatserzeugung hinzugefügt.
This commit is contained in:
parent
140412ff78
commit
b6d612411b
70 changed files with 18560 additions and 64 deletions
33
app/cert.pem
Normal file
33
app/cert.pem
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFrTCCA5WgAwIBAgIUHsyQLF3lmVlsJSQ1m5siRIfpK40wDQYJKoZIhvcNAQEL
|
||||||
|
BQAwZjELMAkGA1UEBhMCREUxEDAOBgNVBAgMB0JhdmFyaWExEDAOBgNVBAcMB0tv
|
||||||
|
ZWRpdHoxHDAaBgNVBAoME2luZm9AbGFuZy1kaWV0ZXIuZGUxFTATBgNVBAMMDHJh
|
||||||
|
c3BpLUFGVVVTQjAeFw0yNjA4MDMxMjAxNTFaFw0yNzA4MDMxMjAxNTFaMGYxCzAJ
|
||||||
|
BgNVBAYTAkRFMRAwDgYDVQQIDAdCYXZhcmlhMRAwDgYDVQQHDAdLb2VkaXR6MRww
|
||||||
|
GgYDVQQKDBNpbmZvQGxhbmctZGlldGVyLmRlMRUwEwYDVQQDDAxyYXNwaS1BRlVV
|
||||||
|
U0IwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDFf9zqSYZdH+PWJJ2O
|
||||||
|
DUzrTYSZ8rnk8/CtGds4E//fxmOwQdycN5T/pf1XzqEdlDKC28bbCZxYfUdlIFm/
|
||||||
|
1bqUpArj5FiSCPUJiCayVBt20NkXfU9wXrqsgy4LzcUWBc2oIDfy937BJ5Bcid6M
|
||||||
|
8GeOzjzOVNlSGOkD+XrdrI8+Cf37aCRdA84sIpYScUz0mQYzWsrFipIW0osLhgZW
|
||||||
|
aBqJ1gWxWmAH7lT6iHXOirsou1ScUmPiKhcUfP8JRliQpRSv1fkLHTMnvHUqXNjJ
|
||||||
|
jVOgIJrtGSVPLOzNsb9fUjm336573iBhc0Y0UsYXX9GHiXueQVU9+OBSBVueoSIq
|
||||||
|
ZmaWsZlOyKR6NRfZgvdubX9+WeoLstjKOXRCPc4ePuevpt0ygPbVR+Dgc1Mr5JXr
|
||||||
|
EnfpPJholrenujlGhxA+uRIz169OLDJGat18O9mVfOA4OK9qTHbLE8Ymhvziwtjw
|
||||||
|
9MY2SMwKPMs2dTqsOe0WZIxUn5Y0A7CLYzBJDRDJpYvLRFYmXpVVHq1xbVYHxYbl
|
||||||
|
R1ot3eyO7oYF5wNooWa7d8o/w7pvMYR9a6lAubZN6ahcAFfsVti5KBIsGPlaQjQl
|
||||||
|
SdR3I5vQ+ODRv3QxID4nQNBYJuae6isNyA0q5j4hto5u3CzMv797eCwNWOj1SMye
|
||||||
|
tcIrw/JUyx+BKG6dIOb/Ailg2QIDAQABo1MwUTAdBgNVHQ4EFgQU12eIgmzTNg9E
|
||||||
|
PgYvVPdkmgRYJvEwHwYDVR0jBBgwFoAU12eIgmzTNg9EPgYvVPdkmgRYJvEwDwYD
|
||||||
|
VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdPRMgIVdS9uuk9WC+12K
|
||||||
|
eHtV4yCz7dN0+I+B3L2mbZdcgoUc5TeTkJJYdRUB/5jMLJwWQ7IALBqhkUEEKOpe
|
||||||
|
gi86/tGEsM9LPVlnw1mcTo9rFxiblwGMcMsSHImEgUaFeswg31olqsZSz3RLQ3XU
|
||||||
|
uCiijVqaL36xEJ0Qg/9kwqnslFCpmQa0yn3wk4Wb7ozKJS1LymSTfFRi/ifekbEM
|
||||||
|
QCpMeJjK7u5IJh77+OYdb1ldKuER6BKsqMhHpFQbHA/5Wj3nA20ohw32FuRCn4GY
|
||||||
|
Z8T/K9pPKpinFQGl62sw8iv+1o4HRQNRFgIxEkECTgRF7PpQMqz2J28BSQ6EMxxo
|
||||||
|
upheBd8Yl0CedJhtqkdcDW+s0yLBaWNndqwoIwwz/owQ9NqP/+/XNkK3N+fR8TEX
|
||||||
|
MRmQlqGgU7JSxA9dmMJh+lithJalzmAPEkQ6IvYCVL1TjOHJAvTV6Rx+Fvz0rtBv
|
||||||
|
v/JuxhBXCde+3UH6EGijFL8HmnJ1XaT3FOw0vNpvda2KOfwoEROQX7O5X3hIgdm5
|
||||||
|
zLMcrYgh0GFDvyMJyC4+UjlOyXCjoOeC2CCsoiGIce+sjRNOlY8yoMaW7Knz09nh
|
||||||
|
X9DOXbvvDyQznzoucQswna+vvzG3lzlKQa7MtC+yexikHzxhJ2DU1DDIf33di5YI
|
||||||
|
J0HYcdOoOhgy9L52nIAypBw=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
29
app/config.json
Normal file
29
app/config.json
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
"web_port": ":8080",
|
||||||
|
"ssl_cert": "cert.pem",
|
||||||
|
"ssl_key": "key.pem",
|
||||||
|
"i2c_bus": "1",
|
||||||
|
"ads1115_address_1": 72,
|
||||||
|
"ads1115_address_2": 73,
|
||||||
|
"name_adc1_ch0": "23cm",
|
||||||
|
"factor_adc1_ch0": 2.0,
|
||||||
|
"name_adc1_ch1": "13 cm",
|
||||||
|
"factor_adc1_ch1": 2.0,
|
||||||
|
"name_adc1_ch2": "9 cm",
|
||||||
|
"factor_adc1_ch2": 2.0,
|
||||||
|
"name_adc1_ch3": "6 cm",
|
||||||
|
"factor_adc1_ch3": 2.0,
|
||||||
|
"name_adc2_ch0": "3 cm",
|
||||||
|
"factor_adc2_ch0": 2.0,
|
||||||
|
"relais_pins": [
|
||||||
|
{"id": 1, "name": "Relais 1 (230V Hauptschalter)", "gpio": "GPIO12"},
|
||||||
|
{"id": 2, "name": "USB-Relais 1 (Reserve)", "gpio": "USB_CH1"},
|
||||||
|
{"id": 3, "name": "USB-Relais 2 23 cm", "gpio": "USB_CH2"},
|
||||||
|
{"id": 4, "name": "USB-Relais 3 13 cm", "gpio": "USB_CH3"},
|
||||||
|
{"id": 5, "name": "USB-Relais 4 9 cm", "gpio": "USB_CH4"},
|
||||||
|
{"id": 6, "name": "USB-Relais 5 6 cm", "gpio": "USB_CH5"},
|
||||||
|
{"id": 7, "name": "USB-Relais 6 3 cm", "gpio": "USB_CH6"},
|
||||||
|
{"id": 8, "name": "USB-Relais 7 (Reserve)", "gpio": "USB_CH7"},
|
||||||
|
{"id": 9, "name": "USB-Relais 8 (Reserve)", "gpio": "USB_CH8"}
|
||||||
|
]
|
||||||
|
}
|
||||||
36
app/install.sh
Executable file
36
app/install.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "🚀 Starte automatische Einrichtung des Spannung-Monitors..."
|
||||||
|
|
||||||
|
# Pfade und Benutzer auf dem aktuellen Pi ermitteln
|
||||||
|
PI_DIR=$(pwd)
|
||||||
|
PI_USER=$(whoami)
|
||||||
|
|
||||||
|
# Architektur des Betriebssystems prüfen
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
if [ "$ARCH" = "aarch64" ]; then
|
||||||
|
BINARY="spannung-arm64"
|
||||||
|
echo "🎯 64-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
else
|
||||||
|
BINARY="spannung-arm32_7"
|
||||||
|
echo "🎯 32-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Platzhalter in der Service-Datei direkt auf dem Pi ersetzen
|
||||||
|
sed -i "s|{{TARGET_DIR}}|$PI_DIR|g" spannung.service
|
||||||
|
sed -i "s|{{TARGET_USER}}|$PI_USER|g" spannung.service
|
||||||
|
sed -i "s|{{BINARY}}|$BINARY|g" spannung.service
|
||||||
|
|
||||||
|
echo "📝 Service-Datei wurde erfolgreich für dieser Pi konfiguriert."
|
||||||
|
|
||||||
|
# Service in das Systemverzeichnis kopieren und aktivieren
|
||||||
|
echo "⚙️ Kopiere Service-Datei nach /etc/systemd/system/..."
|
||||||
|
sudo cp spannung.service /etc/systemd/system/spannung.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable spannung.service
|
||||||
|
|
||||||
|
echo "▶️ Starte den Dienst..."
|
||||||
|
sudo systemctl restart spannung.service
|
||||||
|
|
||||||
|
echo "✅ Fertig! Der Spannung-Monitor läuft und der Autostart ist aktiv."
|
||||||
52
app/key.pem
Normal file
52
app/key.pem
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDFf9zqSYZdH+PW
|
||||||
|
JJ2ODUzrTYSZ8rnk8/CtGds4E//fxmOwQdycN5T/pf1XzqEdlDKC28bbCZxYfUdl
|
||||||
|
IFm/1bqUpArj5FiSCPUJiCayVBt20NkXfU9wXrqsgy4LzcUWBc2oIDfy937BJ5Bc
|
||||||
|
id6M8GeOzjzOVNlSGOkD+XrdrI8+Cf37aCRdA84sIpYScUz0mQYzWsrFipIW0osL
|
||||||
|
hgZWaBqJ1gWxWmAH7lT6iHXOirsou1ScUmPiKhcUfP8JRliQpRSv1fkLHTMnvHUq
|
||||||
|
XNjJjVOgIJrtGSVPLOzNsb9fUjm336573iBhc0Y0UsYXX9GHiXueQVU9+OBSBVue
|
||||||
|
oSIqZmaWsZlOyKR6NRfZgvdubX9+WeoLstjKOXRCPc4ePuevpt0ygPbVR+Dgc1Mr
|
||||||
|
5JXrEnfpPJholrenujlGhxA+uRIz169OLDJGat18O9mVfOA4OK9qTHbLE8Ymhvzi
|
||||||
|
wtjw9MY2SMwKPMs2dTqsOe0WZIxUn5Y0A7CLYzBJDRDJpYvLRFYmXpVVHq1xbVYH
|
||||||
|
xYblR1ot3eyO7oYF5wNooWa7d8o/w7pvMYR9a6lAubZN6ahcAFfsVti5KBIsGPla
|
||||||
|
QjQlSdR3I5vQ+ODRv3QxID4nQNBYJuae6isNyA0q5j4hto5u3CzMv797eCwNWOj1
|
||||||
|
SMyetcIrw/JUyx+BKG6dIOb/Ailg2QIDAQABAoICAAfbm/8IWNu4qph5EXm25sIP
|
||||||
|
7gAwC5xj5kYE2teC2DHfk1TOcggXIAsB4DAPrRJftJjHRMSvP7S3m1EXNervhoJm
|
||||||
|
enZxveJlj9ZGv/9lYEhca97G4hO++R9nArx+feJv7axMR92XYkguGkzMQXoLEJu6
|
||||||
|
cenlr1XYXuEFGpHaTUKzJBNOI/A9eAUChUULk/vBYOFHMf0lE8Xrr5OQTA1BDBlC
|
||||||
|
1iwlw99c6K2lI0bJ90NaHLYxgv7bHNr4VC9ayKhMoSOT2FpMWZ4xndnHIur2AAdF
|
||||||
|
dNSNJRJe37cZZNtWiqxZrngIMPKfowHu7ym76rrBShVUVR9nmQk6ZFhN4e2c8GTp
|
||||||
|
m/re2U10Hv4+sFGDQk4s0HbmOwp2I1LUDEfXQy47edIKaP3Q7uTgpGEr/KAk6WWE
|
||||||
|
DqfDAbu4XAJOiUYSMxyHqvJ/7IavB9Rcy49xeO1dEMELm3+SIlAWRzOLRp89FYn9
|
||||||
|
iAZQJaotGriJ71mjCbx8n44Ke1/mR6hQvT4w81h1n1PW+S5abPBYnibzA2A0wsgO
|
||||||
|
yFKubY9tXo2pBokpceWWIo6WhClzywBGcdNrwGPdvq70ijgXtgoeVVcMXuH1bsYN
|
||||||
|
bFuodCVvcdY+8ZbPMSG9Hm182t+7vf2GhS6K84t3Tm8krIJq/BWNd/ng8z1ojBnc
|
||||||
|
/l2ureNLqusHsLNKANJnAoIBAQDkNfSixbZ5zC2RkqibTF5zqVKbXao5usKI+4I2
|
||||||
|
+CKOzbzxBf/p0liDB5Gi5TCzfBkxJYssvVDG3P7BAOTQPAlJwLeZ286GKDZcU8ol
|
||||||
|
C5YT7c7bYzORfHGzUDWTwu6jGHJa1NWb9bZFnIs/pcGvwRP28akmWGXUe5JjHHlj
|
||||||
|
hyQB2xXaF3Fc+N5ZmsS/pZsP44WjGYd78FsZ+T5s2NyJqvzFsVAcf+KgudKOutbG
|
||||||
|
NNXsztC3f+eWvreB4MhyhajHQakPWUVvqUboUieQKz2OXNFcRrzWJrp7d90i0iwm
|
||||||
|
UIytLHVyG7Z2ugaPUZc0fRL9Sc0c2zpiWRNFjLwqxLGp25jHAoIBAQDdjIo5GJxr
|
||||||
|
L/MOJ1eoS6BnMkUTKr9GlNUiVHYUsmL1ynzBd/QnWc2kR7GWSnZg/gdfbGcka0WD
|
||||||
|
zrDef5uLWlc/SxrUmwkLY5lcj3EEDFEMizSdDl7x+ikDEPuuA6X2S+xfQxBJEJKE
|
||||||
|
2LorbYPkUyECkevpCSyDT8bfmmOUe/9538yZAkzYmfEHNsN5HAcyT3Pk+qXI3BNF
|
||||||
|
A/oKg710CBapZE6kbpdcZBvNNkmTfcWVnfN+ou4k+SXpqwOg23gDEOqhNCdpn20I
|
||||||
|
yNLZk5mOU9JdPM+LOA6Diobm8SHHmxAYuYKjbr6GxXl0XqKqBWLNFjM/owoCUbKb
|
||||||
|
Cz3T2N3kfdlfAoIBAEX91l3lzaVlXcR7+oJG1eEbWV6VR5QVF3zzxmgdilvJ9dzm
|
||||||
|
Pir0fHkTZTNUn68srH1KSnkaRx/2v5tqLsM+5opcNPNXWuwCgUmn2SOrfgf2s67N
|
||||||
|
qg9A345jV0tOSepzoP8Cr9D5d0G6VWrb55+D1B+01nAQRIr6q1cCcKh51i1LiFQv
|
||||||
|
RHGDUo6gzR8KJ5ij62Sue8MjYI2CyAaSLHF8o7HuQ+e5wUQSOeXUn/KCWeobNCBT
|
||||||
|
di/hpl6LFm8pVy5lkPhIJOeuPzUZnVC2MlbrWLq4Z0o27pLXnFcFpszJf5vNOugY
|
||||||
|
X8niHAjwuTM7+Qr+C46CHlHzh9mY5E0prmOuGhkCggEAalZqgb0uVsRNBR4dFMo3
|
||||||
|
01BtlyWNaXNGWZPwmT6GATOPbc0Fg123NoKy2lAjQaqsH0EIwJI8a2dpvWHCZsCV
|
||||||
|
3+tMlX9UeAL2OVcgB7FhtYObXUboi3xm8vHT21Ik9nK6oX6u8mLh8KGVugJ2q8C6
|
||||||
|
t2ESumeM1foUmn6gDUT2+qhQq6BPAifhaHUAncC2M4+vMNideisnlJi0CxfwdyDq
|
||||||
|
v6NFm+b4/3+NWJIV/pT/oTCPDtllNJnheKZ8t1if4djcxUMjJ689xlmd2pDdw1K4
|
||||||
|
RchKVagyTzDOT0qtzADBWRyxd4BQMp/WC+TgbnrnUUi2kHTQ+Qv9ji13H5eX6XP+
|
||||||
|
QQKCAQEAv/nXQ8ObmbsD1ME4k0tIbVjDl1eo1VedXp0LPJZoPLZsNR+z6OK+vyJr
|
||||||
|
oylPcOkQDDF+aC9DfFUoiCWAXTQcOSq9FdlbB3c5pY5GdB28+WDcjgZtXkZnBEg7
|
||||||
|
sX1Vow/RMKUkF0y2aZcgpVEU4Zzty1SiawikWpAm8M+vCMEqrbI7JGd2mk+LWFkS
|
||||||
|
6luqb4CoHrZaAHd5jzymxV1nD02oUfKSWaBKDhG/U1NVCpMFFbjLLBHgI4pIbIRY
|
||||||
|
vbfGnFVr9ZCRxW0XjYo87RnjHDZ9jM6P9OYLYLHU8eFNUQREt8tQb5+01vnu+j7E
|
||||||
|
wMZJGy1YoqzobW46COzNkMTgm3Y2tQ==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
BIN
app/spannung-arm32_7
Executable file
BIN
app/spannung-arm32_7
Executable file
Binary file not shown.
BIN
app/spannung-arm64
Executable file
BIN
app/spannung-arm64
Executable file
Binary file not shown.
26
app/spannung.service
Normal file
26
app/spannung.service
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Spannung Control Service
|
||||||
|
After=network-online.target i2c.service
|
||||||
|
Wants=network-online.target
|
||||||
|
StartLimitIntervalSec=60s
|
||||||
|
StartLimitBurst=3
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
# Vorprüfung ALS ROOT ausführen
|
||||||
|
ExecStartPre=/bin/bash -c 'for i in {1..5}; do /usr/sbin/i2cdetect -y 1 | grep -q 48 && /usr/sbin/i2cdetect -y 1 | grep -q 49 && exit 0; sleep 2; done; exit 1'
|
||||||
|
|
||||||
|
ExecStart={{TARGET_DIR}}/{{BINARY}}
|
||||||
|
WorkingDirectory={{TARGET_DIR}}
|
||||||
|
User={{TARGET_USER}}
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
|
||||||
|
# KORREKTUR: Verhindert, dass STRG+C über SSH den Dienst beim Beenden des Logs killt
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
StandardOutput=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
StandardError=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
10
app/version.json
Normal file
10
app/version.json
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.2",
|
||||||
|
"build_date": "03.08.2026 um 14;01",
|
||||||
|
"description": "Messung von zwei Spannung und Steuerung von Relais",
|
||||||
|
"features": [
|
||||||
|
"ADS1115-Abfrage über go-i2c",
|
||||||
|
"Weboberfläche mit Steuerbuttons für Reilais",
|
||||||
|
"Definiton der GPIO in der config.json"
|
||||||
|
]
|
||||||
|
}
|
||||||
97
app/web/server.go
Normal file
97
app/web/server.go
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
package web
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"html/template"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RelaisData struct {
|
||||||
|
ID int `json:"id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
State bool `json:"state"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatusResponse struct {
|
||||||
|
V1 float64 `json:"v1"`
|
||||||
|
V2 float64 `json:"v2"`
|
||||||
|
V3 float64 `json:"v3"`
|
||||||
|
V4 float64 `json:"v4"`
|
||||||
|
V5 float64 `json:"v5"`
|
||||||
|
Names []string `json:"names"` // Neu: Sendet die Namen als Array mit
|
||||||
|
Relais []RelaisData `json:"relais"`
|
||||||
|
Version string `json:"version"`
|
||||||
|
BuildDate string `json:"build_date"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Server struct {
|
||||||
|
port string
|
||||||
|
readVoltFunc func(channel int) float64
|
||||||
|
toggleFunc func(id int)
|
||||||
|
getRelais func() []RelaisData
|
||||||
|
versionFunc func() (string, string)
|
||||||
|
getNamesFunc func() []string // Neu hinzugefügt
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewServer(port string, readVolt func(int) float64, toggle func(int), getRelais func() []RelaisData, getVersion func() (string, string), getNames func() []string) *Server {
|
||||||
|
return &Server{
|
||||||
|
port: port,
|
||||||
|
readVoltFunc: readVolt,
|
||||||
|
toggleFunc: toggle,
|
||||||
|
getRelais: getRelais,
|
||||||
|
versionFunc: getVersion,
|
||||||
|
getNamesFunc: getNames, // Neu hinzugefügt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) Start(certFile, keyFile string) error {
|
||||||
|
http.HandleFunc("/", s.handleIndex)
|
||||||
|
http.HandleFunc("/api/status", s.handleAPIStatus)
|
||||||
|
http.HandleFunc("/api/toggle", s.handleAPIToggle)
|
||||||
|
return http.ListenAndServeTLS(s.port, certFile, keyFile, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
|
||||||
|
ver, date := s.versionFunc()
|
||||||
|
tmpl, err := template.ParseFiles("web/static/index.html")
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, "Template nicht gefunden: "+err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
data := StatusResponse{
|
||||||
|
Names: s.getNamesFunc(), // Namen für das erste Rendern bereitstellen
|
||||||
|
Relais: s.getRelais(),
|
||||||
|
Version: ver,
|
||||||
|
BuildDate: date,
|
||||||
|
}
|
||||||
|
tmpl.Execute(w, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) handleAPIStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
|
||||||
|
ver, date := s.versionFunc()
|
||||||
|
resp := StatusResponse{
|
||||||
|
V1: s.readVoltFunc(0),
|
||||||
|
V2: s.readVoltFunc(1),
|
||||||
|
V3: s.readVoltFunc(2),
|
||||||
|
V4: s.readVoltFunc(3),
|
||||||
|
V5: s.readVoltFunc(4),
|
||||||
|
Names: s.getNamesFunc(),
|
||||||
|
Relais: s.getRelais(),
|
||||||
|
Version: ver,
|
||||||
|
BuildDate: date,
|
||||||
|
}
|
||||||
|
json.NewEncoder(w).Encode(resp)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) handleAPIToggle(w http.ResponseWriter, r *http.Request) {
|
||||||
|
idStr := r.URL.Query().Get("id")
|
||||||
|
id, err := strconv.Atoi(idStr)
|
||||||
|
if err == nil {
|
||||||
|
s.toggleFunc(id)
|
||||||
|
}
|
||||||
|
s.handleAPIStatus(w, r)
|
||||||
|
}
|
||||||
148
app/web/static/index.html
Normal file
148
app/web/static/index.html
Normal file
|
|
@ -0,0 +1,148 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Funkstation Steuerung</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<style>
|
||||||
|
body { font-family: 'Segoe UI', Arial, sans-serif; text-align: center; background: #0f172a; color: #f8fafc; padding: 20px; }
|
||||||
|
/* Maximale Breite erhöht, um Platz für das zweispaltige Layout zu bieten */
|
||||||
|
.container { max-width: 1000px; margin: 0 auto; }
|
||||||
|
|
||||||
|
/* Das neue Haupt-Layout: Links Relais, rechts Spannungen */
|
||||||
|
.main-layout {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 20px;
|
||||||
|
align-items: start;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Spalten-Container für korrekte Ausrichtung */
|
||||||
|
.layout-col {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card { background: #1e293b; padding: 20px; margin: 15px 0; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.3); border: 1px solid #334155; text-align: center; }
|
||||||
|
.val { font-size: 2.5em; color: #38bdf8; font-weight: bold; font-family: monospace; }
|
||||||
|
.grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 15px; }
|
||||||
|
.btn { width: 100%; padding: 14px; font-size: 1.1em; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; transition: background 0.2s, transform 0.1s; color: white; }
|
||||||
|
.btn:active { transform: scale(0.98); }
|
||||||
|
.btn-on { background: #ef4444; }
|
||||||
|
.btn-on:hover { background: #dc2626; }
|
||||||
|
.btn-off { background: #10b981; }
|
||||||
|
.btn-off:hover { background: #059669; }
|
||||||
|
.footer-nav { margin-top: 25px; font-size: 0.9em; color: #64748b; clear: both; }
|
||||||
|
|
||||||
|
/* Responsive Anpassung: Schaltet auf Smartphones automatisch untereinander um */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.main-layout { grid-template-columns: 1fr; gap: 0; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>Funkstations-Monitor</h1>
|
||||||
|
|
||||||
|
<div class="main-layout">
|
||||||
|
<!-- LINKE SPALTE: Relaissteuerung -->
|
||||||
|
<div class="layout-col">
|
||||||
|
<div class="card">
|
||||||
|
<h3>Relaissteuerung</h3>
|
||||||
|
<div class="grid">
|
||||||
|
{{range .Relais}}
|
||||||
|
<button class="btn btn-off" id="relais-btn-{{.ID}}" onclick="toggleRelais({{.ID}})">
|
||||||
|
{{.Name}}: Laden...
|
||||||
|
</button>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- RECHTE SPALTE: Spannungsanzeigen -->
|
||||||
|
<div class="layout-col">
|
||||||
|
<div class="card">
|
||||||
|
<h3>{{index .Names 0}}</h3>
|
||||||
|
<div class="val" id="v1">--.-- V</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h3>{{index .Names 1}}</h3>
|
||||||
|
<div class="val" id="v2">--.-- V</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h3>{{index .Names 2}}</h3>
|
||||||
|
<div class="val" id="v3">--.-- V</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h3>{{index .Names 3}}</h3>
|
||||||
|
<div class="val" id="v4">--.-- V</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h3>{{index .Names 4}}</h3>
|
||||||
|
<div class="val" id="v5">--.-- V</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footer-nav">
|
||||||
|
Live-Aktualisierung aktiv <br>
|
||||||
|
<span style="font-size: 0.8em; color: #475569; margin-top: 5px; display: block;">
|
||||||
|
Version {{.Version}} ({{.BuildDate}})
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function updateUI(data) {
|
||||||
|
document.getElementById('v1').innerText = data.v1.toFixed(2) + ' V';
|
||||||
|
document.getElementById('v2').innerText = data.v2.toFixed(2) + ' V';
|
||||||
|
document.getElementById('v3').innerText = data.v3.toFixed(2) + ' V';
|
||||||
|
document.getElementById('v4').innerText = data.v4.toFixed(2) + ' V';
|
||||||
|
document.getElementById('v5').innerText = data.v5.toFixed(2) + ' V';
|
||||||
|
|
||||||
|
data.relais.forEach(r => {
|
||||||
|
const btn = document.getElementById(`relais-btn-${r.id}`);
|
||||||
|
if (btn) {
|
||||||
|
if (r.name && r.name.toLowerCase().includes('reserve')) {
|
||||||
|
btn.className = 'btn btn-off';
|
||||||
|
btn.innerText = `${r.name}: GESPERRT`;
|
||||||
|
btn.disabled = true;
|
||||||
|
btn.style.opacity = '0.3';
|
||||||
|
btn.style.cursor = 'not-allowed';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r.state) {
|
||||||
|
btn.className = 'btn btn-on';
|
||||||
|
btn.innerText = `${r.name}: AKTIV (Ausschalten)`;
|
||||||
|
} else {
|
||||||
|
btn.className = 'btn btn-off';
|
||||||
|
btn.innerText = `${r.name}: INAKTIV (Einschalten)`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadStatus() {
|
||||||
|
fetch('/api/status')
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => updateUI(data))
|
||||||
|
.catch(err => console.error('Fehler beim Laden des Status:', err));
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleRelais(id) {
|
||||||
|
fetch(`/api/toggle?id=${id}`)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => updateUI(data))
|
||||||
|
.catch(err => console.error('Fehler beim Schalten:', err));
|
||||||
|
}
|
||||||
|
|
||||||
|
loadStatus();
|
||||||
|
setInterval(loadStatus, 2000);
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
100
build.sh
100
build.sh
|
|
@ -14,7 +14,7 @@ else
|
||||||
DATE=$(date +'%Y-%m-%d')
|
DATE=$(date +'%Y-%m-%d')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "🔧 Baue Spannung-Monitor v$VERSION ($DATE) für Raspberry Pi 3 & 4"
|
echo "🔧 Baue Spannung-Monitor $VERSION ($DATE) für Raspberry Pi 3 & 4"
|
||||||
|
|
||||||
# KORREKTUR: Einfache Anführungszeichen fangen die Leerzeichen für den Go-Linker ab
|
# KORREKTUR: Einfache Anführungszeichen fangen die Leerzeichen für den Go-Linker ab
|
||||||
LDFLAGS="-X 'main.Version=$VERSION' -X 'main.BuildDate=$DATE'"
|
LDFLAGS="-X 'main.Version=$VERSION' -X 'main.BuildDate=$DATE'"
|
||||||
|
|
@ -25,14 +25,22 @@ mkdir app
|
||||||
|
|
||||||
# --- BUILD-PROZESS MIT CGO ---
|
# --- BUILD-PROZESS MIT CGO ---
|
||||||
|
|
||||||
|
# Definiere die Pfade zu den lokalen sysroots
|
||||||
|
SYSROOT_64="$USER_HOME/spannung/sysroot-arm64"
|
||||||
|
SYSROOT_32="$USER_HOME/spannung/sysroot-arm32"
|
||||||
|
|
||||||
# 1. Für 64-Bit Raspberry Pi (Standard bei Pi 4 und neueren Pi 3 OS)
|
# 1. Für 64-Bit Raspberry Pi (Standard bei Pi 4 und neueren Pi 3 OS)
|
||||||
echo "📦 Kompiliere für ARM64 (64-Bit)..."
|
echo "📦 Kompiliere für ARM64 (64-Bit)..."
|
||||||
CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -ldflags "$LDFLAGS" -o ./app/spannung-arm64 .
|
CGO_LDFLAGS="-L$SYSROOT_64/lib/aarch64-linux-gnu -L$SYSROOT_64/usr/lib/aarch64-linux-gnu -Wl,-rpath-link=$SYSROOT_64/lib/aarch64-linux-gnu -Wl,-rpath-link=$SYSROOT_64/usr/lib/aarch64-linux-gnu" \
|
||||||
|
CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc \
|
||||||
|
go build -ldflags "$LDFLAGS" -o ./app/spannung-arm64 .
|
||||||
echo "✅ Fertig gebaut: ./app/spannung-arm64"
|
echo "✅ Fertig gebaut: ./app/spannung-arm64"
|
||||||
|
|
||||||
# 2. Für 32-Bit Raspberry Pi (Klassisch für Pi 3 / ältere OS)
|
# 2. Für 32-Bit Raspberry Pi (Klassisch für Pi 3 / ältere OS)
|
||||||
echo "📦 Kompiliere für ARM32 v7 (32-Bit)..."
|
echo "📦 Kompiliere für ARM32 v7 (32-Bit)..."
|
||||||
CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 CC=arm-linux-gnueabihf-gcc go build -ldflags "$LDFLAGS" -o ./app/spannung-arm32_7 .
|
CGO_LDFLAGS="-L$SYSROOT_32/lib/arm-linux-gnueabihf -L$SYSROOT_32/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link=$SYSROOT_32/lib/arm-linux-gnueabihf -Wl,-rpath-link=$SYSROOT_32/usr/lib/arm-linux-gnueabihf" \
|
||||||
|
CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 CC=arm-linux-gnueabihf-gcc \
|
||||||
|
go build -ldflags "$LDFLAGS" -o ./app/spannung-arm32_7 .
|
||||||
echo "✅ Fertig gebaut: ./app/spannung-arm32_7"
|
echo "✅ Fertig gebaut: ./app/spannung-arm32_7"
|
||||||
|
|
||||||
# Dateiberechtigungen im Zielordner setzen
|
# Dateiberechtigungen im Zielordner setzen
|
||||||
|
|
@ -43,43 +51,79 @@ cp config.json ./app/
|
||||||
cp version.json ./app/
|
cp version.json ./app/
|
||||||
cp web ./app/ -r
|
cp web ./app/ -r
|
||||||
|
|
||||||
# 3. Die Service-Datei generieren
|
# 3. Die Service-Datei mit Platzhaltern generieren
|
||||||
# Ein kleiner Bash-Wrapper in ExecStart sorgt dafür, dass automatisch das richtige Binary gestartet wird!
|
|
||||||
cat << 'EOF' > ./app/spannung.service
|
cat << 'EOF' > ./app/spannung.service
|
||||||
# ==============================================================================
|
|
||||||
# KURZANLEITUNG ZUR INSTALLATION UND VERWALTUNG
|
|
||||||
# ==============================================================================
|
|
||||||
# 1. Datei kopieren nach: /etc/systemd/system/spannung.service
|
|
||||||
# 2. Systemd neu laden: sudo systemctl daemon-reload
|
|
||||||
# 3. Autostart aktivieren: sudo systemctl enable spannung.service
|
|
||||||
# 4. Dienst starten: sudo systemctl start spannung.service
|
|
||||||
# ==============================================================================
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Spannung Control Service
|
Description=Spannung Control Service
|
||||||
After=network-online.target i2c.service
|
After=network-online.target i2c.service
|
||||||
Wants=network-online.target
|
Wants=network-online.target
|
||||||
StartLimitIntervalSec=0
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStartPre=/bin/bash -c 'for i in {1..10}; do i2cdetect -y 1 | grep -E "40:" | grep -q -E "\b48\b" && i2cdetect -y 1 | grep -E "40:" | grep -q -E "\b49\b" && exit 0; echo "warte auf ADS1115 Module..."; sleep 2; done; exit 1'
|
|
||||||
|
|
||||||
# Direkt der Pfad zur nativ gebauten Binärdatei ohne Bash-Weiche
|
|
||||||
ExecStart=TARGET_DIR/spannung-aktiv
|
|
||||||
WorkingDirectory=TARGET_DIR
|
|
||||||
User=TARGET_USER
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5s
|
|
||||||
StartLimitIntervalSec=60s
|
StartLimitIntervalSec=60s
|
||||||
StartLimitBurst=3
|
StartLimitBurst=3
|
||||||
|
|
||||||
StandardOutput=append:TARGET_DIR/spannung.log
|
[Service]
|
||||||
StandardError=append:TARGET_DIR/spannung.log
|
Type=simple
|
||||||
|
# Vorprüfung ALS ROOT ausführen
|
||||||
|
ExecStartPre=/bin/bash -c 'for i in {1..5}; do /usr/sbin/i2cdetect -y 1 | grep -q 48 && /usr/sbin/i2cdetect -y 1 | grep -q 49 && exit 0; sleep 2; done; exit 1'
|
||||||
|
|
||||||
|
ExecStart={{TARGET_DIR}}/{{BINARY}}
|
||||||
|
WorkingDirectory={{TARGET_DIR}}
|
||||||
|
User={{TARGET_USER}}
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
|
||||||
|
# KORREKTUR: Verhindert, dass STRG+C über SSH den Dienst beim Beenden des Logs killt
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
StandardOutput=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
StandardError=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "📝 Service-Datei mit automatischer Architektur-Erkennung generiert"
|
|
||||||
|
# 4. Ein automatisches Installations-Skript für den Pi im app-Ordner erstellen
|
||||||
|
cat << 'EOF' > ./app/install.sh
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "🚀 Starte automatische Einrichtung des Spannung-Monitors..."
|
||||||
|
|
||||||
|
# Pfade und Benutzer auf dem aktuellen Pi ermitteln
|
||||||
|
PI_DIR=$(pwd)
|
||||||
|
PI_USER=$(whoami)
|
||||||
|
|
||||||
|
# Architektur des Betriebssystems prüfen
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
if [ "$ARCH" = "aarch64" ]; then
|
||||||
|
BINARY="spannung-arm64"
|
||||||
|
echo "🎯 64-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
else
|
||||||
|
BINARY="spannung-arm32_7"
|
||||||
|
echo "🎯 32-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Platzhalter in der Service-Datei direkt auf dem Pi ersetzen
|
||||||
|
sed -i "s|{{TARGET_DIR}}|$PI_DIR|g" spannung.service
|
||||||
|
sed -i "s|{{TARGET_USER}}|$PI_USER|g" spannung.service
|
||||||
|
sed -i "s|{{BINARY}}|$BINARY|g" spannung.service
|
||||||
|
|
||||||
|
echo "📝 Service-Datei wurde erfolgreich für dieser Pi konfiguriert."
|
||||||
|
|
||||||
|
# Service in das Systemverzeichnis kopieren und aktivieren
|
||||||
|
echo "⚙️ Kopiere Service-Datei nach /etc/systemd/system/..."
|
||||||
|
sudo cp spannung.service /etc/systemd/system/spannung.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable spannung.service
|
||||||
|
|
||||||
|
echo "▶️ Starte den Dienst..."
|
||||||
|
sudo systemctl restart spannung.service
|
||||||
|
|
||||||
|
echo "✅ Fertig! Der Spannung-Monitor läuft und der Autostart ist aktiv."
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x ./app/install.sh
|
||||||
|
|
||||||
|
echo "📝 Service-Datei und install.sh generiert."
|
||||||
echo "📂 Inhalt des fertigen app-Verzeichnisses:"
|
echo "📂 Inhalt des fertigen app-Verzeichnisses:"
|
||||||
ls -la app
|
ls -la app
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"web_port": ":8080",
|
"web_port": ":8080",
|
||||||
"i2c_bus": "1",
|
"ssl_cert": "cert.pem",
|
||||||
|
"ssl_key": "key.pem",
|
||||||
|
"i2c_bus": "1",
|
||||||
"ads1115_address_1": 72,
|
"ads1115_address_1": 72,
|
||||||
"ads1115_address_2": 73,
|
"ads1115_address_2": 73,
|
||||||
"name_adc1_ch0": "23cm",
|
"name_adc1_ch0": "23cm",
|
||||||
|
|
|
||||||
51
deploy.sh
51
deploy.sh
|
|
@ -16,40 +16,37 @@ SERVICE_NAME="spannung.service"
|
||||||
|
|
||||||
echo "🚀 Starte Deployment auf $PI_USER@$PI_HOST..."
|
echo "🚀 Starte Deployment auf $PI_USER@$PI_HOST..."
|
||||||
|
|
||||||
# 1. Zielverzeichnis auf dem Pi erstellen
|
# --- ZERTIFIKATE ERZEUGEN ---
|
||||||
ssh "$PI_USER@$PI_HOST" "mkdir -p \"\$HOME/$TARGET_DIR\""
|
# Prüfen, ob die Zertifikate bereits im lokalen app-Ordner existieren
|
||||||
|
if [ ! -f ./app/cert.pem ] || [ ! -f ./app/key.pem ]; then
|
||||||
|
echo "🔐 Generiere selbstsignierte SSL-Zertifikate für HTTPS..."
|
||||||
|
openssl req -x509 -newkey rsa:4096 -nodes \
|
||||||
|
-keyout ./app/key.pem \
|
||||||
|
-out ./app/cert.pem \
|
||||||
|
-days 365 \
|
||||||
|
-subj "/C=DE/ST=Bavaria/L=Koeditz/O=info@lang-dieter.de/CN=$PI_HOST" 2>/dev/null
|
||||||
|
echo "✅ SSL-Zertifikate lokal in ./app/ erstellt."
|
||||||
|
else
|
||||||
|
echo "🔒 Bestehende SSL-Zertifikate in ./app/ gefunden. Werden wiederverwendet."
|
||||||
|
fi
|
||||||
|
|
||||||
# 2. Quellcode, Webseiten und Service-Datei zum Pi kopieren
|
# 1. Altes Zielverzeichnis auf dem Pi löschen und frisch erstellen
|
||||||
scp -r * "$PI_USER@$PI_HOST:$TARGET_DIR/"
|
ssh "$PI_USER@$PI_HOST" "rm -rf \"\$HOME/$TARGET_DIR\" && mkdir -p \"\$HOME/$TARGET_DIR\""
|
||||||
|
|
||||||
# 3. Build und Systemd-Setup direkt auf dem Pi ausführen
|
# 2. Den INHALT des lokal fertig gebauten 'app'-Ordners (inkl. Zertifikate) zum Pi kopieren
|
||||||
|
echo "📦 Übertrage vorkompilierte Anwendung, Webseiten und Zertifikate..."
|
||||||
|
scp -r ./app/* "$PI_USER@$PI_HOST:$TARGET_DIR/"
|
||||||
|
|
||||||
|
# 3. Das Setup-Skript direkt auf dem Pi ausführen
|
||||||
ssh -t "$PI_USER@$PI_HOST" "
|
ssh -t "$PI_USER@$PI_HOST" "
|
||||||
cd \${HOME}/${TARGET_DIR}
|
cd \${HOME}/${TARGET_DIR}
|
||||||
|
|
||||||
echo \"📦 Kompiliere Anwendung nativ auf dem Raspberry Pi...\"
|
# Windows-Zeilenumbrüche zur Sicherheit entfernen
|
||||||
# Korrigierter Go-Build für Modul-Projekte (.)
|
sed -i 's/\r//' ./install.sh
|
||||||
go build -o spannung-aktiv .
|
|
||||||
|
|
||||||
REAL_PATH=\$(pwd)
|
|
||||||
REAL_USER=\$(whoami)
|
|
||||||
|
|
||||||
echo \"🔧 Konfiguriere Systemd-Dienst...\"
|
|
||||||
|
|
||||||
# Windows-Zeilenumbrüche entfernen
|
|
||||||
sed -i 's/\r//' ./${SERVICE_NAME}
|
sed -i 's/\r//' ./${SERVICE_NAME}
|
||||||
|
|
||||||
# Platzhalter durch reale Systemwerte ersetzen
|
# Das Installationsskript auf dem Pi ausführen
|
||||||
sed -i \"s|TARGET_DIR|\$REAL_PATH|g\" ./${SERVICE_NAME}
|
./install.sh
|
||||||
sed -i \"s|TARGET_USER|\$REAL_USER|g\" ./${SERVICE_NAME}
|
|
||||||
|
|
||||||
# ExecStart auf die neu gebaute Binärdatei umbiegen (Anführungszeichen korrigiert)
|
|
||||||
sed -i \"s|exec .*|exec \$REAL_PATH/spannung-aktiv'|g\" ./${SERVICE_NAME}
|
|
||||||
|
|
||||||
# Service-Datei ins Systemverzeichnis kopieren und Dienst starten
|
|
||||||
sudo cp ./${SERVICE_NAME} /etc/systemd/system/
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo systemctl enable ${SERVICE_NAME}
|
|
||||||
sudo systemctl restart ${SERVICE_NAME}
|
|
||||||
"
|
"
|
||||||
|
|
||||||
echo "✅ Deployment erfolgreich abgeschlossen! Zeige Live-Logs (Beenden mit STRG+C)..."
|
echo "✅ Deployment erfolgreich abgeschlossen! Zeige Live-Logs (Beenden mit STRG+C)..."
|
||||||
|
|
|
||||||
73
install.sh
Normal file
73
install.sh
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
# 3. Die Service-Datei mit Platzhaltern generieren
|
||||||
|
cat << 'EOF' > ./app/spannung.service
|
||||||
|
[Unit]
|
||||||
|
Description=Spannung Control Service
|
||||||
|
After=network-online.target i2c.service
|
||||||
|
Wants=network-online.target
|
||||||
|
StartLimitIntervalSec=0
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStartPre=/bin/bash -c 'for i in {1..10}; do i2cdetect -y 1 | grep -E "40:" | grep -q -E "\b48\b" && i2cdetect -y 1 | grep -E "40:" | grep -q -E "\b49\b" && exit 0; echo "warte auf ADS1115 Module..."; sleep 2; done; exit 1'
|
||||||
|
|
||||||
|
# Diese Platzhalter werden beim Installieren auf dem Pi automatisch ersetzt:
|
||||||
|
ExecStart={{TARGET_DIR}}/{{BINARY}}
|
||||||
|
WorkingDirectory={{TARGET_DIR}}
|
||||||
|
User={{TARGET_USER}}
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
StartLimitIntervalSec=60s
|
||||||
|
StartLimitBurst=3
|
||||||
|
|
||||||
|
StandardOutput=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
StandardError=append:{{TARGET_DIR}}/spannung.log
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 4. Ein automatisches Installations-Skript für den Pi im app-Ordner erstellen
|
||||||
|
cat << 'EOF' > ./app/install.sh
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "🚀 Starte automatische Einrichtung des Spannung-Monitors..."
|
||||||
|
|
||||||
|
# Pfade und Benutzer auf dem aktuellen Pi ermitteln
|
||||||
|
PI_DIR=$(pwd)
|
||||||
|
PI_USER=$(whoami)
|
||||||
|
|
||||||
|
# Architektur des Betriebssystems prüfen
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
if [ "$ARCH" = "aarch64" ]; then
|
||||||
|
BINARY="spannung-arm64"
|
||||||
|
echo "🎯 64-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
else
|
||||||
|
BINARY="spannung-arm32_7"
|
||||||
|
echo "🎯 32-Bit OS erkannt. Nutze: $BINARY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Platzhalter in der Service-Datei direkt auf dem Pi ersetzen
|
||||||
|
sed -i "s|{{TARGET_DIR}}|$PI_DIR|g" spannung.service
|
||||||
|
sed -i "s|{{TARGET_USER}}|$PI_USER|g" spannung.service
|
||||||
|
sed -i "s|{{BINARY}}|$BINARY|g" spannung.service
|
||||||
|
|
||||||
|
echo "📝 Service-Datei wurde erfolgreich für diesen Pi konfiguriert."
|
||||||
|
|
||||||
|
# Service in das Systemverzeichnis kopieren und aktivieren
|
||||||
|
echo "⚙️ Kopiere Service-Datei nach /etc/systemd/system/..."
|
||||||
|
sudo cp spannung.service /etc/systemd/system/spannung.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable spannung.service
|
||||||
|
|
||||||
|
echo "▶️ Starte den Dienst..."
|
||||||
|
sudo systemctl restart spannung.service
|
||||||
|
|
||||||
|
echo "✅ Fertig! Der Spannung-Monitor läuft und der Autostart ist aktiv."
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x ./app/install.sh
|
||||||
|
|
||||||
|
echo "📝 Service-Datei und install.sh generiert."
|
||||||
|
echo "📂 Inhalt des fertigen app-Verzeichnisses:"
|
||||||
|
ls -la app
|
||||||
BIN
libudev1_255.4-1ubuntu8.5_arm64.deb.1
Normal file
BIN
libudev1_255.4-1ubuntu8.5_arm64.deb.1
Normal file
Binary file not shown.
12
main.go
12
main.go
|
|
@ -23,6 +23,8 @@ import (
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
WebPort string `json:"web_port"`
|
WebPort string `json:"web_port"`
|
||||||
|
SSLCert string `json:"ssl_cert"`
|
||||||
|
SSLKey string `json:"ssl_key"`
|
||||||
I2CBus string `json:"i2c_bus"`
|
I2CBus string `json:"i2c_bus"`
|
||||||
ADS1115Address1 uint16 `json:"ads1115_address_1"`
|
ADS1115Address1 uint16 `json:"ads1115_address_1"`
|
||||||
ADS1115Address2 uint16 `json:"ads1115_address_2"`
|
ADS1115Address2 uint16 `json:"ads1115_address_2"`
|
||||||
|
|
@ -136,10 +138,14 @@ func main() {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// 9. Instanziierung des Webservers mit Übergabe der Callback-Funktionen
|
// 9. Instanziierung des Webservers mit Übergabe der Callback-Funktionen
|
||||||
server := web.NewServer(config.WebPort, readVoltageCallback, toggleRelaisCallback, getRelaisStateCallback, callbackGetVersion, getVoltNamesCallback)
|
server := web.NewServer(config.WebPort, readVoltageCallback,
|
||||||
|
toggleRelaisCallback, getRelaisStateCallback, callbackGetVersion,
|
||||||
|
getVoltNamesCallback)
|
||||||
|
|
||||||
fmt.Printf("Webserver gestartet auf Port %s\n", config.WebPort)
|
fmt.Printf("Verschlüsselter HTTPS-Webserver gestartet auf Port %s...\n", config.WebPort)
|
||||||
log.Fatal(server.Start())
|
|
||||||
|
// ÜBERGABE DER ZERTIFIKATE AUS DER CONFIG AN DIE NEUE START-METHODE
|
||||||
|
log.Fatal(server.Start(config.SSLCert, config.SSLKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hilfsfunktion zum Laden der version.json
|
// Hilfsfunktion zum Laden der version.json
|
||||||
|
|
|
||||||
23
server.crt
Normal file
23
server.crt
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIID1TCCAr2gAwIBAgIUffKgdkPBvX0QynTQ84kpWQU05xUwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwejELMAkGA1UEBhMCREUxEDAOBgNVBAgMB0JhdmFyaWExEjAQBgNVBAcMCUvD
|
||||||
|
g8K2ZGl0ejEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMSIwIAYJ
|
||||||
|
KoZIhvcNAQkBFhNpbmZvQGxhbmctZGlldGVyLmRlMB4XDTI2MDgwMzA4MDE1OVoX
|
||||||
|
DTI3MDgwMzA4MDE1OVowejELMAkGA1UEBhMCREUxEDAOBgNVBAgMB0JhdmFyaWEx
|
||||||
|
EjAQBgNVBAcMCUvDg8K2ZGl0ejEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||||
|
dHkgTHRkMSIwIAYJKoZIhvcNAQkBFhNpbmZvQGxhbmctZGlldGVyLmRlMIIBIjAN
|
||||||
|
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtf+D266GoYOYSJsQOal248PHrYey
|
||||||
|
3bfIun/Xx8MQPUw8aZJ4Zv8N3SZJh5/9Vx18TJfS8fQALxNushP7ofPmIqqjO4tk
|
||||||
|
13U9ITWGeOIreJ2HUAOAFVYk3TMCzsHK1Bb3f6WG0kx/q7Avp1jYVRUqIb0Et2+M
|
||||||
|
K8obYP+w05Vid32w3RrA+bF0sV233vfD/OkRuApg8ae2pHoVZtIm7PmrrndlynQU
|
||||||
|
s9Y2aCJR54kinR31HXUQVnJZFm2QEY0RpjQo9d+AF3Qzc6Kb9IcAMWw13t4yATBU
|
||||||
|
vDCnY6iXh7DhakOlPUBr3xm6ZZ3hW7Jq3E2+o65gfmu5IKv0ZK8TGvVzEQIDAQAB
|
||||||
|
o1MwUTAdBgNVHQ4EFgQUxxZZxiIHt7u9s7plRyOUUokpbgIwHwYDVR0jBBgwFoAU
|
||||||
|
xxZZxiIHt7u9s7plRyOUUokpbgIwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
|
||||||
|
AQsFAAOCAQEAoujOIzroc1afSY9QO+Fv8uj1dbmZgciK+3yatV9cHD0gkhbUcb89
|
||||||
|
iNdLyGR9DARU3OwBSSxF71bnP/xJ1Hul6QQxivuFaLDy/fmJiV8U5GYzP8CB1aqZ
|
||||||
|
dGyx/oTrXIjGEgve2oDwo91EQhDoqGSGTFa2rRxZY7763Nx+tCS/2WVItvhKdfXw
|
||||||
|
Bqleyev6S8833ePpAO2jeRsQl4hulUrJQNeryEnkhX6wf/3sBUbZ5EQGjGDYjZ87
|
||||||
|
LxiXPUJ6sLslrwJIStE/kiSxaUkcIQQMmTsH/LuGr8ubCwOmlf2d3fqtjAKerhoG
|
||||||
|
A2vBEpaqN9zJ5tMws/VQgWDjOUWH44UpzA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
28
server.key
Normal file
28
server.key
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9CUywq5QuxlDG
|
||||||
|
5hBJEI9Bpo3Te3+iT7EzAoqRXCKA856YzGYfA3gmk02NhdPpdp+TzTYiOF/4Coa6
|
||||||
|
E++PRnmwFn/BC0SmsYZ+3iwioDV9EeuSsp9eBrCF1Ve40A8v1qSClWjm3MiO2BMB
|
||||||
|
V2YMFtNrtY3v4grWBk1LI4qrkx6VJdWX09lSJJvsTYM8E18XCN+5T6aw8JjH/iFy
|
||||||
|
yyLKw/KJwPEtt4NqyIpEryH8QBT8UwVc7n8HbpaSlb93JWATnXz2T/dfeP/d4UrO
|
||||||
|
EsN/DzhH9UUZfqJH2h5wJx0q3m6blwRIgTzTIDuL24z4riH2CPN7VVAum1pvgNcf
|
||||||
|
NmkphwXVAgMBAAECggEABmOVEveJl5ceTcqizEViAh8F9hrbcnntDENOuaD6jY8u
|
||||||
|
Ug2+edfdLLiXy2u1gNOAizdJWBi9rZ11dj6MPzRrkncANF8UH+oqGImbxkPR6vs7
|
||||||
|
Egc1ebESMEPIpjdp+/zuLHeuRvc5VBKbedUhXtE6rg5B0NS79wXZgOufmTLsuq+w
|
||||||
|
p6ivRn5uHlODDvQzvricRkwl3FvGfe/H/N50K6q+vQfAB/d3B7x97kfxvHpXw/LJ
|
||||||
|
BXwgchxJXWo371k/ks1z5mbdyjpol/Lu9KEVe4w6p3pR+0bdkvA4H8Y3FY1yDZ3c
|
||||||
|
olDsJTPBnBpGwJqvK+zzdHxt2uRmpRlVuea2QqIn1QKBgQD82fZ2YUp3i4vARzkw
|
||||||
|
+aER6PSPtAmlvMxe8s+dzkP7r/4sp8LbeqlgaF3RBfyt786SxRKjhFXRCrQOCrjH
|
||||||
|
tf+A/pnS6qrmeXZQtHlpwE8LXWNm/kdNs0leRcpTuEb+2zX+DBr0f8kbCxc+AtVy
|
||||||
|
y6DL+lI0zcgTTOtdOm1c7RUFpwKBgQC/Y+hfrx+l2c6pXEMoWE7XEhHL67ky3/AB
|
||||||
|
h3GiGPDzSzMZnqGsTnyWS/pmwchm5lBTlnRs4PmgdyvaJ/t0pZ4iWwSYmU3UsvLK
|
||||||
|
EjKXRh+AgubDOUiRgugAxeNVUitNpkTLgMGIr8/s22QqkVxZzORap0fzWhei9b4t
|
||||||
|
0VFoiobAIwKBgQCd3Ca3eb5YLFMv1Eesf+1DlUE6hpiPVPPzQ3zDdQeUlygFESfi
|
||||||
|
hw5AFmicGzTKEzHRCCC+3dwGCrynF6KNbN771fiLad8QzTxE3qf+kgXHfqKUpqQ1
|
||||||
|
qn1f0gqjgiUw8AMhfMVHaJBRxfbYzEQey2q0bq/sL51+D0PSjKvCnHHHeQKBgFms
|
||||||
|
wy1KDacVBbre6uyVa+NjqQkGGtFWkcr1nm2YCBXGz1uasx/b6o41bU8GTxK/qTVx
|
||||||
|
En4Nb4kbLWXbQ/ukuhJY2S9y7T/S1OWPXzr39TyumNcyGOltD62FCv5oMLgCRsuf
|
||||||
|
OY8E6YSOS0GSuFWvJfO/23uPY/HL+N7Y667y8S5HAoGBAL62NT4KM4jYCp7Jys1+
|
||||||
|
8OeoQMbSG2C02SnJT32iYqC2Au0lTVjKwOfiICvy37SAZtWqixj6TjpXoqNbel/i
|
||||||
|
FdaNV4wihIvmtUdh5UbEuEoPDgxsHKbQm3HXYf7RA356RV19KKmV524XYJV9/I5K
|
||||||
|
na9lXbV/90Jbmpjbm/tV9r+F
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
511
sysroot-arm32/index.html
Normal file
511
sysroot-arm32/index.html
Normal file
|
|
@ -0,0 +1,511 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Launchpad</title>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/@@/apple-touch-icon.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/@@/favicon-32x32.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/@@/favicon-16x16.png?v=2022" />
|
||||||
|
<link rel="manifest" href="/@@/site.webmanifest?v=2022" />
|
||||||
|
<link rel="mask-icon" href="/@@/safari-pinned-tab.svg?v=2022" color="#e9531f" />
|
||||||
|
<link rel="shortcut icon" href="/@@/favicon.ico?v=2022" />
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
|
<meta name="msapplication-config" content="/@@/browserconfig.xml?v=2022" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="http://feeds.launchpad.net/announcements.atom" title="All Announcements" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link type="text/css" rel="stylesheet" media="screen, print" href="/+icing/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/combo.css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="Launchpad" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:image" content="/@@/launchpad-og-image.png" />
|
||||||
|
<meta property="og:url" content="https://launchpad.net/index.html" />
|
||||||
|
<meta property="og:site_name" content="Launchpad" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var LP = {
|
||||||
|
cache: {},
|
||||||
|
links: {}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net';</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?yui/yui/yui-min.js&lp/meta.js&yui/loader/loader-min.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var raw = null;
|
||||||
|
if (LP.devmode) {
|
||||||
|
raw = 'raw';
|
||||||
|
}
|
||||||
|
YUI.GlobalConfig = {
|
||||||
|
combine: true,
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'yui/',
|
||||||
|
filter: raw,
|
||||||
|
debug: false,
|
||||||
|
fetchCSS: false,
|
||||||
|
maxURLLength: 2000,
|
||||||
|
groups: {
|
||||||
|
lp: {
|
||||||
|
combine: true,
|
||||||
|
base: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?lp/',
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'lp/',
|
||||||
|
// comes from including lp/meta.js
|
||||||
|
modules: LP_MODULES,
|
||||||
|
fetchCSS: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
// we need this to create a single YUI instance all events and code
|
||||||
|
// talks across. All instances of YUI().use should be based off of
|
||||||
|
// LPJS instead.
|
||||||
|
var LPJS = new YUI();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="base-layout-load-scripts" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
LPJS.use('base', 'node', 'console', 'event',
|
||||||
|
'oop', 'lp', 'lp.app.foldables','lp.app.sorttable',
|
||||||
|
'lp.app.inlinehelp', 'lp.app.links',
|
||||||
|
'lp.bugs.bugtask_index', 'lp.bugs.subscribers',
|
||||||
|
'lp.app.ellipsis', 'lp.code.branchmergeproposal.diff',
|
||||||
|
'lp.views.global',
|
||||||
|
function(Y) {
|
||||||
|
|
||||||
|
Y.on("domready", function () {
|
||||||
|
var global_view = new Y.lp.views.Global();
|
||||||
|
global_view.render();
|
||||||
|
|
||||||
|
Y.lp.app.sorttable.SortTable.init();
|
||||||
|
Y.lp.app.inlinehelp.init_help();
|
||||||
|
Y.lp.activate_collapsibles();
|
||||||
|
Y.lp.app.foldables.activate();
|
||||||
|
Y.lp.app.links.check_valid_lp_links();
|
||||||
|
});
|
||||||
|
|
||||||
|
Y.on('lp:context:web_link:changed', function(e) {
|
||||||
|
window.location = e.new_value;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<script id="base-helper-functions" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
// This code is pulled from lp.js that needs to be available on every
|
||||||
|
// request. Pulling here to get it outside the scope of the YUI block.
|
||||||
|
function setFocusByName(name) {
|
||||||
|
// Focus the first element matching the given name which can be focused.
|
||||||
|
var nodes = document.getElementsByName(name);
|
||||||
|
var i, node;
|
||||||
|
for (i = 0; i < nodes.length; i++) {
|
||||||
|
node = nodes[i];
|
||||||
|
if (node.focus) {
|
||||||
|
try {
|
||||||
|
// Trying to focus a hidden element throws an error in IE8.
|
||||||
|
if (node.offsetHeight !== 0) {
|
||||||
|
node.focus();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
LPJS.use('console', function(Y) {
|
||||||
|
Y.log('In setFocusByName(<' +
|
||||||
|
node.tagName + ' type=' + node.type + '>): ' + e);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectWidget(widget_name, event) {
|
||||||
|
if (event && (event.keyCode === 9 || event.keyCode === 13)) {
|
||||||
|
// Avoid firing if user is tabbing through or simply pressing
|
||||||
|
// enter to submit the form.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById(widget_name).checked = true;
|
||||||
|
}
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/+icing/vanilla-framework-version-4.7.0.min.css" />
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="document" itemscope="" itemtype="http://schema.org/WebPage" class="tab-unknown
|
||||||
|
main_only
|
||||||
|
public
|
||||||
|
yui3-skin-sam">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="yui-d0">
|
||||||
|
<div id="locationbar" class="login-logout">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="logincontrol"><a href="https://launchpad.net/+login">Log in / Register</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div><!--id="locationbar"-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="maincontent" class="yui-main">
|
||||||
|
<div class="yui-b" dir="ltr">
|
||||||
|
<div class="context-publication">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="registration" class="registering">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="request-notifications">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Is your project registered yet? -->
|
||||||
|
|
||||||
|
<div id="homepage" class="homepage">
|
||||||
|
|
||||||
|
<div class="top-portlet">
|
||||||
|
<img src="/@@/launchpad-logo-and-name.svg" class="homepage__logo" id="launchpad-logo-and-name" alt="Launchpad logo and name" />
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="u-fixed-width">
|
||||||
|
<form id="homepage-searchform" class="p-form p-form--inline" xml:lang="en" lang="en" dir="ltr" method="get" accept-charset="UTF-8" action="https://launchpad.net/+search">
|
||||||
|
<div class="p-form__group p-form--search">
|
||||||
|
<label for="search-input" class="u-off-screen">Search</label>
|
||||||
|
<div class="p-form__control u-clearfix">
|
||||||
|
<input id="search-input" type="search" name="field.text" value="" autofocus="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button id="search" class="p-button--positive" type="submit" value="Search Launchpad">Search</button>
|
||||||
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
LPJS.use('lp', function () {
|
||||||
|
setFocusByName('field.text');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="homepage-stats" class="u-text--muted">
|
||||||
|
<strong>49,106</strong> projects,
|
||||||
|
<strong>2,108,367</strong> bugs,
|
||||||
|
<strong>1,009,234</strong> branches,
|
||||||
|
<strong>119,025</strong> Git repositories,
|
||||||
|
<strong>3,185,634</strong> translations,
|
||||||
|
<strong>822,311</strong> answers,
|
||||||
|
<strong>76,426</strong> blueprints,
|
||||||
|
and counting...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="homepage-whatslaunchpad">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2>Launchpad</h2>
|
||||||
|
<h4>A software collaboration platform that provides</h4>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://bugs.launchpad.net/">Bug tracking</a></h4>
|
||||||
|
<p>One place to track bugs across project boundaries and tools</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://code.launchpad.net/">Code hosting</a> using <a href="https://git-scm.com/">Git</a></h4>
|
||||||
|
<p>Easy for anyone to get your project's code using Git</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/how-to/work-with-code-hosted-on-launchpad/create-and-manage-a-merge-proposal/">Code reviews</a></h4>
|
||||||
|
<p>Full control of who can land code in your project remains with you</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://launchpad.net/ubuntu">Ubuntu package building and hosting</a></h4>
|
||||||
|
<p>Publishing your software is simple with Personal Package Archives</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://translations.launchpad.net/">Crowd source translations</a></h4>
|
||||||
|
<p>Build an open community to translate your software into almost any language</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/Teams/MailingLists">Mailing lists</a></h4>
|
||||||
|
<p>Find and work with the right people by building a social network of individuals and teams around projects</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://answers.launchpad.net/">Answer tracking and FAQs</a></h4>
|
||||||
|
<p>Free software thrives on people helping each other when the unexpected happens</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://blueprints.launchpad.net/">Specification tracking</a></h4>
|
||||||
|
<p>Track ideas and chunks of work as “blueprints”</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-getstarted">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Get started</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<span>
|
||||||
|
Learn more about Launchpad in the
|
||||||
|
<a href="https://documentation.ubuntu.com/launchpad/">user guide</a>.
|
||||||
|
</span>
|
||||||
|
If you're ready, you can:
|
||||||
|
|
||||||
|
<ul class="p-matrix">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/add-homepage.png" alt="add">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+login">Create an account</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/tour-homepage.png" alt="tour">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+tour">Take the tour</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/question-homepage.png" alt="question">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="https://answers.launchpad.net/">Find answers</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-featured">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Featured projects</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<ul class="p-matrix featured-projects-list">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Beautiful Soup" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/beautifulsoup">Beautiful Soup</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>A program designed for screen-scraping HTML. The discussion group is at: http://groups.google.com...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Inkscape" src="https://launchpadlibrarian.net/66795469/ink-lp-logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/inkscape">Inkscape</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Inkscape is an SVG-based graphics editor featuring alpha
|
||||||
|
blending, node editing, SVG to PNG exp...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Launchpad itself" src="https://launchpadlibrarian.net/600817174/Canonical_Launchpad_icon_64px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpad">Launchpad itself</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Launchpad is a set of Web services to help software developers collaborate.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="launchpadlib " src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpadlib">launchpadlib </a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Python client library for Launchpad's web service</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenMW" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openmw">OpenMW</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenMW is an attempt to reimplement the popular role playing game Morrowind. It aims to be a full...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenShot Video Editor" src="https://launchpadlibrarian.net/250357498/OpenShot-2-Logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openshot">OpenShot Video Editor</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenShot Video Editor is a free, open-source, non-linear video editor. It can create and edit vid...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenStack" src="https://launchpadlibrarian.net/52042558/os64.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openstack">OpenStack</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing pl...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="txpkgupload" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/txpkgupload">txpkgupload</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Package upload server used by Launchpad.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Ubuntu" src="https://launchpadlibrarian.net/606381979/CoF%2064px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/ubuntu">Ubuntu</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Ubuntu is a complete Linux-based operating system, freely available with both community and profe...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="horizontal">
|
||||||
|
<li>
|
||||||
|
<strong><a href="/projects">Browse all
|
||||||
|
49106
|
||||||
|
projects</a>!</strong>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div><!-- homepage -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- yui-b -->
|
||||||
|
</div><!-- yui-main -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- yui-b side -->
|
||||||
|
|
||||||
|
<!-- yui-t4 -->
|
||||||
|
|
||||||
|
|
||||||
|
<div id="footer" class="footer">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="colophon">
|
||||||
|
© 2004
|
||||||
|
<a href="http://canonical.com/">Canonical Ltd.</a>
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.com/legal/launchpad-terms-of-service">Terms of use</a>
|
||||||
|
•
|
||||||
|
<a href="https://www.ubuntu.com/legal/dataprivacy">Data privacy</a>
|
||||||
|
•
|
||||||
|
<a href="/feedback">Contact Launchpad Support</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="http://blog.launchpad.net/">Blog</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://canonical.com/careers">Careers</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.social/@launchpadstatus">System status</a>
|
||||||
|
<span id="lp-version">
|
||||||
|
•
|
||||||
|
b042f2d
|
||||||
|
|
||||||
|
|
||||||
|
(<a href="https://documentation.ubuntu.com/launchpad/developer/how-to/get-source-code/">Get the code!</a>)
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- yui-d0-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="json-cache-script">LP.cache = {"related_features": {}};</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Facet name: unknown
|
||||||
|
Page type: main_only
|
||||||
|
Has global search: True
|
||||||
|
Has application tabs: True
|
||||||
|
Has side portlets: False
|
||||||
|
|
||||||
|
At least 22 queries/external actions issued in 0.12 seconds
|
||||||
|
|
||||||
|
Features: {'profiling.enabled': None, 'hard_timeout': '5000', 'js.yui_version': None, 'app.maintenance_message': None, 'app.mainsite_only.canonical_url': None, 'baselayout.careers_link.disabled': None, 'visible_render_time': None}
|
||||||
|
|
||||||
|
rb042f2d
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
511
sysroot-arm32/index.html.1
Normal file
511
sysroot-arm32/index.html.1
Normal file
|
|
@ -0,0 +1,511 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Launchpad</title>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/@@/apple-touch-icon.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/@@/favicon-32x32.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/@@/favicon-16x16.png?v=2022" />
|
||||||
|
<link rel="manifest" href="/@@/site.webmanifest?v=2022" />
|
||||||
|
<link rel="mask-icon" href="/@@/safari-pinned-tab.svg?v=2022" color="#e9531f" />
|
||||||
|
<link rel="shortcut icon" href="/@@/favicon.ico?v=2022" />
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
|
<meta name="msapplication-config" content="/@@/browserconfig.xml?v=2022" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="http://feeds.launchpad.net/announcements.atom" title="All Announcements" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link type="text/css" rel="stylesheet" media="screen, print" href="/+icing/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/combo.css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="Launchpad" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:image" content="/@@/launchpad-og-image.png" />
|
||||||
|
<meta property="og:url" content="https://launchpad.net/index.html" />
|
||||||
|
<meta property="og:site_name" content="Launchpad" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var LP = {
|
||||||
|
cache: {},
|
||||||
|
links: {}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net';</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?yui/yui/yui-min.js&lp/meta.js&yui/loader/loader-min.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var raw = null;
|
||||||
|
if (LP.devmode) {
|
||||||
|
raw = 'raw';
|
||||||
|
}
|
||||||
|
YUI.GlobalConfig = {
|
||||||
|
combine: true,
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'yui/',
|
||||||
|
filter: raw,
|
||||||
|
debug: false,
|
||||||
|
fetchCSS: false,
|
||||||
|
maxURLLength: 2000,
|
||||||
|
groups: {
|
||||||
|
lp: {
|
||||||
|
combine: true,
|
||||||
|
base: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?lp/',
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'lp/',
|
||||||
|
// comes from including lp/meta.js
|
||||||
|
modules: LP_MODULES,
|
||||||
|
fetchCSS: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
// we need this to create a single YUI instance all events and code
|
||||||
|
// talks across. All instances of YUI().use should be based off of
|
||||||
|
// LPJS instead.
|
||||||
|
var LPJS = new YUI();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="base-layout-load-scripts" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
LPJS.use('base', 'node', 'console', 'event',
|
||||||
|
'oop', 'lp', 'lp.app.foldables','lp.app.sorttable',
|
||||||
|
'lp.app.inlinehelp', 'lp.app.links',
|
||||||
|
'lp.bugs.bugtask_index', 'lp.bugs.subscribers',
|
||||||
|
'lp.app.ellipsis', 'lp.code.branchmergeproposal.diff',
|
||||||
|
'lp.views.global',
|
||||||
|
function(Y) {
|
||||||
|
|
||||||
|
Y.on("domready", function () {
|
||||||
|
var global_view = new Y.lp.views.Global();
|
||||||
|
global_view.render();
|
||||||
|
|
||||||
|
Y.lp.app.sorttable.SortTable.init();
|
||||||
|
Y.lp.app.inlinehelp.init_help();
|
||||||
|
Y.lp.activate_collapsibles();
|
||||||
|
Y.lp.app.foldables.activate();
|
||||||
|
Y.lp.app.links.check_valid_lp_links();
|
||||||
|
});
|
||||||
|
|
||||||
|
Y.on('lp:context:web_link:changed', function(e) {
|
||||||
|
window.location = e.new_value;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<script id="base-helper-functions" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
// This code is pulled from lp.js that needs to be available on every
|
||||||
|
// request. Pulling here to get it outside the scope of the YUI block.
|
||||||
|
function setFocusByName(name) {
|
||||||
|
// Focus the first element matching the given name which can be focused.
|
||||||
|
var nodes = document.getElementsByName(name);
|
||||||
|
var i, node;
|
||||||
|
for (i = 0; i < nodes.length; i++) {
|
||||||
|
node = nodes[i];
|
||||||
|
if (node.focus) {
|
||||||
|
try {
|
||||||
|
// Trying to focus a hidden element throws an error in IE8.
|
||||||
|
if (node.offsetHeight !== 0) {
|
||||||
|
node.focus();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
LPJS.use('console', function(Y) {
|
||||||
|
Y.log('In setFocusByName(<' +
|
||||||
|
node.tagName + ' type=' + node.type + '>): ' + e);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectWidget(widget_name, event) {
|
||||||
|
if (event && (event.keyCode === 9 || event.keyCode === 13)) {
|
||||||
|
// Avoid firing if user is tabbing through or simply pressing
|
||||||
|
// enter to submit the form.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById(widget_name).checked = true;
|
||||||
|
}
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/+icing/vanilla-framework-version-4.7.0.min.css" />
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="document" itemscope="" itemtype="http://schema.org/WebPage" class="tab-unknown
|
||||||
|
main_only
|
||||||
|
public
|
||||||
|
yui3-skin-sam">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="yui-d0">
|
||||||
|
<div id="locationbar" class="login-logout">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="logincontrol"><a href="https://launchpad.net/+login">Log in / Register</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div><!--id="locationbar"-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="maincontent" class="yui-main">
|
||||||
|
<div class="yui-b" dir="ltr">
|
||||||
|
<div class="context-publication">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="registration" class="registering">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="request-notifications">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Is your project registered yet? -->
|
||||||
|
|
||||||
|
<div id="homepage" class="homepage">
|
||||||
|
|
||||||
|
<div class="top-portlet">
|
||||||
|
<img src="/@@/launchpad-logo-and-name.svg" class="homepage__logo" id="launchpad-logo-and-name" alt="Launchpad logo and name" />
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="u-fixed-width">
|
||||||
|
<form id="homepage-searchform" class="p-form p-form--inline" xml:lang="en" lang="en" dir="ltr" method="get" accept-charset="UTF-8" action="https://launchpad.net/+search">
|
||||||
|
<div class="p-form__group p-form--search">
|
||||||
|
<label for="search-input" class="u-off-screen">Search</label>
|
||||||
|
<div class="p-form__control u-clearfix">
|
||||||
|
<input id="search-input" type="search" name="field.text" value="" autofocus="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button id="search" class="p-button--positive" type="submit" value="Search Launchpad">Search</button>
|
||||||
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
LPJS.use('lp', function () {
|
||||||
|
setFocusByName('field.text');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="homepage-stats" class="u-text--muted">
|
||||||
|
<strong>49,106</strong> projects,
|
||||||
|
<strong>2,108,367</strong> bugs,
|
||||||
|
<strong>1,009,234</strong> branches,
|
||||||
|
<strong>119,025</strong> Git repositories,
|
||||||
|
<strong>3,185,634</strong> translations,
|
||||||
|
<strong>822,311</strong> answers,
|
||||||
|
<strong>76,426</strong> blueprints,
|
||||||
|
and counting...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="homepage-whatslaunchpad">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2>Launchpad</h2>
|
||||||
|
<h4>A software collaboration platform that provides</h4>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://bugs.launchpad.net/">Bug tracking</a></h4>
|
||||||
|
<p>One place to track bugs across project boundaries and tools</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://code.launchpad.net/">Code hosting</a> using <a href="https://git-scm.com/">Git</a></h4>
|
||||||
|
<p>Easy for anyone to get your project's code using Git</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/how-to/work-with-code-hosted-on-launchpad/create-and-manage-a-merge-proposal/">Code reviews</a></h4>
|
||||||
|
<p>Full control of who can land code in your project remains with you</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://launchpad.net/ubuntu">Ubuntu package building and hosting</a></h4>
|
||||||
|
<p>Publishing your software is simple with Personal Package Archives</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://translations.launchpad.net/">Crowd source translations</a></h4>
|
||||||
|
<p>Build an open community to translate your software into almost any language</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/Teams/MailingLists">Mailing lists</a></h4>
|
||||||
|
<p>Find and work with the right people by building a social network of individuals and teams around projects</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://answers.launchpad.net/">Answer tracking and FAQs</a></h4>
|
||||||
|
<p>Free software thrives on people helping each other when the unexpected happens</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://blueprints.launchpad.net/">Specification tracking</a></h4>
|
||||||
|
<p>Track ideas and chunks of work as “blueprints”</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-getstarted">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Get started</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<span>
|
||||||
|
Learn more about Launchpad in the
|
||||||
|
<a href="https://documentation.ubuntu.com/launchpad/">user guide</a>.
|
||||||
|
</span>
|
||||||
|
If you're ready, you can:
|
||||||
|
|
||||||
|
<ul class="p-matrix">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/add-homepage.png" alt="add">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+login">Create an account</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/tour-homepage.png" alt="tour">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+tour">Take the tour</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/question-homepage.png" alt="question">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="https://answers.launchpad.net/">Find answers</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-featured">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Featured projects</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<ul class="p-matrix featured-projects-list">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Beautiful Soup" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/beautifulsoup">Beautiful Soup</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>A program designed for screen-scraping HTML. The discussion group is at: http://groups.google.com...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Inkscape" src="https://launchpadlibrarian.net/66795469/ink-lp-logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/inkscape">Inkscape</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Inkscape is an SVG-based graphics editor featuring alpha
|
||||||
|
blending, node editing, SVG to PNG exp...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Launchpad itself" src="https://launchpadlibrarian.net/600817174/Canonical_Launchpad_icon_64px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpad">Launchpad itself</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Launchpad is a set of Web services to help software developers collaborate.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="launchpadlib " src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpadlib">launchpadlib </a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Python client library for Launchpad's web service</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenMW" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openmw">OpenMW</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenMW is an attempt to reimplement the popular role playing game Morrowind. It aims to be a full...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenShot Video Editor" src="https://launchpadlibrarian.net/250357498/OpenShot-2-Logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openshot">OpenShot Video Editor</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenShot Video Editor is a free, open-source, non-linear video editor. It can create and edit vid...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenStack" src="https://launchpadlibrarian.net/52042558/os64.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openstack">OpenStack</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing pl...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="txpkgupload" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/txpkgupload">txpkgupload</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Package upload server used by Launchpad.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Ubuntu" src="https://launchpadlibrarian.net/606381979/CoF%2064px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/ubuntu">Ubuntu</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Ubuntu is a complete Linux-based operating system, freely available with both community and profe...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="horizontal">
|
||||||
|
<li>
|
||||||
|
<strong><a href="/projects">Browse all
|
||||||
|
49106
|
||||||
|
projects</a>!</strong>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div><!-- homepage -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- yui-b -->
|
||||||
|
</div><!-- yui-main -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- yui-b side -->
|
||||||
|
|
||||||
|
<!-- yui-t4 -->
|
||||||
|
|
||||||
|
|
||||||
|
<div id="footer" class="footer">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="colophon">
|
||||||
|
© 2004
|
||||||
|
<a href="http://canonical.com/">Canonical Ltd.</a>
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.com/legal/launchpad-terms-of-service">Terms of use</a>
|
||||||
|
•
|
||||||
|
<a href="https://www.ubuntu.com/legal/dataprivacy">Data privacy</a>
|
||||||
|
•
|
||||||
|
<a href="/feedback">Contact Launchpad Support</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="http://blog.launchpad.net/">Blog</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://canonical.com/careers">Careers</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.social/@launchpadstatus">System status</a>
|
||||||
|
<span id="lp-version">
|
||||||
|
•
|
||||||
|
b042f2d
|
||||||
|
|
||||||
|
|
||||||
|
(<a href="https://documentation.ubuntu.com/launchpad/developer/how-to/get-source-code/">Get the code!</a>)
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- yui-d0-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="json-cache-script">LP.cache = {"related_features": {}};</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Facet name: unknown
|
||||||
|
Page type: main_only
|
||||||
|
Has global search: True
|
||||||
|
Has application tabs: True
|
||||||
|
Has side portlets: False
|
||||||
|
|
||||||
|
At least 22 queries/external actions issued in 0.12 seconds
|
||||||
|
|
||||||
|
Features: {'profiling.enabled': None, 'hard_timeout': '5000', 'js.yui_version': None, 'app.maintenance_message': None, 'app.mainsite_only.canonical_url': None, 'baselayout.careers_link.disabled': None, 'visible_render_time': None}
|
||||||
|
|
||||||
|
rb042f2d
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
511
sysroot-arm32/index.html.2
Normal file
511
sysroot-arm32/index.html.2
Normal file
|
|
@ -0,0 +1,511 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Launchpad</title>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/@@/apple-touch-icon.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/@@/favicon-32x32.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/@@/favicon-16x16.png?v=2022" />
|
||||||
|
<link rel="manifest" href="/@@/site.webmanifest?v=2022" />
|
||||||
|
<link rel="mask-icon" href="/@@/safari-pinned-tab.svg?v=2022" color="#e9531f" />
|
||||||
|
<link rel="shortcut icon" href="/@@/favicon.ico?v=2022" />
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
|
<meta name="msapplication-config" content="/@@/browserconfig.xml?v=2022" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="http://feeds.launchpad.net/announcements.atom" title="All Announcements" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link type="text/css" rel="stylesheet" media="screen, print" href="/+icing/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/combo.css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="Launchpad" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:image" content="/@@/launchpad-og-image.png" />
|
||||||
|
<meta property="og:url" content="https://launchpad.net/index.html" />
|
||||||
|
<meta property="og:site_name" content="Launchpad" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var LP = {
|
||||||
|
cache: {},
|
||||||
|
links: {}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net';</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?yui/yui/yui-min.js&lp/meta.js&yui/loader/loader-min.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var raw = null;
|
||||||
|
if (LP.devmode) {
|
||||||
|
raw = 'raw';
|
||||||
|
}
|
||||||
|
YUI.GlobalConfig = {
|
||||||
|
combine: true,
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'yui/',
|
||||||
|
filter: raw,
|
||||||
|
debug: false,
|
||||||
|
fetchCSS: false,
|
||||||
|
maxURLLength: 2000,
|
||||||
|
groups: {
|
||||||
|
lp: {
|
||||||
|
combine: true,
|
||||||
|
base: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?lp/',
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'lp/',
|
||||||
|
// comes from including lp/meta.js
|
||||||
|
modules: LP_MODULES,
|
||||||
|
fetchCSS: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
// we need this to create a single YUI instance all events and code
|
||||||
|
// talks across. All instances of YUI().use should be based off of
|
||||||
|
// LPJS instead.
|
||||||
|
var LPJS = new YUI();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="base-layout-load-scripts" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
LPJS.use('base', 'node', 'console', 'event',
|
||||||
|
'oop', 'lp', 'lp.app.foldables','lp.app.sorttable',
|
||||||
|
'lp.app.inlinehelp', 'lp.app.links',
|
||||||
|
'lp.bugs.bugtask_index', 'lp.bugs.subscribers',
|
||||||
|
'lp.app.ellipsis', 'lp.code.branchmergeproposal.diff',
|
||||||
|
'lp.views.global',
|
||||||
|
function(Y) {
|
||||||
|
|
||||||
|
Y.on("domready", function () {
|
||||||
|
var global_view = new Y.lp.views.Global();
|
||||||
|
global_view.render();
|
||||||
|
|
||||||
|
Y.lp.app.sorttable.SortTable.init();
|
||||||
|
Y.lp.app.inlinehelp.init_help();
|
||||||
|
Y.lp.activate_collapsibles();
|
||||||
|
Y.lp.app.foldables.activate();
|
||||||
|
Y.lp.app.links.check_valid_lp_links();
|
||||||
|
});
|
||||||
|
|
||||||
|
Y.on('lp:context:web_link:changed', function(e) {
|
||||||
|
window.location = e.new_value;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<script id="base-helper-functions" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
// This code is pulled from lp.js that needs to be available on every
|
||||||
|
// request. Pulling here to get it outside the scope of the YUI block.
|
||||||
|
function setFocusByName(name) {
|
||||||
|
// Focus the first element matching the given name which can be focused.
|
||||||
|
var nodes = document.getElementsByName(name);
|
||||||
|
var i, node;
|
||||||
|
for (i = 0; i < nodes.length; i++) {
|
||||||
|
node = nodes[i];
|
||||||
|
if (node.focus) {
|
||||||
|
try {
|
||||||
|
// Trying to focus a hidden element throws an error in IE8.
|
||||||
|
if (node.offsetHeight !== 0) {
|
||||||
|
node.focus();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
LPJS.use('console', function(Y) {
|
||||||
|
Y.log('In setFocusByName(<' +
|
||||||
|
node.tagName + ' type=' + node.type + '>): ' + e);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectWidget(widget_name, event) {
|
||||||
|
if (event && (event.keyCode === 9 || event.keyCode === 13)) {
|
||||||
|
// Avoid firing if user is tabbing through or simply pressing
|
||||||
|
// enter to submit the form.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById(widget_name).checked = true;
|
||||||
|
}
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/+icing/vanilla-framework-version-4.7.0.min.css" />
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="document" itemscope="" itemtype="http://schema.org/WebPage" class="tab-unknown
|
||||||
|
main_only
|
||||||
|
public
|
||||||
|
yui3-skin-sam">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="yui-d0">
|
||||||
|
<div id="locationbar" class="login-logout">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="logincontrol"><a href="https://launchpad.net/+login">Log in / Register</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div><!--id="locationbar"-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="maincontent" class="yui-main">
|
||||||
|
<div class="yui-b" dir="ltr">
|
||||||
|
<div class="context-publication">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="registration" class="registering">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="request-notifications">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Is your project registered yet? -->
|
||||||
|
|
||||||
|
<div id="homepage" class="homepage">
|
||||||
|
|
||||||
|
<div class="top-portlet">
|
||||||
|
<img src="/@@/launchpad-logo-and-name.svg" class="homepage__logo" id="launchpad-logo-and-name" alt="Launchpad logo and name" />
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="u-fixed-width">
|
||||||
|
<form id="homepage-searchform" class="p-form p-form--inline" xml:lang="en" lang="en" dir="ltr" method="get" accept-charset="UTF-8" action="https://launchpad.net/+search">
|
||||||
|
<div class="p-form__group p-form--search">
|
||||||
|
<label for="search-input" class="u-off-screen">Search</label>
|
||||||
|
<div class="p-form__control u-clearfix">
|
||||||
|
<input id="search-input" type="search" name="field.text" value="" autofocus="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button id="search" class="p-button--positive" type="submit" value="Search Launchpad">Search</button>
|
||||||
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
LPJS.use('lp', function () {
|
||||||
|
setFocusByName('field.text');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="homepage-stats" class="u-text--muted">
|
||||||
|
<strong>49,106</strong> projects,
|
||||||
|
<strong>2,108,367</strong> bugs,
|
||||||
|
<strong>1,009,234</strong> branches,
|
||||||
|
<strong>119,025</strong> Git repositories,
|
||||||
|
<strong>3,185,634</strong> translations,
|
||||||
|
<strong>822,311</strong> answers,
|
||||||
|
<strong>76,426</strong> blueprints,
|
||||||
|
and counting...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="homepage-whatslaunchpad">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2>Launchpad</h2>
|
||||||
|
<h4>A software collaboration platform that provides</h4>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://bugs.launchpad.net/">Bug tracking</a></h4>
|
||||||
|
<p>One place to track bugs across project boundaries and tools</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://code.launchpad.net/">Code hosting</a> using <a href="https://git-scm.com/">Git</a></h4>
|
||||||
|
<p>Easy for anyone to get your project's code using Git</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/how-to/work-with-code-hosted-on-launchpad/create-and-manage-a-merge-proposal/">Code reviews</a></h4>
|
||||||
|
<p>Full control of who can land code in your project remains with you</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://launchpad.net/ubuntu">Ubuntu package building and hosting</a></h4>
|
||||||
|
<p>Publishing your software is simple with Personal Package Archives</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://translations.launchpad.net/">Crowd source translations</a></h4>
|
||||||
|
<p>Build an open community to translate your software into almost any language</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/Teams/MailingLists">Mailing lists</a></h4>
|
||||||
|
<p>Find and work with the right people by building a social network of individuals and teams around projects</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://answers.launchpad.net/">Answer tracking and FAQs</a></h4>
|
||||||
|
<p>Free software thrives on people helping each other when the unexpected happens</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://blueprints.launchpad.net/">Specification tracking</a></h4>
|
||||||
|
<p>Track ideas and chunks of work as “blueprints”</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-getstarted">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Get started</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<span>
|
||||||
|
Learn more about Launchpad in the
|
||||||
|
<a href="https://documentation.ubuntu.com/launchpad/">user guide</a>.
|
||||||
|
</span>
|
||||||
|
If you're ready, you can:
|
||||||
|
|
||||||
|
<ul class="p-matrix">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/add-homepage.png" alt="add">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+login">Create an account</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/tour-homepage.png" alt="tour">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+tour">Take the tour</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/question-homepage.png" alt="question">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="https://answers.launchpad.net/">Find answers</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-featured">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Featured projects</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<ul class="p-matrix featured-projects-list">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Beautiful Soup" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/beautifulsoup">Beautiful Soup</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>A program designed for screen-scraping HTML. The discussion group is at: http://groups.google.com...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Inkscape" src="https://launchpadlibrarian.net/66795469/ink-lp-logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/inkscape">Inkscape</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Inkscape is an SVG-based graphics editor featuring alpha
|
||||||
|
blending, node editing, SVG to PNG exp...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Launchpad itself" src="https://launchpadlibrarian.net/600817174/Canonical_Launchpad_icon_64px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpad">Launchpad itself</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Launchpad is a set of Web services to help software developers collaborate.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="launchpadlib " src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpadlib">launchpadlib </a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Python client library for Launchpad's web service</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenMW" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openmw">OpenMW</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenMW is an attempt to reimplement the popular role playing game Morrowind. It aims to be a full...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenShot Video Editor" src="https://launchpadlibrarian.net/250357498/OpenShot-2-Logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openshot">OpenShot Video Editor</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenShot Video Editor is a free, open-source, non-linear video editor. It can create and edit vid...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenStack" src="https://launchpadlibrarian.net/52042558/os64.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openstack">OpenStack</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing pl...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="txpkgupload" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/txpkgupload">txpkgupload</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Package upload server used by Launchpad.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Ubuntu" src="https://launchpadlibrarian.net/606381979/CoF%2064px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/ubuntu">Ubuntu</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Ubuntu is a complete Linux-based operating system, freely available with both community and profe...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="horizontal">
|
||||||
|
<li>
|
||||||
|
<strong><a href="/projects">Browse all
|
||||||
|
49106
|
||||||
|
projects</a>!</strong>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div><!-- homepage -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- yui-b -->
|
||||||
|
</div><!-- yui-main -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- yui-b side -->
|
||||||
|
|
||||||
|
<!-- yui-t4 -->
|
||||||
|
|
||||||
|
|
||||||
|
<div id="footer" class="footer">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="colophon">
|
||||||
|
© 2004
|
||||||
|
<a href="http://canonical.com/">Canonical Ltd.</a>
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.com/legal/launchpad-terms-of-service">Terms of use</a>
|
||||||
|
•
|
||||||
|
<a href="https://www.ubuntu.com/legal/dataprivacy">Data privacy</a>
|
||||||
|
•
|
||||||
|
<a href="/feedback">Contact Launchpad Support</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="http://blog.launchpad.net/">Blog</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://canonical.com/careers">Careers</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.social/@launchpadstatus">System status</a>
|
||||||
|
<span id="lp-version">
|
||||||
|
•
|
||||||
|
b042f2d
|
||||||
|
|
||||||
|
|
||||||
|
(<a href="https://documentation.ubuntu.com/launchpad/developer/how-to/get-source-code/">Get the code!</a>)
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- yui-d0-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="json-cache-script">LP.cache = {"related_features": {}};</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Facet name: unknown
|
||||||
|
Page type: main_only
|
||||||
|
Has global search: True
|
||||||
|
Has application tabs: True
|
||||||
|
Has side portlets: False
|
||||||
|
|
||||||
|
At least 22 queries/external actions issued in 0.38 seconds
|
||||||
|
|
||||||
|
Features: {'profiling.enabled': None, 'hard_timeout': '5000', 'js.yui_version': None, 'app.maintenance_message': None, 'app.mainsite_only.canonical_url': None, 'baselayout.careers_link.disabled': None, 'visible_render_time': None}
|
||||||
|
|
||||||
|
rb042f2d
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
BIN
sysroot-arm32/libudev1_255.4-1ubuntu8_armhf.deb
Normal file
BIN
sysroot-arm32/libudev1_255.4-1ubuntu8_armhf.deb
Normal file
Binary file not shown.
BIN
sysroot-arm32/libusb-1.0-0-dev_1.0.27-1_armhf.deb
Normal file
BIN
sysroot-arm32/libusb-1.0-0-dev_1.0.27-1_armhf.deb
Normal file
Binary file not shown.
BIN
sysroot-arm32/libusb-1.0-0_1.0.27-1_armhf.deb
Normal file
BIN
sysroot-arm32/libusb-1.0-0_1.0.27-1_armhf.deb
Normal file
Binary file not shown.
2311
sysroot-arm32/usr/include/libusb-1.0/libusb.h
Normal file
2311
sysroot-arm32/usr/include/libusb-1.0/libusb.h
Normal file
File diff suppressed because it is too large
Load diff
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so
Symbolic link
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../../../lib/arm-linux-gnueabihf/libudev.so.1
|
||||||
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so.1
Symbolic link
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libudev.so.1.7.8
|
||||||
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so.1.7.8
Normal file
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libudev.so.1.7.8
Normal file
Binary file not shown.
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.a
Normal file
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.a
Normal file
Binary file not shown.
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so
Symbolic link
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libusb-1.0.so.0.4.0
|
||||||
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so.0
Symbolic link
1
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so.0
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libusb-1.0.so.0.4.0
|
||||||
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so.0.4.0
Normal file
BIN
sysroot-arm32/usr/lib/arm-linux-gnueabihf/libusb-1.0.so.0.4.0
Normal file
Binary file not shown.
|
|
@ -0,0 +1,11 @@
|
||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${prefix}/lib/arm-linux-gnueabihf
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: libusb-1.0
|
||||||
|
Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace
|
||||||
|
Version: 1.0.27
|
||||||
|
Libs: -L${libdir} -lusb-1.0
|
||||||
|
Libs.private: -ludev
|
||||||
|
Cflags: -I${includedir}/libusb-1.0
|
||||||
BIN
sysroot-arm32/usr/share/doc/libudev1/NEWS.Debian.gz
Normal file
BIN
sysroot-arm32/usr/share/doc/libudev1/NEWS.Debian.gz
Normal file
Binary file not shown.
BIN
sysroot-arm32/usr/share/doc/libudev1/changelog.Debian.gz
Normal file
BIN
sysroot-arm32/usr/share/doc/libudev1/changelog.Debian.gz
Normal file
Binary file not shown.
287
sysroot-arm32/usr/share/doc/libudev1/copyright
Normal file
287
sysroot-arm32/usr/share/doc/libudev1/copyright
Normal file
|
|
@ -0,0 +1,287 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: systemd
|
||||||
|
Upstream-Contact: systemd-devel@lists.freedesktop.org
|
||||||
|
Source: https://www.freedesktop.org/wiki/Software/systemd/
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2008-2015 Kay Sievers <kay@vrfy.org>
|
||||||
|
2010-2015 Lennart Poettering
|
||||||
|
2012-2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2013-2015 Tom Gundersen <teg@jklm.no>
|
||||||
|
2013-2015 Daniel Mack
|
||||||
|
2010-2015 Harald Hoyer
|
||||||
|
2013-2015 David Herrmann
|
||||||
|
2013, 2014 Thomas H.P. Andersen
|
||||||
|
2013, 2014 Daniel Buch
|
||||||
|
2014 Susant Sahani
|
||||||
|
2009-2015 Intel Corporation
|
||||||
|
2000, 2005 Red Hat, Inc.
|
||||||
|
2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
|
||||||
|
2010 ProFUSION embedded systems
|
||||||
|
2010 Maarten Lankhorst
|
||||||
|
1995-2004 Miquel van Smoorenburg
|
||||||
|
1999 Tom Tromey
|
||||||
|
2011 Michal Schmidt
|
||||||
|
2012 B. Poettering
|
||||||
|
2012 Holger Hans Peter Freyther
|
||||||
|
2012 Dan Walsh
|
||||||
|
2012 Roberto Sassu
|
||||||
|
2013 David Strauss
|
||||||
|
2013 Marius Vollmer
|
||||||
|
2013 Jan Janssen
|
||||||
|
2013 Simon Peeters
|
||||||
|
License: LGPL-2.1+
|
||||||
|
|
||||||
|
Files: src/basic/siphash24.h
|
||||||
|
src/basic/siphash24.c
|
||||||
|
Copyright: 2012 Jean-Philippe Aumasson <jeanphilippe.aumasson@gmail.com>
|
||||||
|
2012 Daniel J. Bernstein <djb@cr.yp.to>
|
||||||
|
License: CC0-1.0
|
||||||
|
|
||||||
|
Files: src/shared/linux/*
|
||||||
|
src/basic/linux/*
|
||||||
|
Copyright: 2004-2009 Red Hat, Inc.
|
||||||
|
2011-2014 PLUMgrid
|
||||||
|
2001-2003 Sistina Software (UK) Limited.
|
||||||
|
2008 Ian Kent <raven@themaw.net>
|
||||||
|
1998 David S. Miller >davem@redhat.com>
|
||||||
|
2001 Jeff Garzik <jgarzik@pobox.com>
|
||||||
|
2006-2010 Johannes Berg <johannes@sipsolutions.net
|
||||||
|
2008 Michael Wu <flamingice@sourmilk.net>
|
||||||
|
2008 Luis Carlos Cobo <luisca@cozybit.com>
|
||||||
|
2008 Michael Buesch <m@bues.ch>
|
||||||
|
2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
|
||||||
|
2008 Jouni Malinen <jouni.malinen@atheros.com>
|
||||||
|
2008 Colin McCabe <colin@cozybit.com>
|
||||||
|
2018-2019 Intel Corporation
|
||||||
|
2007 Oracle.
|
||||||
|
2009 Wolfgang Grandegger <wg@grandegger.com>
|
||||||
|
1999 Thomas Davis <tadavis@lbl.gov>
|
||||||
|
2015 Sabrina Dubroca <sd@queasysnail.net>
|
||||||
|
1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
|
||||||
|
2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>
|
||||||
|
License: GPL-2 with Linux-syscall-note exception
|
||||||
|
|
||||||
|
Files: src/basic/sparse-endian.h
|
||||||
|
Copyright: 2012 Josh Triplett <josh@joshtriplett.org>
|
||||||
|
License: Expat
|
||||||
|
|
||||||
|
Files: src/basic/MurmurHash2.c
|
||||||
|
src/basic/MurmurHash2.h
|
||||||
|
src/libsystemd/sd-journal/lookup3.c
|
||||||
|
src/libsystemd/sd-journal/lookup3.h
|
||||||
|
Copyright: none
|
||||||
|
License: public-domain
|
||||||
|
You can use this free for any purpose. It's in the public domain. It has no
|
||||||
|
warranty.
|
||||||
|
|
||||||
|
Files: src/udev/ata_id/ata_id.c
|
||||||
|
src/udev/cdrom_id/cdrom_id.c
|
||||||
|
src/udev/dmi_memory_id/dmi_memory_id.c
|
||||||
|
src/udev/mtd_probe/mtd_probe.c
|
||||||
|
src/udev/mtd_probe/mtd_probe.h
|
||||||
|
src/udev/mtd_probe/probe_smartmedia.c
|
||||||
|
src/udev/scsi_id/scsi.h
|
||||||
|
src/udev/scsi_id/scsi_id.c
|
||||||
|
src/udev/scsi_id/scsi_id.h
|
||||||
|
src/udev/scsi_id/scsi_serial.c
|
||||||
|
src/udev/udevadm.c
|
||||||
|
src/udev/udevadm-control.c
|
||||||
|
src/udev/udevadm.h
|
||||||
|
src/udev/udevadm-info.c
|
||||||
|
src/udev/udevadm-monitor.c
|
||||||
|
src/udev/udevadm-settle.c
|
||||||
|
src/udev/udevadm-test-builtin.c
|
||||||
|
src/udev/udevadm-test.c
|
||||||
|
src/udev/udevadm-trigger.c
|
||||||
|
src/udev/udevadm-util.c
|
||||||
|
src/udev/udevadm-util.h
|
||||||
|
src/udev/udev-builtin-blkid.c
|
||||||
|
src/udev/udev-builtin.h
|
||||||
|
src/udev/udev-builtin-input_id.c
|
||||||
|
src/udev/udev-builtin-kmod.c
|
||||||
|
src/udev/udev-builtin-path_id.c
|
||||||
|
src/udev/udev-builtin-uaccess.c
|
||||||
|
src/udev/udev-builtin-usb_id.c
|
||||||
|
src/udev/udev-ctrl.h
|
||||||
|
src/udev/udevd.c
|
||||||
|
src/udev/udevd.h
|
||||||
|
src/udev/udev-event.c
|
||||||
|
src/udev/udev-event.h
|
||||||
|
src/udev/udev-node.c
|
||||||
|
src/udev/udev-node.h
|
||||||
|
src/udev/udev-rules.c
|
||||||
|
src/udev/udev-rules.h
|
||||||
|
src/udev/udev-watch.c
|
||||||
|
src/udev/udev-watch.h
|
||||||
|
src/udev/v4l_id/v4l_id.c
|
||||||
|
Copyright: 2003-2012 Kay Sievers <kay@vrfy.org>
|
||||||
|
2003-2004 Greg Kroah-Hartman <greg@kroah.com>
|
||||||
|
2004 Chris Friesen <chris_friesen@sympatico.ca>
|
||||||
|
2004, 2009, 2010 David Zeuthen <david@fubar.dk>
|
||||||
|
2005, 2006 SUSE Linux Products GmbH
|
||||||
|
2003 IBM Corp.
|
||||||
|
2007 Hannes Reinecke <hare@suse.de>
|
||||||
|
2009 Canonical Ltd.
|
||||||
|
2009 Scott James Remnant <scott@netsplit.com>
|
||||||
|
2009 Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
2009 Piter Punk <piterpunk@slackware.com>
|
||||||
|
2009, 2010 Lennart Poettering
|
||||||
|
2009 Filippo Argiolas <filippo.argiolas@gmail.com>
|
||||||
|
2010 Maxim Levitsky
|
||||||
|
2011 ProFUSION embedded systems
|
||||||
|
2011 Karel Zak <kzak@redhat.com>
|
||||||
|
2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2014 David Herrmann <dh.herrmann@gmail.com>
|
||||||
|
2014 Carlos Garnacho <carlosg@gnome.org>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 2010-2013 Tollef Fog Heen <tfheen@debian.org>
|
||||||
|
2011 Josh Triplett <josh@joshtriplett.org>
|
||||||
|
2013-2014 Michael Stapelberg <stapelberg@debian.org>
|
||||||
|
2013-2020 Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
2013-2022 Michael Biebl <biebl@debian.org>
|
||||||
|
2013 Daniel Schaal <farbing@web.de>
|
||||||
|
2013 Guido Günther <agx@sigxcpu.org>
|
||||||
|
2014-2015 Didier Roche <didrocks@ubuntu.com>
|
||||||
|
2014-2015 Marco d'Itri <md@linux.it>
|
||||||
|
2014-2017 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
|
||||||
|
2014 Ansgar Burchardt <ansgar@debian.org>
|
||||||
|
2014 Jon Severinsson <jon@severinsson.net>
|
||||||
|
2015-2019 Felipe Sateler <fsateler@debian.org>
|
||||||
|
2015 Adam Conrad <adconrad@debian.org>
|
||||||
|
2015 Andreas Henriksson <andreas@fatal.se>
|
||||||
|
2015 Christian Seiler <christian@iwakd.de>
|
||||||
|
2015 Julian Wollrath <jwollrath@web.de>
|
||||||
|
2016-2018 Evgeny Vereshchagin <evvers@ya.ru>
|
||||||
|
2016,2018 Laurent Bigonville <bigon@debian.org>
|
||||||
|
2016-2019 Dimitri John Ledkov <xnox@ubuntu.com>
|
||||||
|
2016,2019 Michael Prokop <mika@debian.org>
|
||||||
|
2016 Alexander Kurtz <alexander@kurtz.be>
|
||||||
|
2016 Antonio Ospite <ao2@ao2.it>
|
||||||
|
2016 Iain Lane <iain@orangesquash.org.uk>
|
||||||
|
2016 Simon McVittie <simon.mcvittie@collabora.co.uk>
|
||||||
|
2017-2018 Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
|
||||||
|
2017-2019 Martin Pitt <mpitt@debian.org>
|
||||||
|
2017 Cyril Brulebois <kibi@debian.org>
|
||||||
|
2017 Ondřej Nový <onovy@debian.org>
|
||||||
|
2018-2019 Mert Dirik <mertdirik@gmail.com>
|
||||||
|
2018 Adam Borowski <kilobyte@angband.pl>
|
||||||
|
2018 Alf Gaida <agaida@siduction.org>
|
||||||
|
2018 Benjamin Drung <benjamin.drung@profitbricks.com>
|
||||||
|
2018 Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
|
||||||
|
2018 Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com>
|
||||||
|
2019-2021 Balint Reczey <balint.reczey@canonical.com>
|
||||||
|
2019-2021 Dan Streetman <ddstreet@canonical.com>
|
||||||
|
2019 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
||||||
|
2020-2021 Helmut Grohne <helmut@subdivi.de>
|
||||||
|
2020 Topi Miettinen <toiwoton@gmail.com>
|
||||||
|
2020 Youfu Zhang <zhangyoufu@gmail.com>
|
||||||
|
2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2020 наб <nabijaczleweli@nabijaczleweli.xyz>
|
||||||
|
2021-2022 Luca Boccassi <bluca@debian.org>
|
||||||
|
2021-2022 Lukas Märdian <slyon@ubuntu.com>
|
||||||
|
2021 Frantisek Sumsal <frantisek@sumsal.cz>
|
||||||
|
2021 Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
|
||||||
|
2021 Jan Kiszka <jan.kiszka@web.de>
|
||||||
|
2021 Matthias Klumpp <matthias@tenstral.net>
|
||||||
|
2021 Salvatore Bonaccorso <carnil@debian.org>
|
||||||
|
License: LGPL-2.1+
|
||||||
|
|
||||||
|
License: Expat
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to
|
||||||
|
deal in the Software without restriction, including without limitation the
|
||||||
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
||||||
|
|
||||||
|
License: GPL-2 with Linux-syscall-note exception
|
||||||
|
NOTE! This copyright does *not* cover user programs that use kernel services
|
||||||
|
by normal system calls - this is merely considered normal use of the kernel,
|
||||||
|
and does *not* fall under the heading of "derived work". Also note that the
|
||||||
|
GPL below is copyrighted by the Free Software Foundation, but the instance of
|
||||||
|
code that it refers to (the Linux kernel) is copyrighted by me and others who
|
||||||
|
actually wrote it.
|
||||||
|
.
|
||||||
|
Also note that the only valid version of the GPL as far as the kernel is
|
||||||
|
concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x
|
||||||
|
or whatever), unless explicitly otherwise stated.
|
||||||
|
.
|
||||||
|
Linus Torvalds
|
||||||
|
.
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian and systems the full text of the GNU General Public
|
||||||
|
License version 2 can be found in the file
|
||||||
|
`/usr/share/common-licenses/GPL-2`
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
any later version.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.
|
||||||
|
|
||||||
|
License: LGPL-2.1+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2.1, or (at your option)
|
||||||
|
any later version.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Lesser General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU Lesser General Public
|
||||||
|
License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’.
|
||||||
|
|
||||||
|
License: CC0-1.0
|
||||||
|
To the extent possible under law, the author(s) have dedicated all copyright
|
||||||
|
and related and neighboring rights to this software to the public domain
|
||||||
|
worldwide. This software is distributed without any warranty.
|
||||||
|
.
|
||||||
|
You should have received a copy of the CC0 Public Domain Dedication along with
|
||||||
|
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the CC0 1.0 Universal license can be
|
||||||
|
found in ‘/usr/share/common-licenses/CC0-1.0’.
|
||||||
1
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/README
Symbolic link
1
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/README
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../libusb-1.0-0/README
|
||||||
1
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/changelog.Debian.gz
Symbolic link
1
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/changelog.Debian.gz
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../libusb-1.0-0/changelog.Debian.gz
|
||||||
121
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/copyright
Normal file
121
sysroot-arm32/usr/share/doc/libusb-1.0-0-dev/copyright
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
|
||||||
|
Wed, 13 Jun 2001 12:21:44 -0500.
|
||||||
|
|
||||||
|
It was downloaded from http://www.libusb.info
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Alan Ott
|
||||||
|
Alan Stern
|
||||||
|
Alex Vatchenko
|
||||||
|
Andrew Fernandes
|
||||||
|
Anthony Clay
|
||||||
|
Artem Egorkine
|
||||||
|
Aurelien Jarno
|
||||||
|
Bastien Nocera
|
||||||
|
Bei Zhang
|
||||||
|
Benjamin Dobell
|
||||||
|
Chris Dickens
|
||||||
|
Colin Walters
|
||||||
|
Dave Camarillo
|
||||||
|
David Engraf
|
||||||
|
David Moore
|
||||||
|
Davidlohr Bueso
|
||||||
|
Federico Manzan
|
||||||
|
Felipe Balbi
|
||||||
|
Florian Albrechtskirchinger
|
||||||
|
Francesco Montorsi
|
||||||
|
Francisco Facioni
|
||||||
|
Graeme Gill
|
||||||
|
Gustavo Zacarias
|
||||||
|
Hans Ulrich Niedermann
|
||||||
|
Hector Martin
|
||||||
|
Hoi-Ho Chan
|
||||||
|
Ilya Konstantinov
|
||||||
|
James Hanko
|
||||||
|
Joshua Blake
|
||||||
|
Karsten Koenig
|
||||||
|
Konrad Rzepecki
|
||||||
|
Kuangye Guo
|
||||||
|
Lars Wirzenius
|
||||||
|
Luca Longinotti
|
||||||
|
Martin Koegler
|
||||||
|
Matthias Bolte
|
||||||
|
Mike Frysinger
|
||||||
|
Mikhail Gusarov
|
||||||
|
Moritz Fischer
|
||||||
|
Nicholas Corgan
|
||||||
|
Omri Iluz
|
||||||
|
Orin Eman
|
||||||
|
Paul Fertser
|
||||||
|
Pekka Nikander
|
||||||
|
Rob Walker
|
||||||
|
Sean McBride
|
||||||
|
Sebastian Pipping
|
||||||
|
Simon Haggett
|
||||||
|
Thomas Röfer
|
||||||
|
Tim Roberts
|
||||||
|
Toby Peterson
|
||||||
|
Trygve Laugstøl
|
||||||
|
Uri Lublin
|
||||||
|
Vasily Khoruzhick
|
||||||
|
Vegard Storheil Eriksen
|
||||||
|
Vitali Lovich
|
||||||
|
Xiaofan Chen
|
||||||
|
Zoltán Kovács
|
||||||
|
Роман Донченко
|
||||||
|
xantares
|
||||||
|
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (C) 2001 Johannes Erdfelt <johannes@erdfelt.com>
|
||||||
|
Copyright (C) 2007-2009 Daniel Drake <dsd@gentoo.org>
|
||||||
|
Copyright (C) 2010-2012 Peter Stuge <peter@stuge.se>
|
||||||
|
Copyright (C) 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
||||||
|
Copyright (C) 2009-2013 Pete Batard <pete@akeo.ie>
|
||||||
|
Copyright (C) 2009-2013 Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
Copyright (C) 2010-2012 Michael Plante <michael.plante@gmail.com>
|
||||||
|
Copyright (C) 2011-2013 Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Copyright (C) 2012-2013 Martin Pieuchot <mpi@openbsd.org>
|
||||||
|
|
||||||
|
|
||||||
|
License of the libusb library and most examples except ezusb and fxload:
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the
|
||||||
|
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301 USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the LGPL license can be found
|
||||||
|
in the /usr/share/common-licenses/LGPL-2.1 file.
|
||||||
|
|
||||||
|
|
||||||
|
License of ezusb and fxload:
|
||||||
|
This source code is free software; you can redistribute it
|
||||||
|
and/or modify it in source code form under the terms of the GNU
|
||||||
|
General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
||||||
|
USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GPL license can be found
|
||||||
|
in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
29
sysroot-arm32/usr/share/doc/libusb-1.0-0/README
Normal file
29
sysroot-arm32/usr/share/doc/libusb-1.0-0/README
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# libusb
|
||||||
|
|
||||||
|
libusb is a library for USB device access from Linux, macOS,
|
||||||
|
Windows, OpenBSD/NetBSD, Haiku, Solaris userspace, and WebAssembly
|
||||||
|
via WebUSB.
|
||||||
|
It is written in C (Haiku backend in C++) and licensed under the GNU
|
||||||
|
Lesser General Public License version 2.1 or, at your option, any later
|
||||||
|
version (see COPYING).
|
||||||
|
|
||||||
|
libusb is abstracted internally in such a way that it can hopefully
|
||||||
|
be ported to other operating systems. Please see the PORTING
|
||||||
|
file for more information.
|
||||||
|
|
||||||
|
libusb homepage:
|
||||||
|
https://libusb.info/
|
||||||
|
|
||||||
|
Developers will wish to consult the API documentation:
|
||||||
|
http://api.libusb.info
|
||||||
|
|
||||||
|
Use the mailing list for questions, comments, etc:
|
||||||
|
http://mailing-list.libusb.info
|
||||||
|
|
||||||
|
- Hans de Goede <hdegoede@redhat.com>
|
||||||
|
- Xiaofan Chen <xiaofanc@gmail.com>
|
||||||
|
- Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
- Nathan Hjelm <hjelmn@cs.unm.edu>
|
||||||
|
- Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
|
||||||
|
(Please use the mailing list rather than mailing developers directly)
|
||||||
BIN
sysroot-arm32/usr/share/doc/libusb-1.0-0/changelog.Debian.gz
Normal file
BIN
sysroot-arm32/usr/share/doc/libusb-1.0-0/changelog.Debian.gz
Normal file
Binary file not shown.
121
sysroot-arm32/usr/share/doc/libusb-1.0-0/copyright
Normal file
121
sysroot-arm32/usr/share/doc/libusb-1.0-0/copyright
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
|
||||||
|
Wed, 13 Jun 2001 12:21:44 -0500.
|
||||||
|
|
||||||
|
It was downloaded from http://www.libusb.info
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Alan Ott
|
||||||
|
Alan Stern
|
||||||
|
Alex Vatchenko
|
||||||
|
Andrew Fernandes
|
||||||
|
Anthony Clay
|
||||||
|
Artem Egorkine
|
||||||
|
Aurelien Jarno
|
||||||
|
Bastien Nocera
|
||||||
|
Bei Zhang
|
||||||
|
Benjamin Dobell
|
||||||
|
Chris Dickens
|
||||||
|
Colin Walters
|
||||||
|
Dave Camarillo
|
||||||
|
David Engraf
|
||||||
|
David Moore
|
||||||
|
Davidlohr Bueso
|
||||||
|
Federico Manzan
|
||||||
|
Felipe Balbi
|
||||||
|
Florian Albrechtskirchinger
|
||||||
|
Francesco Montorsi
|
||||||
|
Francisco Facioni
|
||||||
|
Graeme Gill
|
||||||
|
Gustavo Zacarias
|
||||||
|
Hans Ulrich Niedermann
|
||||||
|
Hector Martin
|
||||||
|
Hoi-Ho Chan
|
||||||
|
Ilya Konstantinov
|
||||||
|
James Hanko
|
||||||
|
Joshua Blake
|
||||||
|
Karsten Koenig
|
||||||
|
Konrad Rzepecki
|
||||||
|
Kuangye Guo
|
||||||
|
Lars Wirzenius
|
||||||
|
Luca Longinotti
|
||||||
|
Martin Koegler
|
||||||
|
Matthias Bolte
|
||||||
|
Mike Frysinger
|
||||||
|
Mikhail Gusarov
|
||||||
|
Moritz Fischer
|
||||||
|
Nicholas Corgan
|
||||||
|
Omri Iluz
|
||||||
|
Orin Eman
|
||||||
|
Paul Fertser
|
||||||
|
Pekka Nikander
|
||||||
|
Rob Walker
|
||||||
|
Sean McBride
|
||||||
|
Sebastian Pipping
|
||||||
|
Simon Haggett
|
||||||
|
Thomas Röfer
|
||||||
|
Tim Roberts
|
||||||
|
Toby Peterson
|
||||||
|
Trygve Laugstøl
|
||||||
|
Uri Lublin
|
||||||
|
Vasily Khoruzhick
|
||||||
|
Vegard Storheil Eriksen
|
||||||
|
Vitali Lovich
|
||||||
|
Xiaofan Chen
|
||||||
|
Zoltán Kovács
|
||||||
|
Роман Донченко
|
||||||
|
xantares
|
||||||
|
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (C) 2001 Johannes Erdfelt <johannes@erdfelt.com>
|
||||||
|
Copyright (C) 2007-2009 Daniel Drake <dsd@gentoo.org>
|
||||||
|
Copyright (C) 2010-2012 Peter Stuge <peter@stuge.se>
|
||||||
|
Copyright (C) 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
||||||
|
Copyright (C) 2009-2013 Pete Batard <pete@akeo.ie>
|
||||||
|
Copyright (C) 2009-2013 Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
Copyright (C) 2010-2012 Michael Plante <michael.plante@gmail.com>
|
||||||
|
Copyright (C) 2011-2013 Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Copyright (C) 2012-2013 Martin Pieuchot <mpi@openbsd.org>
|
||||||
|
|
||||||
|
|
||||||
|
License of the libusb library and most examples except ezusb and fxload:
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the
|
||||||
|
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301 USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the LGPL license can be found
|
||||||
|
in the /usr/share/common-licenses/LGPL-2.1 file.
|
||||||
|
|
||||||
|
|
||||||
|
License of ezusb and fxload:
|
||||||
|
This source code is free software; you can redistribute it
|
||||||
|
and/or modify it in source code form under the terms of the GNU
|
||||||
|
General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
||||||
|
USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GPL license can be found
|
||||||
|
in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
5038
sysroot-arm64/index.html
Normal file
5038
sysroot-arm64/index.html
Normal file
File diff suppressed because it is too large
Load diff
5038
sysroot-arm64/index.html.1
Normal file
5038
sysroot-arm64/index.html.1
Normal file
File diff suppressed because it is too large
Load diff
511
sysroot-arm64/index.html.2
Normal file
511
sysroot-arm64/index.html.2
Normal file
|
|
@ -0,0 +1,511 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Launchpad</title>
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/@@/apple-touch-icon.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/@@/favicon-32x32.png?v=2022" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/@@/favicon-16x16.png?v=2022" />
|
||||||
|
<link rel="manifest" href="/@@/site.webmanifest?v=2022" />
|
||||||
|
<link rel="mask-icon" href="/@@/safari-pinned-tab.svg?v=2022" color="#e9531f" />
|
||||||
|
<link rel="shortcut icon" href="/@@/favicon.ico?v=2022" />
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c" />
|
||||||
|
<meta name="msapplication-config" content="/@@/browserconfig.xml?v=2022" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" href="http://feeds.launchpad.net/announcements.atom" title="All Announcements" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link type="text/css" rel="stylesheet" media="screen, print" href="/+icing/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/combo.css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="Launchpad" />
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:image" content="/@@/launchpad-og-image.png" />
|
||||||
|
<meta property="og:url" content="https://launchpad.net/index.html" />
|
||||||
|
<meta property="og:site_name" content="Launchpad" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var LP = {
|
||||||
|
cache: {},
|
||||||
|
links: {}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net';</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?yui/yui/yui-min.js&lp/meta.js&yui/loader/loader-min.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var raw = null;
|
||||||
|
if (LP.devmode) {
|
||||||
|
raw = 'raw';
|
||||||
|
}
|
||||||
|
YUI.GlobalConfig = {
|
||||||
|
combine: true,
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'yui/',
|
||||||
|
filter: raw,
|
||||||
|
debug: false,
|
||||||
|
fetchCSS: false,
|
||||||
|
maxURLLength: 2000,
|
||||||
|
groups: {
|
||||||
|
lp: {
|
||||||
|
combine: true,
|
||||||
|
base: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?lp/',
|
||||||
|
comboBase: '/+combo/revb042f2deb3ecfaa583e2ab7763b0e6f8b706ff27/?',
|
||||||
|
root: 'lp/',
|
||||||
|
// comes from including lp/meta.js
|
||||||
|
modules: LP_MODULES,
|
||||||
|
fetchCSS: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
// we need this to create a single YUI instance all events and code
|
||||||
|
// talks across. All instances of YUI().use should be based off of
|
||||||
|
// LPJS instead.
|
||||||
|
var LPJS = new YUI();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="base-layout-load-scripts" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
LPJS.use('base', 'node', 'console', 'event',
|
||||||
|
'oop', 'lp', 'lp.app.foldables','lp.app.sorttable',
|
||||||
|
'lp.app.inlinehelp', 'lp.app.links',
|
||||||
|
'lp.bugs.bugtask_index', 'lp.bugs.subscribers',
|
||||||
|
'lp.app.ellipsis', 'lp.code.branchmergeproposal.diff',
|
||||||
|
'lp.views.global',
|
||||||
|
function(Y) {
|
||||||
|
|
||||||
|
Y.on("domready", function () {
|
||||||
|
var global_view = new Y.lp.views.Global();
|
||||||
|
global_view.render();
|
||||||
|
|
||||||
|
Y.lp.app.sorttable.SortTable.init();
|
||||||
|
Y.lp.app.inlinehelp.init_help();
|
||||||
|
Y.lp.activate_collapsibles();
|
||||||
|
Y.lp.app.foldables.activate();
|
||||||
|
Y.lp.app.links.check_valid_lp_links();
|
||||||
|
});
|
||||||
|
|
||||||
|
Y.on('lp:context:web_link:changed', function(e) {
|
||||||
|
window.location = e.new_value;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
<script id="base-helper-functions" type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
// This code is pulled from lp.js that needs to be available on every
|
||||||
|
// request. Pulling here to get it outside the scope of the YUI block.
|
||||||
|
function setFocusByName(name) {
|
||||||
|
// Focus the first element matching the given name which can be focused.
|
||||||
|
var nodes = document.getElementsByName(name);
|
||||||
|
var i, node;
|
||||||
|
for (i = 0; i < nodes.length; i++) {
|
||||||
|
node = nodes[i];
|
||||||
|
if (node.focus) {
|
||||||
|
try {
|
||||||
|
// Trying to focus a hidden element throws an error in IE8.
|
||||||
|
if (node.offsetHeight !== 0) {
|
||||||
|
node.focus();
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
LPJS.use('console', function(Y) {
|
||||||
|
Y.log('In setFocusByName(<' +
|
||||||
|
node.tagName + ' type=' + node.type + '>): ' + e);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectWidget(widget_name, event) {
|
||||||
|
if (event && (event.keyCode === 9 || event.keyCode === 13)) {
|
||||||
|
// Avoid firing if user is tabbing through or simply pressing
|
||||||
|
// enter to submit the form.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById(widget_name).checked = true;
|
||||||
|
}
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="/+icing/vanilla-framework-version-4.7.0.min.css" />
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="document" itemscope="" itemtype="http://schema.org/WebPage" class="tab-unknown
|
||||||
|
main_only
|
||||||
|
public
|
||||||
|
yui3-skin-sam">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="yui-d0">
|
||||||
|
<div id="locationbar" class="login-logout">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="logincontrol"><a href="https://launchpad.net/+login">Log in / Register</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div><!--id="locationbar"-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="maincontent" class="yui-main">
|
||||||
|
<div class="yui-b" dir="ltr">
|
||||||
|
<div class="context-publication">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="registration" class="registering">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="request-notifications">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Is your project registered yet? -->
|
||||||
|
|
||||||
|
<div id="homepage" class="homepage">
|
||||||
|
|
||||||
|
<div class="top-portlet">
|
||||||
|
<img src="/@@/launchpad-logo-and-name.svg" class="homepage__logo" id="launchpad-logo-and-name" alt="Launchpad logo and name" />
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="u-fixed-width">
|
||||||
|
<form id="homepage-searchform" class="p-form p-form--inline" xml:lang="en" lang="en" dir="ltr" method="get" accept-charset="UTF-8" action="https://launchpad.net/+search">
|
||||||
|
<div class="p-form__group p-form--search">
|
||||||
|
<label for="search-input" class="u-off-screen">Search</label>
|
||||||
|
<div class="p-form__control u-clearfix">
|
||||||
|
<input id="search-input" type="search" name="field.text" value="" autofocus="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button id="search" class="p-button--positive" type="submit" value="Search Launchpad">Search</button>
|
||||||
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
LPJS.use('lp', function () {
|
||||||
|
setFocusByName('field.text');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="homepage-stats" class="u-text--muted">
|
||||||
|
<strong>49,106</strong> projects,
|
||||||
|
<strong>2,108,367</strong> bugs,
|
||||||
|
<strong>1,009,234</strong> branches,
|
||||||
|
<strong>119,025</strong> Git repositories,
|
||||||
|
<strong>3,185,634</strong> translations,
|
||||||
|
<strong>822,311</strong> answers,
|
||||||
|
<strong>76,426</strong> blueprints,
|
||||||
|
and counting...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div class="homepage-whatslaunchpad">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2>Launchpad</h2>
|
||||||
|
<h4>A software collaboration platform that provides</h4>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://bugs.launchpad.net/">Bug tracking</a></h4>
|
||||||
|
<p>One place to track bugs across project boundaries and tools</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://code.launchpad.net/">Code hosting</a> using <a href="https://git-scm.com/">Git</a></h4>
|
||||||
|
<p>Easy for anyone to get your project's code using Git</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/how-to/work-with-code-hosted-on-launchpad/create-and-manage-a-merge-proposal/">Code reviews</a></h4>
|
||||||
|
<p>Full control of who can land code in your project remains with you</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://launchpad.net/ubuntu">Ubuntu package building and hosting</a></h4>
|
||||||
|
<p>Publishing your software is simple with Personal Package Archives</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row p-divider">
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://translations.launchpad.net/">Crowd source translations</a></h4>
|
||||||
|
<p>Build an open community to translate your software into almost any language</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://documentation.ubuntu.com/launchpad/user/Teams/MailingLists">Mailing lists</a></h4>
|
||||||
|
<p>Find and work with the right people by building a social network of individuals and teams around projects</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://answers.launchpad.net/">Answer tracking and FAQs</a></h4>
|
||||||
|
<p>Free software thrives on people helping each other when the unexpected happens</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 p-divider__block">
|
||||||
|
<h4><a href="https://blueprints.launchpad.net/">Specification tracking</a></h4>
|
||||||
|
<p>Track ideas and chunks of work as “blueprints”</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-getstarted">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Get started</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<span>
|
||||||
|
Learn more about Launchpad in the
|
||||||
|
<a href="https://documentation.ubuntu.com/launchpad/">user guide</a>.
|
||||||
|
</span>
|
||||||
|
If you're ready, you can:
|
||||||
|
|
||||||
|
<ul class="p-matrix">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/add-homepage.png" alt="add">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+login">Create an account</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/tour-homepage.png" alt="tour">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/+tour">Take the tour</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" src="/@@/question-homepage.png" alt="question">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="https://answers.launchpad.net/">Find answers</a></h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="p-strip is-shallow">
|
||||||
|
<div id="homepage-featured">
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<h2 class="u-float-left">Featured projects</h2>
|
||||||
|
</div>
|
||||||
|
<div class="u-fixed-width u-clearfix">
|
||||||
|
<ul class="p-matrix featured-projects-list">
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Beautiful Soup" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/beautifulsoup">Beautiful Soup</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>A program designed for screen-scraping HTML. The discussion group is at: http://groups.google.com...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Inkscape" src="https://launchpadlibrarian.net/66795469/ink-lp-logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/inkscape">Inkscape</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Inkscape is an SVG-based graphics editor featuring alpha
|
||||||
|
blending, node editing, SVG to PNG exp...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Launchpad itself" src="https://launchpadlibrarian.net/600817174/Canonical_Launchpad_icon_64px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpad">Launchpad itself</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Launchpad is a set of Web services to help software developers collaborate.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="launchpadlib " src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/launchpadlib">launchpadlib </a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Python client library for Launchpad's web service</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenMW" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openmw">OpenMW</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenMW is an attempt to reimplement the popular role playing game Morrowind. It aims to be a full...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenShot Video Editor" src="https://launchpadlibrarian.net/250357498/OpenShot-2-Logo.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openshot">OpenShot Video Editor</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>OpenShot Video Editor is a free, open-source, non-linear video editor. It can create and edit vid...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="OpenStack" src="https://launchpadlibrarian.net/52042558/os64.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/openstack">OpenStack</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing pl...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="txpkgupload" src="/@@/product-logo">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/txpkgupload">txpkgupload</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Package upload server used by Launchpad.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="p-matrix__item">
|
||||||
|
<img class="p-matrix__img" alt="Ubuntu" src="https://launchpadlibrarian.net/606381979/CoF%2064px.png">
|
||||||
|
<div class="p-matrix__content">
|
||||||
|
<h4 class="p-matrix__title"><a class="p-matrix__link" href="/ubuntu">Ubuntu</a></h4>
|
||||||
|
<div class="p-matrix__desc">
|
||||||
|
<p>Ubuntu is a complete Linux-based operating system, freely available with both community and profe...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="horizontal">
|
||||||
|
<li>
|
||||||
|
<strong><a href="/projects">Browse all
|
||||||
|
49106
|
||||||
|
projects</a>!</strong>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div><!-- homepage -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- yui-b -->
|
||||||
|
</div><!-- yui-main -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- yui-b side -->
|
||||||
|
|
||||||
|
<!-- yui-t4 -->
|
||||||
|
|
||||||
|
|
||||||
|
<div id="footer" class="footer">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="colophon">
|
||||||
|
© 2004
|
||||||
|
<a href="http://canonical.com/">Canonical Ltd.</a>
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.com/legal/launchpad-terms-of-service">Terms of use</a>
|
||||||
|
•
|
||||||
|
<a href="https://www.ubuntu.com/legal/dataprivacy">Data privacy</a>
|
||||||
|
•
|
||||||
|
<a href="/feedback">Contact Launchpad Support</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="http://blog.launchpad.net/">Blog</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://canonical.com/careers">Careers</a>
|
||||||
|
|
||||||
|
•
|
||||||
|
<a href="https://ubuntu.social/@launchpadstatus">System status</a>
|
||||||
|
<span id="lp-version">
|
||||||
|
•
|
||||||
|
b042f2d
|
||||||
|
|
||||||
|
|
||||||
|
(<a href="https://documentation.ubuntu.com/launchpad/developer/how-to/get-source-code/">Get the code!</a>)
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- yui-d0-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script id="json-cache-script">LP.cache = {"related_features": {}};</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Facet name: unknown
|
||||||
|
Page type: main_only
|
||||||
|
Has global search: True
|
||||||
|
Has application tabs: True
|
||||||
|
Has side portlets: False
|
||||||
|
|
||||||
|
At least 22 queries/external actions issued in 0.19 seconds
|
||||||
|
|
||||||
|
Features: {'profiling.enabled': None, 'hard_timeout': '5000', 'js.yui_version': None, 'app.maintenance_message': None, 'app.mainsite_only.canonical_url': None, 'baselayout.careers_link.disabled': None, 'visible_render_time': None}
|
||||||
|
|
||||||
|
rb042f2d
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
||||||
BIN
sysroot-arm64/libudev1_255.4-1ubuntu8.16_arm64.deb
Normal file
BIN
sysroot-arm64/libudev1_255.4-1ubuntu8.16_arm64.deb
Normal file
Binary file not shown.
BIN
sysroot-arm64/libudev1_255.4-1ubuntu8.5_arm64.deb
Normal file
BIN
sysroot-arm64/libudev1_255.4-1ubuntu8.5_arm64.deb
Normal file
Binary file not shown.
BIN
sysroot-arm64/libusb-1.0-0-dev_1.0.27-1_arm64.deb
Normal file
BIN
sysroot-arm64/libusb-1.0-0-dev_1.0.27-1_arm64.deb
Normal file
Binary file not shown.
BIN
sysroot-arm64/libusb-1.0-0_1.0.27-1_arm64.deb
Normal file
BIN
sysroot-arm64/libusb-1.0-0_1.0.27-1_arm64.deb
Normal file
Binary file not shown.
2311
sysroot-arm64/usr/include/libusb-1.0/libusb.h
Normal file
2311
sysroot-arm64/usr/include/libusb-1.0/libusb.h
Normal file
File diff suppressed because it is too large
Load diff
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so
Symbolic link
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
lib/aarch64-linux-gnu/libudev.so.1
|
||||||
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so.1
Symbolic link
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libudev.so.1.7.8
|
||||||
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so.1.7.8
Normal file
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libudev.so.1.7.8
Normal file
Binary file not shown.
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.a
Normal file
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.a
Normal file
Binary file not shown.
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so
Symbolic link
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libusb-1.0.so.0.4.0
|
||||||
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so.0
Symbolic link
1
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so.0
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libusb-1.0.so.0.4.0
|
||||||
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.4.0
Normal file
BIN
sysroot-arm64/usr/lib/aarch64-linux-gnu/libusb-1.0.so.0.4.0
Normal file
Binary file not shown.
|
|
@ -0,0 +1,11 @@
|
||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${prefix}/lib/aarch64-linux-gnu
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: libusb-1.0
|
||||||
|
Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace
|
||||||
|
Version: 1.0.27
|
||||||
|
Libs: -L${libdir} -lusb-1.0
|
||||||
|
Libs.private: -ludev
|
||||||
|
Cflags: -I${includedir}/libusb-1.0
|
||||||
BIN
sysroot-arm64/usr/share/doc/libudev1/NEWS.Debian.gz
Normal file
BIN
sysroot-arm64/usr/share/doc/libudev1/NEWS.Debian.gz
Normal file
Binary file not shown.
BIN
sysroot-arm64/usr/share/doc/libudev1/changelog.Debian.gz
Normal file
BIN
sysroot-arm64/usr/share/doc/libudev1/changelog.Debian.gz
Normal file
Binary file not shown.
287
sysroot-arm64/usr/share/doc/libudev1/copyright
Normal file
287
sysroot-arm64/usr/share/doc/libudev1/copyright
Normal file
|
|
@ -0,0 +1,287 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: systemd
|
||||||
|
Upstream-Contact: systemd-devel@lists.freedesktop.org
|
||||||
|
Source: https://www.freedesktop.org/wiki/Software/systemd/
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2008-2015 Kay Sievers <kay@vrfy.org>
|
||||||
|
2010-2015 Lennart Poettering
|
||||||
|
2012-2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2013-2015 Tom Gundersen <teg@jklm.no>
|
||||||
|
2013-2015 Daniel Mack
|
||||||
|
2010-2015 Harald Hoyer
|
||||||
|
2013-2015 David Herrmann
|
||||||
|
2013, 2014 Thomas H.P. Andersen
|
||||||
|
2013, 2014 Daniel Buch
|
||||||
|
2014 Susant Sahani
|
||||||
|
2009-2015 Intel Corporation
|
||||||
|
2000, 2005 Red Hat, Inc.
|
||||||
|
2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
|
||||||
|
2010 ProFUSION embedded systems
|
||||||
|
2010 Maarten Lankhorst
|
||||||
|
1995-2004 Miquel van Smoorenburg
|
||||||
|
1999 Tom Tromey
|
||||||
|
2011 Michal Schmidt
|
||||||
|
2012 B. Poettering
|
||||||
|
2012 Holger Hans Peter Freyther
|
||||||
|
2012 Dan Walsh
|
||||||
|
2012 Roberto Sassu
|
||||||
|
2013 David Strauss
|
||||||
|
2013 Marius Vollmer
|
||||||
|
2013 Jan Janssen
|
||||||
|
2013 Simon Peeters
|
||||||
|
License: LGPL-2.1+
|
||||||
|
|
||||||
|
Files: src/basic/siphash24.h
|
||||||
|
src/basic/siphash24.c
|
||||||
|
Copyright: 2012 Jean-Philippe Aumasson <jeanphilippe.aumasson@gmail.com>
|
||||||
|
2012 Daniel J. Bernstein <djb@cr.yp.to>
|
||||||
|
License: CC0-1.0
|
||||||
|
|
||||||
|
Files: src/shared/linux/*
|
||||||
|
src/basic/linux/*
|
||||||
|
Copyright: 2004-2009 Red Hat, Inc.
|
||||||
|
2011-2014 PLUMgrid
|
||||||
|
2001-2003 Sistina Software (UK) Limited.
|
||||||
|
2008 Ian Kent <raven@themaw.net>
|
||||||
|
1998 David S. Miller >davem@redhat.com>
|
||||||
|
2001 Jeff Garzik <jgarzik@pobox.com>
|
||||||
|
2006-2010 Johannes Berg <johannes@sipsolutions.net
|
||||||
|
2008 Michael Wu <flamingice@sourmilk.net>
|
||||||
|
2008 Luis Carlos Cobo <luisca@cozybit.com>
|
||||||
|
2008 Michael Buesch <m@bues.ch>
|
||||||
|
2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
|
||||||
|
2008 Jouni Malinen <jouni.malinen@atheros.com>
|
||||||
|
2008 Colin McCabe <colin@cozybit.com>
|
||||||
|
2018-2019 Intel Corporation
|
||||||
|
2007 Oracle.
|
||||||
|
2009 Wolfgang Grandegger <wg@grandegger.com>
|
||||||
|
1999 Thomas Davis <tadavis@lbl.gov>
|
||||||
|
2015 Sabrina Dubroca <sd@queasysnail.net>
|
||||||
|
1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
|
||||||
|
2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>
|
||||||
|
License: GPL-2 with Linux-syscall-note exception
|
||||||
|
|
||||||
|
Files: src/basic/sparse-endian.h
|
||||||
|
Copyright: 2012 Josh Triplett <josh@joshtriplett.org>
|
||||||
|
License: Expat
|
||||||
|
|
||||||
|
Files: src/basic/MurmurHash2.c
|
||||||
|
src/basic/MurmurHash2.h
|
||||||
|
src/libsystemd/sd-journal/lookup3.c
|
||||||
|
src/libsystemd/sd-journal/lookup3.h
|
||||||
|
Copyright: none
|
||||||
|
License: public-domain
|
||||||
|
You can use this free for any purpose. It's in the public domain. It has no
|
||||||
|
warranty.
|
||||||
|
|
||||||
|
Files: src/udev/ata_id/ata_id.c
|
||||||
|
src/udev/cdrom_id/cdrom_id.c
|
||||||
|
src/udev/dmi_memory_id/dmi_memory_id.c
|
||||||
|
src/udev/mtd_probe/mtd_probe.c
|
||||||
|
src/udev/mtd_probe/mtd_probe.h
|
||||||
|
src/udev/mtd_probe/probe_smartmedia.c
|
||||||
|
src/udev/scsi_id/scsi.h
|
||||||
|
src/udev/scsi_id/scsi_id.c
|
||||||
|
src/udev/scsi_id/scsi_id.h
|
||||||
|
src/udev/scsi_id/scsi_serial.c
|
||||||
|
src/udev/udevadm.c
|
||||||
|
src/udev/udevadm-control.c
|
||||||
|
src/udev/udevadm.h
|
||||||
|
src/udev/udevadm-info.c
|
||||||
|
src/udev/udevadm-monitor.c
|
||||||
|
src/udev/udevadm-settle.c
|
||||||
|
src/udev/udevadm-test-builtin.c
|
||||||
|
src/udev/udevadm-test.c
|
||||||
|
src/udev/udevadm-trigger.c
|
||||||
|
src/udev/udevadm-util.c
|
||||||
|
src/udev/udevadm-util.h
|
||||||
|
src/udev/udev-builtin-blkid.c
|
||||||
|
src/udev/udev-builtin.h
|
||||||
|
src/udev/udev-builtin-input_id.c
|
||||||
|
src/udev/udev-builtin-kmod.c
|
||||||
|
src/udev/udev-builtin-path_id.c
|
||||||
|
src/udev/udev-builtin-uaccess.c
|
||||||
|
src/udev/udev-builtin-usb_id.c
|
||||||
|
src/udev/udev-ctrl.h
|
||||||
|
src/udev/udevd.c
|
||||||
|
src/udev/udevd.h
|
||||||
|
src/udev/udev-event.c
|
||||||
|
src/udev/udev-event.h
|
||||||
|
src/udev/udev-node.c
|
||||||
|
src/udev/udev-node.h
|
||||||
|
src/udev/udev-rules.c
|
||||||
|
src/udev/udev-rules.h
|
||||||
|
src/udev/udev-watch.c
|
||||||
|
src/udev/udev-watch.h
|
||||||
|
src/udev/v4l_id/v4l_id.c
|
||||||
|
Copyright: 2003-2012 Kay Sievers <kay@vrfy.org>
|
||||||
|
2003-2004 Greg Kroah-Hartman <greg@kroah.com>
|
||||||
|
2004 Chris Friesen <chris_friesen@sympatico.ca>
|
||||||
|
2004, 2009, 2010 David Zeuthen <david@fubar.dk>
|
||||||
|
2005, 2006 SUSE Linux Products GmbH
|
||||||
|
2003 IBM Corp.
|
||||||
|
2007 Hannes Reinecke <hare@suse.de>
|
||||||
|
2009 Canonical Ltd.
|
||||||
|
2009 Scott James Remnant <scott@netsplit.com>
|
||||||
|
2009 Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
2009 Piter Punk <piterpunk@slackware.com>
|
||||||
|
2009, 2010 Lennart Poettering
|
||||||
|
2009 Filippo Argiolas <filippo.argiolas@gmail.com>
|
||||||
|
2010 Maxim Levitsky
|
||||||
|
2011 ProFUSION embedded systems
|
||||||
|
2011 Karel Zak <kzak@redhat.com>
|
||||||
|
2014 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2014 David Herrmann <dh.herrmann@gmail.com>
|
||||||
|
2014 Carlos Garnacho <carlosg@gnome.org>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 2010-2013 Tollef Fog Heen <tfheen@debian.org>
|
||||||
|
2011 Josh Triplett <josh@joshtriplett.org>
|
||||||
|
2013-2014 Michael Stapelberg <stapelberg@debian.org>
|
||||||
|
2013-2020 Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
|
2013-2022 Michael Biebl <biebl@debian.org>
|
||||||
|
2013 Daniel Schaal <farbing@web.de>
|
||||||
|
2013 Guido Günther <agx@sigxcpu.org>
|
||||||
|
2014-2015 Didier Roche <didrocks@ubuntu.com>
|
||||||
|
2014-2015 Marco d'Itri <md@linux.it>
|
||||||
|
2014-2017 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
|
||||||
|
2014 Ansgar Burchardt <ansgar@debian.org>
|
||||||
|
2014 Jon Severinsson <jon@severinsson.net>
|
||||||
|
2015-2019 Felipe Sateler <fsateler@debian.org>
|
||||||
|
2015 Adam Conrad <adconrad@debian.org>
|
||||||
|
2015 Andreas Henriksson <andreas@fatal.se>
|
||||||
|
2015 Christian Seiler <christian@iwakd.de>
|
||||||
|
2015 Julian Wollrath <jwollrath@web.de>
|
||||||
|
2016-2018 Evgeny Vereshchagin <evvers@ya.ru>
|
||||||
|
2016,2018 Laurent Bigonville <bigon@debian.org>
|
||||||
|
2016-2019 Dimitri John Ledkov <xnox@ubuntu.com>
|
||||||
|
2016,2019 Michael Prokop <mika@debian.org>
|
||||||
|
2016 Alexander Kurtz <alexander@kurtz.be>
|
||||||
|
2016 Antonio Ospite <ao2@ao2.it>
|
||||||
|
2016 Iain Lane <iain@orangesquash.org.uk>
|
||||||
|
2016 Simon McVittie <simon.mcvittie@collabora.co.uk>
|
||||||
|
2017-2018 Nicolas Braud-Santoni <nicolas@braud-santoni.eu>
|
||||||
|
2017-2019 Martin Pitt <mpitt@debian.org>
|
||||||
|
2017 Cyril Brulebois <kibi@debian.org>
|
||||||
|
2017 Ondřej Nový <onovy@debian.org>
|
||||||
|
2018-2019 Mert Dirik <mertdirik@gmail.com>
|
||||||
|
2018 Adam Borowski <kilobyte@angband.pl>
|
||||||
|
2018 Alf Gaida <agaida@siduction.org>
|
||||||
|
2018 Benjamin Drung <benjamin.drung@profitbricks.com>
|
||||||
|
2018 Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
|
||||||
|
2018 Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com>
|
||||||
|
2019-2021 Balint Reczey <balint.reczey@canonical.com>
|
||||||
|
2019-2021 Dan Streetman <ddstreet@canonical.com>
|
||||||
|
2019 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
||||||
|
2020-2021 Helmut Grohne <helmut@subdivi.de>
|
||||||
|
2020 Topi Miettinen <toiwoton@gmail.com>
|
||||||
|
2020 Youfu Zhang <zhangyoufu@gmail.com>
|
||||||
|
2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||||
|
2020 наб <nabijaczleweli@nabijaczleweli.xyz>
|
||||||
|
2021-2022 Luca Boccassi <bluca@debian.org>
|
||||||
|
2021-2022 Lukas Märdian <slyon@ubuntu.com>
|
||||||
|
2021 Frantisek Sumsal <frantisek@sumsal.cz>
|
||||||
|
2021 Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
|
||||||
|
2021 Jan Kiszka <jan.kiszka@web.de>
|
||||||
|
2021 Matthias Klumpp <matthias@tenstral.net>
|
||||||
|
2021 Salvatore Bonaccorso <carnil@debian.org>
|
||||||
|
License: LGPL-2.1+
|
||||||
|
|
||||||
|
License: Expat
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to
|
||||||
|
deal in the Software without restriction, including without limitation the
|
||||||
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
||||||
|
|
||||||
|
License: GPL-2 with Linux-syscall-note exception
|
||||||
|
NOTE! This copyright does *not* cover user programs that use kernel services
|
||||||
|
by normal system calls - this is merely considered normal use of the kernel,
|
||||||
|
and does *not* fall under the heading of "derived work". Also note that the
|
||||||
|
GPL below is copyrighted by the Free Software Foundation, but the instance of
|
||||||
|
code that it refers to (the Linux kernel) is copyrighted by me and others who
|
||||||
|
actually wrote it.
|
||||||
|
.
|
||||||
|
Also note that the only valid version of the GPL as far as the kernel is
|
||||||
|
concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x
|
||||||
|
or whatever), unless explicitly otherwise stated.
|
||||||
|
.
|
||||||
|
Linus Torvalds
|
||||||
|
.
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 of the License.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian and systems the full text of the GNU General Public
|
||||||
|
License version 2 can be found in the file
|
||||||
|
`/usr/share/common-licenses/GPL-2`
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
any later version.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 2 can be found in ‘/usr/share/common-licenses/GPL-2’.
|
||||||
|
|
||||||
|
License: LGPL-2.1+
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2.1, or (at your option)
|
||||||
|
any later version.
|
||||||
|
.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Lesser General Public License for more details.
|
||||||
|
.
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU Lesser General Public
|
||||||
|
License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’.
|
||||||
|
|
||||||
|
License: CC0-1.0
|
||||||
|
To the extent possible under law, the author(s) have dedicated all copyright
|
||||||
|
and related and neighboring rights to this software to the public domain
|
||||||
|
worldwide. This software is distributed without any warranty.
|
||||||
|
.
|
||||||
|
You should have received a copy of the CC0 Public Domain Dedication along with
|
||||||
|
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the CC0 1.0 Universal license can be
|
||||||
|
found in ‘/usr/share/common-licenses/CC0-1.0’.
|
||||||
1
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/README
Symbolic link
1
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/README
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../libusb-1.0-0/README
|
||||||
1
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/changelog.Debian.gz
Symbolic link
1
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/changelog.Debian.gz
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
../libusb-1.0-0/changelog.Debian.gz
|
||||||
121
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/copyright
Normal file
121
sysroot-arm64/usr/share/doc/libusb-1.0-0-dev/copyright
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
|
||||||
|
Wed, 13 Jun 2001 12:21:44 -0500.
|
||||||
|
|
||||||
|
It was downloaded from http://www.libusb.info
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Alan Ott
|
||||||
|
Alan Stern
|
||||||
|
Alex Vatchenko
|
||||||
|
Andrew Fernandes
|
||||||
|
Anthony Clay
|
||||||
|
Artem Egorkine
|
||||||
|
Aurelien Jarno
|
||||||
|
Bastien Nocera
|
||||||
|
Bei Zhang
|
||||||
|
Benjamin Dobell
|
||||||
|
Chris Dickens
|
||||||
|
Colin Walters
|
||||||
|
Dave Camarillo
|
||||||
|
David Engraf
|
||||||
|
David Moore
|
||||||
|
Davidlohr Bueso
|
||||||
|
Federico Manzan
|
||||||
|
Felipe Balbi
|
||||||
|
Florian Albrechtskirchinger
|
||||||
|
Francesco Montorsi
|
||||||
|
Francisco Facioni
|
||||||
|
Graeme Gill
|
||||||
|
Gustavo Zacarias
|
||||||
|
Hans Ulrich Niedermann
|
||||||
|
Hector Martin
|
||||||
|
Hoi-Ho Chan
|
||||||
|
Ilya Konstantinov
|
||||||
|
James Hanko
|
||||||
|
Joshua Blake
|
||||||
|
Karsten Koenig
|
||||||
|
Konrad Rzepecki
|
||||||
|
Kuangye Guo
|
||||||
|
Lars Wirzenius
|
||||||
|
Luca Longinotti
|
||||||
|
Martin Koegler
|
||||||
|
Matthias Bolte
|
||||||
|
Mike Frysinger
|
||||||
|
Mikhail Gusarov
|
||||||
|
Moritz Fischer
|
||||||
|
Nicholas Corgan
|
||||||
|
Omri Iluz
|
||||||
|
Orin Eman
|
||||||
|
Paul Fertser
|
||||||
|
Pekka Nikander
|
||||||
|
Rob Walker
|
||||||
|
Sean McBride
|
||||||
|
Sebastian Pipping
|
||||||
|
Simon Haggett
|
||||||
|
Thomas Röfer
|
||||||
|
Tim Roberts
|
||||||
|
Toby Peterson
|
||||||
|
Trygve Laugstøl
|
||||||
|
Uri Lublin
|
||||||
|
Vasily Khoruzhick
|
||||||
|
Vegard Storheil Eriksen
|
||||||
|
Vitali Lovich
|
||||||
|
Xiaofan Chen
|
||||||
|
Zoltán Kovács
|
||||||
|
Роман Донченко
|
||||||
|
xantares
|
||||||
|
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (C) 2001 Johannes Erdfelt <johannes@erdfelt.com>
|
||||||
|
Copyright (C) 2007-2009 Daniel Drake <dsd@gentoo.org>
|
||||||
|
Copyright (C) 2010-2012 Peter Stuge <peter@stuge.se>
|
||||||
|
Copyright (C) 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
||||||
|
Copyright (C) 2009-2013 Pete Batard <pete@akeo.ie>
|
||||||
|
Copyright (C) 2009-2013 Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
Copyright (C) 2010-2012 Michael Plante <michael.plante@gmail.com>
|
||||||
|
Copyright (C) 2011-2013 Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Copyright (C) 2012-2013 Martin Pieuchot <mpi@openbsd.org>
|
||||||
|
|
||||||
|
|
||||||
|
License of the libusb library and most examples except ezusb and fxload:
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the
|
||||||
|
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301 USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the LGPL license can be found
|
||||||
|
in the /usr/share/common-licenses/LGPL-2.1 file.
|
||||||
|
|
||||||
|
|
||||||
|
License of ezusb and fxload:
|
||||||
|
This source code is free software; you can redistribute it
|
||||||
|
and/or modify it in source code form under the terms of the GNU
|
||||||
|
General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
||||||
|
USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GPL license can be found
|
||||||
|
in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
29
sysroot-arm64/usr/share/doc/libusb-1.0-0/README
Normal file
29
sysroot-arm64/usr/share/doc/libusb-1.0-0/README
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# libusb
|
||||||
|
|
||||||
|
libusb is a library for USB device access from Linux, macOS,
|
||||||
|
Windows, OpenBSD/NetBSD, Haiku, Solaris userspace, and WebAssembly
|
||||||
|
via WebUSB.
|
||||||
|
It is written in C (Haiku backend in C++) and licensed under the GNU
|
||||||
|
Lesser General Public License version 2.1 or, at your option, any later
|
||||||
|
version (see COPYING).
|
||||||
|
|
||||||
|
libusb is abstracted internally in such a way that it can hopefully
|
||||||
|
be ported to other operating systems. Please see the PORTING
|
||||||
|
file for more information.
|
||||||
|
|
||||||
|
libusb homepage:
|
||||||
|
https://libusb.info/
|
||||||
|
|
||||||
|
Developers will wish to consult the API documentation:
|
||||||
|
http://api.libusb.info
|
||||||
|
|
||||||
|
Use the mailing list for questions, comments, etc:
|
||||||
|
http://mailing-list.libusb.info
|
||||||
|
|
||||||
|
- Hans de Goede <hdegoede@redhat.com>
|
||||||
|
- Xiaofan Chen <xiaofanc@gmail.com>
|
||||||
|
- Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
- Nathan Hjelm <hjelmn@cs.unm.edu>
|
||||||
|
- Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
|
||||||
|
(Please use the mailing list rather than mailing developers directly)
|
||||||
BIN
sysroot-arm64/usr/share/doc/libusb-1.0-0/changelog.Debian.gz
Normal file
BIN
sysroot-arm64/usr/share/doc/libusb-1.0-0/changelog.Debian.gz
Normal file
Binary file not shown.
121
sysroot-arm64/usr/share/doc/libusb-1.0-0/copyright
Normal file
121
sysroot-arm64/usr/share/doc/libusb-1.0-0/copyright
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
|
||||||
|
Wed, 13 Jun 2001 12:21:44 -0500.
|
||||||
|
|
||||||
|
It was downloaded from http://www.libusb.info
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Alan Ott
|
||||||
|
Alan Stern
|
||||||
|
Alex Vatchenko
|
||||||
|
Andrew Fernandes
|
||||||
|
Anthony Clay
|
||||||
|
Artem Egorkine
|
||||||
|
Aurelien Jarno
|
||||||
|
Bastien Nocera
|
||||||
|
Bei Zhang
|
||||||
|
Benjamin Dobell
|
||||||
|
Chris Dickens
|
||||||
|
Colin Walters
|
||||||
|
Dave Camarillo
|
||||||
|
David Engraf
|
||||||
|
David Moore
|
||||||
|
Davidlohr Bueso
|
||||||
|
Federico Manzan
|
||||||
|
Felipe Balbi
|
||||||
|
Florian Albrechtskirchinger
|
||||||
|
Francesco Montorsi
|
||||||
|
Francisco Facioni
|
||||||
|
Graeme Gill
|
||||||
|
Gustavo Zacarias
|
||||||
|
Hans Ulrich Niedermann
|
||||||
|
Hector Martin
|
||||||
|
Hoi-Ho Chan
|
||||||
|
Ilya Konstantinov
|
||||||
|
James Hanko
|
||||||
|
Joshua Blake
|
||||||
|
Karsten Koenig
|
||||||
|
Konrad Rzepecki
|
||||||
|
Kuangye Guo
|
||||||
|
Lars Wirzenius
|
||||||
|
Luca Longinotti
|
||||||
|
Martin Koegler
|
||||||
|
Matthias Bolte
|
||||||
|
Mike Frysinger
|
||||||
|
Mikhail Gusarov
|
||||||
|
Moritz Fischer
|
||||||
|
Nicholas Corgan
|
||||||
|
Omri Iluz
|
||||||
|
Orin Eman
|
||||||
|
Paul Fertser
|
||||||
|
Pekka Nikander
|
||||||
|
Rob Walker
|
||||||
|
Sean McBride
|
||||||
|
Sebastian Pipping
|
||||||
|
Simon Haggett
|
||||||
|
Thomas Röfer
|
||||||
|
Tim Roberts
|
||||||
|
Toby Peterson
|
||||||
|
Trygve Laugstøl
|
||||||
|
Uri Lublin
|
||||||
|
Vasily Khoruzhick
|
||||||
|
Vegard Storheil Eriksen
|
||||||
|
Vitali Lovich
|
||||||
|
Xiaofan Chen
|
||||||
|
Zoltán Kovács
|
||||||
|
Роман Донченко
|
||||||
|
xantares
|
||||||
|
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (C) 2001 Johannes Erdfelt <johannes@erdfelt.com>
|
||||||
|
Copyright (C) 2007-2009 Daniel Drake <dsd@gentoo.org>
|
||||||
|
Copyright (C) 2010-2012 Peter Stuge <peter@stuge.se>
|
||||||
|
Copyright (C) 2008-2013 Nathan Hjelm <hjelmn@users.sourceforge.net>
|
||||||
|
Copyright (C) 2009-2013 Pete Batard <pete@akeo.ie>
|
||||||
|
Copyright (C) 2009-2013 Ludovic Rousseau <ludovic.rousseau@gmail.com>
|
||||||
|
Copyright (C) 2010-2012 Michael Plante <michael.plante@gmail.com>
|
||||||
|
Copyright (C) 2011-2013 Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Copyright (C) 2012-2013 Martin Pieuchot <mpi@openbsd.org>
|
||||||
|
|
||||||
|
|
||||||
|
License of the libusb library and most examples except ezusb and fxload:
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the
|
||||||
|
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||||
|
MA 02110-1301 USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the LGPL license can be found
|
||||||
|
in the /usr/share/common-licenses/LGPL-2.1 file.
|
||||||
|
|
||||||
|
|
||||||
|
License of ezusb and fxload:
|
||||||
|
This source code is free software; you can redistribute it
|
||||||
|
and/or modify it in source code form under the terms of the GNU
|
||||||
|
General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
||||||
|
USA.
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GPL license can be found
|
||||||
|
in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "0.2",
|
"version": "0.2.2",
|
||||||
"date": "02.08.2026 um 09:34",
|
"build_date": "03.08.2026 um 14;01",
|
||||||
"description": "Messung von zwei Spannung und Steuerung von Relais",
|
"description": "Messung von zwei Spannung und Steuerung von Relais",
|
||||||
"features": [
|
"features": [
|
||||||
"ADS1115-Abfrage über go-i2c",
|
"ADS1115-Abfrage über go-i2c",
|
||||||
|
|
|
||||||
|
|
@ -45,11 +45,11 @@ func NewServer(port string, readVolt func(int) float64, toggle func(int), getRel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) Start() error {
|
func (s *Server) Start(certFile, keyFile string) error {
|
||||||
http.HandleFunc("/", s.handleIndex)
|
http.HandleFunc("/", s.handleIndex)
|
||||||
http.HandleFunc("/api/status", s.handleAPIStatus)
|
http.HandleFunc("/api/status", s.handleAPIStatus)
|
||||||
http.HandleFunc("/api/toggle", s.handleAPIToggle)
|
http.HandleFunc("/api/toggle", s.handleAPIToggle)
|
||||||
return http.ListenAndServe(s.port, nil)
|
return http.ListenAndServeTLS(s.port, certFile, keyFile, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
|
func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
<div class="footer-nav">
|
<div class="footer-nav">
|
||||||
Live-Aktualisierung aktiv <br>
|
Live-Aktualisierung aktiv <br>
|
||||||
<span style="font-size: 0.8em; color: #475569; margin-top: 5px; display: block;">
|
<span style="font-size: 0.8em; color: #475569; margin-top: 5px; display: block;">
|
||||||
Version v{{.Version}} ({{.BuildDate}})
|
Version {{.Version}} ({{.BuildDate}})
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue