SlideShare uma empresa Scribd logo
1 de 16
FreeBSD ports と暮らす(4)
     Options NG


     Hirohisa Yamaguchi
           @umq




                          1
発表者について
• ネットエージェント株式会社
 •http://
  www.netagent.co.jp

 • プロダクト事業部

• 関西 *BSD ユーザ会 (K*BUG)
 •http://www.kbug.gr.jp

                          2
FreeBSD ports



•<略>
•一部後述
                  3
ports の
ビルドオプションを
 設定したい



            4
Options framework

• WITH_[KNOB] を設定すればいい
 (場合が多い)

 • 多くのportで使えるものは /usr/ports/
   KNOBS に記述されている

• OPTIONS= 
 !OPT1 “A Description for OPT1” on
 のように記述して make config でダイアログ

                                     5
複数の設定が
相互に影響する場合




            6
ダメな組合せについての
条件式を定義しないと
   いけない



              7
Options NG
wiki.freebsd.org/Ports/Options/OptionsNG




                                           8
基本的な使い方(ユーザ編)

•make -C /usr/ports/some/port 
 OPTIONS_SET=”A B C”

•あるいは OPTIONS_SET+=D

•make.conf に OPTIONS_SET= で書く

•Port specific なものは UNIQUENAME_SET=
 で書く


                                     9
1つ以上選択     オプション名は
自由選択
 基本的な使い方(port maintainer編 1/2)
                  重複させない
                  択一選択
• Makefile 中に:

  • OPTIONS_DEFINE= OPT1 OPT2 OPT3
  • OPTIONS_MULTI= GRP1 GRP2
  • OPTIONS_MULTI_GRP1= OPT4 OPT5
  • OPTIONS_MULTI_GRP2= OPT6 OPT7
  • OPTIONS_SINGLE= SEL1
  • OPTIONS_SINGLE_SEL1= OPT8 OPT9 OPT10
                                           10
基本的な使い方(port maintainer編 2/2)



• 説明文は
 OPT1_DESC= A description of OPT1
 のように書く

• 引用符は要らない



                                    11
12
13
$ make pretty-print-config
+OPT1 -OPT2 -OPT3 GRP1[ +OPT4 -OPT5 ]
GRP2[ +OPT6 +OPT7 ] SEL1( -OPT8 +OPT9
+OPT10 )




                                        14
移行するとどうなるか
• /usr/ports/Mk/bsd.options*.mk は更新済
• Options ファイル (/var/db/ports/
 UNIQUENAME/options) の中身が
 WITH[OUT]_* から
 OPTIONS_FILE_[UN]SET にかわる

• make config で設定できるようにしないと
 いけなくなる(?)

                                       15
まとめ



• OPTIONS NG の紹介をした

• メンテナンス中のportがあれば対応しよう




                          16

Mais conteúdo relacionado

Mais procurados

Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱いCプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱いGou Sawada
 
Kernel bootstrap
Kernel bootstrapKernel bootstrap
Kernel bootstrapKai Sasaki
 
ターミナル上でのSwift運用 ver.1.1
ターミナル上でのSwift運用 ver.1.1ターミナル上でのSwift運用 ver.1.1
ターミナル上でのSwift運用 ver.1.1HarutakaMatsumoto
 
ターミナル上でのSwift運用
ターミナル上でのSwift運用ターミナル上でのSwift運用
ターミナル上でのSwift運用HarutakaMatsumoto
 
クリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapmクリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapm鉄次 尾形
 
An idea of bios emulation on b hy ve
An idea of bios emulation on b hy veAn idea of bios emulation on b hy ve
An idea of bios emulation on b hy veTakuya ASADA
 

Mais procurados (6)

Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱いCプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
 
Kernel bootstrap
Kernel bootstrapKernel bootstrap
Kernel bootstrap
 
ターミナル上でのSwift運用 ver.1.1
ターミナル上でのSwift運用 ver.1.1ターミナル上でのSwift運用 ver.1.1
ターミナル上でのSwift運用 ver.1.1
 
ターミナル上でのSwift運用
ターミナル上でのSwift運用ターミナル上でのSwift運用
ターミナル上でのSwift運用
 
クリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapmクリップボード監視と外部コマンド実行 #chibapm
クリップボード監視と外部コマンド実行 #chibapm
 
An idea of bios emulation on b hy ve
An idea of bios emulation on b hy veAn idea of bios emulation on b hy ve
An idea of bios emulation on b hy ve
 

Semelhante a FreeBSD ports と暮らす(4) Options NG 編

FreeBSDで行こう for small server
FreeBSDで行こう for small serverFreeBSDで行こう for small server
FreeBSDで行こう for small serverTatsumi Naganuma
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月suno88
 
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGPF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGdaye001
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
OpenCLに触れてみよう
OpenCLに触れてみようOpenCLに触れてみよう
OpenCLに触れてみようYou&I
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!Yohei Fushii
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) VirtualTech Japan Inc.
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0Satoshi Kume
 

Semelhante a FreeBSD ports と暮らす(4) Options NG 編 (20)

osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
FreeBSDで行こう for small server
FreeBSDで行こう for small serverFreeBSDで行こう for small server
FreeBSDで行こう for small server
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGPF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAG
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Rails vim easy
Rails vim easyRails vim easy
Rails vim easy
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
OpenCLに触れてみよう
OpenCLに触れてみようOpenCLに触れてみよう
OpenCLに触れてみよう
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
Let's play with Goldfish
Let's play with GoldfishLet's play with Goldfish
Let's play with Goldfish
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
 

Mais de Hirohisa Yamaguchi

FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたFreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたHirohisa Yamaguchi
 
Freebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返るFreebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返るHirohisa Yamaguchi
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編Hirohisa Yamaguchi
 
インストールどうしてますか
インストールどうしてますかインストールどうしてますか
インストールどうしてますかHirohisa Yamaguchi
 

Mais de Hirohisa Yamaguchi (6)

FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたFreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
 
FreeBSD の小ネタ
FreeBSD の小ネタFreeBSD の小ネタ
FreeBSD の小ネタ
 
Freebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返るFreebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返る
 
Dns primer
Dns primerDns primer
Dns primer
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編
 
インストールどうしてますか
インストールどうしてますかインストールどうしてますか
インストールどうしてますか
 

FreeBSD ports と暮らす(4) Options NG 編