Наткнулся на реализацию прогрессбара для cp, а есть ли где-нибудь среди оверлее уже пропатчиный должным образом coreutils? или как вообще реализовать это в gentoo?
Соответственно при обновлении coreutils изменения пропадут. Чтоб этого не произошло, нудно создать локальный оверлей, положить в него ебилд для coreutils и подправить его на предмет наложения патча.
Как-то так.
А вот наложится он, или нет - это я уже не знаю. Все от патча зависит.
Можешь попробовать кореутилсы другой версии взять. например 8.5 (ну или для какой там версии патч).
ЗЫЖ По ссылки не ходил. Не интересно.
Наткнулся на реализацию прогрессбара для cp, а есть ли где-нибудь среди оверлее уже пропатчиный должным образом coreutils? или как вообще реализовать это в gentoo?
ппц - в гугл!
в bashsrc пихаешь это
#PATCHES
pre_src_configure() {
src_autopatcher
}
src_autopatcher() {
PATCH_DIR="/var/portage/patches"
PATCH_OPTS="-g0 -E --no-backup-if-mismatch"
local count=0
if [ -d "${PATCH_DIR}/${CATEGORY}/${PN}" ]; then
for PATCH in $(find "${PATCH_DIR}/${CATEGORY}/${PN}" "${PATCH_DIR}/${CATEGORY}/${PN}/${PVR}/"-type f -name "*.patch"|sort)
do
einfo "Patching ${PATCH/*\//} ..."
while [[ ${count} -lt 5 ]]; do
if (patch -p${count} ${PATCH_OPTS} --dry-run -f < "${PATCH}") >/dev/null; then
patch -p${count} ${PATCH_OPTS} < "${PATCH}" >/dev/null
break
fi
(( count++ ))
done
if [[ ${count} -ge 5 ]] ; then
eerror "Failed Patch: ${PATCH/*\//} !"
die "Failed Patch: ${PATCH/*\//} !"
fi
done
fi
}
а в
/var/portage/patches/sys-apps/coreutils
кладёшь патч
всё само пропатчится
(можно и /var/portage/patches/sys-apps/coreutils/версия)
—
Здесь были линки но пришла Larry и их слизнула =) Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Можно так: 1. распаковываем
Можно так:
1. распаковываем исходники
2. переходим в папку с исходниками
3. Накладываем патч
4. Собираем и устанавливаем
Чтоб откатить изненения
Соответственно при обновлении coreutils изменения пропадут. Чтоб этого не произошло, нудно создать локальный оверлей, положить в него ебилд для coreutils и подправить его на предмет наложения патча.
Как-то так.
Спасибо! А можно подробнее по
Спасибо! А можно подробнее по 3 пункту - как накладывать патч? критично ли если версия corutils и патча не совпадает?
Ну, обычно как-то такpatch
Ну, обычно как-то так
А вот наложится он, или нет - это я уже не знаю. Все от патча зависит.
Можешь попробовать кореутилсы другой версии взять. например 8.5 (ну или для какой там версии патч).
ЗЫЖ По ссылки не ходил. Не интересно.
Все ясно, спасибо.
Все ясно, спасибо.
ecp
http://gpo.zugaina.org/sys-apps/ecp
Выглядит так: http://itmages.ru/image/view/197453/dddf76e3
Все мы, рано или поздно, будем там...
Ок! Тоже вариант.
Ок! Тоже вариант.
sys-apps/bar
sys-apps/bar тут пример
phalkone
ппц - в гугл!
в bashsrc пихаешь это
#PATCHES pre_src_configure() { src_autopatcher } src_autopatcher() { PATCH_DIR="/var/portage/patches" PATCH_OPTS="-g0 -E --no-backup-if-mismatch" local count=0 if [ -d "${PATCH_DIR}/${CATEGORY}/${PN}" ]; then for PATCH in $(find "${PATCH_DIR}/${CATEGORY}/${PN}" "${PATCH_DIR}/${CATEGORY}/${PN}/${PVR}/"-type f -name "*.patch"|sort) do einfo "Patching ${PATCH/*\//} ..." while [[ ${count} -lt 5 ]]; do if (patch -p${count} ${PATCH_OPTS} --dry-run -f < "${PATCH}") >/dev/null; then patch -p${count} ${PATCH_OPTS} < "${PATCH}" >/dev/null break fi (( count++ )) done if [[ ${count} -ge 5 ]] ; then eerror "Failed Patch: ${PATCH/*\//} !" die "Failed Patch: ${PATCH/*\//} !" fi done fi }а в
/var/portage/patches/sys-apps/coreutils
кладёшь патч
всё само пропатчится
(можно и /var/portage/patches/sys-apps/coreutils/версия)
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy