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')
|
||||
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
|
||||
LDFLAGS="-X 'main.Version=$VERSION' -X 'main.BuildDate=$DATE'"
|
||||
|
|
@ -25,14 +25,22 @@ mkdir app
|
|||
|
||||
# --- 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)
|
||||
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"
|
||||
|
||||
# 2. Für 32-Bit Raspberry Pi (Klassisch für Pi 3 / ältere OS)
|
||||
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"
|
||||
|
||||
# Dateiberechtigungen im Zielordner setzen
|
||||
|
|
@ -43,43 +51,79 @@ cp config.json ./app/
|
|||
cp version.json ./app/
|
||||
cp web ./app/ -r
|
||||
|
||||
# 3. Die Service-Datei generieren
|
||||
# Ein kleiner Bash-Wrapper in ExecStart sorgt dafür, dass automatisch das richtige Binary gestartet wird!
|
||||
# 3. Die Service-Datei mit Platzhaltern generieren
|
||||
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]
|
||||
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'
|
||||
|
||||
# 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
|
||||
StartLimitBurst=3
|
||||
|
||||
StandardOutput=append:TARGET_DIR/spannung.log
|
||||
StandardError=append:TARGET_DIR/spannung.log
|
||||
[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
|
||||
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:"
|
||||
ls -la app
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"web_port": ":8080",
|
||||
"i2c_bus": "1",
|
||||
"ssl_cert": "cert.pem",
|
||||
"ssl_key": "key.pem",
|
||||
"i2c_bus": "1",
|
||||
"ads1115_address_1": 72,
|
||||
"ads1115_address_2": 73,
|
||||
"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..."
|
||||
|
||||
# 1. Zielverzeichnis auf dem Pi erstellen
|
||||
ssh "$PI_USER@$PI_HOST" "mkdir -p \"\$HOME/$TARGET_DIR\""
|
||||
# --- ZERTIFIKATE ERZEUGEN ---
|
||||
# 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
|
||||
scp -r * "$PI_USER@$PI_HOST:$TARGET_DIR/"
|
||||
# 1. Altes Zielverzeichnis auf dem Pi löschen und frisch erstellen
|
||||
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" "
|
||||
cd \${HOME}/${TARGET_DIR}
|
||||
|
||||
echo \"📦 Kompiliere Anwendung nativ auf dem Raspberry Pi...\"
|
||||
# Korrigierter Go-Build für Modul-Projekte (.)
|
||||
go build -o spannung-aktiv .
|
||||
|
||||
REAL_PATH=\$(pwd)
|
||||
REAL_USER=\$(whoami)
|
||||
|
||||
echo \"🔧 Konfiguriere Systemd-Dienst...\"
|
||||
|
||||
# Windows-Zeilenumbrüche entfernen
|
||||
# Windows-Zeilenumbrüche zur Sicherheit entfernen
|
||||
sed -i 's/\r//' ./install.sh
|
||||
sed -i 's/\r//' ./${SERVICE_NAME}
|
||||
|
||||
# Platzhalter durch reale Systemwerte ersetzen
|
||||
sed -i \"s|TARGET_DIR|\$REAL_PATH|g\" ./${SERVICE_NAME}
|
||||
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}
|
||||
# Das Installationsskript auf dem Pi ausführen
|
||||
./install.sh
|
||||
"
|
||||
|
||||
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 {
|
||||
WebPort string `json:"web_port"`
|
||||
SSLCert string `json:"ssl_cert"`
|
||||
SSLKey string `json:"ssl_key"`
|
||||
I2CBus string `json:"i2c_bus"`
|
||||
ADS1115Address1 uint16 `json:"ads1115_address_1"`
|
||||
ADS1115Address2 uint16 `json:"ads1115_address_2"`
|
||||
|
|
@ -136,10 +138,14 @@ func main() {
|
|||
}()
|
||||
|
||||
// 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)
|
||||
log.Fatal(server.Start())
|
||||
fmt.Printf("Verschlüsselter HTTPS-Webserver gestartet auf Port %s...\n", config.WebPort)
|
||||
|
||||
// Ü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
|
||||
|
|
|
|||
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",
|
||||
"date": "02.08.2026 um 09:34",
|
||||
"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",
|
||||
|
|
|
|||
|
|
@ -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("/api/status", s.handleAPIStatus)
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
<div class="footer-nav">
|
||||
Live-Aktualisierung aktiv <br>
|
||||
<span style="font-size: 0.8em; color: #475569; margin-top: 5px; display: block;">
|
||||
Version v{{.Version}} ({{.BuildDate}})
|
||||
Version {{.Version}} ({{.BuildDate}})
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue