«前の日記(2007-03-07(Wed)) 最新 次の日記(2007-03-11(Sun))» 編集

これ日記なん?


2007-03-10(Sat) [長年日記]

_ [FreeBSD]firebird[12]のportinstallってどうやる?

firebirdをportsinstallで入れようとして少々困った。ビルドが動き出す直前までいってから、

===> Building for firebird-client-2.0.0_4
==> Please do not build firebird as 'root' because this may cause
conflicts with SysV semaphores of running services.
*** Error code 1

で止まってしまう。

しょうがないので

# chmod 775 .
# exit
$ make

とした。bentoだとどうやって処理してんだろう?

Embedded Serverはクライアント側に持ってるみたい。

_ [sakura]さくらインターネットでsubversion 1.4.3

先達のページを参考に、$HOME/localに入れてみる。

  • apr-1.2.7
  • apr-1.2.7
  • neon-0.25.5
  • subversion-1.4.3

apr

% wget http://www.apache.org/dist/apr/apr-1.2.7.tar.gz
% tar zxvf apr-1.2.7.tar.bz2
% cd apr-1.2.7
% ./configure --prefix=$HOME/local --disable-static
% make && make install

apr-util

% wget http://www.apache.org/dist/apr/apr-util-1.2.7.tar.gz
% tar zxvf apr-util-1.2.7.tar.gz
% cd apr-util-1.2.7
% ./configure --prefix=$HOME/local --with-apr=$HOME/local --with-expat=/usr/local --with-iconv=/usr/local --disable-static
% make && make install

neon

% wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
% tar zxvf neon-0.25.5.tar.gz
% cd neon-0.25.5
% ./configure --prefix=$HOME/local --disable-static
% make && make install

subversion

% wget http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz
% tar zxvf subversion-1.4.3.tar.gz
% cd subversion-1.4.3
% ./configure --prefix=$HOME/local --with-neon=$HOME/local --with-apr=$HOME/local/bin/apr-1-config --with-apr-util=$HOME/local/bin/apu-1-config --without-berkeley-db --disable-static
% make && make install

とりあえずこれで動くことは動くみたい。先達のページに深く感謝。

_ [rails]redMineを調べる。

redMineをいろいろ見ていて、なるほど、と思ったところ。

Issueとその履歴の実現方法

class Issue < ActiveRecord::Base
  has_many :journals, :as => :journalized, :dependent => :destroy
  ...
  def before_save
    Issue.column_names - %w(id description)).each {|c|
      @current_journal.details << JournalDetail.new(..
    end
  end
end
class Journal < ActiveRecord::Base
  belongs_to :journalized, :polymorphic => true
  has_many :details, :class_name => "JournalDetail", :dependent => :delete_all
  ...
end
class JournalDetail
  belongs_to :journal
end

課題と履歴と履歴明細があって、課題が保存される直前に履歴と履歴明細が保存される。しかも、JournalはIssueには依存してない。before_save と belongs_to : polymorphic ってこうやって使うのか。

SVN対応

  • svn list --xml の出力を Rexml で解析
  • svn log --xml の出力を Rexml で解析

こうやって使うのか。これでリモートリポジトリでもいけるし、svnコマンドがあればいいし楽だ。