ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Помогите разобраться с пакетированием
@ 2014-07-03 14:33 Евгений Терешков
  2014-07-04 17:09 ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Евгений Терешков @ 2014-07-03 14:33 UTC (permalink / raw)
  To: devel


Привет.

Пробую обновить vzctl до текущей версии. Обнаружил, что в предыдущей сборке
(4.5.1-alt1) сделано так (коммит fbd846cbb51b8d61c2d82649528a486396dd89e0):

===8<=====================================================================
%post
# Some use /vz instead of /var/lib/vz; create a compatibility symlink
test -a /vz || ln -s /var/lib/vz /vz

%preun
test -a /vz && rm -f /vz
===8<=====================================================================

при сборке новой версии (только правка версии/релиза в спеке) и попытке
обновиться я обнаружил, что симлинк /vz на тестовых машинах пропал. Не
понимаю, почему. Зато обнаружился симлинк /var/lib/vz/vz -> /var/lib/vz

Я прочитал test(1) на предмет ключа "-a" и поправил спек так (4.7.2-alt2,
4d6158e018a87fb68d1ca846443fef0b8e28a48d):
===8<=====================================================================
%post
# Some use /vz instead of /var/lib/vz; create a compatibility symlink
test -e /vz || ln -s /var/lib/vz /

%preun
test -L /vz && rm -f /vz
===8<=====================================================================

Т.е. заменил всегда возвращающее ненулевой код "test -a /vz" на "test -e" и
"test -L".

Безуспешно: по обновлению линк /vz всё равно не появляется. Интересно, что
он 100% появляется, если переустановить версию 4.7.2-alt2 с помощью apt-get
--reinstall install vzctl

Также себя ведёт и ещё один симлик из того же исходного коммита,
/etc/net/ifup-post-local -> /usr/sbin/vzifup-post, т.е. они вместе с /vz не
появляются при обновлении 4.5.1-alt1 => 4.7.2-alt1, но появляются при
переустановке крайней версии.

Помогите разобраться, что я делаю не так?

BTW: vzctl/ploop собраны в таске #123467, желающие приглашаются потестить

-- 
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-03 14:33 [devel] Помогите разобраться с пакетированием Евгений Терешков
@ 2014-07-04 17:09 ` Dmitry V. Levin
  2014-07-04 17:20   ` Michael Shigorin
  2014-07-04 17:39   ` Евгений Терешков
  0 siblings, 2 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2014-07-04 17:09 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]

Hi,

On Thu, Jul 03, 2014 at 10:33:42PM +0800, Евгений Терешков wrote:
> Привет.
> 
> Пробую обновить vzctl до текущей версии. Обнаружил, что в предыдущей сборке
> (4.5.1-alt1) сделано так (коммит fbd846cbb51b8d61c2d82649528a486396dd89e0):
> 
> ===8<=====================================================================
> %post
> # Some use /vz instead of /var/lib/vz; create a compatibility symlink
> test -a /vz || ln -s /var/lib/vz /vz
> 
> %preun
> test -a /vz && rm -f /vz
> ===8<=====================================================================
> 
> при сборке новой версии (только правка версии/релиза в спеке) и попытке
> обновиться я обнаружил, что симлинк /vz на тестовых машинах пропал. Не
> понимаю, почему. Зато обнаружился симлинк /var/lib/vz/vz -> /var/lib/vz

Этот /var/lib/vz/vz образовался в результате неправильного использования ln(1).

> Я прочитал test(1) на предмет ключа "-a" и поправил спек так (4.7.2-alt2,
> 4d6158e018a87fb68d1ca846443fef0b8e28a48d):
> ===8<=====================================================================
> %post
> # Some use /vz instead of /var/lib/vz; create a compatibility symlink
> test -e /vz || ln -s /var/lib/vz /
> 
> %preun
> test -L /vz && rm -f /vz
> ===8<=====================================================================
> 
> Т.е. заменил всегда возвращающее ненулевой код "test -a /vz" на "test -e" и
> "test -L".
> 
> Безуспешно: по обновлению линк /vz всё равно не появляется. Интересно, что
> он 100% появляется, если переустановить версию 4.7.2-alt2 с помощью apt-get
> --reinstall install vzctl

Пожалуйста, уберите эту самодеятельность с /vz из пакета vzctl!

> Также себя ведёт и ещё один симлик из того же исходного коммита,
> /etc/net/ifup-post-local -> /usr/sbin/vzifup-post, т.е. они вместе с /vz не
> появляются при обновлении 4.5.1-alt1 => 4.7.2-alt1, но появляются при
> переустановке крайней версии.
> 
> Помогите разобраться, что я делаю не так?

Это еще до вас, насколько я понимаю, неправильно написаны скрипты:
сперва %post делает ln, а потом %preun делает rm.

> BTW: vzctl/ploop собраны в таске #123467, желающие приглашаются потестить


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:09 ` Dmitry V. Levin
@ 2014-07-04 17:20   ` Michael Shigorin
  2014-07-04 17:40     ` Евгений Терешков
  2014-07-04 17:39   ` Евгений Терешков
  1 sibling, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2014-07-04 17:20 UTC (permalink / raw)
  To: ALT Devel discussion list

On Fri, Jul 04, 2014 at 09:09:59PM +0400, Dmitry V. Levin wrote:
> Это еще до вас, насколько я понимаю, неправильно написаны скрипты:
> сперва %post делает ln, а потом %preun делает rm.

См. самый хвост /usr/share/doc/rpm-4.0.4/manual/triggers:

For reference, here's the order in which scripts are executed on a single
package upgrade:

  new-%pre      for new version of package being installed
  ...           (all new files are installed)
  new-%post     for new version of package being installed

  any-%triggerin (%triggerin from other packages set off by new install)
  new-%triggerin
  old-%triggerun
  any-%triggerun (%triggerun from other packages set off by old uninstall)

  old-%preun    for old version of package being removed
  ...           (all old files are removed)
  old-%postun   for old version of package being removed

  old-%triggerpostun
  any-%triggerpostun (%triggerpostun from other packages set off by old un
                install)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:09 ` Dmitry V. Levin
  2014-07-04 17:20   ` Michael Shigorin
@ 2014-07-04 17:39   ` Евгений Терешков
  2014-07-04 17:44     ` Led
                       ` (3 more replies)
  1 sibling, 4 replies; 12+ messages in thread
From: Евгений Терешков @ 2014-07-04 17:39 UTC (permalink / raw)
  To: devel

"Dmitry V. Levin" пишет:

> Этот /var/lib/vz/vz образовался в результате неправильного использования ln(1).

Угу.

>> Я прочитал test(1) на предмет ключа "-a" и поправил спек так (4.7.2-alt2,
>> 4d6158e018a87fb68d1ca846443fef0b8e28a48d):
>> ===8<=====================================================================
>> %post
>> # Some use /vz instead of /var/lib/vz; create a compatibility symlink
>> test -e /vz || ln -s /var/lib/vz /
>> 
>> %preun
>> test -L /vz && rm -f /vz
>> ===8<=====================================================================

Только сейчас заметил, что в оригинальном ovz-шном спеке vzctl тоже везде
"test -a". Неужели у них какой-то свой test?

>> Т.е. заменил всегда возвращающее ненулевой код "test -a /vz" на "test -e" и
>> "test -L".
>> Безуспешно: по обновлению линк /vz всё равно не появляется. Интересно, что
>> он 100% появляется, если переустановить версию 4.7.2-alt2 с помощью apt-get
>> --reinstall install vzctl
> Пожалуйста, уберите эту самодеятельность с /vz из пакета vzctl!

Хорошо, но как сделать правильно?. В частности, я столкнулся с тем что этот
путь зашит в vzmigrate. Могу его запатчить, но не факт, что ещё что-то
внешнее по отношению к vzctl не закладывается на /vz

>> Также себя ведёт и ещё один симлик из того же исходного коммита,
>> /etc/net/ifup-post-local -> /usr/sbin/vzifup-post, т.е. они вместе с /vz не
>> появляются при обновлении 4.5.1-alt1 => 4.7.2-alt1, но появляются при
>> переустановке крайней версии.
>> Помогите разобраться, что я делаю не так?
> Это еще до вас, насколько я понимаю, неправильно написаны скрипты:
> сперва %post делает ln, а потом %preun делает rm.

Да, подзабыл я уже порядок срабатывания триггеров. Спасибо.

P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
/vz в /var/lib/vz.

-- 
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:20   ` Michael Shigorin
@ 2014-07-04 17:40     ` Евгений Терешков
  0 siblings, 0 replies; 12+ messages in thread
From: Евгений Терешков @ 2014-07-04 17:40 UTC (permalink / raw)
  To: devel

Michael Shigorin пишет:

>> Это еще до вас, насколько я понимаю, неправильно написаны скрипты:
>> сперва %post делает ln, а потом %preun делает rm.
> См. самый хвост /usr/share/doc/rpm-4.0.4/manual/triggers:
> For reference, here's the order in which scripts are executed on a single
> package upgrade:

Спасибо. Склероз отличная болезнь :-)

-- 
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:39   ` Евгений Терешков
@ 2014-07-04 17:44     ` Led
  2014-07-04 17:52       ` Евгений Терешков
  2014-07-04 18:21     ` Dmitry V. Levin
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Led @ 2014-07-04 17:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday 04 July 2014 20:39:27 Евгений Терешков wrote:
> "Dmitry V. Levin" пишет:
> > Этот /var/lib/vz/vz образовался в результате неправильного использования
> > ln(1).
>
> Угу.
>
> >> Я прочитал test(1) на предмет ключа "-a" и поправил спек так
> >> (4.7.2-alt2, 4d6158e018a87fb68d1ca846443fef0b8e28a48d):
> >> ===8<===================================================================
> >>== %post
> >> # Some use /vz instead of /var/lib/vz; create a compatibility symlink
> >> test -e /vz || ln -s /var/lib/vz /
> >>
> >> %preun
> >> test -L /vz && rm -f /vz
> >> ===8<===================================================================
> >>==
>
> Только сейчас заметил, что в оригинальном ovz-шном спеке vzctl тоже везде
> "test -a". Неужели у них какой-то свой test?

bash -c "help test"

-- 
Led

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:44     ` Led
@ 2014-07-04 17:52       ` Евгений Терешков
  0 siblings, 0 replies; 12+ messages in thread
From: Евгений Терешков @ 2014-07-04 17:52 UTC (permalink / raw)
  To: devel

Led пишет:

>> Только сейчас заметил, что в оригинальном ovz-шном спеке vzctl тоже везде
>> "test -a". Неужели у них какой-то свой test?
> bash -c "help test"

Спасибо. А как с этим у нас? Я предполагаю что не должно такое работать.

-- 
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:39   ` Евгений Терешков
  2014-07-04 17:44     ` Led
@ 2014-07-04 18:21     ` Dmitry V. Levin
  2014-07-05 18:31     ` Денис Смирнов
  2014-07-08 23:54     ` Денис Смирнов
  3 siblings, 0 replies; 12+ messages in thread
From: Dmitry V. Levin @ 2014-07-04 18:21 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2857 bytes --]

On Sat, Jul 05, 2014 at 01:39:27AM +0800, Евгений Терешков wrote:
> "Dmitry V. Levin" пишет:
> 
> > Этот /var/lib/vz/vz образовался в результате неправильного использования ln(1).
> 
> Угу.
> 
> >> Я прочитал test(1) на предмет ключа "-a" и поправил спек так (4.7.2-alt2,
> >> 4d6158e018a87fb68d1ca846443fef0b8e28a48d):
> >> ===8<=====================================================================
> >> %post
> >> # Some use /vz instead of /var/lib/vz; create a compatibility symlink
> >> test -e /vz || ln -s /var/lib/vz /
> >> 
> >> %preun
> >> test -L /vz && rm -f /vz
> >> ===8<=====================================================================
> 
> Только сейчас заметил, что в оригинальном ovz-шном спеке vzctl тоже везде
> "test -a". Неужели у них какой-то свой test?

Нет, test (что builtin, что в coreutils) в отношении -a/-e, скорее всего,
везде одинаковый.

> >> Т.е. заменил всегда возвращающее ненулевой код "test -a /vz" на "test -e" и
> >> "test -L".
> >> Безуспешно: по обновлению линк /vz всё равно не появляется. Интересно, что
> >> он 100% появляется, если переустановить версию 4.7.2-alt2 с помощью apt-get
> >> --reinstall install vzctl
> > Пожалуйста, уберите эту самодеятельность с /vz из пакета vzctl!
> 
> Хорошо, но как сделать правильно?. В частности, я столкнулся с тем что этот
> путь зашит в vzmigrate. Могу его запатчить, но не факт, что ещё что-то
> внешнее по отношению к vzctl не закладывается на /vz

За те 4.5 года, пока я собирал пакет vzctl, /vz нигде зашит не был,
и никаких проблем с этим не было.  И сейчас тоже нигде не должно быть
кода, завязанного на существование /vz.  Если найдете, и если выяснится,
что это апстримный код - смело отправляйте патч Кириллу.

> >> Также себя ведёт и ещё один симлик из того же исходного коммита,
> >> /etc/net/ifup-post-local -> /usr/sbin/vzifup-post, т.е. они вместе с /vz не
> >> появляются при обновлении 4.5.1-alt1 => 4.7.2-alt1, но появляются при
> >> переустановке крайней версии.
> >> Помогите разобраться, что я делаю не так?
> > Это еще до вас, насколько я понимаю, неправильно написаны скрипты:
> > сперва %post делает ln, а потом %preun делает rm.
> 
> Да, подзабыл я уже порядок срабатывания триггеров. Спасибо.
> 
> P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
> /vz в /var/lib/vz.

Для того, чтобы пакет мог себе позволить создавать новые сущности
непосредственно в корневом каталоге, должна быть очевидная необходимость.
Если с 2006 года, когда vzctl был впервые упакован в Сизиф, я такой
необходимости не замечал, значит, она совсем не очевидная.

У /vz есть исторические корни - так было удобно разработчикам vz еще
до того, как появился openvz.  В Сизифе необходимости поддерживать
совместимость с установками, сделанными до openvz, никогда не было.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:39   ` Евгений Терешков
  2014-07-04 17:44     ` Led
  2014-07-04 18:21     ` Dmitry V. Levin
@ 2014-07-05 18:31     ` Денис Смирнов
  2014-07-08 23:54     ` Денис Смирнов
  3 siblings, 0 replies; 12+ messages in thread
From: Денис Смирнов @ 2014-07-05 18:31 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 900 bytes --]

On Sat, Jul 05, 2014 at 01:39:27AM +0800, Евгений Терешков wrote:

> Хорошо, но как сделать правильно?. В частности, я столкнулся с тем что этот
> путь зашит в vzmigrate. Могу его запатчить, но не факт, что ещё что-то
> внешнее по отношению к vzctl не закладывается на /vz

Если что-то закладывается, то лучше это внешнее тоже пропатчить. В крайнем
случае создать симлинк /vz → /var/lib/vz, но не наоборот.

> P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
> /vz в /var/lib/vz.

