Não é possível baixar o código fonte de projetos de código aberto no Terminal do Mac [fechado]

StackOverflow https://stackoverflow.com/questions/733951

  •  06-09-2019
  •  | 
  •  

Pergunta

Estou tentando baixar o código-fonte para wget no Mac.

Eu consegui obter o código fonte do wget no Ubuntu por

apt-get source wget

No entanto, eu não consegui códigos de download de fonte no Terminal do Mac. I não encontrou a mesma utilidade em MacPorts.

Foi útil?

Solução

MacPorts é um gerenciador de pacotes baseada na fonte. Isso significa que cada vez que você instalar um pacote via MacPorts, ele baixa a fonte, potencialmente corrige isso, configura-lo, constrói, instala-lo para um local temporário (por isso pode acompanhar quais arquivos as necessidades portuárias), faz com que um arquivo dele , em seguida, instala que arquivo para a raiz MacPorts, que é geralmente /opt/local.

Se você quiser ver ou editar a fonte antes de construí-lo, você pode executar um subconjunto dos passos necessários para fazer download e instalá-lo. port extract <name> irá baixar e extrair a fonte para o porto, sem realmente construir ou instalá-lo. Você pode, então, encontrar a fonte extraído com 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

Veja a MacPorts guiar para obter mais informações sobre o desenvolvimento portos, e também man port.

Outras dicas

A maioria dos projetos de código aberto fornecer um arquivo compactado de seu código-fonte, ou um repositório de controle de versão legível. Por exemplo, o código fonte para wget está disponível em http://ftp.gnu.org/gnu/wget/ . Tudo que você precisa fazer é decidir qual versão você deseja fazer o download e entrar na janela do terminal um comando como

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

Você pode descompactar o código fonte com um comando como

tar xvzf wget-1.10.2.tar.gz

Se o código está em um repositório de controle de versão, em seguida, o projeto também irá listar o comando que você vai precisar fazer o download do código. Por exemplo, cvs2svn lhe dá o comando

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

Pode haver métodos específicos para Mac, mas a beleza do que eu descrevi é que ele funciona para qualquer Unix-like ambiente.

apt-get é um programa para baixar e instalar pacotes de software e suas dependências automaticamente; ela só está disponível em algumas plataformas baseadas em Linux, como Debian e Ubuntu. Mac OS X tem duas utilidades semelhantes: Fink e MacPorts . Ambos têm a mesma finalidade como apt-get. Eu pessoalmente prefiro MacPorts porque eu acho que tem uma interface mais agradável, mas ambas as partes de trabalho software mais ou menos o mesmo.

AFAIK, MacPorts não tem uma função semelhante à fonte do apt-get.

No entanto, o URL de origem é no Portfiles. Você pode ver o portfile para uma porta digitando

cat `port file port_name`

no terminal, por exemplo:

cat `port file wget`

Ou você pode simplesmente instalar a porta e encontrar a fonte em /opt/local/var/macports/distfiles.

Você pode até ser capaz de usar o comando instalar apenas download (e não construir ou instalar) o porto.

Se você quiser uma interface apt para projetos de código aberto, olhada Fink , um sistema dpkg para Mac OS X com vários pacotes de código aberto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top