トップ «前の日(08-05) 最新 次の日(08-07)» 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


08/06/2003

tDiary 286日目

[Gentoo][戯言] SLOT

昔の風博士の ebuild を見て「あーそういや昔は libxml2 に DEPEND してたんだっけ」 → 「そういや libxml って libxml と libxml2 で別パッケージになってるんだよなぁ」 → 「そういやなかのさんもそんなこと言ってたような…」と連鎖.

自分的には,別パッケージにするこの方法*1と,今の否応なしにアップグレードする方法の中間が良いと思う.新規インストールやアップグレードの動作は別パッケージのごとく,それでいてパッケージ自体は統合される.

すなわち,

  1. どのバージョンもインストールされていない場合

    通常 apache と言えば apache1 を指し,apacheバージョン2の場合はちゃんと apache2 と断る場合が多いので apache1 をインストール(パッケージ側で,どれを優先するかを決定しておくべき).もちろん emerge apache2 とすれば apache2 がインストールされる.

  2. どちらかがインストールされている場合のアップグレード

    インストールされている SLOT のもののみアップグレード

  3. どちらもインストールされている場合のアップグレード

    どちらもアップグレード

が理想.

# 自分で実装できないヘタレなので AC …はできないので戯言

うーむ

もしもこんなことができる場合,/usr/portage/profiles/package.mask のように /usr/portage/profiles/virtuals みたいなものを用意して SLOT の優先度(?)を

net-www/apache =net-www/apache-1*
dev-libs/libxml =dev-libs/libxml-1*
x11-libs/gtk+ =x11-libs/gtk+-1*

というように書いて予め rsync サーバに用意しておく.emerge はそれを読みとって諸々の作業をこなす.emerge 実行時,/var/cache/edb/virtuals は,/usr/portage/profiles/virtuals とマージされて解釈される感じ.

できれば /etc/portage 以下にも virtuals 情報を置いて,ユーザが自分で設定できるようにしておくのが望ましい.ただし今の virtuals の記述方法ではキャンセルができないっぽいので,

x11-libs/gtk+ -x11-libs/gtk+-2

といったようにキャンセルする機構を作らなければならない.

まぁ,無理に virtuals にする必要はなくて,あくまで virtuals「みたいなもの」を想像してます.virtuals をそのまま流用できるなら使った方が簡単かなー,とか思っただけで.

# またしても自分で実装できないヘタレなので AC …はできないので戯言

[日記] む

部屋がコタツとヒーターと扇風機と毛布と冬用掛け布団とタオルケットが同居してて,クーラーをかけているという謎な状態になっていたのだが,今日コタツセットをしまったら部屋がすっきりした.ふう,あとはヒーターと毛布と掛け布団をどこかへ押しやってしまおう.

あー残った灯油どうしよう.

[Linux][ニュース] SCO税は早期割引でも$699

高っ.

対象はどうやらディストリビューションが配布するバイナリのカーネルのみで、自分でコンパイルしたカーネルの為の免罪符にはならなさそうだ。

免罪符がどうのこうのってとこの意味がちょっとよく分からんのだけど,自前コンパイルのカーネルは対象外ってこと? だとするとディストリビュータがまとめて払うことを奨めてるのかな?

