$ grep ^PORTDIR_OVERLAY /etc/make.conf PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/test"
パッケージのコピー。
$ cd /usr/local/portage/test/sys-apps/ $ sudo cp -ri /usr/portage/sys-apps/kuroevtd/ .
パッチの作成。
$ cd /tmp/ $ tar xvzf /usr/portage/distfiles/kuroevtd_1.1.3.tgz $ cd kuroevtd/ $ sed -e "s#/dev/ttyS1#/dev/ttyS0#g" kuroevtd.c > kuroevtd.c.new $ diff -u kuroevtd.c kuroevtd.c.new > kuroevtd-1.1.3-ttyS0.patch $ sudo cp -i kuroevtd-1.1.3-ttyS0.patch /usr/local/portage/test/sys-apps/kuroevtd/files/
ebuildファイルの作成。
$ cd /usr/local/portage/test/sys-apps/kuroevtd/ $ sudo cp -i kuroevtd-1.1.3.ebuild kuroevtd-1.1.3-r1.ebuild $ sudo vi kuroevtd-1.1.3-r1.ebuild
$ diff -u kuroevtd-1.1.3.ebuild kuroevtd-1.1.3-r1.ebuild --- kuroevtd-1.1.3.ebuild 2011-06-12 17:02:40.000000000 +0900 +++ kuroevtd-1.1.3-r1.ebuild 2011-06-12 17:04:06.000000000 +0900 @@ -2,6 +2,8 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-apps/kuroevtd/kuroevtd-1.1.3.ebuild,v 1.3 2007/07/02 15:27:48 peper Exp $ +inherit eutils + DESCRIPTION="Monitors the Kurobox and LinkStation power and reset buttons." HOMEPAGE="http://kuro.dsk.jp/" SRC_URI="http://kuro.dsk.jp/data/bin/${PN}_${PV}.tgz" @@ -19,6 +21,8 @@ src_unpack() { unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-ttyS0.patch" sed -i -e 's:/etc/kuroevtd:\0.d:' \ ${S}/kuroevtd.c ${S}/README }
インストール。
$ sudo rm -i kuroevtd-1.1.3.ebuild $ sudo ebuild kuroevtd-1.1.3-r1.ebuild manifest $ emerge -avtp kuroevtd ... $ grep ttyS1 /usr/sbin/kuroevtd; echo $? バイナリー・ファイル/usr/sbin/kuroevtdは一致しました 0 $ grep ttyS0 /usr/sbin/kuroevtd; echo $? 1 $ sudo emerge -avt kuroevtd ... $ grep ttyS1 /usr/sbin/kuroevtd; echo $? 1 $ grep ttyS0 /usr/sbin/kuroevtd; echo $? バイナリー・ファイル/usr/sbin/kuroevtdは一致しました 0
参考URL。
http://devmanual.gentoo.org/ebuild-writing/functions/src_unpack/index.html
http://devmanual.gentoo.org/ebuild-writing/functions/src_prepare/index.html
http://devmanual.gentoo.org/ebuild-writing/functions/src_prepare/epatch/index.html
# ttyS1 => ttyS0 は 2.6.28 以上? 2.6.38の場合は、そうなっている。
# 前面のスイッチ => 3秒以内に、押す離すを2回 => shutdown -r now
# 前面のスイッチ => 押しっぱなし => shutdown -h now
# 裏面のスイッチ => /etc/kuroevtd.d/resetpress の方はubootでemモードに入るので無し。
# たぶん shutdown -r now が動くだけ。
# write_ng, /dev/fl3, /dev/mtdblock2 などを設置すれば動くかもしれない。
# write_ng は mknod して NGNG を書くとか。
# ubootの場合 run emboot なので書きこんでrebootしても無理かもしれない。
0 件のコメント:
コメントを投稿