libcap-bin для ARM

Я хотел бы использовать setcap, часть libcap-bin, на встроенном устройстве Linux. Я использую buildroot и вижу, что у него есть доступные пакеты libcap и libcap-ng, но не libcap-bin.

Я погуглил, но не смог найти источник libcap-bin для создания двоичного файла setcap для целевой платы ARM.

В Ubuntu я просто устанавливаю с помощью:

sudo apt-get install libcap-bin

Где я могу получить исходный код и как мне собрать libcap-bin для моей платы ARM?


person PhilBot    schedule 15.11.2012    source источник
comment
Тогда пакет libcap buildroot не включает setcap? libcap-bin — это всего лишь артефакт управления пакетами, разделяющий двоичные файлы, поддержку разработки и части документации компонента на отдельные пакеты -bin, -dev и -doc.   -  person unixsmurf    schedule 15.11.2012
comment
Я проверил каталог сборки, и кажется, что setcap.c там. Однако Makefile требует, чтобы LIBATTR был объявлен для его сборки. Libattr отсутствует в Buildroot, и я не нашел много информации о нем в Google.   -  person PhilBot    schedule 16.11.2012


Ответы (1)


Как объясняли другие: вы не можете ожидать совпадения 1:1 между пакетами, которые вы видите в своем дистрибутиве Ubuntu/Debian, и пакетами, которые вы видите в Buildroot.

Пакеты Ubuntu/Debian берут исходные пакеты (в данном случае libcap) и создают из них несколько двоичных пакетов, чтобы вы могли установить только библиотеку, или библиотеку + файлы разработки, или библиотеку + программы и т. д. Например, посмотрите на http://packages.ubuntu.com/source/quantal/libcap2, который является справочной страницей для исходного пакета libcap2: она дает вам список бинарных пакетов, сгенерированных в Ubuntu из этого исходного пакета.

С другой стороны, в Buildroot есть только концепция исходных пакетов. Один пакет в Buildroot == один tarball из данного программного компонента. Поэтому есть только package/libcap. На данный момент package/libcap/libcap.mk написано только для установки библиотеки, потому что программы setcap и getcap никому не были нужны. Но вы можете расширить package/libcap/libcap.mk (и, возможно, package/libcap/Config.in), чтобы включить компиляцию программ. Как заметил другой комментатор, вам нужно будет добавить attr в качестве зависимости (хотя комментатор ошибочно сказал, что у Buildroot нет attr: он есть, см. package/attr).

person Thomas Petazzoni    schedule 17.11.2012
comment
Спасибо за этот ответ - я понимаю различия и теперь могу собрать его с помощью Buildroot. - person PhilBot; 19.11.2012