Entwicklerguide-Allgemein

Aus easyVDR-Wiki
Zur Navigation springen Zur Suche springen

Allgemeines

Diese Seite ist Bestandteil der internen Seiten.

Über diese sind auch noch weitere Informationen zu speziellen Versionen wie der 1.0 verfügbar.

Grundsätze zur Entwicklung

Die Grundsätze sind eine starre Definition welche nur in begründetetn Ausnahmen angepasst wird:

  • Sprache für den End-User ist Deutsch
  • Möglichst einfache Inbetriebnahme
  • Installation erfolgt, wenn irgendwie möglich, ohne Eingaben des Nutzers
  • offline installierbar
  • Sourcen werden bereitgestellt
  • Plug&Play soweit mit vertretbarem Aufwand möglich
  • Keine unnötigen Änderungen an der Struktur damit der Lernbedarf für die User gering bleibt (Partitionen, Verzeichniss, Skriptnamen)
  • jeder User soll diese Distri seinen Wünschen entsprechend anpassen und verändern können
  • auf unverhergesehene Änderungen der User wird bei Updates begrenzt Rücksicht genommen, je nach Aufwand
  • Die Distri ist Komfortabel
  • Stromsparend
  • Geräuscharmer Betrieb
  • kurze Bootzeit
  • Auch ältere Hardware wird soweit sinnvoll möglich unterstützt
  • Updates müssen nichts nützen, sollen aber keinen Schaden bei Usern anrichten und auch möglichst offizielle easyVDR Features nicht negativ beinträchtigen
  • Versionierung: siehe Wiki
  • Verantwortlichkeiten
  • Wer ein Thema aktiv und/oder erfolgreich Bearbeitet hat, hat den Lead soweit nichts anderes abgesprochen wurde. Änderungswünsche sollten möglichst mit diesem Abgesprochen werden
  • Uwe hat das Vetorecht in technischen Themen

Aktuelle Designprinzipien

Tools

/usr/bin/easyvdr/system/suche.sh und sichern.sh können zum Extrahieren von Änderungen im Dateisystem genutzt werden.


Eine sinnvolle Ergänzung ist eine virtuelle Umgebung aufsetzen mit VM-Ware oder VirtualBox.


Deb's verändern

"ar x ...deb" entpackst das deb in einzende files
"ar r" packt diese wieder zusammen zu einem deb

GIT

aktuell im Test.

Mirror über GWDG

Als Info für alle Uploader: die Zeiten sind:

08:54 (bei Sommerzeit, =06:54 UTC und 07:54 Winterzeit)
20:54 (=18:54 UTC und 19:54 Winterzeit)

Ungünstig ist in dieser Zeit upzuloaden. Da gabs schon mal undefinierbare Zustände...

Hilfe dazu: Ein CD ISO braucht ca 5 Minuten zum Sync:

Zitat

2008/06/28 18:54:47 [15685] building file list
2008/06/28 18:59:04 [15685] send ftp4.gwdg.de [134.76.12.4] easyvdr (mirror)  live-cd/EasyVDR_0.6_live_beta.iso 700551168
2008/06/28 18:59:04 [15685] sent 700645236 bytes received 1569 bytes total size 3449933872 

Bis die Dinge dann auf http://ftp.gwdg.de zu finden sind dauert es dann noch eine Stunde mehr !r>(http://ftp.gwdg.de/pub/linux/easyvdr/)

Quelle ist: /var/www/vhosts/easy-vdr.de/httpdocs/downloads/pub

Unser Server

Nach Absprache wird für aktive Entwickler ein Zugang auf unserem Server bereitgestellt. Jeder Entwickler trägt selbst die Verantwortung für seine Uploads.
Vorraussetzung ist die Nennung der Adresse und Festnetznummer (Betreiber kann/will nicht alles kontrollieren und somit auch nicht für die Uploads aller Devs haften...). Diese Daten sind für die Mitglieder des "inneren Kreises" zugänglich.

Technisch geht das so: SSH Key an Martin oder Sinai senden.

Wir richten einen Linux User auf unserem Server ein.

Es gibt verschiedene Zugangsmöglichkeiten

  • SSH Login von Linux/Unix (inkl. MacOS) , bzw. mit Putty unter Windows (ssh [email protected] -p90xx)
  • MuCommander läuft unter Linux, MacOS, Windows
  • Dateitransfer per SCP unter Linux, unter Windows gibt es dazu WinSCP (www.easy-vdr.de Port 90xx ist bei Martin/Sinai zu erfragen)

User: wie abgesprochen; statt einem Passwort wird euer Key benötigt.

Was Ihr in eurem homdir unter ./public_html ablegt ist dann im Web zu finden unter http://www.easy-vdr.de/~user/. Beispiel: http://www.easy-vdr.de/~martin/

Auf diesem Weg sollen keine CD-ISOs oder ähnliches an Enduser verteilt werden. Wer einen solche Bedarf hat, weiss wohin er sich wenden muss: Martin/Sinai.

Wir richten Bedarf die Möglichkeit ein solche Dinge über unseren Mirror (GWDG) abzuwickeln.

Aktuell ist ein Download Counter im im Test.

