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
Hack cpanm?
Search
Shoichi Kaji
March 25, 2015
420
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hack cpanm?
Gotanda.pm Perl Technology Conference #4 2015.03.25
Shoichi Kaji
March 25, 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
180
cpm at PerlCon 2019
skaji
0
150
Perl5 Package Manager
skaji
0
790
Internal of cpm
skaji
0
660
How to execute external programs in Perl
skaji
3
740
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
エンジニアに許された特別な時間の終わり
watany
107
250k
Code Review Best Practice
trishagee
74
20k
Writing Fast Ruby
sferik
630
63k
The SEO Collaboration Effect
kristinabergwall1
1
480
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Unsuck your backbone
ammeep
672
58k
How to make the Groovebox
asonas
2
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
Hack cpanm? Shoichi Kaji
About Me • Shoichi Kaji • id: skaji / shoichikaji
/ ks0608 • cpan modules: • App::RemoteCommand • App::FatPacker::Simple
࣍ • cpanm ͱ • cpanm ͷ͕͜͜͜͏ͳΔͱ͍͍ • YAPC::Asia 2013
miyagawa • What can i do? • ༨ஊ : ੲɺplugin system ͱ͍͏ͷ͕͋ͬͨΒ͍͠ • ·ͱΊ
cpanm ͱ • miyagawa ͞Μ͕࡞͍ͬͯΔ cpan client • Very Simple,
ALL IN ONE! • ͨͩ cpanm Plack ͱΕ Plack ͕͑Δɻ
cpanm ͷ͕͜͜͜͏ͳΔͱ͍ ͍ • cpanm ͷ ~ ͷػೳΛଞͷίʔυͰ͍͍ͨ • ྫɿmetadata
ݕࡧ • ྫɿmodule search • cpanm ͷ ~ ͷػೳΛ؆୯ʹม͑ΒΕΔΑ͏ʹͯ͠ཉ͍͠ • ྫɿmodule search • ྫɿґଘؔղܾͷͱ͜ΖͰ ~ ͢Δ
ྫɿmetadata ݕࡧ • cpanm Λ parent ʹͯ͠ίʔυΛॻ͍ͨΒ… • -> https://metacpan.org/pod/Distribution::Metadata
YAPC::Asia 2013 miyagawa • https://speakerdeck.com/miyagawa/whats- new-in-carton-and-cpanm-at-yapc-asia-2013 • cpanm 1.8, cpanfile
1.1, carton 1.1 ͚ͯ • miyagawa ͞ΜࣗਐԽͤ͞ΔͱݴͬͯΔʂ • ͚ͩͲ͍·͍ͪਐΜͰͳ͍ɻ
What can i do?
None
• cpanm module ͷ search ํ๏ͱͯ͠ɺݱ ঢ়Ͱ͍Ζ͍ΖͳͷʹରԠ͍ͯ͠Δɻ͕ɺ ͜ΕΛͬͱ൚༻తʹ͢ΔͨΊʹ CPAN::Common::Index
ʹ͢ΔͷͲ͏͔ɻ
Let’s use CPAN::Common::Index!
just a trial • https://github.com/shoichikaji/cpanminus/ tree/use-common-index • Extract search related
code from cpanm • CPAN::Common::Index::MetaCPAN • add experimental git distribution support
ੲɺplugin γεςϜͱ͍͏ͷ͕ ͋ͬͨΒ͍͠ • https://github.com/miyagawa/cpanminus/commit/ 62ec1f75 • perl Β͍͔͍͍ͬ͜͠ίʔυʂ •
͕ɺ෦ʹΞΫηε͞ΕΔͷͰ͍Ζ͍Ζେมͦ͏ • Changes ʹΑΔͱ2010/02~2010/04 ͷ 2ϲ݄ͷ໋…
·ͱΊ • cpanm ͍͢͝ɻ • ͰɺͻͱΓͰશ෦Γ͗͢ײ͕͋Δ • ػೳΛϥΠϒϥϦʹͯ͠ൈ͖ग़ͤΔͱ͍Ζ͍Ζ͍͍ • plugin
γεςϜʹظ • ·ͩ·ͩ hack Ͱ͖Δͱ͜Ζ͕ͨ͘͞Μ͋Δʂ