FHS

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-04 17:39   ` Евгений Терешков
                       ` (2 preceding siblings ...)
  2014-07-05 18:31     ` Денис Смирнов
@ 2014-07-08 23:54     ` Денис Смирнов
  2014-07-09  0:27       ` Евгений Терешков
  3 siblings, 1 reply; 12+ messages in thread
From: Денис Смирнов @ 2014-07-08 23:54 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 900 bytes --]

On Sat, Jul 05, 2014 at 01:39:27AM +0800, Евгений Терешков wrote:

> Хорошо, но как сделать правильно?. В частности, я столкнулся с тем что этот
> путь зашит в vzmigrate. Могу его запатчить, но не факт, что ещё что-то
> внешнее по отношению к vzctl не закладывается на /vz

Если что-то закладывается, то лучше это внешнее тоже пропатчить. В крайнем
случае создать симлинк /vz → /var/lib/vz, но не наоборот.

> P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
> /vz в /var/lib/vz.

FHS

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-08 23:54     ` Денис Смирнов
@ 2014-07-09  0:27       ` Евгений Терешков
  2014-07-09  0:48         ` Денис Смирнов
  0 siblings, 1 reply; 12+ messages in thread
From: Евгений Терешков @ 2014-07-09  0:27 UTC (permalink / raw)
  To: devel

Денис Смирнов пишет:

> On Sat, Jul 05, 2014 at 01:39:27AM +0800, Евгений Терешков wrote:
>
>> Хорошо, но как сделать правильно?. В частности, я столкнулся с тем что этот
>> путь зашит в vzmigrate. Могу его запатчить, но не факт, что ещё что-то
>> внешнее по отношению к vzctl не закладывается на /vz
> Если что-то закладывается, то лучше это внешнее тоже пропатчить. В крайнем
> случае создать симлинк /vz → /var/lib/vz, но не наоборот.

Не пришлось, была/есть бага в самом vzctl. Симлинк действительно оказался
не нужен.

>> P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
>> /vz в /var/lib/vz.
> FHS

Это конечно, но имелось ввиду наличие соображений кроме того.

P.S.: это только у меня в рассылках все твой сегодняшние письма двоятся?

-- 
С уважением, Терешков Евгений.
Jabber ID: evg@altlinux.org, evg_krsk@jabber.ru

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [devel] Помогите разобраться с пакетированием
  2014-07-09  0:27       ` Евгений Терешков
@ 2014-07-09  0:48         ` Денис Смирнов
  0 siblings, 0 replies; 12+ messages in thread
From: Денис Смирнов @ 2014-07-09  0:48 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 900 bytes --]

On Wed, Jul 09, 2014 at 08:27:14AM +0800, Евгений Терешков wrote:

>>> P.S.: присоединяюсь к вопросу в соседнем письме относительно цели переноса
>>> /vz в /var/lib/vz.
>> FHS
> Это конечно, но имелось ввиду наличие соображений кроме того.

Это само по себе очень веское соображение -- есть много софта,
авторы которого считают, что этот софт является самым главным на
компьютере пользователя, и если все они разместят свои каталоги в / --
будет бардак. Это раз.

Стандартное разбиение диска -- небольшой корень + отдельно могут быть
/var, /home, /srv.

И появлению сколь-нибудь больших объемов данных за пределами этих трех
каталогов будет большой неожиданностью.

> P.S.: это только у меня в рассылках все твой сегодняшние письма двоятся?

Локальный баг + моя ошибка (повторно ручками отправлял то, что думал не
ушло). Fixed.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-07-09  0:48 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-03 14:33 [devel] Помогите разобраться с пакетированием Евгений Терешков
2014-07-04 17:09 ` Dmitry V. Levin
2014-07-04 17:20   ` Michael Shigorin
2014-07-04 17:40     ` Евгений Терешков
2014-07-04 17:39   ` Евгений Терешков
2014-07-04 17:44     ` Led
2014-07-04 17:52       ` Евгений Терешков
2014-07-04 18:21     ` Dmitry V. Levin
2014-07-05 18:31     ` Денис Смирнов
2014-07-08 23:54     ` Денис Смирнов
2014-07-09  0:27       ` Евгений Терешков
2014-07-09  0:48         ` Денис Смирнов

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git