Nov 4, 2010

first oss contribution

  很久之前发现 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更有动力~