public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] Can I (partially) rebuild a package with emerge?
@ 2009-12-16 20:44 Alan Mackenzie
  2009-12-16 21:06 ` Xavier Parizet
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Alan Mackenzie @ 2009-12-16 20:44 UTC (permalink / raw
  To: gentoo-user

Hi, gentoo,

I've just emerged xorg-x11, and noticed that I had a wrong setting for
VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
only those portions of xorg-x11 dependent on that setting, or do I have
to start again from scratch?  I've perused the emerge man page, but not
found this situation addressed.

Thanks for the help!

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 20:44 [gentoo-user] Can I (partially) rebuild a package with emerge? Alan Mackenzie
@ 2009-12-16 21:06 ` Xavier Parizet
  2009-12-16 23:25   ` Alan McKinnon
  2009-12-16 22:05 ` Neil Bothwick
  2009-12-16 23:31 ` Jesús Guerrero
  2 siblings, 1 reply; 9+ messages in thread
From: Xavier Parizet @ 2009-12-16 21:06 UTC (permalink / raw
  To: gentoo-user

Le mercredi 16 décembre 2009 21:44:29, Alan Mackenzie a écrit :
> Hi, gentoo,
> 
> I've just emerged xorg-x11, and noticed that I had a wrong setting for
> VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
> only those portions of xorg-x11 dependent on that setting, or do I have
> to start again from scratch?  I've perused the emerge man page, but not
> found this situation addressed.
> 
> Thanks for the help!
> 

Actually it's not possible because when a package is merged with success, the 
build tree is deleted from /var/tmp/portage.
The only choice you have is to rebuild the whole package using emerge --
oneshot package. 
By the way, the rebuild will also pull the new dependencies implied by the new 
use flags settings.

HTH.

--
Xavier Parizet
YaGB: http://gentooist.com



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 20:44 [gentoo-user] Can I (partially) rebuild a package with emerge? Alan Mackenzie
  2009-12-16 21:06 ` Xavier Parizet
