分12前回までにPlamoBuildスクリプトの基本的な使い方を紹介しました。今回は,もう少し踏み込んだ使い方を紹介します。設定オプションの指定ソースコードに必要な設定を施すconfigureスクリプトは,オプション引数で動作を調整することができます。--enable-sharedなどが代表的なオプション引数です。オプション引数には,インストール先を指定する--prefix=..や設定ファイルの置き場所を指定する--sysconfdir=..など,configureを採用しているほとんどのソフトウェアで使用可能なものと,それぞれのソフトウェアごとに用意されたものがあります。--helpで確認できます。前回までに紹介してきたfluxboxの場合,以下のようなオプションが用意されています。...各引数はそれぞれどのような機能を追加,あるいは削除するかを指定し,引数を指定しなかった場合のデフォルト値が括弧内に記載されています。このリストを見ると,82行目の"--enable-debug"と83行めの"--enable-test"というデバッグ以外の機能は(default=yes)となっており,敢えて指定する必要はなさそうです。--disable-fribidi"のように指定することになります。PlamoBuildスクリプトではconfigureに渡す引数はヘッダ部のOPT_CONFIGで設定します。上記設定の場合,前回紹介したPlamoBuild.fluxbox-1.3.7の9行目に追加することになります。--disable-fribidi"この設定は,configureを起動している59行目に直接追加してもいいものの,「⁠configureオプションをどう設定したか」はパッケージにとって重要な意味を持つので,PlamoBuildスクリプトを開けばすぐ目に入る,ヘッダ部分に設定するようにしています。紹介してきたfluxbox-1.3.7のように,最近では多くのソフトウェアがあらかじめ用意されたデフォルト値で最適な設定になるよう調整されています。設定オプションでの機能調整が必須なソフトウェアもよくあり,どのような設定オプションを指定するかはパッケージ作成時の悩みの種です。設定オプションに悩んだ時は,他のディストリビューションを参考にするのが便利です。Linuxのビルドスクリプトを見ています。Scratch)は本連載でも何度か紹介したことがあるように,必要最小限の機能を目指した設計になっており,彼らが選択している設定オプションはどのLinux環境でも必要になります。Linuxは,シンプルながら先進的で高機能な環境を目指していて,新しく追加された機能なども積極的に採用しています。Linuxに必要な機能を考えることができます。--enable-xinerama"となっていました。Linuxで指定している各オプションの意味は何だろう,とヘルプメッセージを調べたところ,先に紹介したように,それら機能はデフォルトで"yes"になっていたため,OPT_CONFIGには何も指定する必要はないだろう,と判断した次第です。Linuxからは利用しやすいです。LFS/BLFSでは,ソースコードを修正する際,パッチファイルではなくsed等のコマンドを多用しています。そのような修正をPlamoBuildスクリプトに取り込む場合,設定処理部のconfigureスクリプトを起動する前,前回紹介したPlamoBuild.fluxbox-1.3.7を例にすれば,47行目から56行目の間あたりに追加する必要があります。configure以外への対応make_PlamoBuild.pyはconfigure以外にもCMake,Pythonのsetup.py,PerlのMakefile.PLに対応しており,それぞれに応じたPlamoBuildスクリプトを作ります。いっても,違いはconfigureの代わりにcmakeやsetup.pyを実行する程度です。Qtを用いたターミナルソフトqterminal-0.8.0はビルドシステムにCMakeを使っており,設定にcmakeコマンドを使います。cmakeコマンドはconfigureと同じように,システムにインストールされているライブラリ等を調べてその環境に適したMakefileを作るので,以後の処理はconfigure同様,makeコマンドが担います。Perl用のソフトウェアが採用しているMakefile.PLも,環境に応じたMakefileを作るように設計されており,ビルドやパッケージ化にはmakeコマンドを用います。Python用のソフトウェアはsetup.pyというPythonスクリプトで設定からビルド,インストールまで対応しています。以下に示すのはPythonで書かれたカードゲームPySolFC-2.2.0用のビルドスクリプトの設定からインストールするまでの処理で,52行目の設定,62行目のビルド,73行目のインストールそれぞれが"setup.py"によって実行されています。これら4種のビルドシステムはmake_PlamoBuild.pyが見分けられるので,設定オプションの調整程度の作業でパッケージ作成が可能です。最新版のmake_PlamoBuild.pyでは,新しくmeson/ninjaビルドシステムにも対応しました。Linuxとりまとめ役。人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。