自前コンパイルのカーネルが対象外なら Gentoo は ISO 以外大丈夫じゃん(わら

[Linux] オープンソース童話 「ふしぎな ごみばこ」

あーコレよくできてるなぁ,面白い.

*1 ただ libxml の場合は SLOT が生まれる前のものだった気がする

本日のツッコミ(全3件) [ツッコミを入れる]

なかの [1.が微妙なのですよねぇ。http://bugs.gentoo.org/show_bug.cgi?id=4698 の..]

なかの [お名前間違えた・・。すみません。 ]

atzm [そこが一番のネックなんですよねぇ…別パッケージにして virtual に PROVIDE というのも本末転倒ですし...]


08/06/2004 うー

tDiary 652日目

[戯言] あぁ

最近気力が燃え尽き気味.どうにかして補填しないと…….

気力が減退し始めると,正だろうが負だろうが,感情がストレートにそのまま口に出てしまうから危険.普段抑えてるものが抑えきれなくなるんでしょうな.

あー喉が乾いた.


08/06/2005 むー

tDiary 1017日目

[日記] 飯日記

  • 07時頃:カップ麺

08/06/2006 うむ

tDiary 1382日目

[日記] 飯日記

  • 14時頃:カレー
  • 21時頃:冷やし中華

[音楽] Tales Along This Road / Korpiklaani

kawahara に借りた.

相変わらずやりたい放題ですなコリャ.だがそれがいい.

だんだん歌,演奏ともにうまくなってるなぁ.


08/06/2007 あー

tDiary 1747日目

[日記] がーん

カレー作ったのに米が切れた...

本日のツッコミ(全2件) [ツッコミを入れる]

しんcou [あぁ、それは悲惨。焼肉なのにビールがない、みたいな感じだね。 ]

atzm [ええもうまさに画竜点睛を欠いてます. ]


08/06/2009 ふむ

tDiary 2478日目

[音楽] アホグラインド

Rompeprop - Donkey Punch

何なんだこの意味不明な映像はwwww

[日記] 刻命飯

  • 10時頃: 助六寿司
  • 23時頃: コンビニ飯

08/06/2010 ふむ

tDiary 2843日目

[日記] ふむ

最近 git をちょくちょく使っているのだけれど,git の何が便利なのかがまだイマイチよく分からん... 正直今のところ git って github がなかったら流行ってなくね? というイメージ.

まあ,cvs や svn と同じような使い方しかしてないから便利さが分からないだけなんだと思うけど. cvs や svn に慣れた身では commit なんてそう易々と実行しないので,commit と push が大体同じタイミングになって単にめんどくせーだけになってしまっている.

ただ,今日はいつもと違ってネットワークをよく切ったり張ったりする環境で使ったのだけれど,こういう環境ではアリかなとは思う.

けどそれだけでそんな大絶賛するほどのことかという気もするので, もっと何か便利なことがあるんだろう,多分.

とか言ってたら

思いっきりハマったのでメモ.

git log 見たらコミッタの名前とかアドレスとかがおかしなことになってた (何も設定してなかったら,マシンのユーザ名とマシン名になるっぽい) ので,どうにかして直せないかなーと思って調べてみたところ,filter-branch なんてのがあることを知る.

こちらの記事 などを参考に,

$ git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "atzm" ]; then
    GIT_AUTHOR_NAME="atzm"
    GIT_AUTHOR_EMAIL="atzm@xxx"
    GIT_COMMITTER_NAME="atzm"
    GIT_COMMITTER_EMAIL="atzm@xxx"
fi
git commit-tree "$@"
'

とかやってから git push してみたら,リモートから reject された.

なんじゃそら,と思いながら pull → push したら,修正されたコミットログと修正前のコミットログとで,コミットログが 2 重になるという珍事.うわーマージしちゃったよ! しかも push までしちゃったよ!

こりゃいかん,と思って,まず元に戻す方法を模索. すると reflogreset などというものがあることを知る. reflog で戻したいポイントを探して,

$ git reset --hard HEAD~2

とかやったら (ローカルは) 元に戻った.やれやれ.

しかし本題はログの改竄であって,そんなことではない.

filter-branch 結果をマージせずにリモートに送りつけるには... と思って調べてみると,どうも receive.denyNonFastForwards なるものが効いているから reject されてるくさいことを知る.

というわけで,リモート側で

$ git config receive.denyNonFastForwards false

で一時的に無効化した後,先ほど filter-branch で修正したローカルの上で

$ git push -f

これで世は事もなし. もちろん事が済んだ後は receive.denyNonFastForwards を元に戻しておく.

いやーこえーこえー. まあどうせ大した物入れてないからどうでもいいっちゃいいんだけどね. 後学のためにあがいてみた次第.

しかしこんなんできてしまうとか,git はやりたい放題だな.