@ 2009-12-16 22:05 ` Neil Bothwick
  2009-12-17 15:14   ` Alan Mackenzie
  2009-12-16 23:31 ` Jesús Guerrero
  2 siblings, 1 reply; 9+ messages in thread
From: Neil Bothwick @ 2009-12-16 22:05 UTC (permalink / raw
  To: gentoo-user

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

On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie wrote:

> I've just emerged xorg-x11, and noticed that I had a wrong setting for
> VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
> only those portions of xorg-x11 dependent on that setting, or do I have
> to start again from scratch?  I've perused the emerge man page, but not
> found this situation addressed.

VIDEO_CARDS sets USE flags, so emerge -uavDN world.


-- 
Neil Bothwick

Angular Momentum Makes The World Go 'Round

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

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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 21:06 ` Xavier Parizet
@ 2009-12-16 23:25   ` Alan McKinnon
  0 siblings, 0 replies; 9+ messages in thread
From: Alan McKinnon @ 2009-12-16 23:25 UTC (permalink / raw
  To: gentoo-user

On Wednesday 16 December 2009 23:06:00 Xavier Parizet wrote:
> Le mercredi 16 décembre 2009 21:44:29, Alan Mackenzie a écrit :
> > Hi, gentoo,
> >
> > I've just emerged xorg-x11, and noticed that I had a wrong setting for
> > VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
> > only those portions of xorg-x11 dependent on that setting, or do I have
> > to start again from scratch?  I've perused the emerge man page, but not
> > found this situation addressed.
> >
> > Thanks for the help!
> 
> Actually it's not possible because when a package is merged with success,
>  the build tree is deleted from /var/tmp/portage.
> The only choice you have is to rebuild the whole package using emerge --
> oneshot package.
> By the way, the rebuild will also pull the new dependencies implied by the
>  new use flags settings.


OT for the original question, but there is a way to lessen the amount of work 
done if a package may need to be merged (or attempted to be merged) 
repeatedly. You have to do it manually though:

- ensure all needed deps are already installed
- ebuild <package> <command>

where <command> is on of fetch, unpack, compile, install, etc as detailed in 
the ebuild man page. You can't restart a failed compile from where it left off 
[you can do that if you are running make manually, but ebuild abstracts that 
away] but at least some work can be omitted.

If course, this in no way answers the original question, but it's occasionally 
useful to know

-- 
alan dot mckinnon at gmail dot com



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 20:44 [gentoo-user] Can I (partially) rebuild a package with emerge? Alan Mackenzie
  2009-12-16 21:06 ` Xavier Parizet
  2009-12-16 22:05 ` Neil Bothwick
@ 2009-12-16 23:31 ` Jesús Guerrero
  2009-12-17  3:37   ` Joshua Murphy
  2 siblings, 1 reply; 9+ messages in thread
From: Jesús Guerrero @ 2009-12-16 23:31 UTC (permalink / raw
  To: gentoo-user

On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie <acm@muc.de> wrote:
> Hi, gentoo,
> 
> I've just emerged xorg-x11, and noticed that I had a wrong setting for
> VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
> only those portions of xorg-x11 dependent on that setting, or do I have
> to start again from scratch?  I've perused the emerge man page, but not
> found this situation addressed.

What you failed to see if that VIDEO_CARDS flags are just an special type
of USE flags. Using -auDvN world will fix everything. Truly speaking,
xorg-server wouldn't even need to be recompiled (though that's what portage
will do). As far as I know, all these special USE flags for xorg-server
just push one of another xf86-video-* package(s) as dependencies, which in
turn install the required driver(s).

The rest of Xorg components do not relate to this, you shouldn't need to
recompile anything else unless it also depends on VIDEO_CARDS (only several
packages do, like DirectFB if I remember right).

-- 
Jesús Guerrero



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 23:31 ` Jesús Guerrero
@ 2009-12-17  3:37   ` Joshua Murphy
  0 siblings, 0 replies; 9+ messages in thread
From: Joshua Murphy @ 2009-12-17  3:37 UTC (permalink / raw
  To: gentoo-user

2009/12/16 Jesús Guerrero <i92guboj@terra.es>:
> On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie <acm@muc.de> wrote:
>> Hi, gentoo,
>>
>> I've just emerged xorg-x11, and noticed that I had a wrong setting for
>> VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to rebuild
>> only those portions of xorg-x11 dependent on that setting, or do I have
>> to start again from scratch?  I've perused the emerge man page, but not
>> found this situation addressed.
>
> What you failed to see if that VIDEO_CARDS flags are just an special type
> of USE flags. Using -auDvN world will fix everything. Truly speaking,
> xorg-server wouldn't even need to be recompiled (though that's what portage
> will do). As far as I know, all these special USE flags for xorg-server
> just push one of another xf86-video-* package(s) as dependencies, which in
> turn install the required driver(s).
>
> The rest of Xorg components do not relate to this, you shouldn't need to
> recompile anything else unless it also depends on VIDEO_CARDS (only several
> packages do, like DirectFB if I remember right).
>
> --
> Jesús Guerrero

Actually, as I ran across on my ~x86 systems, x11-base/xorg-drivers is
now a separate ebuild from
 xorg-server, keeping the latter from trying to be rebuilt every time
you change what drivers you want to have built... and looking at
gentoo-portage.com, xorg-drivers-1.6 is stable on both amd64 and x86.
It really is a much more sensible approach, and appears to work rather
well.

-- 
Poison [BLX]
Joshua M. Murphy



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-16 22:05 ` Neil Bothwick
@ 2009-12-17 15:14   ` Alan Mackenzie
  2009-12-17 16:11     ` Jesús Guerrero
  2009-12-17 16:44     ` Alan McKinnon
  0 siblings, 2 replies; 9+ messages in thread
From: Alan Mackenzie @ 2009-12-17 15:14 UTC (permalink / raw
  To: gentoo-user

Hi, Neil,

On Wed, Dec 16, 2009 at 10:05:40PM +0000, Neil Bothwick wrote:
> On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie wrote:

> > I've just emerged xorg-x11, and noticed that I had a wrong setting
> > for VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to
> > rebuild only those portions of xorg-x11 dependent on that setting,
> > or do I have to start again from scratch?  I've perused the emerge
> > man page, but not found this situation addressed.

> VIDEO_CARDS sets USE flags, so emerge -uavDN world.

I've done that, but it failed to rebuild my xorg-x11.  I've still got
the version from last night, even though I've changed USE flags (via
setting VIDEO_CARDS) in /etc/make.conf.

/etc/make.conf has a later timestamp than /usr/bin/Xorg, yet this
doesn't trigger the -N flag.  I'm misunderstanding something significant
here.  The emerge man page is not explicit in how it determines "new"
USE flags.

If I wanted just to remove Xorg, together with the 188 other packages
installed with it, would it be correct to run these commands:

    emerge --unmerge xorg-x11
    emerge --depclean

?

TVM!

> -- 
> Neil Bothwick

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-17 15:14   ` Alan Mackenzie
@ 2009-12-17 16:11     ` Jesús Guerrero
  2009-12-17 16:44     ` Alan McKinnon
  1 sibling, 0 replies; 9+ messages in thread
