dh-make-perl

90
dh-make-perl Empaquetament i test de mòduls de Perl per a Ubuntu a la manera de Debian (Barcelona.pm) Alex Muntada <[email protected]>

Upload: alex-muntada

Post on 18-May-2015

1.440 views

Category:

Technology


0 download

DESCRIPTION

Empaquetament i test de mòduls de Perl per a Ubuntu a la manera de Debian

TRANSCRIPT

Page 1: dh-make-perl

dh-make-perlEmpaquetament i test de mòduls de Perl

per a Ubuntu a la manera de Debian

(Barcelona.pm)

Alex Muntada<[email protected]>

Page 2: dh-make-perl

Barcelona.pm 2

Introducció

Page 3: dh-make-perl

Barcelona.pm 3

La manera clàssica de Perl

Page 4: dh-make-perl

Barcelona.pm 4

cd Flick-Upload-1.32

perl Makefile.PL

make

make test

make install

Page 5: dh-make-perl

Barcelona.pm 5

La manera ràpida de Perl

Page 6: dh-make-perl

Barcelona.pm 6

cpan Flickr::Upload

Page 7: dh-make-perl

Barcelona.pm 7

La manera ràpida de Debian

Page 8: dh-make-perl

Barcelona.pm 8

(també per a Ubuntu)

Page 9: dh-make-perl

Barcelona.pm 9

sudo apt-get install dh-make-perl

sudo apt-get install devscripts

Page 10: dh-make-perl

Barcelona.pm 10

dh-make-perl --cpan Flickr::Upload

(cd Flickr-Upload-1.32 && debuild)

Page 11: dh-make-perl

Barcelona.pm 11

sudo dpkg -i \

libflickr-upload-perl_*.deb

Page 12: dh-make-perl

Barcelona.pm 12

Una manera més

complicada...

Page 13: dh-make-perl

Barcelona.pm 13

...però alhora interessant,

Page 14: dh-make-perl

Barcelona.pm 14

el PPA del Launchpad

Page 15: dh-make-perl

Barcelona.pm 15

dh-make-perl --cpan Flickr::Upload \

--version 1.32-0~alexm1

(cd Flickr-Upload-1.32

&& debuild -S -sa)

Page 16: dh-make-perl

Barcelona.pm 16

dput ppa \

libflickr-upload-perl_*.changes

Page 17: dh-make-perl

Barcelona.pm 17

sleep 1200

Page 18: dh-make-perl

Barcelona.pm 18

(el Launchpad

accepta la petició)

Page 19: dh-make-perl

Barcelona.pm 19

sleep 1200

Page 20: dh-make-perl

Barcelona.pm 20

(acabada la construcció

del paquet binari a les

granges del Launchpad)

Page 21: dh-make-perl

Barcelona.pm 21

sudo apt-get update

sudo apt-get install \

libflickr-upload-perl

Page 22: dh-make-perl

Barcelona.pm 22

Detalls

Page 23: dh-make-perl

Barcelona.pm 23

debian/changelog

Page 24: dh-make-perl

Barcelona.pm 24

libflickr-upload-perl (1.32-0~alexm1) hardy; urgency=low

* Initial Release.

-- Alex Muntada <[email protected]> Wed, 24 Sep 2008 00:18:19 +0200

Page 25: dh-make-perl

Barcelona.pm 25

Nomenclatura dels

números de versió

Page 26: dh-make-perl

Barcelona.pm 26

Upstream version: 1.32

+ Debian version: -0

[+ Ubuntu version: ubuntu1]

+ Custom version: ~alexm1

1.32-0~alexm1

Page 27: dh-make-perl

Barcelona.pm 27

Distribució sobre la que cal

construir el paquet binari

Page 28: dh-make-perl

Barcelona.pm 28

stable; testing; unstable;

(Debian)

Page 29: dh-make-perl

Barcelona.pm 29

gutsy; hardy; intrepid;

(Ubuntu)

Page 30: dh-make-perl

Barcelona.pm 30

debian/control

Page 31: dh-make-perl

Barcelona.pm 31

