Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Distribution-Metadata
Search
Shoichi Kaji
April 17, 2015
Technology
0
67
Distribution-Metadata
kichijoji.pm #3 LT 2015.04.17
Shoichi Kaji
April 17, 2015
Tweet
Share
More Decks by Shoichi Kaji
See All by Shoichi Kaji
Parallel::Pipesの紹介
skaji
2
960
宿泊予約サイトにおける検索と料金計算の両立
skaji
2
3.9k
昔のGo, 今のGo ~比較, ソート編~
skaji
0
240
Perl Quiz
skaji
0
150
cpm at PerlCon 2019
skaji
0
120
Perl5 Package Manager
skaji
0
730
Internal of cpm
skaji
0
620
How to execute external programs in Perl
skaji
3
680
Writing Perl with w0rp/ale
skaji
0
2.3k
Other Decks in Technology
See All in Technology
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
170
Serverless Meetup #21
yoshidashingo
1
120
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
ZOZOTOWNの大規模マーケティングメール配信を支えるアーキテクチャ
zozotech
PRO
0
330
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
150
テストを実行してSorbetのsigを書こう!
sansantech
PRO
1
100
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
220
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
2k
AIに頼りすぎない新人育成術
cuebic9bic
3
310
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
220
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
160
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
22
5.2k
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Balancing Empowerment & Direction
lara
1
540
Docker and Python
trallard
45
3.5k
Visualization
eitanlees
146
16k
Bash Introduction
62gerente
614
210k
Facilitating Awesome Meetings
lara
54
6.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Side Projects
sachag
455
43k
Six Lessons from altMBA
skipperchong
28
3.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Music & Morning Musume
bryan
46
6.7k
Designing for humans not robots
tammielis
253
25k
Transcript
Distribution- Metadata Shoichi Kaji
What’s this? • **local** Ͱ distribution ͷ metadata ΛूΊΔͷ
Background • package (module) VS distribution (release) • eg: •
package: LWP::UserAgent • distribution: libwww-perl
Background • package <-> distribution ͷରԠΛΓ͍ͨ • Remote • MetaCPAN
API, CPAN MetaDB (using by cpanminus) • Local • cpanm 1.5+ ͔Β cpan module Πϯετʔϧ࣌ʹ distribution ͷ metadata (MYMETA.json, install.json) Λอଘ • Distribution::Metadata helps you find dist metadata in local
SYNOPSIS use Distribution::Metadata my $d = Distribution::Metadata->new_from_module(‘LWP::UserAgent’); $d->name; # libwww-perl
$d->version; # 6.13 $d->pathname; # E/ET/ETHER/libwww-perl-6.13.tar.gz $d->main_module; # LWP $d->main_module_version; # 6.13 $d->packlist; # path to .packlist file
When do we use D::M? • distribution ͷΞϯΠϯετʔϧ (like cpanm)
• App::FatPacker::Simple ͋Δ distribution Λ exclude ͢Δͱ͖ʹ D::M Λ͍ͬͯΔ
When do we use D::M? • module ͷґଘؔͷߏங (like carton)
• Perl::PrereqDistributionGatherer https://github.com/shoichikaji/Perl- PrereqDistributionGatherer
None
Wrap up • package <-> distribution ͷରԠ͕Γ͍ͨ • cpanm
cpan module Πϯετʔϧ࣌ʹ distribution ͷ metadata Λอଘ • Αͬͯ local Ͱ package ͱ distribution ͷ ରԠ͕Θ͔Δ • Distribution::Metadata helps that!