64
なれる! Debian開発者 45分でわかる?メンテナ入門 Hideki Yamane (Debian Project:Debian JP Project/Debian Developer) <henrich @ debian.org/.or.jp> http://wiki.debian.org/HidekiYamane

なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Embed Size (px)

Citation preview

Page 1: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

なれる! Debian開発者45分でわかる?メンテナ入門

Hideki Yamane (Debian Project:Debian JP Project/Debian Developer)

<henrich @ debian.org/.or.jp>http://wiki.debian.org/HidekiYamane

Page 2: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

今回のお話について

✔ 気楽に話をするセッションです :-)✔ あくまでも私から見た視点です。 「こんな見方があるんだよ」と思って下さい

✔ 質問は後でまとめてお願いします。✔ 最初にお名前をお願いします✔ 周りの人に聞こえるようにハッキリ発言ください✔ オフレコな話の場合は皆さん心の中にしまっておいてあげてください :-)

Page 3: なれる! Debian開発者 〜 45分でわかる? メンテナ入門
Page 4: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

self-introduction

● やまねひでき (Debian Developer, Debian Project/Debian JP Project)

● 仕事は小さな会社の社内システム管理系中心– AD でグループポリシーが、SMSが、とか– 「PC壊れた!」「Outlook の使い方が…」とか…

● 日々の息抜きに Debian をいじる日々。フォントまわりとか日本が開発元のソフトをパッケージに(2ch ブラウザ JD とか)

● Debian 関係なら何となくわかるので縁があってお話をさせていただくことになりました。

Page 5: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

よろしくお願いします

Page 6: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

本日のアジェンダ

● What's “Debian”?● 「パッケージ」について

● 公式パッケージになるには?● 「メンテナ」って何する人?

● その作業内容● メンテナの種類 ー 違いは何?● なってみよう!

Page 7: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Welcome! Debian!

Page 8: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

What is “Debian”?

ディストリビューション名プロジェクト名

● 1993 年開発開始● 最初はたった一人の

大学生から

http://en.wikipedia.org/wiki/File:IanMurdockKeynote.jpg

Page 9: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

The Universal OS

あらゆるマシンでフリーなソフトウェアによるシステムを作り上げ、誰もが使えるOSを!

“Universal Studios” http://www.flickr.com/photos/caribb/148526165/

Page 10: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Server/EmbeddedServer/Embedded

Develop/ArtDevelop/Art

Office/EducationOffice/Education

Destkop/HobbyDestkop/Hobby

Page 11: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Consists of “packages”Consists of “packages”

Page 12: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

「公式な」Debianパッケージになるには?

Page 13: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Request/Declare package

DebianBugTrackingSystem

(BTS)

RFP

ITP

Negotiation&

packaging

※RFP = Request For Package※ITP = Intend To Package

Users &

Developers

Page 14: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Who can do RFP/ITP?

Who can do RFP or ITP?

users

Packagemaintainers

UpstreamDevelopers

YesYes

WeWe

Can!Can!

Page 15: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Package needs “maintainer”

Page 16: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Maintainer?

maintainer (複数形 maintainers)1.Someone who keeps or upholds something.

2.2.A person who does maintenance workA person who does maintenance work.

3.(dentistry) A device used to keep teeth in a given position.

