Подтвердить что ты не робот

Как загрузить исходный код с Pacman на Arch Linux?

Я использую Arch Linux. Я хочу сделать то же самое, что и apt-get source coreutils; можно ли загружать источники с Pacman? Я не нашел решения в man-страницах.

Как я могу получить исходный код пакета?

4b9b3361

Ответ 1

Как уже упоминалось, вы можете использовать ABS (Arch Build System):

Установите его с помощью pacman:

sudo pacman -S base-devel abs

Сначала загрузите дерево ABS:

sudo abs

Затем получите конкретный пакет:

sudo abs [package_name]

Затем скопируйте пакет, источник которого вы хотите иметь, из локального дерева абс (например, /var/abs/core/findutils) в другой каталог, например. /home/blabla/abs

Затем запустите makepkg:

  • если вы хотите получить источники и не хотите создавать пакет, который вы можете запустить makepkg -od

  • в противном случае выполните makepkg -s, который автоматически обработает все зависимости пакета

  • Следите, чтобы becaouse makepkg перезаписал ваши изменения, используйте makepkg -e для создания локальных источников вместо этого

Если вы хотите установить пакет, который вы создали, запустите

pacman -U name-of-package.xz

Ответ 2

  • pacman -S abs
  • pacman -S base-devel
  • Как root, отредактируйте /etc/abs.conf, чтобы включить нужные репозитории: vim /etc/abs.conf или: nano /etc/abs.conf. Удалите ! перед соответствующими репозиториями, например: REPOS=(core extra community !testing)
  • Загрузите дерево Arch Build System (ABS). Как root, запустите: abs. Теперь дерево ABS создано под /var/abs. Вышеупомянутый шаг выполняется один раз для всех (запустите abs время от времени, чтобы обновить исходное дерево, хотя). Далее,
  • скажем, если вы хотите, чтобы исходный код команды Linux find

    • узнать, к какому пакету принадлежит команда find: pacman -Qo $(which find). В результате "/usr/bin/find принадлежит findutils 4.4.2-3".

    • cp -r /var/abs/core/findutils /home/yourname/a_directory

  • cd /home/yourname/a_directory
    makepkg -o
    

Теперь у вас есть исходный код.

Ответ 3

Изменить: этот ответ устарел из-за изменений в АБС.

Вы получаете источники пакетов из репозитория SVN Arch Linux, называемого ABS.

Сначала найдите пакет онлайн: http://www.archlinux.org/packages/?q=coreutils

Затем, на странице сведений о пакете, с правой стороны используйте ссылки SVN, например: http://repos.archlinux.org/wsvn/packages/coreutils/trunk/

И там у вас есть сладкая кнопка "Загрузить", в этом случае это приводит к: http://repos.archlinux.org/wsvn/packages/coreutils/trunk/?op=dl&isdir=1

Это немного сложнее, чем apt-get source. Но, возможно, вы найдете инструмент для AUR, который выполняет эту работу для вас, например yaourt поддерживает создание из источников и их экспорт.