rpm パッケージの作成方法を以下に示します。
※デフォルトでは、ドキュメントビルドは OFF になっているため生成されません。
$ cd プロジェクトディレクトリー $ mkdir build $ cd build $ cmake .. $ make $ cpack
$ cd プロジェクトディレクトリー $ mkdir build $ cd build $ cmake .. $ cpack
プロジェクトディレクトリー直下にある CMakeLists.txt の下記の行を、OFF → ON に書き換えます。
C++ RTC の場合は 86行目あたり、Python RTC の場合は 77行目あたりです。
option(BUILD_DOCUMENTATION "Build the documentation" ON) ※この行の OFF を ON に書き換えます。(デフォルトは OFF)
$ cd プロジェクトディレクトリー $ mkdir build $ cd build $ cmake .. $ make $ make doc $ cpack
$ cd プロジェクトディレクトリー $ mkdir build $ cd build $ cmake .. $ make doc $ cpack
【注意事項】
ドキュメントビルドを ON にして、「make doc」 をせずに 「cpack」 を実行すると以下のようなエラーになります。
CMake Error at /home/プロジェクトディレクトリー/build/doc/cmake_install.cmake:36 (file): file INSTALL cannot find "/home/プロジェクトディレクトリー/build/doc/html/doxygen/html".
正常に作成できた場合は、プロジェクトディレクトリー内の [build] に保存されます。
ファイル名は、「RTCプロジェクト名-RTCのバージョン番号-アーキテクチャ」となります。
(例) Flip-1.2.0-x86_64.rpm
※アーキテクチャは、[i686] または [x86_64] となります。
$ cd プロジェクトディレクトリー/build $ less Flip-1.2.0-x86_64.rpm Name : Flip Version : 1.2.0 Release : 1 Architecture: x86_64 Install Date: (not installed) Group : unknown Size : 506080 License : unknown Signature : (none) Source RPM : Flip-1.2.0-1.src.rpm Build Date : 2017年xx月xx日 xx時xx分x秒 Build Host : localhost Relocations : /usr Vendor : AIST Summary : Flip image component Description : DESCRIPTION
less を終了させるには「q」を押します。
$ sudo apt-get install tree
$ cd プロジェクトディレクトリー/build $ dpkg -x Flip-1.2.0-x86_64.rpm . $ tree usr usr └─ share └─ openrtm-1.2 └─ components └─ python └─ Category ※指定したインストール先ディレクトリー └─ FlipGUI ├─ RTC.xml ├─ FlipGUIComp.py ├─ idl │ ├─ BasicDataType.idl │ ├─ CMakeLists.txt │ ├─ CalibrationService.idl │ ├─ ExtendedDataTypes.idl │ └─ InterfaceDataTypes.idl ├─ idlcompile.sh ├─ rtutil.py ├─ setup.py └─ flipgui.py
インストールは以下のコマンドを実行します。
$ cd プロジェクトディレクトリー/build $ sudo rpm -i Flip-1.2.0-x86_64.rpm
アンインストールは以下のコマンドを実行します。
$ sudo rpm -e Flip
サービスポートを持つ Python RTC は、パッケージインストール時に IDL コンパイルを実行します。 IDL コンパイル実行時に、プロジェクトディレクトリー内にある postinst.in、prerm.in でこの動作を実現させているため、これらのファイルを削除してしまうと機能しなくなるので注意が必要です。
以下、rpm パッケージからインストールされるファイル一覧です。★マークが IDL コンパイルで生成されるファイルです。
$ tree /usr/share/openrtm-1.2/components/python/Category/FlipGUI/ /usr/share/openrtm-1.2/components/python/Category/FlipGUI/ ├─ BasicDataType_idl.py ★ ├─ CalibrationService_idl.py ★ ├─ ExtendedDataTypes_idl.py ★ ├─ ImageCalibService ★ │ └─ __init__.py ★ ├─ ImageCalibService__POA ★ │ └─ __init__.py ★ ├─ InterfaceDataTypes_idl.py ★ ├─ RTC ★ │ └─ __init__.py ★ ├─ RTC.xml ├─ RTC__POA ★ │ └─ __init__.py ★ ├─ FlipGUIComp.py ├─ idl │ ├─ BasicDataType.idl │ ├─ CMakeLists.txt │ ├─ CalibrationService.idl │ ├─ ExtendedDataTypes.idl │ └─ InterfaceDataTypes.idl ├─ idlcompile.sh ├─ rtutil.py ├─ setup.py └─ flipgui.py