Source: libflickr-upload-perlSection: perlPriority: optionalBuild-Depends: debhelper (>= 5.0.0), libxml-parser-lite-tree-perl (>= 0.03), libwww-perl (>= 1), libflickr-api-perl (>= 0.07)Build-Depends-Indep: perl (>= 5.8.8-12)Maintainer: Alex Muntada <[email protected]>Standards-Version: 3.7.3Homepage: http://search.cpan.org/dist/Flickr-Upload/Package: libflickr-upload-perlArchitecture: all

Depends: libxml-parser-lite-tree-perl (>= 0.03), libwww-perl (>= 1), libflickr-api-perl (>= 0.07)Description: Module for uploading images to flickr.com Upload an image to flickr.com. . This description was automagically extracted from the module by dh-make-perl.

Page 32: dh-make-perl

Barcelona.pm 32

Incloure l'arxiu orginial...

(*.orig.tar.gz)

Page 33: dh-make-perl

Barcelona.pm 33

és el cas general si el mòdul

de Perl no està empaquetat

Page 34: dh-make-perl

Barcelona.pm 34

debuild -S -sa

Page 35: dh-make-perl

Barcelona.pm 35

Incloure només

les diferències...

(*.diff.gz)

Page 36: dh-make-perl

Barcelona.pm 36

en els casos en què

el paquet ja existeixi

prèviament a la distribució

Page 37: dh-make-perl

Barcelona.pm 37

debuild -S -sd

Page 38: dh-make-perl

Barcelona.pm 38

Launchpad

Page 39: dh-make-perl

Barcelona.pm 39

(Canonical)

Page 40: dh-make-perl

Barcelona.pm 40

https://launchpad.net/

Page 41: dh-make-perl

Barcelona.pm 41

Code

BugsBlueprints

Translations

Answers

Page 42: dh-make-perl

Barcelona.pm 42

PPA

Page 43: dh-make-perl

Barcelona.pm 43

Personal Package Archive

Page 44: dh-make-perl

Barcelona.pm 44

Servei personal de

compilació i distribució de

paquets binaris

Page 45: dh-make-perl

Barcelona.pm 45

https://launchpad.net/

~alex.muntada/

+editpgpkeys

Page 46: dh-make-perl

Barcelona.pm 46

https://launchpad.net/

codeofconduct

Page 47: dh-make-perl

Barcelona.pm 47

https://launchpad.net/

~alex.muntada/+archive

Page 48: dh-make-perl

Barcelona.pm 48

/etc/apt/sources.list

Page 49: dh-make-perl

Barcelona.pm 49

deb http://ppa.launchpad.net/alex.muntada/ubuntu hardy maindeb-src http://ppa.launchpad.net/alex.muntada/ubuntu hardy main

Page 50: dh-make-perl

Barcelona.pm 50

~/.dput.cf

Page 51: dh-make-perl

Barcelona.pm 51

[ppa]fqdn = ppa.launchpad.netmethod = ftpincoming = ~alex.muntada/ubuntu/login = anonymousallow_unsigned_uploads = 0

Page 52: dh-make-perl

Barcelona.pm 52

Tests

Page 53: dh-make-perl

Barcelona.pm 53

Shit happens!

Page 54: dh-make-perl

Barcelona.pm 54

(dependències, bugs, etc.)

Page 55: dh-make-perl

Barcelona.pm 55

pbuilder

és el vostre millor amic

Page 56: dh-make-perl

Barcelona.pm 56

permet construir

els paquets binarisen un entorn

net i controlat

Page 57: dh-make-perl

Barcelona.pm 57

sudo apt-get install pbuilder

sudo pbuilder create \

--debootstrapopts --variant=buildd

Page 58: dh-make-perl

Barcelona.pm 58

~/.pbuilderrc

Page 59: dh-make-perl

Barcelona.pm 59

# Enable these in /etc/apt/sources.list (default is main only)COMPONENTS="main universe"

# Add these extra sources (may contain other dependencies)OTHERMIRROR="deb http://ppa.launchpad.net/alex.muntada/ubuntu \ hardy main"

