Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ドキュメントページのイメージファイルサイズ自動更新 #13

Open
tsutsui opened this Issue Feb 17, 2019 · 5 comments

Comments

Projects
None yet
1 participant
@tsutsui
Copy link
Owner

tsutsui commented Feb 17, 2019

現状の http://www.ceres.dti.ne.jp/tsutsui/netbsd/liveimage/ のページ自体が手書きHTMLでイケてないという問題ではあるが、現状各イメージのサイズおよび展開後のサイズが自動生成できるフォーマットになっておらず、更新リリースのたびに毎回手打ちしている。
(MD5についてはテキトーな自動更新スクリプトを作ってある)

さすがに頭悪すぎるので、 Live Image生成スクリプト中でファイルサイズをファイルに書き出すようにした上で、ページのフォーマットについても見直しして自動更新できるようにする。
(頻度が 2,3ヶ月に1回なので、ついサボりがち……)

@tsutsui

This comment has been minimized.

Copy link
Owner Author

tsutsui commented Apr 7, 2019

teokure-image-size-preview
とりあえずこんな感じで書いて sed かなんかで置き換えできるか検討中。
MD5だけを書くのではなくて pkgsrc の distinfo のように各種情報を全部書くファイルにして pkgsrc の設定を流用したいところだが、どこまで手間をかけるべきかというところ。

@tsutsui

This comment has been minimized.

Copy link
Owner Author

tsutsui commented Apr 7, 2019

pkgsrc の distinfo 生成は pkgsrc/mk/checksum/distinfo.awk にある。
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/mk/checksum/distinfo.awk?rev=1.5&content-type=text/x-cvsweb-markup

@tsutsui

This comment has been minimized.

Copy link
Owner Author

tsutsui commented Apr 7, 2019

distinfo 的出力をする場合のサイズの計算はとりあえず適当にこんな感じで

for image in ${IMAGES}; do
 (cd ${IMAGEDIR} && ${MD5} ${image} >> ${TARGET})
 (cd ${IMAGEDIR} && wc -c ${image} | \
  LANG=ja_JP.UTF-8 /usr/pkg/bin/gawk '{printf "Size (%s) = %\047d bytes\n","'${i
mage}'",$1 }' >> ${TARGET})
done

gunzip後、 unzip後のサイズを出すのはちょっとめんどくさいのでどうすべきか……

@tsutsui

This comment has been minimized.

Copy link
Owner Author

tsutsui commented Apr 7, 2019

gunzip後、 unzip後のサイズは頭悪くベタ書きでこんな感じで目的は果たせそう

# put sizes of uncompressed images
echo >> ${IMAGEDIR}/${TARGET}
#  for ${IMG_AMD64_USB}
 (cd ${WRK_AMD64_USB} && ${WC} -c ${IMG_AMD64_USB} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_AMD64_USB}'",$1 }' >> ${IMAGEDIR}/${TARGET})
#  for ${IMG_I386_EMU}
 (cd ${WRK_I386_EMU} && ${WC} -c ${IMG_I386_EMU} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_I386_EMU}'",$1 }' >> ${IMAGEDIR}/${TARGET})
#  for ${IMG_I386_USB}
 (cd ${WRK_I386_USB} && ${WC} -c ${IMG_I386_USB} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_I386_USB}'",$1 }' >> ${IMAGEDIR}/${TARGET})
#  for ${IMG_I386_VDI}
 (cd ${WRK_I386_VDI} && ${WC} -c ${IMG_I386_VDI} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_I386_VDI}'",$1 }' >> ${IMAGEDIR}/${TARGET})
#  for ${IMG_I386_VMDK}
 (cd ${WRK_I386_VMDK} && ${WC} -c ${IMG_I386_VMDK} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_I386_VMDK}'",$1 }' >> ${IMAGEDIR}/${TARGET})
#  for ${IMG_SETUP}
 (cd ${WRK_SETUP} && ${WC} -c ${IMG_SETUP} | \
  LANG=ja_JP.UTF-8 ${AWK} '{printf "Size (%s) = %\047d bytes\n","'${IMG_SETUP}'",$1 }' >> ${IMAGEDIR}/${TARGET})

vdi と vmdk の圧縮ファイルについては zip ということで元の拡張子を付けずに .zip を付けてしまったせいでここでは統一して扱えないが、そんなところにこだわっても費用対効果的にはメリットないということで……

tsutsui added a commit that referenced this issue Apr 8, 2019

@tsutsui

This comment has been minimized.

Copy link
Owner Author

tsutsui commented Apr 8, 2019

USB用イメージは swap 分が削ってあるので、展開後のサイズが work ディレクトリにあるイメージのサイズとは異なる、というところの考慮が漏れていたので修正。
が、20190407 のイメージを作り直す元気がなかったので次回確認する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.