Das ganze ist bewusst so designed, dass diese Funktion auch umgangen werden kann, und direkte Downloads vom Mirror nicht verhindert werden. Download funktioniert z.B. so:
http://www.easyvdr-forum.de/dl/easyVDR-0.9-A.iso
Das würde zwei Sachen tun:
1. das ISO direkt von unserem Mirror bei GWDG herunterladen.
2. Den Download Counter für diese Datei um eins erhöhen Downloadbar über diesen Weg sind die Dateien die in vordefinierten Pfaden liegen.:
$downloadDirs= array(
"http://ftp.gwdg.de/pub/linux/easyvdr/0.9/",
"http://ftp.gwdg.de/pub/linux/easyvdr/0.8/",
"http://ftp.gwdg.de/pub/linux/easyvdr/live-cd/"

Wenn Dateinamen doppelt sind wird die erste Datei genommen.

Repositorys

Hallo zusammen,

ich fände es recht hilfreich, wenn ich nicht immer alle VDR bezogenen CVS/SVN/HG repositories aufs neue über google suchen müsste, daher dachte ich, ich fang mal an die hier zu sammeln - Ergänzungen erwünscht! ;)

easyVDR

http://www.easy-vdr.de/sources/

VDR

Browse: ftp://ftp.cadsoft.de/vdr/

Treiber

multiproto:
Browse: http://www.jusst.de/hg/multiproto
Checkout: hg clone http://www.jusst.de/hg/multiproto

multiproto_plus:
Browse: http://www.jusst.de/hg/multiproto_plus/
Checkout: hg clone http://www.jusst.de/hg/multiproto_plus/

liplian:
Browse: http://mercurial.intuxication.org/hg/liplianindvb
Checkout: hg clone http://mercurial.intuxication.org/hg/liplianindvb

mantis:
Browse: http://www.jusst.de/hg/mantis/
Checkout: hg clone http://www.jusst.de/hg/mantis/

v4l-standard:
Browse: http://linuxtv.org/hg/v4l-dvb
Checkout: hg clone http://linuxtv.org/hg/v4l-dvb

Dvbloop (für Netceiver):
Browse: ?
Checkout: svn co https://svn.baycom.de/repos/dvbloop/

VDR-Plugins

skinenigmang:
Browse: http://andreas.vdr-developer.org/cgi-bin/cvsweb.cgi/EnigmaNG/
Checkout: cvs -z3 -d:pserver:[email protected]:/var/cvsroot checkout EnigmaNG

streamdev:
Browse: ?
Checkout: cvs -d:pserver:[email protected]:/var/cvsroot co streamdev

xineliboutput:
Browse: http://xineliboutput.cvs.sourceforge.net/xineliboutput/vdr-xineliboutput/
Checkout: cvs -z3 -d:pserver:[email protected]:/cvsroot/xineliboutput co -P vdr-xineliboutput

live:
Browse: http://www.vdr-developer.org/cgi-bin/cvsweb.cgi/live/
Checkout: cvs -d:pserver:[email protected]:/var/cvsroot co live

vdradmin-am:
Browse: http://andreas.vdr-developer.org/cgi-bin/cvsweb.cgi/vdradmin-am/
Checkout: cvs -z3 -d:pserver:[email protected]:/var/cvsroot checkout vdradmin-am
http://andreas.vdr-developer.org/vdradmin-am/download/vdradmin-am-3.6.2.tar.bz2

image:
Checkout: svn checkout svn://svn.berlios.de/vdr-image/trunk image

femon:
Browse: ?
Checkout: ?
Download: http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/vdr-femon-1.6.1.tgz
Homepage: http://www.saunalahti.fi/~rahrenbe/vdr/femon/

weatherng:
Download: http://www.glaserei-franz.de/VDR/Moronimo2/files/vdr-weatherng-0.0.10.tar.bz2

vompserver:
Download: http://www.loggytronic.com/dl/vdr-vompserver-0.3.0.tgz

Media Decoding/Encoding/Wiedergabe

ffmpeg:
Browse: http://svn.mplayerhq.hu/ffmpeg/trunk/
Checkout: svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

mplayer:
Browse: http://svn.mplayerhq.hu/mplayer/trunk/
Checkout: svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

xine-lib-1.2:
Browse: http://hg.debian.org/hg/xine-lib/xine-lib-1.2
Checkout: hg clone http://hg.debian.org/hg/xine-lib/xine-lib-1.2

xine-ui:
Browse: http://xine.cvs.sourceforge.net/xine/xine-ui/
Checkout: cvs -z3 -d:pserver:[email protected]:/cvsroot/xine co -P xine-ui

x264:
Snapshots: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

avisynth:
cvs -z3 -d:pserver:[email protected]:/cvsroot/avisynth2 co -r avisynth_3_0 avisynth

Diveres Zeug von Reel-Multimedia

Prekompilierte Tools:
Browse: ?
Checkout: svn co svn://reelbox.org/precompiled/

Mcli-Damon für Easyvdr:
Browse: ?
Download: http://www.baycom.de/download/netceiver/mcli-static-0.99.22.gz


Links zum Intel-onboard Grafiktreiber

DRM und AGPART Kernelmodule:
Code: [Auswählen]
git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel

X.org 2D:
Code: [Auswählen]
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel

LibDRM:
Code: [Auswählen]
git://anongit.freedesktop.org/git/mesa/drm

Releaseversion hier:
http://intellinuxgraphics.org/2008Q4.html

VDPAU

Web: http://jusst.de/vdpau/
VDPAU Xine-lib-1.2 Patche: http://www.jusst.de/vdpau/files/xine-lib-1.2/
SVN: svn co svn://jusst.de/xine-vdpau