めんてなのおしごと

Sat, May 19, 2018 in debian

OSDN側の仕様変更に追随。

  1. 最新バージョンがブラウザ(Javascript)でしか表示されなくなって、uscanで取得できなくなった
  2. 要望を出した
  3. 対応としてRSS経由での取得が実装された
  4. …ということで debian/watch ファイルを書き換えて取得できるように
opts="uversionmangle=s/-beta/~beta/;s/-rc/~rc/;s/-preview/~preview/, \
pagemangle=s%<osdn:file url="([^<]*)</osdn:file>%<a href="$1">$1</a>%g, \
downloadurlmangle=s%projects/sawarabi-fonts/downloads%frs/redir\.php?m=iij&f=sawarabi-fonts%g;s/xz\//xz/" \
https://osdn.net/projects/sawarabi-fonts/releases/rss \
 https://osdn.net/projects/sawarabi-fonts/downloads/.*/sawarabi-mincho@ANY_VERSION@@ARCHIVE_EXT@/ debian uupdate

…自分でも何やってるか、よくわからなくなる。

  • https://osdn.net/projects/sawarabi-fonts/releases/rss が取得元のファイルなのだけど、RSSでxmlなのでHTMLではない。
  • で、uscan は <a href="foobar.html"</a> のような記述から対象のファイルを探している(これに気付くのにしばらくかかった)
  • RSSを pagemangle オプションで無理やり書き換えてa hrefを作り出す
  • これで最新版のバージョン自体は取得できる…のだが、osdnはミラーサーバーにリダイレクトするので、取得先がそのページのHTMLになってしまう
  • リダイレクト先のURLにdownloadurlmangleオプションで無理やり書き換え。ミラーサーバーはIIJ決め打ちになっちゃうが仕方がない。

ここまでやって、とりあえずfonts-sawarabi-michonパッケージのアップデートをした。


debootstrapのregressionな部分を直す提案…とはいっても、先方のコードをそのまま頂いて調整するだけなのだけど。 set -- -O "$dest" "$from" "$@" は $@ に -O $dest $from を追加している。shellscriptはこんなふうにも指定できるのね。