2010-12-17 23 views

Respuesta

19

Como ya se ha mencionado se puede utilizar el ABS (Arch Build System):

instalarlo usando pacman:

sudo pacman -S base-devel abs 

En primer lugar, descargar el árbol ABS:

sudo abs 

Entonces, Obtenga un paquete específico:

sudo abs [package_name] 

Luego copie el paquete, cuya fuente desea tener, del árbol local abs (p. Ej. /var/abs/core/findutils) a otro directorio, p. /home/blabla/abs

A continuación, ejecute makepkg:

  • si sólo desea obtener las fuentes y no quieren para construir el paquete puede ejecutar makepkg -od

  • lo contrario ejecutar makepkg -s, que a su vez manejar todas las dependencias del paquete automáticamente

  • ten cuidado porque makepkg sobrescribirá tus modificaciones, usa makepkg -e para construir sus fuentes locales en lugar

Si desea instalar el paquete que se ha construido, ejecute

pacman -U name-of-package.xz 
+0

'makepkg -i' también instalará el paquete; también es posible usar 'makepkg -ei' para compilar lo que está en src e instalar el paquete resultante en una toma – renergy

3

Editar: Esta respuesta no está actualizada debido a cambios en el ABS.

Obtiene las fuentes del paquete del repositorio SVN de Arch Linux, llamado ABS.

En primer lugar encontramos el paquete en línea: http://www.archlinux.org/packages/?q=coreutils

A continuación, en la página de detalles del paquete, en el lado derecho utilice los enlaces SVN, por ejemplo: http://repos.archlinux.org/wsvn/packages/coreutils/trunk/

Y allí, usted tiene un dulce "Descargar "botón, en este caso conduce a: http://repos.archlinux.org/wsvn/packages/coreutils/trunk/?op=dl&isdir=1

Es un poco más complicado que apt-get source. Pero tal vez encuentres una herramienta en AUR que hace el trabajo por ti, por ejemplo, yaourt admite construir desde fuentes y exportarlas.

+1

Me olvidé de mencionar que el ABS mencionado también viene con herramientas de espacio de usuario, por lo que de hecho puede realizar automáticamente todos los paquetes, etc. Sin embargo, es excesivo para paquetes individuales. – ypnos

+0

El sitio repo está ahora en blanco. – l0b0

+0

Correcto, pero los enlaces en la página de detalles del paquete todavía están allí, y los paquetes se pueden encontrar ahora aquí: https://projects.archlinux.org/svntogit/packages.git/tree/ – ypnos

35
  1. pacman -S abs
  2. pacman -S base-devel
  3. Como root, edite /etc/abs.conf incluir sus repositorios deseados: vim /etc/abs.conf o : nano /etc/abs.conf. Quite el ! delante de los repositorios apropiados, por ejemplo: REPOS=(core extra community !testing)
  4. Descargue el árbol Arch Build System (ABS). Como root, ejecute: abs. Su árbol de ABS ahora se crea bajo /var/abs. El paso anterior se realiza de una vez por todas (ejecute abs de vez en cuando para actualizar el árbol fuente). A continuación,
  5. dicen si desea que el código fuente del comando de Linux find

    1. saber a qué paquete pertenece el comando find a: pacman -Qo $(which find). El resultado es "/ usr/bin/find es propiedad de findutils 4.4.2-3".

    2. cp -r /var/abs/core/findutils /home/yourname/a_directory

  6. cd /home/yourname/a_directory 
    makepkg -o 
    

Ahora usted tiene su código fuente.

+1

Si solo quieres un paquete, puedes hacer algo como 'abs core/wpa_supplicant', donde antepones el repositorio del paquete. También puede usar 'ABSROOT =/tmp/abs core/wpa_supplicant' si no desea usar' sudo'. –

+1

Gracias por la sugerencia de no sudo para descargar un paquete (que es posible con la fuente apt-get). Por cierto, en el paso 5.1 si buscas 'encontrar' simplemente escribe' pacman -Qo find'. Yo personalmente prefiero usar 'pkgfile find'. Solo inténtalo. – tiktak

+0

Puede usar 'makepkg -o' para descargar y parchear el código fuente, ¡en lugar de crear el paquete while! – LassePoulsen

Cuestiones relacionadas