На основе комментариев @likewhoa выше, необходимо массировать структуру ебилда. Создатели не учитывали недавнюю структуру портежей при создании своих репозиториев git.
(ebuild без структуры каталогов portage)
В / usr / local / portage /
я решил, что snap-confine относится к категории sys-apps
Из командной строки bash:
cd /usr/local/portage
git clone https://github.com/zyga/snap-confine-gentoo.git
cd snap-confine-gentoo
mkdir -pv sys-apps/snap-confine
# the Manifest file will be recreated later
rm -v Manifest
mv -v snap-confine-1.0.32.ebuild sys-apps/snap-confine/
# to avoid errors, you need your masters = gentoo reference
mkdir -v metadata
echo 'masters = gentoo' > metadata/layout.conf
cd sys-apps/snap-confine
ebuild snap-confine-1.0.32.ebuild manifest clean merge
Как оказалось, .ebuild не был правильно сформирован с правильными зависимостями, но я думаю, что эти шаги представляют собой хорошее руководство на основе вне:
На основе других репозиториев Gentoo я рекомендовал разработчику создать единое репо, содержащее как snap-confine , так и snapd ebuild в категориях пакетов sys-apps
и app-emulation
соответственно.
Затем мы создали файл metadata / layout.conf , содержащий masters = gentoo
, чтобы избежать жалоб на совместимость portage. Руководство разработчика также требует, чтобы у нас был файл profiles / repo_name с указанным именем репо. В папке каждого пакета мы создали файл metadata.xml , а затем запустили repoman manifest
, чтобы сгенерировать файл Manifest .
Наконец, пользователю необходимо создать запись в /etc/portage/repos.conf/
, инструкции для которой подробно описаны в репозитории github sakaki-tools
Вы не должны не удалять этот файл. В общем, не удаляйте случайные файлы, которые вы не создали сами.
Это исполняемый файл утилиты [
. Эта утилита точно такая же, как утилита test
, но требует, чтобы последний операнд был ]
.
См. man [
и man test
.
Пример использования:
[ -n "hello" ] && echo '"hello" is a non-empty string'
Вы также можете использовать
/bin/[.exe -n "hello" ] && echo 'That works too'
(хотя вам не нужно указывать суффикс .exe
в командной строке)
Обратите внимание, что /bin/[.exe
— это исполняемый файл для внешней[
утилиты. Эта утилита очень часто также доступна как встроенная утилита -в вашей оболочке. Если ваша оболочка bash
, тоman bash
(иhelp [
)будут документировать ее.
Внешний [
в /bin
или /usr/bin
используется оболочками, которые не имеют этой встроенной утилиты -или при выполнении теста из чего-то, что не является оболочкой (например с -exec
по find
).
Связанные: