Bug 23824 - add chown1, chown2 commands with -R support
Summary: add chown1, chown2 commands with -R support
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: hasher-priv (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-30 19:06 MSD by viy
Modified: 2010-08-04 12:20 MSD (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description viy 2010-07-30 19:06:29 MSD
Для легковесной реализации gear-cronbuild в hasher chroot надо добавить
в hasher-priv дополнительные команды chown1, chown2, 
вызывающие в chroot-е chown user1 и chown user2 соответственно, 
а также понимающие опцию -R (для chown).

Метод, о котором мы говорили на конференции с git clone -s не работает,
так как он просто пишет ссылку за пределы chroot:
git clone -s ../repocop-report-prometeus.git re.git
cat .git/objects/info/alternates
/home/igor/src/repo/test/../repocop-report-prometeus.git/.git/objects
Comment 1 Dmitry V. Levin 2010-07-30 19:47:19 MSD
Обычный chown -R от рута -- это неустранимо небезопасная операция, давайте лучше обойдёмся без неё и попробуем использовать git init --shared.
Comment 2 viy 2010-07-30 20:38:28 MSD
ок, попробую.
Comment 3 viy 2010-07-30 20:51:42 MSD
заодно спрошу вопрос по hasher.
допустим, я запускаю hasher командой
hsh --initroot-only "$@"
есть ли простой способ узнать, где будет workdir?
чтобы не парсить "$@" и ~/.hasher/config ?
Comment 4 Dmitry V. Levin 2010-07-30 21:21:23 MSD
(In reply to comment #3)
> заодно спрошу вопрос по hasher.
> допустим, я запускаю hasher командой
> hsh --initroot-only "$@"
> есть ли простой способ узнать, где будет workdir?
> чтобы не парсить "$@" и ~/.hasher/config ?

Разве что распарсить verbose output.  А зачем это может быть нужно?
Comment 5 Dmitry V. Levin 2010-07-30 21:22:52 MSD
(In reply to comment #0)
> Метод, о котором мы говорили на конференции с git clone -s не работает,

Для достижения той цели, о которой шла речь, должно быть достаточно git init --shared с последующим git fetch.
Comment 6 viy 2010-07-30 21:49:06 MSD
(В ответ на комментарий №4)
> > есть ли простой способ узнать, где будет workdir?
> > чтобы не парсить "$@" и ~/.hasher/config ?
> Разве что распарсить verbose output.  А зачем это может быть нужно?
Скрипт хочет скопировать .git (или зайти чтобы сделать git init/git fetch) 
в $workdir/chroot/.in.
но $workdir не известно. Его нужно сначала как-то вычислить.

Если я к hasher хак прикручу, --print-env, например, нормально будет?