Sourceforge download path handling

22 views
Skip to first unread message

NISHIYAMA, Tomoaki

unread,
Mar 3, 2011, 8:11:30 AM3/3/11
to LPM Users ML (JP)
おそらくSourceforgeのページ生成プログラムが変わったため
checking the latest version of paco ... ERROR: no available packages
になる問題の対応で二カ所変更した方が良さそうです。(片方でも動くようにはなる)
patchを
http://koke.asrc.kanazawa-u.ac.jp/lpm/lpm.sf-download-patch
においときます。

試しに13個くらい作ってみました。(velvetはバージョンの更新)
http://koke.asrc.kanazawa-u.ac.jp/lpm/repository/

なかなか便利。

依存関係の解決はシステムにdependするかlocal package として入れるかがあり得るから
難しいかな。

西山智明

Masahiro Kasahara

unread,
Apr 21, 2011, 1:11:41 PM4/21/11
to lpm-us...@googlegroups.com
西山さん、

すみません。パッチをありがとうございます。
いろいろ忙しくなっていて対応が遅れました。
確かにインストールすらできない状態になっていました。

頂いたパッチは少し改変して取り込んでみました。
現在のバージョンなら問題なくインストールができるはずです。
lpm ファイルも一部取り込んでみました。
自前のリポジトリ優先の場合には自前リポジトリを上に書いてください。

依存関係は難しいですね。設計時に検討はしたんですが、
Linux の distribution を決め打たないとあんまり便利じゃないので、
bundle だけできればいいのかなぁ、という気がしています。

笠原

2011/3/3 NISHIYAMA, Tomoaki <tomo...@kenroku.kanazawa-u.ac.jp>:

Tomoaki NISHIYAMA

unread,
May 2, 2011, 9:07:27 AM5/2/11
to lpm-us...@googlegroups.com, Tomoaki NISHIYAMA
笠原さん

source=http://sourceforge.net/projects/qseq2fastq/files/qseq2fastq/qseq2fastq%20zip/qseq2fastq.zip/download
と書いたときは
file名はdownloadではなく、qseq2fastq.zipになって欲しいので、

if($operator eq 'source') {
$install_source_url = $argument;
$file_name = get_file_name_from_path($install_source_url);

の先のget_file_name_from_pathの方でdownloadを削っていたんですが、
get_file_name_from_pathに渡す前にurlからdownloadを削った文字列を作って
file_nameをとりだすのは、まああんまり美しくないわけで、
get_file_name_from_pathの中でdownloadを特別扱いするのがかっこ悪いとすると、
いっそ、get_file_name_from_uri()でも作った方がいいんでないかと思います。

(svn+)tracに入れてみましたので、変更は以下のように。
http://koke.asrc.kanazawa-u.ac.jp/trac/lpm/changeset?old_path=%2Flpm%2Fbin&old=15&new_path=%2Flpm%2Fbin&new=16

HTTP requestを実行して2段くらいLocation:で飛ばされたあとにでる
Content-Disposition: attachment; filename="qseq2fastq.zip"
からfilenameを回収するともっとgeneralにはなりますが、わざわざファイル名をとるためだけに、
聞きにいくのはやっぱりなんか無駄っぽいのは否めない。
(しかもいつもattachmentでfilenameが返ってくるとは限らない)
...
別の設計パターンは、download_from_url_and_save_to_fileでfile名を指定せずdirectoryのみ
指定して、file名は返り値で返す手もありそうではありますが、変更が大きい割にメリットはまだ限定的、、
ということで、当面は安直にurlから予想しとくんでいいと思うので、上記の程度の変更です。
--
Tomoaki NISHIYAMA

Advanced Science Research Center,
Kanazawa University,
13-1 Takara-machi,
Kanazawa, 920-0934, Japan

Masahiro Kasahara

unread,
May 4, 2011, 7:03:10 PM5/4/11
to lpm-users-jp
西山さん、

ダウンロード用の URL からファイル名が取れないパターンは山ほどあって(特に cgi が絡む場合)、
個別対処をするのはしんどいので、source と file を両方書いて貰うのが当初の設計思想です。

とはいいつつも、今回の場合には

>source=http://sourceforge.net/projects/qseq2fastq/files/qseq2fastq/qseq2fastq%20zip/qseq2fastq.zip/download

こう書く代わりに

source=http://sourceforge.net/projects/qseq2fastq/files/qseq2fastq/qseq2fastq%20zip/qseq2fastq.zip

と書いて欲しいです。さっき試した範囲ではこれで動いていました。
ブラウザからコピーしてきたのだとは思いますが。

sourceforge 限定なら

getlatest qseq2fastq http://sourceforge.net/projects/qseq2fastq/files/

こんなコマンドでもあって、常に最新版をダウンロードするのが目的なら
これを使って欲しいところです。sourceforge 以外にも対応しようと思って
作っていたのですが、今のところ sourceforge 決め打ちです。
こちらも試して動くことを確認しました。

笠原


2011/5/2 Tomoaki NISHIYAMA <tomo...@kenroku.kanazawa-u.ac.jp>:

Reply all
Reply to author
Forward
0 new messages