Page 60: dh-make-perl

Barcelona.pm 60

sudo pbuilder update \

--override-config

Page 61: dh-make-perl

Barcelona.pm 61

(opcionalment)

Page 62: dh-make-perl

Barcelona.pm 62

sudo pbuilder --execute \

--save-after-exec -- \

/usr/bin/apt-get install gnupg

Page 63: dh-make-perl

Barcelona.pm 63

Creació del paquet binari

Page 64: dh-make-perl

Barcelona.pm 64

(cd Flickr-Upload-1.32 \

&& debuild)

sudo pbuilder build \

libflickr-upload-perl_*.dsc

Page 65: dh-make-perl

Barcelona.pm 65

Creació del paquet amb

els fonts per al PPA

Page 66: dh-make-perl

Barcelona.pm 66

(cd Flickr-Upload-1.32 \

&& debuild -S -sa)

sudo pbuilder build \

libflickr-upload-perl_*.dsc

Page 67: dh-make-perl

Barcelona.pm 67

Extra

Page 68: dh-make-perl

Barcelona.pm 68

bzr-buildpackage

(i.e. bzr-builddeb)

Page 69: dh-make-perl

Barcelona.pm 69

Gestió dels canvis introduïts

pel procés d'empaquetament

Page 70: dh-make-perl

Barcelona.pm 70

sudo apt-get install bzr-builddeb

Page 71: dh-make-perl

Barcelona.pm 71

~/.bazaar/builddeb.conf

Page 72: dh-make-perl

Barcelona.pm 72

[BUILDDEB]builder = debuildsource-builder = debuild -S -sa

Page 73: dh-make-perl

Barcelona.pm 73

bzr whoami \

"Alex Muntada <[email protected]>"

Page 74: dh-make-perl

Barcelona.pm 74

bzr import-dsc --initial --to \

libflickr-upload-perl \

libflickr-upload-perl_*.dsc

Page 75: dh-make-perl

Barcelona.pm 75

cd libflickr-upload-perl

vi t/failupload.t

dch -v 1.32-0~alexm3

bzr commit

Page 76: dh-make-perl

Barcelona.pm 76

bzr builddeb -S

(cd ../build-area && sudo pbuilder \

build libflickr-upload-perl_*.dsc)

(cd ../build-area && dput ppa \

libflickr-upload-perl_*.changes)

Page 77: dh-make-perl

Barcelona.pm 77

(opcionalment)

Page 78: dh-make-perl

Barcelona.pm 78

https://launchpad.net/

~alex.muntada/

+editsshkeys

Page 79: dh-make-perl

Barcelona.pm 79

bzr launchpad-login alex.muntada

bzr push --create-prefix \

lp:~alex.muntada/\

+junk/libflickr-upload-perl

Page 80: dh-make-perl

Barcelona.pm 80

https://code.launchpad.net/

~alex.muntada

Page 81: dh-make-perl

Barcelona.pm 81

Què passa amb les noves

versions del mòdul?

Page 82: dh-make-perl

Barcelona.pm 82

Tranquils, tot controlat ;)

Page 83: dh-make-perl

Barcelona.pm 83

uscan --report

bzr merge-upstream --version=1.33 \

http://search.cpan.org/\

.../Flick-Upload-1.33.tar.gz

Page 84: dh-make-perl

Barcelona.pm 84

dch -v 1.33-0~alexm1 \

"New upstream version (1.33)"

bzr commit -m \

"New upstream version (1.33)"

Page 85: dh-make-perl

Barcelona.pm 85

Referències

Page 86: dh-make-perl

Barcelona.pm 86

https://help.launchpad.net/

Packaging/PPA

Page 87: dh-make-perl

Barcelona.pm 87

https://wiki.ubuntu.com/

PbuilderHowto

Page 88: dh-make-perl

Barcelona.pm 88

http://pkg-perl

.alioth.debian.org/

Page 89: dh-make-perl

Barcelona.pm 89

http://creativecommons.org/licenses/by-sa/2.5/es/deed.ca

Page 90: dh-make-perl

Barcelona.pm 90

^D