SUZZ Blog

主にアーケード、レトロゲームに関するブログ

Trac Lightning 3.2.0 から Kanon への移行

2014年04月09日 22時06分39秒 | PC

本日で WindowsXP のサポートが終了するということで、WindowsXP + Trac Lightning 3.2.0 + hglight for TracLightning3 で動いていたサーバーを Ubuntu 12.04 + Kanon に移行させました。

プラグインなどの違いで、そのままではデータが移行できなかったため、Kanon のリポジトリをフォークして、移行用のパッケージを作成しました。

https://bitbucket.org/suzzsegv/kanonconductor


変更点は以下の通り。

  1. Kanon 同梱のプラグインが Trac Lightning より古い状態であったため、Trac Lightning 同梱のプラグインを Kanon に適用して、問題が発生したプラグインは最新版に置き換えた
  2. プロキシーサーバーの兼ね合いで、インストール時に動的にSVN を使用してプラグインをダウンロードすることができなかったため、ダウンロード済みプラグインを使用してインストールを行うように変更
  3. Tracpath のテーマが良い感じなので、こちらを追加(http://blog.tracpath.com/trac/trac-plugin-use-tracpaththeme/)


この対応で、TracLightning で使用していたチケットやリポジトリのデータは何も変更せずに移行できました。

Jenkins は使用していなかったため、動作確認していませんが、後日確認したいと思います。


紅桜

2013年02月17日 16時54分32秒 | PC

最近、サクラエディタのソースを変更して、若干の機能拡張を行っています。キーバインドは「いにしえ」のDOS用エディタである「RED2」ライクに。

REDといえば、CTRL+L のワード取り込みの機能が便利でした。秀丸用のマクロを作成された方もいらっしゃるようですね。

http://hide.maruo.co.jp/lib/macro/setsearchwoad100.html

 

まずは、このワード取り込み機能を追加して、ワード取り込みと同時に検索も実行するようにしてみました。慣れると便利ですよ。

サクラエディタなんて素人の使うエディタだよ・・・なんて意見も多いかと思いますが、まあ、そうおっしゃらずに。
それぞれのエディタに一長一短あるのですから、用途に応じてエディタを使い分ければ良いのです。

https://bitbucket.org/suzzsegv/benizakura

 

バイナリは以下に。exeしかアーカイブされていないため、タグジャンプや正規表現を使用したい方は、サクラエディタ同様、周辺のツール類を別途ダウンロードして入れてください。

https://bitbucket.org/suzzsegv/benizakura/downloads



TortoiseHg を PPC Mac で動作させる@2012/05/04

2012年05月04日 16時27分12秒 | PC

thg2.3.2

1年経って、MacPortsでインストールできるようになりました。。。が、Mercurial 2.2 , TortoiseHg 2.1.2 という組み合わせでインストールされるため、バージョンミスマッチ(?)で起動しません。 orz

{{{
#!python
** Mercurial version (2.2).  TortoiseHg version (2.1.2)
** Command:
** CWD: /Users/satoshi/thg
** Encoding: UTF-8
** Extensions loaded:
** Python version: 2.7.3 (default, May  3 2012, 08:03:53) [GCC 4.0.1 (Apple Inc. build 5493)]
** Qt-4.7.4 PyQt-4.9.1

This version of TortoiseHg requires Mercurial version 1.9.n to 1.10.n, but found 2.2

}}}

MacPorts でインストールした Mercurial 2.2 とソースリポジトリから clone した TortoiseHg を組み合わせて起動したのが、上のスクリーンショット。
最近は Intel Mac 向けの TortoiseHg バイナリもリリースされているようですので、MacPorts でインストールして利用している人は少ないのでしょうね。


夏休みの自由研究は PT2 と Linux で地デジ録画サーバー

2011年08月07日 20時04分42秒 | PC

DSC_0284

俗に言う「鼻毛鯖」・・・今回は「髭剃鯖」だったのですが・・・と PT2 で地デジ録画サーバを作ってみました。

構成は、Express5800/S70 タイプPJ + Ubuntu 10.04 Desktop + キャラクターデバイス版PT1ドライバ + epgrec。以下のページにインストール用のスクリプトがそろっていたので、簡単に導入できてしまいました。

http://zeonic.ath.cx/pt2/index.html

 

試しに BS と地デジ2番組同時録画しながら、録画中の ts ファイルを VLC で再生してみたところ、CPU負荷は2コアとも40~50%前後だったので、全然大丈夫ですね。・・・こんなに安いのにCore i ベースのCPUでマルチコア、メモリも1GB搭載ですから、普通に使う分には十分ですね。

ただ、サーバーとして使用する前提の人が多いからか、「電源入れっぱなし」で運用する例が多いようです。私の場合は、ほぼ、録画専用マシンなので、録画時にレジュームして、録画が終わったらサスペンドする動作が理想です。

試しに Ubuntu のメニューからサスペンドさせて見ると、うまくサスペンドできずにログイン画面に戻ってしまいました。

どうやら、pt1_drv がサスペンド移行を邪魔しているようでしたので、http://kimamahitori.blog.shinobi.jp/Entry/232/ この辺を参考に /etc/pm/config.d/00sleep_module に pt1_drv を指定したところ、サスペンド・レジュームできるようになりました。

おそらく、パワーマネジメントにきちんと対応できていない PT1 ドライバのモジュールを、サスペンド・レジュームのタイミングで自動的にアンロード&ロードしてくれるのでしょう。

 

Express5800-S70:~$ cat /etc/pm/config.d/00sleep_module
SUSPEND_MODULES="pt1_drv"

 

また、2ch の「【視聴・録画】Linuxでテレビ総合5【デジタル/アナログ】」にて、


153 :login:Penguin:2011/07/25(月) 07:36:20.98 ID:Ev0FdHMH
ようやく地デジ化したので参戦。よろしく
>>61 で出てる rmmod で oops 吐く問題は、pt1_pci_cleanup の中の
class_destroy と pci_unregister_driver の順番が逆なせいじゃないかな。
unregister が先だよね?

 

162 :login:Penguin:2011/07/26(火) 09:25:59.79 ID:VDsn8s4Y
>>153
BINGO!!
順番入れ替えたらrmmodしてもoops吐かなくなった
サスペンドの時に悪さするから困ってたんだけど、これで一歩前進しそう
chardev版なんだかんだで生き延びそうだな

という話があったので、以下の変更を加えてドライバをビルド。

 

Express5800-S70:~/pt1/LATEST$ hg diff
diff -r 7662d0ecd74b driver/pt1_pci.c
--- a/driver/pt1_pci.c    Fri Nov 19 11:19:25 2010 +0900
+++ b/driver/pt1_pci.c    Sat Aug 06 03:32:46 2011 +0900
@@ -1004,8 +1004,8 @@
 
static void __exit pt1_pci_cleanup(void)
{
+    pci_unregister_driver(&pt1_driver);
     class_destroy(pt1video_class);
-    pci_unregister_driver(&pt1_driver);
}
 
module_init(pt1_pci_init);

 

最新情報が2chで拾えるあたりが、いかにもアングラっぽい感じですが・・・

あとは、自動起動と自動終了をなんとかしないといけないですね。方針としては「atq で時刻指定ジョブを参照して判断」、もしくは、「epgrecの録画予約データベースを参照して判断」でしょうかね。

 

 


親父のPC

2011年05月22日 22時31分09秒 | PC

電源入れても起動の途中で止まってしまうのだが・・・また動くようになった、と、言っていた。

寿命だろうから、余っているHDDと交換しようとPCを見たところ・・・

 

DSC_0155 DSC_0156

HDDが針金で宙ぶらりんになっていた。。。

本人曰く、「HDDを縦にしたら中のモーターが動いたので、縦にするべく針金でつるした」とのこと。

 

DSC_0157

1999年か・・・10年も前のHDDがよく動いていたものだ。

なかなか面白かったのですが、そのうち壊れるのは目に見えているので、部屋に転がっていた別の HDD に交換しました。

交換した HDD も私が酷使していたものなので、すぐに壊れると思いますが・・・。


Windows 上で TortoiseHg 2.0.4 の差分表示&マージに Meld を使用する場合の設定例

2011年05月08日 15時07分20秒 | PC

うちの環境では Python があちこちにインストールされている都合から、環境変数を設定してから起動するようになっています。

また、マージ対象のファイルを中央に表示して編集できるように、順番を入れ替えてみました。

premerge = keep は、外部マージツールの起動前に Mercurial によるマージを行い、その結果を編集するための設定です。変更が衝突していない部分は自動的にマージされ、変更が衝突した部分はマーキングされた状態になります。

 diff 用の設定も記載しましたので、Mac の方も参考にしてください。


meld.bat

set PYTHONHOME=C:\Python26
set PYTHONPATH=
C:\Python26\python C:\PathToMeld\bin\meld %*

 

mercurial.ini

[tortoisehg]
vdiff = meld

[ui]
merge = meld

[merge-tools]
meld.executable = C:\PathToBatchFile\meld.bat
meld.gui = True
meld.premerge = Keep
meld.args = -L Local
$local -L Output $output -L Other $other
meld.diffargs = -a -L '$plabel1' $parent -L '$clabel' $child
meld.diff3args = -a -L '$plabel1' $parent1 -L '$clabel' $child -L '$plabel2' $parent2
meld.dirdiff = True


MacPorts で meld をインストール

2011年05月06日 20時57分08秒 | PC

meld_mac

 

$ sudo port install meld

で、インストールできると思いきや、一筋縄では行かず。。。

 

  • policykit でビルドエラー
    不具合報告を参考に Portfile を修正することで回避。
    https://trac.macports.org/ticket/29279

    /opt/local/var/macports/sources/rsync.macports.org/release/ports/security/policykit/Portfile
    (先頭の数字は行番号)

    27 post-patch      {
    28                     if {${os.major}
    29                         reinplace "s|security/pam|pam/pam|" ${worksrcpath}/configure \
    30                             ${worksrcpath}/src/polkitagent/polkitagenthelper-pam.c \
    31                             ${worksrcpath}/src/programs/pkexec.c
    32
    33                         reinplace "s|fdatasync|fsync|" ${worksrcpath}/src/polkitagent/polkitagenthelperprivate.c
    34                     }
    35                 }

  • atlas で configure エラー
    INSTALL.TXT によると、

    ATLAS config tries to detect if CPU throttling is enabled, but it may not
    always detect it, and sometimes may detect it after you have disabled it.
    In the latter case, to force the configure to continue regardless of the
    results of the CPU throttling probe, pass this flag to configure:
       -Si cputhrchk 0

    とのことなので、Portfile を編集して configure に引数を追加。

    /opt/local/var/macports/sources/rsync.macports.org/release/ports/math/atlas/Portfile
    (先頭の数字は行番号)

    108 if {${build_arch} == "ppc" || ${build_arch} == "ppc64"} {
    109         configure.args-append   -t 0
    -Si cputhrchk 0
    110 }

  • meld 起動時にエラー
    $ meld &
    [1] 44648
    $ Xlib:  extension "RANDR" missing on display "/tmp/launch-Gl7Jle/:0".
    Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
    Traceback (most recent call last):
      File "/opt/local/bin/meld", line 123, in
        main()
      File "/opt/local/bin/meld", line 115, in main
        app = meld.meldapp.MeldApp()
      File "/opt/local/lib/meld/meld/meldapp.py", line 136, in __init__
        self.prefs = preferences.MeldPreferences()
      File "/opt/local/lib/meld/meld/preferences.py", line 289, in __init__
        super(MeldPreferences, self).__init__("/apps/meld", self.defaults)
      File "/opt/local/lib/meld/meld/util/prefs.py", line 92, in __init__
        self._gconf.add_dir(rootkey, gconf.CLIENT_PRELOAD_NONE)
    glib.GError: 設定サーバ (gconfd) に接続できませんでした: いくつか考えられる原因として、ORBit の TCP/IP ネットワークを有効にしていない、あるいはお使いのシステムで古い NFS のロックがクラッシュを引き起こしたことが考えられます。これに関連する情報については
    http://projects.gnome.org/gconf/ を参照して下さい: (詳細 -  1: セッションへの接続に失敗しました: Not enough memory)
    [1]+  Exit 1                  meld

    dbus 関連のエラーのようで、以下のURL を参考に呪文を唱えたところ、スーパーユーザーでは動作。
    http://kzar.co.uk/blog/view/meld-darwinport-problem

      $ sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
      $ sudo launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
      $ sudo meld &

    以下のスレッドにあった呪文を唱えたところ、一般ユーザーでも動作。
    http://lists.macosforge.org/pipermail/macports-users/2011-January/023218.html
    http://lists.macosforge.org/pipermail/macports-users/2011-January/023223.html

    $ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
    $ meld &

正直、理由はよくわからない・・・

dbus のインストール時に本件に関する情報が出力されていたようなのだが、 port に -d スイッチをつけて、デバッグメッセージを出力していたため、気がつかなかったようだ。

とりあえず、動くようになったので満足。


マージツール

2011年05月05日 03時12分19秒 | PC

TortoiseHg が動作したので、Mac のマージツールを探してみました。http://mercurial.selenic.com/wiki/MergeProgram に代表的なマージツールが挙がっていましたので、いくつか試してみましたが・・・いずれも日本語の取り扱いが微妙です。

今のところ、meld が有力候補となり、MacPortsでインストールすべくビルド中。

 

meld は Windows 上でも動作します。http://live.gnome.org/Meld/Windows にあるように、Python と PyGTK 関連をインストールすれば OK。

meld_windows

いろいろ調べているうちに、 「CTRL キーを押すと、貼り付け位置を選択できる」ことが判明。

これ便利だなぁ。


TortoiseHg を PPC Mac で動作させる

2011年05月05日 00時11分09秒 | PC

thg

 

TortoiseHg 2.0.0 では MacOS X もサポートされましたが、バイナリパッケージは配布されていないようです。

また、現在では多くのツールが Intel Mac しかサポートしておらず、PPC Mac での野良ビルドは結構大変でした。

ということで、覚書を残しておきます。

 

  1. Xcode 3.1.4 のインストール
    コンパイラ等の開発環境が古かったため、PowerPCで使用できる最新の Xcode を探しましたが、 apple のサイトのどこからもリンクが張られていないようで、結構ハマリました。
    ADCの登録(無料)を行い、http://connect.apple.com/ の Developer Tools のリンクから Xcode 3.1.4 Developer DVD (Disk Image) をダウンロードしてインストール。

  2. MacPorts のインストール
    http://www.macports.org/install.php から MacPorts-1.9.2-10.5-Leopard.dmg をダウンロードしてインストール。

  3. Ports のアップデート
    $ sudo port -v selfupdate

  4. Mercurial のインストール
    $ sudo port install mercurial

  5. pyqt4 のインストール
    Mercurial が Python2.6 用にインストールされたので、qt4 も 2.6 用パッケージを入れました。依存パッケージとして py26-sip qt4-mac もインストールされます。(ちなみに、PowerPC G4@867MHz で qt4-mac のビルド&インストールには2、3日かかります。)
    $ sudo port install py26-pyqt4

  6. QScintilla のインストール
    最新版のソースをダウンロードしてインストールしましたが、MacPorts のパッケージでも大丈夫だと思います。
    $ cd ~/Downloads/QScintilla-gpl-2.5
    $ cd Qt4
    $ qmake -spec macx-g++
    $ make
    $ sudo make install

    $ cd ~/Downloads/QScintilla-gpl-2.5
    $ cd Python/
    $ python2.6 configure.py
    $ make
    $ sudo make install

  7. iniparse のインストール
    $ cd ~/Downloads/iniparse-0.4
    $ cd iniparse-0.4
    $ sudo python2.6 setup.py install

  8. TortoiseHg のダウンロード(リポジトリのクローン)
    $ cd ~
    $ hg clone
    http://bitbucket.org/tortoisehg/thg/

  9. TortoiseHg にパッチ
    PATH の関係か、シンボリックリンクを張ってもうまく動かなかったので、以下の2箇所を書き換えました。

    $ cd thg
    $ hg diff -r -2:tip
    diff -r 774d4419f199 -r 02907bde1522 setup.py
    --- a/setup.py  Tue Apr 26 22:38:15 2011 -0400
    +++ b/setup.py  Fri Apr 29 11:19:01 2011 +0900
    @@ -150,7 +150,7 @@
             import PyQt4
             path = os.getenv('PATH')
             os.putenv('PATH', path + ';' + os.path.dirname(PyQt4.__file__) + '\\bin')
    -        if os.system('pyrcc4 "%s" -o "%s"' % (qrc_file, py_file)) > 0:
    +        if os.system('/opt/local/bin/pyrcc4-2.6 "%s" -o "%s"' % (qrc_file, py_file)) > 0:
                 self.warn("Unable to generate python module %s for resource file %s"
                           % (py_file, qrc_file))
                 if not exists(py_file) or not file(py_file).read():
    diff -r 774d4419f199 -r 02907bde1522 thg
    --- a/thg       Tue Apr 26 22:38:15 2011 -0400
    +++ b/thg       Fri Apr 29 11:19:01 2011 +0900
    @@ -1,4 +1,4 @@
    -#!/usr/bin/env python
    +#!/opt/local/bin/python2.6
    #
    # thg - front-end script for TortoiseHg dialogs
    #

  10. ビルド
    2011/05/05 追記: 言語ファイルが作成され、UI言語に日本語が使用できるようになります。

    $ python2.6 setup.py build

  11. TortoiseHg 起動
    $ ./thg &

Ubuntu 11.04

2011年05月02日 01時23分00秒 | PC

Ubuntu 11.04

 

Ubintu 11.04 がリリースされましたので、VirtualBox にインストールしてみました。

ビデオカードが古いからか、Unity は動作しないようなので、 Unity-2D をインストール。

 

Mac OS や iPhone/Android っぽい UI にしたいのかな?と言う感じですか?

Unity の使い方を見ながら、ちょっといじってみましょうかね。


Trac Lightning 後継ソフトは Kanon

2011年02月21日 00時51分42秒 | PC

kanon

Kanon イイネ!!

最近、Mercurial を使っていて、何をやっても Windows より Linux のほうが速くて・・・

Windows 上で VM Ware を走らせて、その上で走らせた Linux 上で hg コマンドを使ったほうが速いってどういうこと?

Trac も Windows 上じゃなくて Linux 上で走らせたほうが速いんだろうな・・・と思っていた矢先に Kanon 登場。

早速、VM Ware 上にインストールしてみましたが、コマンド一発で Mercurial 対応のプロジェクトが立ち上がるのは便利ですね。


ZFS の raid-z pool に HDD を増設

2011年01月10日 00時26分07秒 | PC

opensolaris:~# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c8t0d0 <DEFAULT cyl 9723 alt 2 hd 255 sec 63>
          /pci@0,0/pci1458,2920@1f,2/disk@0,0
       1. c8t2d0 <ATA-SAMSUNG HD154UI-1113-1.36TB>
          /pci@0,0/pci1458,2920@1f,2/disk@2,0
       2. c8t3d0 <ATA-ST31500541AS-CC32-1.36TB>
          /pci@0,0/pci1458,2920@1f,2/disk@3,0
       3. c8t4d0 <DEFAULT cyl 60798 alt 2 hd 255 sec 252>
          /pci@0,0/pci1458,2920@1f,2/disk@4,0
       4. c8t5d0 <DEFAULT cyl 60798 alt 2 hd 255 sec 252>
          /pci@0,0/pci1458,2920@1f,2/disk@5,0
Specify disk (enter its number): ^C 

opensolaris:~# zpool add -n data raidz c8t4d0 c8t5d0
would update 'data' to the following configuration:
    data
      raidz1
        c8t2d0
        c8t3d0
      raidz1
        c8t4
        c8t5

opensolaris:~# zpool add data raidz c8t4d0 c8t5d0

opensolaris:~# zpool status data
  pool: data
state: ONLINE
scrub: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    data        ONLINE       0     0     0
      raidz1-0  ONLINE       0     0     0
        c8t2d0  ONLINE       0     0     0
        c8t3d0  ONLINE       0     0     0
      raidz1-1  ONLINE       0     0     0
        c8t4d0  ONLINE       0     0     0
        c8t5d0  ONLINE       0     0     0

errors: No known data errors


 

ほんと、あっけないくらい簡単に増設できますね。(^^;

ZFS のバージョンが上がり dedup (重複排除)もできるようなのですが、大部分がユニークデータ、かつ、マシンが非力なので、このまま運用してみます。