public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [RFC] Extend blocker syntax to indicate when conflicting packages may be temporarily installed simultaneously (for EAPI 2)
@ 2008-08-31 22:38 Zac Medico
  2008-09-20 17:55 ` [gentoo-dev] " Ryan Hill
  0 siblings, 1 reply; 3+ messages in thread
From: Zac Medico @ 2008-08-31 22:38 UTC (permalink / raw
  To: Gentoo Dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi everyone,

Please consider a blocker syntax extension, for inclusion in EAPI 2,
 which will serve to indicate that conflicting packages may be
temporarily installed simultaneously when upgrading or installing a
series of packages. When temporary simultaneous installation of
conflicting packages occurs, the installation of a newer package may
overwrite any colliding files that belong to an older package which
is explicitly blocked. When such a file collision occurs, the
colliding files will cease to belong to the older package, and they
will remain installed after the older package is eventually
uninstalled. The older package will be uninstalled only after any
newer blocking packages have been merged on top of it. I have
written a blog entry [1] which shows some specific examples of this
process in action.

In EAPI 2, I suggest that we introduce a new !!atom syntax to
indicate blockers for which temporary simultaneous installation with
a blocked package is not allowed. This way we will be able to
continue to use the existing !atom syntax, but slightly change it's
existing meaning so it serves to indicate that temporary
simultaneous installation with a blocked package will be allowed. By
using this approach, we will be able to use the !atom syntax for the
majority of blockers, and we'll only have to use the new !!atom
syntax for special cases in which temporary simultaneous
installation of blocking packages should not be allowed.

With >=sys-apps/portage-2.1.5, temporary simultaneous installation
of blocking packages is already allowed in some cases, but since the
current blocker syntax does not express all of the needed
information, it relies on heuristics in order to judge whether or
not temporary simultaneous installation of conflicting packages will
be allowed [2]. In practice, these heuristics appear to be
sufficient in many cases. However, in some cases, such as bug 234886
[3], additional information is needed in order to confirm that
simultaneous installation of conflicting packages should be allowed.

As a workaround for bug 234886, I have temporarily removed e2fsprogs
from the system set in order to force the blocker pass the heuristic
test that is employed by >=sys-apps/portage-2.1.5. This workaround
is possible since e2fsprogs is still pulled in as a dependency of
util-linux (which is also a member of the system set) in the
relevant profiles. Since removing e2fsprogs from the system set is
clearly suboptimal, and workarounds like that won't necessarily be
feasible in similar cases that arise, we need to extend blocker
syntax to convey the information about when temporary simultaneous
installation of conflicting packages should be allowed.

Does the suggested blocker syntax extension seem like a good
solution to the problem? Would anybody like to discuss any
alternative approaches?

[1]
http://planet.gentoo.org/developers/zmedico/2008/05/09/blocking_package_file_collisions
[2]
http://dev.gentoo.org/~zmedico/portage/doc/portage.html#dependency-resolution-package-modeling-conflicts
[3] http://bugs.gentoo.org/show_bug.cgi?id=234886

- --
Thanks,
Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAki7HW4ACgkQ/ejvha5XGaMkUACfTVsOqv9mPUO0BULfoCwTerLF
AAUAoKW2Firg7zw/BaoX+FTlRfWE6/zZ
=TY+V
-----END PGP SIGNATURE-----



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

* [gentoo-dev]  Re: [RFC] Extend blocker syntax to indicate when conflicting packages may be temporarily installed simultaneously (for EAPI 2)
  2008-08-31 22:38 [gentoo-dev] [RFC] Extend blocker syntax to indicate when conflicting packages may be temporarily installed simultaneously (for EAPI 2) Zac Medico
@ 2008-09-20 17:55 ` Ryan Hill
  2008-09-20 18:12   ` Zac Medico
  0 siblings, 1 reply; 3+ messages in thread
From: Ryan Hill @ 2008-09-20 17:55 UTC (permalink / raw
  To: gentoo-dev

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

On Sun, 31 Aug 2008 15:38:43 -0700
Zac Medico <zmedico@gentoo.org> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi everyone,
> 
> Please consider a blocker syntax extension, for inclusion in EAPI 2,
>  which will serve to indicate that conflicting packages may be
> temporarily installed simultaneously when upgrading or installing a
> series of packages. When temporary simultaneous installation of
> conflicting packages occurs, the installation of a newer package may
> overwrite any colliding files that belong to an older package which
> is explicitly blocked. When such a file collision occurs, the
> colliding files will cease to belong to the older package, and they
> will remain installed after the older package is eventually
> uninstalled. The older package will be uninstalled only after any
> newer blocking packages have been merged on top of it. I have
> written a blog entry [1] which shows some specific examples of this
> process in action.

If a file overwritten by the second package falls under CONFIG_PROTECT,
will portage treat it like a normal update?


-- 
gcc-porting,                                      by design, by neglect
treecleaner,                              for a fact or just for effect
wxwidgets @ gentoo     EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [gentoo-dev]  Re: [RFC] Extend blocker syntax to indicate when conflicting packages may be temporarily installed simultaneously (for EAPI 2)
  2008-09-20 17:55 ` [gentoo-dev] " Ryan Hill
@ 2008-09-20 18:12   ` Zac Medico
  0 siblings, 0 replies; 3+ messages in thread
From: Zac Medico @ 2008-09-20 18:12 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ryan Hill wrote:
> If a file overwritten by the second package falls under CONFIG_PROTECT,
> will portage treat it like a normal update?

Yes, it's normal in the sense that the merge logic behaves exactly
the same as it would for any other merge. The main difference when
this sort of collision occurs is that any colliding files are
removed from the contents of the older package in order to ensure
that they remain installed when the older package is eventually
uninstalled.
- --
Thanks,
Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkjVPRIACgkQ/ejvha5XGaPpCwCZAaKUzKXVeSJ280cWGSFNJ+m/
sWQAnRR6u2xAvxtgkYnXvY7U47PDSw9p
=EhLm
-----END PGP SIGNATURE-----



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

end of thread, other threads:[~2008-09-20 18:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-31 22:38 [gentoo-dev] [RFC] Extend blocker syntax to indicate when conflicting packages may be temporarily installed simultaneously (for EAPI 2) Zac Medico
2008-09-20 17:55 ` [gentoo-dev] " Ryan Hill
2008-09-20 18:12   ` Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox