ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] RPM uninstall dependencies
@ 2003-10-01 16:06 Sergey Vlasov
  2003-10-01 16:31 ` Dmitry V. Levin
  0 siblings, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2003-10-01 16:06 UTC (permalink / raw)
  To: devel

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

Hello!

Как можно управлять порядком удаления пакетов?  Для установки всё
понятно: PreReq.  А вот для удаления я такого способа пока не нашёл.

Проблема проявляется, например, на пакетах kernel-image-* и
kernel-modules-*.  В пакетах kernel-modules-* в %postun содержится
вызов depmod; если сначала удаляется kernel-image-*, то потом при
удалении kernel-modules-* сыплются ошибки (а также не удаляются за
собой каталоги).  Т.е. простым apt-get remove kernel-image-...
нельзя начисто удалить из системы ядро со всеми модулями.

Пробовал писать Requires(postun), Requires(preun),
Requires(preun,postun) - не помогает.  Причём проблемы возникают
даже при непосредственном вызове rpm (не через apt-get, где rpm
вызывается с --nodeps).

Т.е. этот вариант проходит нормально:

  rpm -e kernel-image-std-up-2.4.22-alt5 kernel-modules-cifs-std-up-0.9.3-alt1.5

А вот такой вариант не работает:

  rpm -e kernel-modules-cifs-std-up-0.9.3-alt1.5 kernel-image-std-up-2.4.22-alt5
depmod: Can't read /boot/System.map-2.4.22-std-up-alt5
error: execution of %postun scriptlet from
kernel-modules-cifs-std-up-0.9.3-alt1.5 failed, exit status 1

При этом в kernel-modules-cifs добавлено:

Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease

-- 
Sergey Vlasov

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

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

* Re: [devel] RPM uninstall dependencies
  2003-10-01 16:06 [devel] RPM uninstall dependencies Sergey Vlasov
@ 2003-10-01 16:31 ` Dmitry V. Levin
  2003-10-01 16:43   ` Alexander Bokovoy
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2003-10-01 16:31 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Wed, Oct 01, 2003 at 08:06:17PM +0400, Sergey Vlasov wrote:
> Как можно управлять порядком удаления пакетов?  Для установки всё
> понятно: PreReq.  А вот для удаления я такого способа пока не нашёл.

Пока что никак.

> Проблема проявляется, например, на пакетах kernel-image-* и
> kernel-modules-*.  В пакетах kernel-modules-* в %postun содержится
> вызов depmod; если сначала удаляется kernel-image-*, то потом при
> удалении kernel-modules-* сыплются ошибки (а также не удаляются за
> собой каталоги).  Т.е. простым apt-get remove kernel-image-...
> нельзя начисто удалить из системы ядро со всеми модулями.
> 
> Пробовал писать Requires(postun), Requires(preun),
> Requires(preun,postun) - не помогает.  Причём проблемы возникают
> даже при непосредственном вызове rpm (не через apt-get, где rpm
> вызывается с --nodeps).
> 
> Т.е. этот вариант проходит нормально:
> 
>   rpm -e kernel-image-std-up-2.4.22-alt5 kernel-modules-cifs-std-up-0.9.3-alt1.5
> 
> А вот такой вариант не работает:
> 
>   rpm -e kernel-modules-cifs-std-up-0.9.3-alt1.5 kernel-image-std-up-2.4.22-alt5
> depmod: Can't read /boot/System.map-2.4.22-std-up-alt5
> error: execution of %postun scriptlet from
> kernel-modules-cifs-std-up-0.9.3-alt1.5 failed, exit status 1
> 
> При этом в kernel-modules-cifs добавлено:
> 
> Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease

postun когда-нибудь будет работать.


-- 
ldv

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

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

* Re: [devel] RPM uninstall dependencies
  2003-10-01 16:31 ` Dmitry V. Levin
@ 2003-10-01 16:43   ` Alexander Bokovoy
  2003-10-07 13:18     ` Dmitry V. Levin
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Bokovoy @ 2003-10-01 16:43 UTC (permalink / raw)
  To: ALT Devel discussion list

On Wed, Oct 01, 2003 at 08:31:09PM +0400, Dmitry V. Levin wrote:
> > Т.е. этот вариант проходит нормально:
> > 
> >   rpm -e kernel-image-std-up-2.4.22-alt5 kernel-modules-cifs-std-up-0.9.3-alt1.5
> > 
> > А вот такой вариант не работает:
> > 
> >   rpm -e kernel-modules-cifs-std-up-0.9.3-alt1.5 kernel-image-std-up-2.4.22-alt5
> > depmod: Can't read /boot/System.map-2.4.22-std-up-alt5
> > error: execution of %postun scriptlet from
> > kernel-modules-cifs-std-up-0.9.3-alt1.5 failed, exit status 1
> > 
> > При этом в kernel-modules-cifs добавлено:
> > 
> > Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease
> 
> postun когда-нибудь будет работать.
Для начала, видимо, стоит расширить действие опции --noorder на --erase.
Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
по тексту в rpmErase().

-- 
/ Alexander Bokovoy
---
Human beings were created by water to transport it uphill.


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

* Re: [devel] RPM uninstall dependencies
  2003-10-01 16:43   ` Alexander Bokovoy
@ 2003-10-07 13:18     ` Dmitry V. Levin
  2003-10-07 13:28       ` Alexander Bokovoy
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2003-10-07 13:18 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Wed, Oct 01, 2003 at 07:43:24PM +0300, Alexander Bokovoy wrote:
> On Wed, Oct 01, 2003 at 08:31:09PM +0400, Dmitry V. Levin wrote:
[...]
> > > Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease
> > 
> > postun когда-нибудь будет работать.
> Для начала, видимо, стоит расширить действие опции --noorder на --erase.
> Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
> ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
> попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
> по тексту в rpmErase().

В cvs head'е rpm'а есть такой код:

#ifdef	NOTYET
    if (!stopUninstall && !(ia->installInterfaceFlags & INSTALL_NOORDER)){
	if (rpmtsOrder(ts)) {
	    numFailed += numPackages;
	    stopUninstall = 1;
	}
    }
#endif


-- 
ldv

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

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

* Re: [devel] RPM uninstall dependencies
  2003-10-07 13:18     ` Dmitry V. Levin
@ 2003-10-07 13:28       ` Alexander Bokovoy
  2003-10-07 13:51         ` Dmitry V. Levin
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Bokovoy @ 2003-10-07 13:28 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Oct 07, 2003 at 05:18:12PM +0400, Dmitry V. Levin wrote:
> On Wed, Oct 01, 2003 at 07:43:24PM +0300, Alexander Bokovoy wrote:
> > On Wed, Oct 01, 2003 at 08:31:09PM +0400, Dmitry V. Levin wrote:
> [...]
> > > > Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease
> > > 
> > > postun когда-нибудь будет работать.
> > Для начала, видимо, стоит расширить действие опции --noorder на --erase.
> > Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
> > ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
> > попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
> > по тексту в rpmErase().
> 
> В cvs head'е rpm'а есть такой код:
> 
> #ifdef	NOTYET
>     if (!stopUninstall && !(ia->installInterfaceFlags & INSTALL_NOORDER)){
> 	if (rpmtsOrder(ts)) {
> 	    numFailed += numPackages;
> 	    stopUninstall = 1;
> 	}
>     }
> #endif
Похоже на то, но не совсем. Надо будет поэкспериментировать.

-- 
/ Alexander Bokovoy
---
Your talents will be recognized and suitably rewarded.


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

* Re: [devel] RPM uninstall dependencies
  2003-10-07 13:28       ` Alexander Bokovoy
@ 2003-10-07 13:51         ` Dmitry V. Levin
  2003-10-07 14:24           ` Alexander Bokovoy
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2003-10-07 13:51 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Oct 07, 2003 at 04:28:09PM +0300, Alexander Bokovoy wrote:
> On Tue, Oct 07, 2003 at 05:18:12PM +0400, Dmitry V. Levin wrote:
> > On Wed, Oct 01, 2003 at 07:43:24PM +0300, Alexander Bokovoy wrote:
> > > On Wed, Oct 01, 2003 at 08:31:09PM +0400, Dmitry V. Levin wrote:
> > [...]
> > > > > Requires(preun,postun): kernel-image-%flavour = %kversion-%krelease
> > > > 
> > > > postun когда-нибудь будет работать.
> > > Для начала, видимо, стоит расширить действие опции --noorder на --erase.
> > > Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
> > > ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
> > > попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
> > > по тексту в rpmErase().
> > 
> > В cvs head'е rpm'а есть такой код:
> > 
> > #ifdef	NOTYET
> >     if (!stopUninstall && !(ia->installInterfaceFlags & INSTALL_NOORDER)){
> > 	if (rpmtsOrder(ts)) {
> > 	    numFailed += numPackages;
> > 	    stopUninstall = 1;
> > 	}
> >     }
> > #endif
> Похоже на то, но не совсем. Надо будет поэкспериментировать.

Это в точности то.  Настораживает "#ifdef NOTYET".
У нас это выглядело бы так:

#ifdef NOTYET
    if (!stopUninstall && !(interfaceFlags & INSTALL_NOORDER)) {
       if (rpmdepOrder(ts)) {
           numFailed += numPackages;
           stopUninstall = 1;
       }
    }
#endif


-- 
ldv

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

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

* Re: [devel] RPM uninstall dependencies
  2003-10-07 13:51         ` Dmitry V. Levin
