很久之前发现 alsa 有个shell script (alsa-compile.sh)不支持 Debian/Ubuntu, 刚好我公司用的是Debian testing, 所以发现了, 并且加了几行代码就可以支持了。
最近我的任务就是给开源社区fix bug,所以,用我的巨烂英语, 很不好意思的和国外developer交流着
patch 如下,下次争取fix c code
diff --git a/utils/alsa-compile.sh b/utils/alsa-compile.sh
index 4f72d10..1ae0c49 100755
--- a/utils/alsa-compile.sh
+++ b/utils/alsa-compile.sh
@@ -329,6 +329,16 @@ is_rpm_installed() {
fi
}
+# Echo "true" if deb installed, else "false"
+is_deb_installed() {
+ dpkg -l $1 2>&1 | grep -Eq '^ii'
+ if test "$?" = "0"; then
+ echo "true"
+ else
+ echo "false"
+ fi
+}
+
# Install package
# $1 is package name
install_package() {
@@ -340,6 +350,14 @@ install_package() {
Fedora|RHEL)
test "$pkg" == "lsb" && pkg="redhat-lsb"
;;
+ Debian|Ubuntu)
+ test "$pkg" == "lsb" && pkg="lsb-release"
+ test "$pkg" == "git" && pkg="git-core"
+ test "$pkg" == "alsa-lib-devel" && pkg="libasound2-dev"
+ test "$pkg" == "gettext-tools" && pkg="gettext-base"
+ test "$pkg" == "gettext-devel" && pkg="gettext"
+ test "$pkg" == "ncurses-devel" && pkg="ncurses-bin"
+ ;;
*)
echo >&2 "Cannot install $1 for unsupported distribution $distrib."
exit 1
@@ -352,6 +370,9 @@ install_package() {
Fedora|RHEL)
yum install -y $pkg
;;
+ Debian|Ubuntu)
+ apt-get install -y $pkg
+ ;;
*)
echo >&2 "Cannot install $pkg for unsupported distribution $distrib."
exit 1
@@ -400,6 +421,12 @@ check_kernel_source() {
install_package $kernel_devel
fi
;;
+ Debian|Ubuntu)
+ local kernel_devel="linux-source-$(uname --kernel-release | sed 's/-.*$//')"
+ if test $(is_deb_installed $kernel_devel) = "false" ; then
+ install_package $kernel_devel
+ fi
+ ;;
*)
echo >&2 "Cannot install kernel sources for unsupported distribution $distrib."
exit 1
No comments:
Post a Comment
您的评论将使我blog更有动力~