From: Jesús Guerrero @ 2009-12-17 16:11 UTC (permalink / raw
  To: gentoo-user

On Thu, 17 Dec 2009 15:14:48 +0000, Alan Mackenzie <acm@muc.de> wrote:
> Hi, Neil,
> 
> On Wed, Dec 16, 2009 at 10:05:40PM +0000, Neil Bothwick wrote:
>> On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie wrote:
> 
>> > I've just emerged xorg-x11, and noticed that I had a wrong setting
>> > for VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to
>> > rebuild only those portions of xorg-x11 dependent on that setting,
>> > or do I have to start again from scratch?  I've perused the emerge
>> > man page, but not found this situation addressed.
> 
>> VIDEO_CARDS sets USE flags, so emerge -uavDN world.
> 
> I've done that, but it failed to rebuild my xorg-x11.  I've still got
> the version from last night, even though I've changed USE flags (via
> setting VIDEO_CARDS) in /etc/make.conf.

First, as I said in my other mail, the only relevant package that needs to
be rebuilt is xorg-server, nothing else. The drivers you add will be built
afresh as well as dependencies for xorg-server. 

Second, xorg-x11 is *nothing*. It's just a meta package that pulls
dependencies, it doesn't actually install a single file on your hard disk,
and it doesn't compile anything at all. So, re-emerging it will do nothing.

> /etc/make.conf has a later timestamp than /usr/bin/Xorg, yet this
> doesn't trigger the -N flag.

-N flag is not triggered based on time stamps. Each time a package is
merged, the USE flags you used the last time you merged it are stored under
/var/db/pkg. All -N does is to check if these flags that are stored match
the current ones, and if not, the offending package is re-emerged.

> If I wanted just to remove Xorg, together with the 188 other packages
> installed with it, would it be correct to run these commands:
> 
>     emerge --unmerge xorg-x11
>     emerge --depclean

As long as you didn't emerge any single X package by hand, yes. But it
will do nothing to help you, it will not solve your problem. And it's not
related to your problem either. You'd just be wasting time.

-- 
Jesús Guerrero



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

* Re: [gentoo-user] Can I (partially) rebuild a package with emerge?
  2009-12-17 15:14   ` Alan Mackenzie
  2009-12-17 16:11     ` Jesús Guerrero
@ 2009-12-17 16:44     ` Alan McKinnon
  1 sibling, 0 replies; 9+ messages in thread
From: Alan McKinnon @ 2009-12-17 16:44 UTC (permalink / raw
  To: gentoo-user

On Thursday 17 December 2009 17:14:48 Alan Mackenzie wrote:
> Hi, Neil,
> 
> On Wed, Dec 16, 2009 at 10:05:40PM +0000, Neil Bothwick wrote:
> > On Wed, 16 Dec 2009 20:44:29 +0000, Alan Mackenzie wrote:
> > > I've just emerged xorg-x11, and noticed that I had a wrong setting
> > > for VIDEO_CARDS in /etc/make.conf.  Does emerge have a facility to
> > > rebuild only those portions of xorg-x11 dependent on that setting,
> > > or do I have to start again from scratch?  I've perused the emerge
> > > man page, but not found this situation addressed.
> >
> > VIDEO_CARDS sets USE flags, so emerge -uavDN world.
> 
> I've done that, but it failed to rebuild my xorg-x11.  I've still got
> the version from last night, even though I've changed USE flags (via
> setting VIDEO_CARDS) in /etc/make.conf.
> 
> /etc/make.conf has a later timestamp than /usr/bin/Xorg, yet this
> doesn't trigger the -N flag.  I'm misunderstanding something significant
> here.  The emerge man page is not explicit in how it determines "new"
> USE flags.
> 
> If I wanted just to remove Xorg, together with the 188 other packages
> installed with it, would it be correct to run these commands:
> 
>     emerge --unmerge xorg-x11
>     emerge --depclean

timestamps on make.conf are utterly irrelevant here.

Portage has determined that you apparently do not need to update X.org so it 
hasn't. You will have to look in the ebuilds to see exactly what the drivers 
depend on, but obviously it is different to what you have assumed.

X and it's drivers are special in some regards - the dependencies cannot be 
automatically fulfilled in all cases. So it is better to use the code snippet 
in the xorg-server ebuild to determine your used drivers and rebuild those 
manually. Use the -1 flag to avoid polluting worlld


-- 
alan dot mckinnon at gmail dot com



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

end of thread, other threads:[~2009-12-17 16:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-16 20:44 [gentoo-user] Can I (partially) rebuild a package with emerge? Alan Mackenzie
2009-12-16 21:06 ` Xavier Parizet
2009-12-16 23:25   ` Alan McKinnon
2009-12-16 22:05 ` Neil Bothwick
2009-12-17 15:14   ` Alan Mackenzie
2009-12-17 16:11     ` Jesús Guerrero
2009-12-17 16:44     ` Alan McKinnon
2009-12-16 23:31 ` Jesús Guerrero
2009-12-17  3:37   ` Joshua Murphy

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