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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shoichi Kaji
April 17, 2015
Technology
73
0
Share
Distribution-Metadata
kichijoji.pm #3 LT 2015.04.17
Shoichi Kaji
April 17, 2015
More Decks by Shoichi Kaji
See All by Shoichi Kaji
go-exhaustruct linterのすすめ
skaji
0
120
Parallel::Pipesの紹介
skaji
2
1.1k
宿泊予約サイトにおける検索と料金計算の両立
skaji
2
4.2k
昔のGo, 今のGo ~比較, ソート編~
skaji
0
300
Perl Quiz
skaji
0
170
cpm at PerlCon 2019
skaji
0
150
Perl5 Package Manager
skaji
0
790
Internal of cpm
skaji
0
650
How to execute external programs in Perl
skaji
3
740
Other Decks in Technology
See All in Technology
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
570
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
110
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
160
AI時代に改めて考える、ドメイン駆動設計 - モデリングが「AIへの共通言語」になる
littlehands
7
2.4k
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
360
Pythonでベイズモデリング
soogie
0
180
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
330
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
15
14k
TypeScript で Platform SDK を作る技術
toiroakr
1
300
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
660
CloudFront VPCオリジンとVPC Latticeサービスの内部ALBをマルチアカウントで一元利用しよう
duelist2020jp
5
230
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
2
430
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
How to Ace a Technical Interview
jacobian
281
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
160
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Are puppies a ranking factor?
jonoalderson
1
3.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
380
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
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!