博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Download all Apple open source OS X files at once
阅读量:6680 次
发布时间:2019-06-25

本文共 2490 字,大约阅读时间需要 8 分钟。

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 
. 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).
#!/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//\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! 
以上转自:
另附:非常有用的参考网址:
tar包下载地址(全): /
source在线查看(全): /
release发布包下载地址:
Mac OS X 10.6.2: /
Mac OS X 10.8:   /
脚本下载地址:

转载于:https://www.cnblogs.com/sesexxoo/p/6189911.html

你可能感兴趣的文章
LeetCode OJ:Reverse Linked List II(反转链表II)
查看>>
LeetCode OJ:Binary Tree Zigzag Level Order Traversal(折叠二叉树遍历)
查看>>
海量数据、高并发优化方案
查看>>
会计的思考(35):会计数据之殇
查看>>
10多媒体
查看>>
分布式一致性协议
查看>>
day10-mysql
查看>>
脑洞大开——我理解的编程模式
查看>>
项目总结07:JS图片的上传预览和表单提交(FileReader()方法)
查看>>
Linux中各种进程显示和默认端口
查看>>
Java使用线程并发库模拟弹夹装弹以及发射子弹的过程
查看>>
android 利用SimpleDateFormat格式化时间不准确的问题
查看>>
盘点互联网巨头奉献的十大开源安全工具[转]
查看>>
FileUtils工具类的使用
查看>>
程序员找不女朋友的原因
查看>>
react-router中的路由钩子使用
查看>>
C#编程之“串口通讯多次接收”
查看>>
【python 文件操作】python 文件操作
查看>>
线程相关
查看>>
【C语言】20-static和extern关键字2-对变量的作用
查看>>