@ 2003-10-07 14:24           ` Alexander Bokovoy
  2003-10-07 14:34             ` Dmitry V. Levin
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Bokovoy @ 2003-10-07 14:24 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Oct 07, 2003 at 05:51:08PM +0400, Dmitry V. Levin wrote:
> > > > Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
> > > > ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
> > > > попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
> > > > по тексту в rpmErase().
> > > 
> > > В cvs head'е rpm'а есть такой код:
> > > 
> > > #ifdef	NOTYET
> > >     if (!stopUninstall && !(ia->installInterfaceFlags & INSTALL_NOORDER)){
> > > 	if (rpmtsOrder(ts)) {
> > > 	    numFailed += numPackages;
> > > 	    stopUninstall = 1;
> > > 	}
> > >     }
> > > #endif
> > Похоже на то, но не совсем. Надо будет поэкспериментировать.
> 
> Это в точности то.  Настораживает "#ifdef NOTYET".
> У нас это выглядело бы так:
> 
> #ifdef NOTYET
>     if (!stopUninstall && !(interfaceFlags & INSTALL_NOORDER)) {
>        if (rpmdepOrder(ts)) {
>            numFailed += numPackages;
>            stopUninstall = 1;
>        }
>     }
> #endif
> 
Может NOTYET относится к rpmtsOrder - может оно пока не умеет обратную
сортировку для транзакции обеспечивать?

-- 
/ Alexander Bokovoy
---
sounds like a Windows problem, try calling Microsoft support


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

* Re: [devel] RPM uninstall dependencies
  2003-10-07 14:24           ` Alexander Bokovoy
@ 2003-10-07 14:34             ` Dmitry V. Levin
  0 siblings, 0 replies; 8+ messages in thread
From: Dmitry V. Levin @ 2003-10-07 14:34 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Oct 07, 2003 at 05:24:39PM +0300, Alexander Bokovoy wrote:
> On Tue, Oct 07, 2003 at 05:51:08PM +0400, Dmitry V. Levin wrote:
> > > > > Точнее, она сейчас действует там по умолчанию -- rpmdepOrder не вызывается
> > > > > ни при каких обстоятельствах, в отличие от rpmInstall(). Так что можно
> > > > > попробовать код из lib/rpminstall.c:592 аналогичным образом добавить ниже
> > > > > по тексту в rpmErase().
> > > > 
> > > > В cvs head'е rpm'а есть такой код:
> > > > 
> > > > #ifdef	NOTYET
> > > >     if (!stopUninstall && !(ia->installInterfaceFlags & INSTALL_NOORDER)){
> > > > 	if (rpmtsOrder(ts)) {
> > > > 	    numFailed += numPackages;
> > > > 	    stopUninstall = 1;
> > > > 	}
> > > >     }
> > > > #endif
> > > Похоже на то, но не совсем. Надо будет поэкспериментировать.
> > 
> > Это в точности то.  Настораживает "#ifdef NOTYET".
> > У нас это выглядело бы так:
> > 
> > #ifdef NOTYET
> >     if (!stopUninstall && !(interfaceFlags & INSTALL_NOORDER)) {
> >        if (rpmdepOrder(ts)) {
> >            numFailed += numPackages;
> >            stopUninstall = 1;
> >        }
> >     }
> > #endif
> > 
> Может NOTYET относится к rpmtsOrder - может оно пока не умеет обратную
> сортировку для транзакции обеспечивать?

Может быть, я не проверял и Jeff'а не спрашивал.


-- 
ldv

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

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

end of thread, other threads:[~2003-10-07 14:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-01 16:06 [devel] RPM uninstall dependencies Sergey Vlasov
2003-10-01 16:31 ` Dmitry V. Levin
2003-10-01 16:43   ` Alexander Bokovoy
2003-10-07 13:18     ` Dmitry V. Levin
2003-10-07 13:28       ` Alexander Bokovoy
2003-10-07 13:51         ` Dmitry V. Levin
2003-10-07 14:24           ` Alexander Bokovoy
2003-10-07 14:34             ` Dmitry V. Levin

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