naszar
Собственно скорее всего хватит заменить в src/pacman/pacman.c:778: uid_t myuid = geteuid(); на uid_t myuid = 0;

Большое спасибо целый день мучаюсь с этим ))))

Мне вполне достаточно остановиться на make и запускать pacman из самой папки с исходниками, свои логи он согласно конфиг файлу итак выведит в нужные мне каталоги а прова на них я точно назначаю.
naszar
Отучить pacman проверять, для некоторых операций, запущен ли он от рута нельзя - это часть его логики работы определенная в исходниках.

Значит мне придется править исходник для отключения проверки на рута и собирать временную тулзу pacman`а для установки своих пакетов, ну а потом уже переключаться обратно на родную когда уже буду работать под рутом ))).
Решено все же перейти на UTF-8.
Предпочтительней оказалось все таки использовать libarchive и curl )))
vdemin
Поделитесь решением?

переменные обявленные через export видны в PKGBUILD
vadik
imam, про расположение пакета я спрашивал у arcanis-а. А вас просил показать тот pacman.conf, на который ссылаетесь в своей команде установки (есть мысль, но надо проверить).

комент выше правил ))))

pacman.conf:
[options]
RootDir = /mnt/
DBPath = /mnt/var/lib/pacman/
CacheDir = /mnt/var/cache/pacman/pkg/
LogFile = /mnt/var/log/pacman.log
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
vadik
imam, тогда и pacman.conf показывайте.

arcanis так тот пакет в основную систему установился? Или так и лежит в /tmp?

Пакет лежит где и лежал

а на попытку установить говорит
error: you cannot perform this operation unless you are root.

тоесть я в отдельном каталоге из под простого юзера собираю макет дерева каталогов и файлов для образа.
vadik
Приведите полностью команду, которой устанавливаете пакет (pacman -S название_пакета опции).

yes | pacman -U --config ${CONF}/pacman.conf package.pkg.tar.xz

pacman.conf:
[options]
RootDir = /mnt/
DBPath = /mnt/var/lib/pacman/
CacheDir = /mnt/var/cache/pacman/pkg/
LogFile = /mnt/var/log/pacman.log
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
Дело в том что я в другие дириктории устанавливаю пакеты
/mnt

соответственно
/mnt/var/lib/pacman
/mnt/var/cache/pacman/pkg
/mnt/var/log

а права на них уже корректные.

man pacman читал но с англиским не очень и найти ключ для отключения проверки не смог.
Есть ли у pacman ключь позволяюший обойти проверку на рута при установке пакетов?