Я использую Arch Linux. Я хочу сделать то же самое, что и apt-get source coreutils; можно ли загружать источники с Pacman? Я не нашел решения в man-страницах.
Как я могу получить исходный код пакета?
Я использую Arch Linux. Я хочу сделать то же самое, что и apt-get source coreutils; можно ли загружать источники с Pacman? Я не нашел решения в man-страницах.
Как я могу получить исходный код пакета?
Как уже упоминалось, вы можете использовать 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
pacman -S abspacman -S base-develvim /etc/abs.conf
или:
nano /etc/abs.conf. Удалите ! перед соответствующими репозиториями, например:
REPOS=(core extra community !testing)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
Теперь у вас есть исходный код.
Изменить: этот ответ устарел из-за изменений в АБС.
Вы получаете источники пакетов из репозитория 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 поддерживает создание из источников и их экспорт.