[Momonga-devel.ja:01972] qmake の作るインストールパス(qt-3.1.2)


zundaです

qmakeに当てたいパッチについて相談です。下記のようなパッチを当てて、下記
のようなトラブルを防ぎたいと思うのですが、問題はないでしょうか?

手元でqtができないと悩んでいたのですが、以下のような手順でRPMの作成に失
敗していました。

1. OmoiKondaraを実行するうちに /usr のパーティションが足りなくなる
2. / のパーティションに余裕があったので、/usr の一部をそちらにうつして
   symlinkする。ls -l /usr すると、
      bin -> /usr_on_root/bin/
      lib -> /usr_on_root/lib/
   というsymlinkがあり、また、/usr_on_root/以下から/usrの他のディレクト
   リへの symlinkも作ってあります。
3. qtが以下のような感じのエラーでビルドに失敗する。
     Processing files: qt-3.1.2-5m
     error: File not found: /var/tmp/qt-3.1.2-root/usr/lib/qt-3.1.2/bin/qtconfig
   実際には、
     /var/tmp/qt-3.1.2-root/usr_on_root/lib/qt-3.1.2/bin/qtconfig
   というファイルができていました。

そういうわけで、qtの最初に作られるqmakeに下記のようなパッチを当てたとこ
ろ、手元の環境でも qtのビルドができるようになりました。 sdrでKDEを選択し
たところちゃんと起動し、konsoleも動くことは確かめました。

qt/KDEには、とんと疎いので、commitしてよいものやら迷っています。もし、こ
れはいかん、という方がいらっしゃいましたらお知らせください。週末中くらい
に反対がなければ、リリース番号は変えないでcommitしようと思います。

--- qt-x11-free-3.1.2/qmake/generators/makefile.cpp.nocanonical 2003-02-24 09:30:51.000000000 +0100
+++ qt-x11-free-3.1.2/qmake/generators/makefile.cpp 2003-07-10 16:44:25.000000000 +0200
@@ -2051,8 +2051,8 @@
    if(!out_fi.convertToAbs())
        out_dir = out_fi.filePath();
      }
-     QString in_canonical_dir = QDir(in_dir).canonicalPath(),
-      out_canonical_dir = QDir(out_dir).canonicalPath();
+     QString in_canonical_dir = QDir(in_dir).absPath(),
+      out_canonical_dir = QDir(out_dir).absPath();
      if(!in_canonical_dir.isEmpty())
    in_dir = in_canonical_dir;
      if(!out_canonical_dir.isEmpty())
@@ -2067,7 +2067,7 @@
      }
      file = Option::fixPathToTargetOS(file, FALSE);
      if(QFile::exists(file) && file == Option::fixPathToTargetOS(file, TRUE)) {
-   QString real_file = QDir(file).canonicalPath();
+   QString real_file = QDir(file).absPath();
    if(!real_file.isEmpty())
        file = real_file;
      }