Documente Academic
Documente Profesional
Documente Cultură
Tech Talks
Alex Eftimie
alex@rosedu.org
ROSEdu
16 decembrie 2009
1 Introducere
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
1 Introducere
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Introducere - de unde pornim
Introducere - de unde pornim
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Sistem de pachete - de ce?
Sistem de pachete - de ce?
versionare
Sistem de pachete - de ce?
versionare
dependent, e
Sistem de pachete - de ce?
versionare
dependent, e
platforme
ı̂n prezent, Debian suportă 11 platforme, printre care: i386,
amd64, arm, atom, powerpc
Cum funct, ionează
Repository - pentru utilizatori
o bază de pachete
pentru o versiune a distribut, iei
Ubuntu: jaunty, karmic, lucid ..., Debian: stable, unstable,
testing
grupare pe componente
main - pachete ment, inute de Canonical
universe - comunitatea
restricted - drivere closed source
multiverse - codecuri cu probleme de copyright
binar sau sursă
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Tipuri de pachete
binare
sursă
reale
virtuale
Exemplu: ubuntu-desktop, upb-programare
Ce este un .deb?
Ce este un .deb?
Source: jeopardy-client
Section: gnome
Priority: extra
Maintainer: Alex Eftimie <alex@eftimie.ro>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.1
Package: jeopardy-client
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Simple jeopardy game client
A simple client for a jeopardy game, developed for the USO
debian/changelog (exemplu)
dirs:
usr/bin
usr/share/jeopardy-client
usr/share/applications/
compat:
7
debian/rules (exemplu)
#!/usr/bin/make -f
# -*- makefile -*-
...
configure:
...
build:
...
install:
...
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
Generarea de pachete .deb (cont.)
Pas, i:
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Creăm numepachet.orig.tar.gz
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Creăm numepachet.orig.tar.gz
Aducem s, i dosarul debian/
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Creăm numepachet.orig.tar.gz
Aducem s, i dosarul debian/
Apelăm sudo dpkg-buildpackage
Generarea de pachete .deb (cont.)
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Creăm numepachet.orig.tar.gz
Aducem s, i dosarul debian/
Apelăm sudo dpkg-buildpackage
Pas, i:
Exportăm VERSION, DEBFULLNAME, DEBEMAIL
Aducem toate fis, ierele ı̂ntr-un dosar numepachet-versiunea
Creăm numepachet.orig.tar.gz
Aducem s, i dosarul debian/
Apelăm sudo dpkg-buildpackage
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Eyecandiness
Exemplu:
[Desktop Entry]
Name=Jeopardy
GenericName=Jeopardy
Icon=/usr/share/icons/gnome/scalable/emotes/face-monkey.svg
Comment=a jeopardy game client
Exec=jeopardy-client
Terminal=false
StartupNotify=false
Type=Application
Categories=Game;Simulation;
Pictograme
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Ce este un repository de fapt?
Ce este un repository de fapt?
+-conf
+-db
+-dists
|-codename
| |-main
| | |-binary-i386
| | | |-Packages
| | | |-Packages.gz
| | | |-Release
| | |-binary-...
| | +-source
| |-contrib
| | |-binary-...
| ...
+-incoming
+-pool
|-main
| |-a
| |-b
| |-c
| |-...
Configurarea unui repository
Face upload unui pachet ı̂n repository, folosind ssh sau ftp
Un fis, ier de configurare, ~
/.dupload.conf
package config;
$config::cfg{’myrepo’} = {
fqdn => "repo.com",
login => "username",
method => "scpb",
incoming => "/home/alex/public_html/apt/incoming/",
dinstall\_runs => 1
};
$config::cfg{’myrepo’}{preupload}{’changes’} = ’/bin/true’;
Comanda este simplă: dupload --to myrepo
numeprogram-versiunea.changes
Observat, ie: pe server va trebui să facem importdeb, de preferat ı̂n cron
1 Introducere
3 Pachete .deb
4 Eyecandiness
5 Depozit personal
6 Demonstrat, ie
Bibliografie / Legături
https://help.ubuntu.com/community/GnuPrivacyGuardHowto
http://library.gnome.org/devel/gtk/unstable/gtk-Stock-Items.html#
GTK-STOCK-ABOUT:CAPS
http://www.debian.org/doc/manuals/repository-howto/
repository-howto.en.html
The end
The end
Buh bye