Joe Horn 的啟示錄

2006/01/11

FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題

前幾天送了個 pr ( problem report ) 回去給總部, 順便在這邊說一下好了, 反正太久沒寫 Blog . :???:


這個 prApache 2.2 啟動用的 shell script 問題.


我不知道 2.1 有沒有這問題, 因為我用的是 2.2 , 下面也是以 2.2 做說明. :shock:


之前官方並沒有提供 apache22_http_accept_enable 這個參數讓我們丟進 /etc/rc.conf , 所以唯一解法是在 /boot/loader.conf 加進這行 :


accf_http_load=”YES”


現在 /usr/local/etc/rc.d/apache22.sh 裡面可以看到這段 :


# apache22_http_accept_enable (bool): Set to "NO" by default.
# Set to yes to check for accf_http kernel
# module on start up and load if not loaded.

跟這段 :


if checkyesno apache22_http_accept_enable
then
if ! /sbin/kldstat -q -m accf_http
then
/sbin/kldload accf_http
fi
else
apache22_flags="-DNOHTTPACCEPT $apache22_flags"
fi

很明顯的, 這邊用到 kldstat 的 -q 跟 -m 這兩個選項.

但是 kldstat 在 FreeBSD 6 裡面才有支援 -q , 而 -m 則是在 5.4 STABLE 才有支援 , 5.4 RELEASE 以下都沒有.



  1. kldstat online manpage - FreeBSD 6.0

  2. kldstat online manpage - FreeBSD 5.4 STABLE

  3. kldstat online manpage - FreeBSD 5.4 RELEASE


所以在 5.4 RELEASE (含) 以下的平台在啟動時會看到這種訊息 :


kldstat: illegal option -- q
usage: kldstat [-v] [-i id] [-n name]

所以我送 pr 去請他們把 -q -m 改成 -n 就好.


目前看來是還沒處理, 不知道會不會回我信, 叫我改用 FreeBSD 6.0 ? XD



0 Comments:

張貼留言

<< Home