Summary: | mkaptbox: возможность вынести aptbox за пределы workdir | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vadim Gusev <kopilo4ka> | ||||
Component: | hasher | Assignee: | Dmitry V. Levin <ldv> | ||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||
Severity: | enhancement | ||||||
Priority: | P3 | CC: | at, glebfm, ldv, placeholder | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Vadim Gusev
2012-02-03 15:05:24 MSK
Created attachment 5314 [details]
patch
(In reply to comment #0) > Первая часть патча - небольшой фикс захардкоденного места песочницы. Скажите, пожалуйста, что, на ваш взгляд, дает эта замена "aptbox" на "$aptbox" в mkaptbox? > Вторая часть - исправление ошибки > http://lists.altlinux.org/pipermail/devel/2010-October/185347.html Что вы называете исправлением ошибки? Упрятывание вышеупомянутой диагностики вида "/usr/bin/mkaptbox: line 212: printf: ошибка записи: Обрыв канала" путем использования операции, которая не обучена диагностировать эту ошибку? (In reply to comment #2) > (In reply to comment #0) > > Первая часть патча - небольшой фикс захардкоденного места песочницы. > > Скажите, пожалуйста, что, на ваш взгляд, дает эта замена "aptbox" на "$aptbox" > в mkaptbox? Если в файле hsh-sh-functions, в функции set_workdir() меняю aptbox="$workdir/aptbox" на другое, сразу все ломается. Если использовать переменную, то все хорошо. > > Вторая часть - исправление ошибки > > http://lists.altlinux.org/pipermail/devel/2010-October/185347.html > > Что вы называете исправлением ошибки? > Упрятывание вышеупомянутой диагностики вида > "/usr/bin/mkaptbox: line 212: printf: ошибка записи: Обрыв канала" > путем использования операции, которая не обучена диагностировать эту ошибку? Вывод --showrc не маленький и хранится в переменной. Если вызывать mkaptbox из другой программы, вероятно на это не хватает буфера. Я это обошел вычислением на лету. (In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #0) > > > Первая часть патча - небольшой фикс захардкоденного места песочницы. > > > > Скажите, пожалуйста, что, на ваш взгляд, дает эта замена "aptbox" на "$aptbox" > > в mkaptbox? > > Если в файле hsh-sh-functions, в функции set_workdir() меняю > aptbox="$workdir/aptbox" > на другое, сразу все ломается. Интересно, зачем вам понадобилось менять в файле hsh-sh-functions функцию set_workdir? > > > Вторая часть - исправление ошибки > > > http://lists.altlinux.org/pipermail/devel/2010-October/185347.html > > > > Что вы называете исправлением ошибки? > > Упрятывание вышеупомянутой диагностики вида > > "/usr/bin/mkaptbox: line 212: printf: ошибка записи: Обрыв канала" > > путем использования операции, которая не обучена диагностировать эту ошибку? > > Вывод --showrc не маленький и хранится в переменной. Если вызывать mkaptbox из > другой программы, вероятно на это не хватает буфера. Я это обошел вычислением > на лету. Да нет же, прочитайте еще раз разъяснение по той ссылке, которую вы привели раньше. > Интересно, зачем вам понадобилось менять в файле hsh-sh-functions функцию > set_workdir? Неожиданно ~/hasher было уже занято, и захотелось перенести в другое место. > Да нет же, прочитайте еще раз разъяснение по той ссылке, которую вы привели > раньше. Тот 'sh-скрипт', что вызывает mkaptbox это питоний arepo. Ошибка появляется вообще случайно. Может не быть, а может и все 4 раза (столько там вызовов). (In reply to comment #5) > > Интересно, зачем вам понадобилось менять в файле hsh-sh-functions функцию > > set_workdir? > > Неожиданно ~/hasher было уже занято, и захотелось перенести в другое место. ~/hasher это значение по умолчанию, но ведь никто не мешает переносить workdir в другое место: $ hsh --help |grep path-to-workdir Usage: hsh [options] [<path-to-workdir>] <package>... <path-to-workdir> must be valid writable directory. Даже значение по умолчанию можно поменять (за это отвечает переменная workdir в файле ~/.hasher/config). > > Да нет же, прочитайте еще раз разъяснение по той ссылке, которую вы привели > > раньше. > > Тот 'sh-скрипт', что вызывает mkaptbox это питоний arepo. Ошибка появляется > вообще случайно. Может не быть, а может и все 4 раза (столько там вызовов). Еще раз: та диагностика об ошибке, которая вас смущает, не является ошибкой. Ошибкой в некотором смысле является тот факт, что SIGPIPE игнорируется, но в shell-скрипте это поведение исправить нельзя. И arepo тут не при чем. Чтобы в этом убедиться, достаточно выполнить команду $ grep ^SigIgn: /proc/self/status |