2009-04-09 18 views
2

Macでwgetのソースコードをダウンロードしようとしています。私はMacの端末でオープンソースプロジェクトのソースコードをダウンロードできません

apt-get source wget 

でのUbuntuでのwgetのソースコードを取得するために管理

しかし、私はMacのターミナルのソースコードをダウンロードするために管理していません。 MacPortsで同じユーティリティが見つかりませんでした。

+0

プログラムを開発する最も簡単な方法は、Ubuntuを使うことです。おそらく、Macには$ apt-get sourceと同じ機能を持ついくつかのプログラムがあります。

+0

そのようなパッケージマネージャのスタイルが好きなら、finkを試してみてください。しかし、これはServerFaultの質問です。投票を終了する。 – dmckee

+0

ユニバーサルUnixパッケージマネージャはありません。すべてのマネージャーには特定の構文があり、他のマネージャーと共有する場合と共有しない場合があります。 –

答えて

9

MacPortsはソースベースのパッケージマネージャです。これは、MacPorts経由でパッケージをインストールするたびに、ソースをダウンロードし、パッチを適用したり、パッチを適用したり、ビルドしたり、一時的な場所にインストールしたり(ポートが必要とするファイルを追跡できるようにする)そのアーカイブをMacPortsのルートにインストールします。通常は/opt/localです。

ビルドする前にソースを参照または編集する場合は、ソースをダウンロードしてインストールするために必要な手順のサブセットを実行できます。 port extract <name>は、ポートを実際にビルドまたはインストールすることなく、ポートのソースをダウンロードして抽出します。その後、port dir <portname>で抽出されたソースを見つけることができます。

$ sudo port -v extract zlib 
Password: 
---> Fetching zlib 
---> Verifying checksum(s) for zlib 
---> Checksumming zlib-1.2.3.tar.bz2 
---> Extracting zlib 
---> Extracting zlib-1.2.3.tar.bz2 
$ ls $(port dir zlib) 
Portfile files  work 
$ ls $(port dir zlib)/work 
zlib-1.2.3 
$ ls $(port dir zlib)/work/zlib-1.2.3 
ChangeLog as400  examples inftrees.h uncompr.c 
FAQ  compress.c gzio.c  make_vms.com win32 
INDEX  configure infback.c minigzip.c zconf.h 
Makefile contrib  inffast.c msdos  zconf.in.h 
Makefile.in crc32.c  inffast.h old  zlib.3 
README  crc32.h  inffixed.h projects zlib.h 
adler32.c deflate.c inflate.c qnx  zutil.c 
algorithm.txt deflate.h inflate.h trees.c  zutil.h 
amiga  example.c inftrees.c trees.h 

は、ポートの開発についての詳細は、MacPorts guideを参照してください、ともman port

+0

ありがとうございました! –

2

ほとんどのオープンソースプロジェクトは、ソースコードまたは読み取り可能なバージョン管理リポジトリの圧縮アーカイブを提供します。たとえば、wgetのソースコードはhttp://ftp.gnu.org/gnu/wget/にあります。あなたがする必要があるすべてはあなたが

ftp http://ftp.gnu.org/gnu/wget/wget-1.10.2.tar.gz 

のようなコマンドをダウンロードして、ターミナルウィンドウに入力したいバージョンあなたは、コード場合

tar xvzf wget-1.10.2.tar.gz 

のようなコマンドを使用して、ソースコードを展開することができます決定されますバージョン管理リポジトリにある場合、プロジェクトにはコードをダウンロードするために必要なコマンドも表示されます。例えば、cvs2svnはあなたにコマンド

svn co --username=guest http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk 

を与えるマック固有のメソッドがあるかもしれませんが、私は説明したものの美しさは、それがどんなUnixライクな環境のために働くということです。

2

AFAIK、MacPortsはapt-getのソースと似た機能を持っていません。

ただし、送信元URLはPortfilesにあります。あなたは、例えば、端末内に

cat `port file port_name` 

を入力して、ポートのportfileを表示することができます。

cat `port file wget` 

それともポートをインストールし、/opt/local/var/macports/distfilesにソースを見つけることができます。

インストールコマンドを使用して、ポートをダウンロードするだけで、ビルドやインストールを行うことができない場合もあります。

+0

コマンドの動作例を教えてください。 $ cat 'port NotSureWhichFileIshouldChoose devtodo'のような意味ですか、devtodoはプログラムの名前です。 –

+0

更新された回答をご覧ください。 fileはコマンドの名前なので、それはリテラルです。 –

+0

MacPortsに 'port cat'コマンドもあります。 – raimue

1

オープンソースプロジェクトにaptインターフェイスを使用する場合は、さまざまなオープンソースパッケージのMac OS X用dpkgシステムFinkを参照してください。

2

は、ソフトウェアパッケージとその依存関係を自動的にダウンロードしてインストールするためのプログラムです。 DebianやUbuntuのようなLinuxベースのプラットフォームでのみ利用可能です。 Mac OS Xには、2つの同様のユーティリティ、FinkMacPortsがあります。両方ともapt-getと同じ目的を果たします。私は個人的にはMacPortsを好まれています。なぜなら、それはより良いUIを持っていると思うからですが、どちらのソフトウェアも同じかそれほど同じです。

+0

実際にはfinkには "apt-get"が含まれています。これは基本的にOSXではdpkg + aptですが、 "fink"コマンド自体を使ってパッケージを取得することもできます。 – harms

関連する問題