(http://en.wiktionary.org/wiki/maintainerより)

Page 17: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

メンテナのお仕事

1.新しいパッケージを作ってリポジトリに追加

2.新しいバージョンに追随

3.バグ修正

4.パッケージのクオリティの向上

Page 18: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Create package!

Page 19: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Useful Tools for making package

dh-make

debhelper/cdbs

devscripts

Page 20: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Good Documents

New maintainers' guide(http://www.debian.org/doc/manuals/maint-guide/)

Page 21: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Useful Tools for checking package

•Policy compliant → Lintian •cleanroom build → pbuilder/cowbuilder

•install,uninstall,upgrade → piuparts

Page 22: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

lintian.debian.org

Page 23: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

piuparts.debian.org

Page 24: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

practice&mentoring

Page 25: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Package!Package!

Page 26: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

put package to repository

Negotiation&

PackagingUpload byDevelopers

upload by ftpmasters

New Queue

Official Repository

Strict check by ftpmasters

Page 27: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

After package comes to Debian

Page 28: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

パッケージになってから

Upstream(開発元)の変更に追随● なるべく固有パッチを取り入れてもらうようにする

BTS に報告されるバグの修正作業

Policy の更新に追随

Page 29: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

パッケージになってから

Upstream(開発元)の変更に追随● なるべく固有パッチを取り入れてもらうようにする

BTS に報告されるバグの修正作業

Policy の更新に追随

Page 30: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Watching new version

Page 31: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

DEHS – Debian External Health Checker

Page 32: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

DEHS – Debian External Health Checker

Page 33: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

パッケージになってから

Upstream(開発元)の変更に追随● なるべく固有パッチを取り入れてもらうようにする

BTS に報告されるバグの修正作業

Policy の更新に追随

Page 34: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Debian BTS

Page 35: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Fixing bugs!!

Page 36: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

パッケージになってから

Upstream(開発元)の変更に追随● なるべく固有パッチを取り入れてもらうようにする

BTS に報告されるバグの修正作業

Policy の更新に追随

Page 37: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

“POLICY”

パッケージは「Debian Policy」に従って作成される● 人によっては面倒という人もいるが、逆に気楽● ポリシー自体も適宜バージョンアップされている● オートチェッカ「lintian」でポリシー非依存はバレバレ

Page 38: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Maintainer's task (repeat)

Page 39: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

1.Create

Page 40: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

2. Watch & update

Page 41: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

3. Fixing bugs!!

Page 42: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

4. Improve package

Page 43: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Package!Package!

Page 44: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Now you get the package!

…Questions?

Page 45: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

To become Official package

Negotiation&

Packaging

Upload by

Developers

upload by ftpmasters

New Queue

Official Repository

Strict check by ftpmasters

Page 46: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Developer ≠ Maintainer

Page 47: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

3 kinds of maintainer

Package MaintainerPackage Maintainer

Debian Maintainer (DM)Debian Maintainer (DM)

Debian Developer (DD)Debian Developer (DD)

Page 48: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Difference?

Package Maintainer Debian Maintainer Debian Developer

メンテパッケージバグ報告の受信 ◎ ◎ ◎

既存パッケージ更新アップロード

× ○ ◎

新規パッケージアップロード

× × ◎

ビルドマシン利用

△ △ ◎

プロジェクト投票

× × ◎

LWN.net購読権 × ◎ ◎

Page 49: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Process

Package MaintainerPackage Maintainer

Debian Maintainer (DM)Debian Maintainer (DM)

Debian Developer (DD)Debian Developer (DD)

New Maintainer Process

adovocate

advocate advocate

advocate

sponsored

Page 50: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

To become package maintainer?

Make package!

and just sponsored the packageby DD

Page 51: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

To become DM?

Apply!

and just advocatedby DD

Page 52: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

DD? “New maintainer process”

Philosophy

my gnupg keyid are...

ID Check

Free, non-free...

See it

task&skill

Page 53: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

task&skill Questions

Q) Please find a bug to fix. Try to create a patch to fix it and submit this patch to the BTS (…)Q) For Debian package format, explain the difference between Depends, Recommends, Suggests and Enhances.Q) Which tools are available in Debian to help you with the handling of patches?

Page 54: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Maintainer and requirement

Package Maintainer → package sponsored Package Maintainer → package sponsored

Debian Maintainer (DM) → advocatedDebian Maintainer (DM) → advocated

Debian Developer (DD) → NM ProcessDebian Developer (DD) → NM Process

Page 55: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Difference?

Package Maintainer Debian Maintainer Debian Developer

メンテパッケージバグ報告の受信 ◎ ◎ ◎

既存パッケージ更新アップロード

× ○ ◎

新規パッケージアップロード

× × ◎

ビルドマシン利用

△ △ ◎

プロジェクト投票

× × ◎

LWN.net購読権 × ◎ ◎

Page 56: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Install package ≒ root privilege

Page 57: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Trust

Page 58: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

In Japan, Join US!

Debian JP Project (http://www.debian.or.jp)

Page 59: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Go to Debian Study Meeting

東京/関西エリア Debian 勉強会● 毎月一回Debianに関する勉強会を開催中● Debian公式開発者に会ったり● 最新情報入手したり、自分のネタを披露したり

● 11/19 @ OSC東京● 12/25 @ 予定:大阪(第四日曜日)● … and more!

● 詳しくは Debian JP Blog / twitter: @debianjp

Page 60: なれる! Debian開発者 〜 45分でわかる? メンテナ入門
Page 61: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Any Questions?● To become official package...● Maintainers' work...● Tools - dh-make/debhelper/pbuilder/piuparts...● Package maintainer/Debian Maintainer/Debian

Developer...● Etc.

Page 62: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

“Rock solid stablestable”

Page 63: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

Thank you.

Page 64: なれる! Debian開発者 〜 45分でわかる? メンテナ入門

pictures• http://wiki.debian.org/DebianArt/Themes/SpaceFun

• I Am, Who I Am – 18/365http://www.flickr.com/photos/filmyz/4712557308/by Jeff Filman

• A successful tool is one that was used to do something undreamed of by its author.http://www.flickr.com/photos/katerha/5746905652/By katerha

● Package!http://www.flickr.com/photos/halfbisqued/2353845688/By Beck Gusler

● Thinkinghttp://www.flickr.com/photos/nachoissd/3499105933/

● Binoculars portrait (dscn4659_mod_vign_sm)http://www.flickr.com/photos/gerlos/3119891607/

● These animals bite!http://www.flickr.com/photos/amagill/483539408/By Andrew Magill

● Shaking Handshttp://www.flickr.com/photos/aidan_jones/1234618279

http://www.flickr.com/photos/mikebaird/2928025358/

● Questions:http://www.flickr.com/photos/42788859@N00/318947873/

● Debian Spiralhttp://www.flickr.com/photos/apardo/36022037/by Antonio PardoCreative Commons Attribution-Share Alike 2.0 Generic

● Booksby shutterhacks http://www.flickr.com/photos/shutterhacks/4474421855/