Gentoo Workshop Troisdorf Sebastian Pipping <sping@gentoo.org>



Ähnliche Dokumente
Geschrieben von: Stefan Sonntag, den 26. Juni 2011 um 09:45 Uhr - Aktualisiert Sonntag, den 26. Juni 2011 um 10:12 Uhr

ECLIPSE PLUG-IN. Redwood Anwendertage 2015

cs106 Informatiklabor Teil 1: Java-Installation

Hex Datei mit Atmel Studio 6 erstellen

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Von SVN zu Git. Daniel Willmann cbna

Git - Fast Version Control System

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

DER WING COMMANDER CD³² GUIDE

SJ OFFICE - Update 3.0

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

an Hand eines Beispiels Konsole

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

Internet online Update (Internet Explorer)

1. License Borrowing Verfahren

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

VNUML Projektpraktikum

Neuinstallation Einzelplatzversion

Checkliste Installation. Novaline Bautec.One

Installationsanleitung OpenVPN

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

So bringst du Prolog zum Laufen...

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Oracle. 1. Software-Download 2. Lifetime-Support

Geany Just Not Another Editor

Installationsanleitung Scanner des Deutschen Hausärzteverbandes

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Informatik 1 Tutorial

C++ mit Eclipse & GCC unter Windows

Python SVN-Revision 12

Softwareinstallation unter Linux

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012

Anleitung zur zweimaligen Installation einer Handelsplattform

Dokumentation owncloud PH Wien

PayPal PLUS für Shopware

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Neuinstallation Einzelplatzversion

Informationen zur Verwendung von Visual Studio und cmake

FTP-Server einrichten mit automatischem Datenupload für

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Magento Theming Ein Einstieg Rainer Wollthan

Eprog Starthilfe. 5. Oktober Einleitung 2

C ++ in der Computerlinguistik

Version 0.3. Installation von MinGW und Eclipse CDT

Migrationspfad zu BES 10 (1)

Installation und Inbetriebnahme von Microsoft Visual C Express

DVD Version 9.1. Netzwerkinstallation + VDE-Admin-Tool.

FreePDF XP Handbuch. Aktuelle Version bei Fertigstellung: FreePDF XP 1.0. Inhalt:

Portable Software-Installation mit pkgsrc

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Upload auf den Server. MegaZine3 MZ3-Tool3. Training: Server Upload Video 1-4

Wine - Windows unter Linux

Infrastruktur entwickeln mit Chef

PNP - RRD Graphen für Nagios

Kurzanleitung zu XML2DB

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Die Gentoo-Paketverwaltung

SharePoint Workspace 2010 Installieren & Konfigurieren

C A L D E R A G R A P H I C S. Wie geht das? Benutzen des Backup Verfahrens

1 Objektfilterung bei der Active Directory- Synchronisierung

Algorithmen mit Python

Grundinstallation von Windows 2003 ver 1.0

HTBVIEWER INBETRIEBNAHME

COSIDNS 2 ISPconfig3. Version 0.1 ( )

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Akonadi. Der PIM-Service für den freien Desktop. Tobias König. 30. März 2010

Clients in einer Windows Domäne für WSUS konfigurieren

Informatik I Tutorial

Oracle APEX Installer

Lokale Installation von DotNetNuke 4 ohne IIS

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Sourcecodeverwaltung

Dateisysteme. Lokale Linux Dateisysteme. Michael Kürschner (m

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

ERSTE SCHRITTE IM ONLINE CONTROL CENTER (OCC)

Installation und Lizenzierung

HP Software Patch- und Version-Notification

Shibboleth zum Mitmachen die AAR-Testumgebung 3ter AAR Workshop

Firewall Implementierung unter Mac OS X

Die autotools.eclass gestattet die Entwicklung von Programmen, die die neuesten Versionen von autconf/automake benötigen.

Embedded So)ware. Einrichten der Arbeitsumgebung

Installation des edu- sharing Plug- Ins für Moodle

Aktualisierung CHIPDRIVE Time Recording 4.0 auf CHIPDRIVE Time Recording 5.0

Installation des edu-sharing Plug-Ins für Moodle

Installationsanleitung

Installation und Konfiguration von X-Server Xming auf Windows XP

Installationsanleitung für R

OpenVPN unter Ubuntu Stand: 13. Januar 2015

Problembehebung LiveUpdate

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Präsentation zur Vorstellung meiner Bachelor-Arbeit beim BSE- Seminar. Vortrag von Patrick Bitterling

Das Internet Marketing Fundament

Konfiguration Zentyal 3.3 Inhaltsverzeichnis

Psyprax GmbH. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Installationsanweisung editit

Transkript:

* Gentoo Workshop Troisdorf Sebastian Pipping <sping@gentoo.org> 2015-08-01 Version 1.0 Licensed under CC-BY-SA 4.0

THEMEN Was leisten Ebuilds? Ablauf Paketierung Demo Overlay einrichten Echtes Ebuild entwickeln Werbung

