帮你加速下载webOS源码


WebOS开源了,本文将提供多种方法帮你轻松搞掂WebOS下载.

WebOS源码被公布(hp官方)在:http://opensource.palm.com/packages.html

你可以看到各个版本的WebOS底层源码。这些源码都是被打包的,本文将给出一个脚本,可以自动从该网站上下载源码

非官方的WebOS-Internal也提供了WebOS代码 http://git.webos-internals.org/

这些代码是由git管理,本文将利用Android repo脚本,同时给出一个manifest,你可以简单地下载上面的所有源码

1. 下载hp官网上的源码:

复制以下bash脚本,写进文本(比如get-webos-src-pkg.sh)

 
  1. #!/bin/bash  
  2. #  
  3. # COPYRIGHT KARFIELD (C) 2011  
  4. #  
  5. # THIS SMALL SCRIPT WAS WRITTEN BY KARFIELD <karfield@live.cn>  
  6. # IT'S FREE TO USE WITHOUT ANY WARRANTY. WITHOUT EVEN THE IMPLIED  
  7. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  8. #  
  9. # BEFORE USE, PLEASE CHECK SOME UTILS THAT INSTALLED IN YOUR SYSTEM:  
  10. #  
  11. # axel - A useful tool to accelerate you downloading  
  12. #  
  13.   
  14. VERSION=3.0.4  
  15. BASEURL=http://opensource.palm.com/  
  16. HTML=/tmp/page.html  
  17. wget -q $BASEURL/$VERSION/index.html -O $HTML  
  18. URLS=($(sed -n 's/.*href=\"\(.*\)z\".*/\1z/p' < $HTML))  
  19. for URL in ${URLS[@]}; do  
  20.     axel $URL  
  21. done  

保存get-webos-src-pkg.sh,修改权限并执行即可

example instructions:

 
  1. $ mkdir webos-src-pkg  
  2. $ cd webos-src-pkg  
  3. $ touch get-webos-src-pkg.sh  
  4. $ vim get-webos-src-pkg.sh  (拷贝上述脚本)  
  5. $ chmod u+x get-webos-src-pkg.sh  
  6. $ ./get-webos-src-pkg.sh  
  7. $   

注意,为了加速下载,该脚本使用axel下载工具,这个工具是多线程并且断点续传。在使用脚本之前,确保你安装了axel。木有的话,在debian/unbuntu下可以直接用apt-get install axel安装。

你可以修改axel的并发线程数,具体参考axel --help

脚本中的VERSION是WebOS对应的版本号。你可以修改为想要的版本号,就可以下载对应的代码包了。

2. 下载WebOS-Internals上的源码。

该网站上的源码用了n多个git库来管理,如果手动一个个下就会令人崩溃,假用Android的repo工具就可以轻松下载所有源码了。

在begin之前,确保你下了repo,否则请参考Android网站上的方法下repo:http://source.android.com/source/downloading.html

除此之外,要保证你的网络没有被禁用git端口。因为WebOS-Internals.org只开放了git端口下载,没有用http端口下载源码。不过你在家翘着二郎腿吃着薯片下的话不会碰到此问题。

使用repo来管理很多git库由莫大的好处(略),简而言之你可以用以下两条命令来下载:

 
  1. $ repo init -u git://git.code.sf.net/p/webosrepo/code  
  2. $ repo sync  

下载是一个漫长的过程,对于像我这样只有实际2M带宽的话(该网站也不给力)。

你可能看到了repo -u后面的参数是sourceforge上的,它其实是个manifest xml配置文件,简而言之就是从git.webos-internals.org上的git库生成的xml文件,下载得到的源码之后你可以发现跟网站上一样的目录。这个manifest是我生成的,如果发现WebOS-Internals.org的git库目录有所变动,欢迎随时mailto me,以便我更改sourceforge上的配置代码。Thx!

OK! That all, Have Fun!

相关内容