これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/12/21 11:44:57.596 (台灣標準時)
FreeBSD の Ports Collection を使ってアプリケーションをコンパイルし、イ ンストールする際、デフォルトの設定のままだと、 make install を実行する と、コンパイル時のオプションが設定可能なアプリケーションの場合、以下の ような画面になり、オプションを設定することができるようになっているでご ざる。
これは、一見便利なように思えるのでござるが、煩わしくもあるでござる。と あるアプリケーションをコンパイルし、インストールしようとするとき、多く の場合、依存関係を遡って複数のアプリケーションやライブラリーがインストー ルされるでござる。その際、依存しているアプリケーションやライブラリーが コンパイル時のオプション選択可能なようになっていると、そのたびに上のよ うな画面になり、コンパイルが中断するのでござる。オプションの選択を待ち 続けるので、ずっと状況を確認し続けないといけないでござる。
これを回避し、デフォルト設定のオプションで一気にコンパイルさせ、インス トールするには、 /etc/make.conf に以下の記述を追加すればよいようでござ る。
こうすれば、 make install をしたときに、オプション選択の画面が出ること なく、コンパイルが行われるでござる。BATCH=YES
では、コンパイル時にどんなオプションがあるのか確認したり、オプションを 選択したりするにはどうすればよいのでござろうか。
コンパイル時に指定可能なオプションの一覧を表示させるには、以下のように すればよいようでござる。以下は、 editors/emacs で指定可能なオプション の一覧の表示でござる。
# cd /usr/ports/editors/emacs # make showconfig ===> The following configuration options are available for emacs-28.1_1,3: ACL=on: Access control list support DBUS=on: D-Bus IPC system support FCITXPATCH=off: Patch to pass C-Space to Fcitx input method GCONF=off: GConf configuration backend support GNUTLS=on: SSL/TLS support via GnuTLS GSETTINGS=on: GSettings API for application settings HARFBUZZ=on: HarfBuzz for text shaping JSON=on: JSON file/format/parser support LCMS2=on: Little CMS 2.x support M17N=on: M17N support for text-shaping [implies XFT] MAILUTILS=on: Mail framework via GNU Mailutils MODULES=on: Dynamic modules support NATIVECOMP=off: Emacs Lisp native compiler support (experimental) OTF=on: Opentype fonts [implies XFT] SCROLLBARS=on: Toolkit scroll-bars SOURCES=on: Install sources THREADS=on: Threading support XFT=on: Xft font library support XIM=on: X Input Method XML=on: XML format or parser support XWIDGETS=off: Experimental GTK widgets [implies GTK3] ====> Graphics support CAIRO=on: Cairo graphics library support [implies PNG, XFT] GIF=on: GIF image format support JPEG=on: JPEG image format support MAGICK=off: ImageMagick image processing support (deprecated) PNG=on: PNG image format support SVG=on: Scalable vector graphics support [implies PNG] TIFF=on: TIFF image format support XPM=on: XPM pixmap image format support ====> File notification support: you can only select none or one of them GFILE=off: File notification via gfile KQUEUE=on: File notification via kqueue ====> Sound (audio) support: you can only select none or one of them ALSA=off: ALSA audio architecture support OSS=on: Open Sound System support ====> X11 toolkit: you can only select none or one of them GTK2=off: GTK+ 2 GUI toolkit support GTK3=on: GTK+ 3 GUI toolkit support MOTIF=off: Motif widget library support XAW=off: Athena widgets XAW3D=off: Athena3D widgets ===> Use 'make config' to modify these settings
オプションの指定には、以下のようにすればよいようでござる。 make config を実行すると、例のオプション選択の画面が出てくるようになっているようで ござる。
# make config
依存しているライブラリーやアプリケーションすべてについて、選択可能なオ プションを表示させるには、以下のようにすればよいようでござる。ただし、 膨大な量の情報が表示されるので、実際にこれを実行する意味はなさそうでご ざる。
# make showconfig-recursive
インストールしようとしているアプリケーション、及びそれが依存しているラ イブラリーやアプリケーションのすべてについて、オプションの選択を行うに は、以下のようにすればよいようでござる。
# make config-recursive
Ports Collection についてのことを調べるには、 FreeBSD Handbook を読め ばよいのかと思っていたのでござるが、 FreeBSD Handbook は 900 ページ以 上の分量があるにも関わらず、あまり詳しい記述はないようでござる。より詳 しいことは、以下のようにすれば必要な情報が得られるようでござる。
# man ports