WAS LEISTEN EBUILDS? (Im Vergleich zu "make install") Reproduzierbarkeit, "Dokumentation" Deinstallation gratis Unterstützung durch Eclasses Kollaboration mit anderen Weniger Wildwuchs in /usr/local/

ABLAUF PAKETIERUNG http://gpo.zugaina.org/ checken Download URL(s) besorgen Ebuild entwickeln Build-System verstehen Abhängigkeiten sammeln Lizenzen ausfindig machen Patches anfertigen Ebuild/Overlay veröffentlichen

IM TERMINAL mkdir media-sound/cava cd media-sound/cava cp TEMPLATE cava-0.3.2.ebuild while! ready; do ${EDITOR} cava-0.3.2.ebuild ebuild cava-0.3.2.ebuild \ manifest clean install done repoman full

EBUILD COMMAND # ebuild cava-0.3.2.ebuild \ manifest [clean] UP_TO_ACTION

ACTIONS / EBUILD FUNCTIONS (Auszug) # ebuild cava-0.3.2.ebuild \ manifest [clean] UP_TO_ACTION ACTION FUNCTION ------------------------------- 1. setup > pkg_setup 2. fetch. unpack > src_unpack. prepare > src_prepare. configure > src_configure. compile > src_compile. test > src_test 8. install > src_install

MEINE SHELL-FUNKTIONEN In ~/.bashrc: emci() {( set -x ebuild "$1" manifest clean install )} ecmc() {( set -x sudo ebuild "$1" manifest clean merge clean )} In der Shell: # emci cava-0.3.2.ebuild

DEMO Git-Overlay anlegen Unpriviligierten User freischalten Ebuild-Template vorstellen cava-ebuild zum Laufen bekommen

ÜBERSICHT ECLASSES (aktuell 215 Eclasses) Programmiersprachen python*, ruby*,... Build-Systeme cmake-utils, distutils-r1,... (Live- und) Snapshot-Ebuilds bzr, git-r3,... Desktop environments gnome*, xfconf,......

SPEZIELLE ERWÄHNUNG VERDIENEN... autotools eautoreconf eutils epatch, make_desktop_entry flag-o-matic Compile flags filtern games für Spiele linux-info Kernel config abfragen multilib get_libdir (lib32/lib64) toolchain-funcs tc-getcc unpacker unpack_deb versionator get_version_component_range

EBUILD HELPERS (außerhalb von Eclasses) /usr/lib64/portage/python2.7/ebuild-helpers/* die dobin doconfd dodir dodoc doenvd doexe dohard doheader dohtml doinfo doinitd doins dolib dolib.a dolib.so doman domo dosbin dosed dosym ecompress ecompressdir eerror einfo elog emake eqawarn ewarn fowners fperms keepdir newbin newconfd newdoc newenvd newexe newheader newinitd newins newlib.a newlib.so newman newsbin portageq prepall prepalldocs prepallinfo prepallman prepallstrip prepinfo prepman prepstrip /usr/lib64/portage/python2.7/phase-helpers.sh best_version diropts docinto docompress econf einstall exeinto exeopts has_version insinto insopts into libopts unpack use use_enable useq usev use_with

DEMO cava-ebuild ernst nehmen

HÄUFIGE UPSTREAM-FEHLER Sandbox violations ($DESTDIR) Falsche Annahmen über Pfade Downloads während Kompilierung/Tests Gebündelte Abhängigkeiten Feste CFLAGS/LDFLAGS Parallel make issues (make -j5) Ungefragtes Stripping von Binaries

DOWNSTREAM DON'Ts Niemals beim User Schaden anrichten Fail-Beispiel: rm -R "${typo}"/lib/ Nicht als root Ebuilds entwickeln Keine Tarballs, Bilder oder Binärdateien in Overlays ablegen

DEBUGGING Für eigenen Code: Bash-Bordmittel. Zum Debuggen von Eclasses: # ECLASS_DEBUG_OUTPUT=on ebuild... Außerdem geschrieben wird: /var/tmp/portage/${category}/${pf}/ temp/eclass-debug.log

CHECKLISTE (für diesen Vortrag) lddtree für Abhängigkeiten demonstriert? " die" und "nonfatal.." erwähnt? Eine Eclass im Texteditor geöffnet? Patch(es) für die Makefile eingebunden? Von Live-Ebuilds abgeraten?

WEITERFÜHRENDES MATERIAL Gentoo Development Guide https://devmanual.gentoo.org/ Project Sunrise https://wiki.gentoo.org/wiki/project:sunrise #gentoo-dev-help on Freenode IRC

WERBUNG Regelmäßige Updates app-admin/lib_users tmpfs auf /var/tmp/portage app-portage/porticron app-portage/overlint dev-util/image-bootstrap::betagarden dev-python/pychroot dev-util/meld x11-misc/grub2-theme-preview app-office/pinpoint

FRAGEN!