Download all Apple open source OS X files at once
2015-06-23 14:39
405 查看
While it is well known that Mac OS X contains open source code, how to access and download that source code is perhaps less well known. Apple publishes all its open source code on their Apple Open Source site. However, this site makes you download each program individually, without an obvious option to download an entire OS X release at once (i.e., all public sources for 10.6.1).
So I wrote the following bash script to automate the download procedure. It downloads the individual tarballs for each program, expands them locally, and then rolls everything up into one big tarball for local storage. Some caveats are that this script does not build the code, and that you are bound by a variety of licenses which are not included here (because no Apple code is included here).
Save the above somewhere on your path, make it executable (chmod a+x scriptname), and then run it with the version number you'd like to download: getsource 10.6.1, for instance. I am a bit shy about releasing my scripts, so please be gentle!
以上转自:http://hints.macworld.com/article.php?story=20091014194517371
另附:非常有用的参考网址:
tar包下载地址(全):www.opensource.apple.com/tarballs/
source在线查看(全):www.opensource.apple.com/source/
release发布包下载地址:
Mac OS X 10.6.2: www.opensource.apple.com/release/mac-os-x-1062/
Mac OS X 10.8: www.opensource.apple.com/release/mac-os-x-108/
脚本下载地址:http://download.csdn.net/detail/duanyipeng/8831335
So I wrote the following bash script to automate the download procedure. It downloads the individual tarballs for each program, expands them locally, and then rolls everything up into one big tarball for local storage. Some caveats are that this script does not build the code, and that you are bound by a variety of licenses which are not included here (because no Apple code is included here).
#!/usr/bin/env bash # --- applesource.bash --- downloads source code for an entire Apple release # Take input from command-line (use "10.5.8", "10.6.1", etc.) version="mac-os-x-`echo $* | tr -d "."`" # URL: homepage="http://www.opensource.apple.com" URL="${homepage}/release/${version}/" # Announce beginning, and prepare a directory for the untarred sources echo "Preparing to download..." sources="./${version}-sources" mkdir -p ${sources} # Process the webpage for the locations of the tarballs themselves curl --silent ${URL} | sed -n 's/<a href="\(.*.tar.gz\)">/\1/p' | \ while read line; do # Find and announce the name of the next tarball to be downloaded tarball=".${line}" echo -e "\nDownloading `basename ${tarball}`..." # Download the tarball and keep Apple's original directory structure intact curl --create-dirs --output ${tarball} "${homepage}${line}" # Untar into the "sources" directory (see line 13) tar xfz "${tarball}" -C ${sources} done # Compress all sourcefiles into a single tarball for posterity echo "Creating ${version}.tar.gz from all sources..." tar cfvz "${version}.tar.gz" ${sources} # Explicitly show that everything finished. echo "Done." # I like for my Mac to talk to me, although sometimes this can be creepy. say "The source of ${version} is now ready."
Save the above somewhere on your path, make it executable (chmod a+x scriptname), and then run it with the version number you'd like to download: getsource 10.6.1, for instance. I am a bit shy about releasing my scripts, so please be gentle!
以上转自:http://hints.macworld.com/article.php?story=20091014194517371
另附:非常有用的参考网址:
tar包下载地址(全):www.opensource.apple.com/tarballs/
source在线查看(全):www.opensource.apple.com/source/
release发布包下载地址:
Mac OS X 10.6.2: www.opensource.apple.com/release/mac-os-x-1062/
Mac OS X 10.8: www.opensource.apple.com/release/mac-os-x-108/
脚本下载地址:http://download.csdn.net/detail/duanyipeng/8831335
相关文章推荐
- IOS Xcode 编译警告 Semantic Warnings
- Android消息机制——时钟显示和异步处理工具类(AsyncTask)
- 跟踪AppInfo代码
- Android Canvas drawArc方法介绍
- Android.mk编译.apk .so .jar .a第三方.apk .so .jar .a的方法
- 【iOS开发之Objective-C】布尔(Boolean)类型--BOOL
- Android.mk添加第三方jar包
- IOS开发 - 判断手机号码是否符合规则
- 用document.title=“xxx”动态修改title,在ios的微信下面不生效的解决办法!
- android单元测试报错:junit.framework.AssertionFailedError: Method "xxx" not found解决方案:
- Android Studio--Error:duplicate files during packaging of APK F:\android_studio_project\nizaoma\app\
- 微信一些关键参数的长度,建字段参考
- 秒支付—微信/银联/支付宝
- Xamarin iOS教程之警告视图
- Android ListView的A-Z字母排序、分组导航、挤压动画
- iOS 学习常用网址
- iOS应用跳转qq指定联系人聊天
- android 在onCreate方法中获得view的宽高
- android属性动画详解2
- [trouble-shooting]android 无法启动X86模式虚拟机的问题解决。