-->

2011-06-12

PORTDIR_OVERLAYの追加 part2

パッケージのディレクトリを追加します。
$ 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 件のコメント: