Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Discussion & Documentation Documentation, Tips & Tricks
  • Search

[HOWTO] Hassle-free emerge -uD world (update-world v1.8)

Unofficial documentation for various parts of Gentoo Linux. Note: This is not a support forum.
Post Reply
Advanced search
149 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Next
Author
Message
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Sun Feb 11, 2007 8:37 pm

Where can you get those sources?
Just try to emerge the package, and it gives instructions:

Code: Select all

emerge  =dev-java/sun-jdk-1.4.2.13
>>> cfg-update-1.8.0-r5: Building checksum index... (takes a few seconds) done!
Calculating dependencies... done!

>>> Emerging (1 of 1) dev-java/sun-jdk-1.4.2.13 to /

!!! dev-java/sun-jdk-1.4.2.13 has fetch restriction turned on.
!!! This probably means that this ebuild's files must be downloaded
!!! manually.  See the comments in the ebuild for more information.

 * Please download j2sdk-1_4_2_13-linux-i586.bin from:
 * http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-1.4.2_13-oth-JPR&SiteId=JSC&TransactionId=noreg
 * (first select 'Accept License', then click on 'self-extracting file'
 * under 'Linux Platform - Java(TM) 2 SDK, Standard Edition')
 * and move it to /usr/portage/distfiles
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Fri Feb 16, 2007 1:36 pm

Just updated the script to version 1.8, implementing a bunch of new features. I tried to get in most requests, but forgive me if I missed yours. Remind me and I'll try to get it into the next version.

Happy updating! 8)
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
d2_racing
Bodhisattva
Bodhisattva
User avatar
Posts: 13047
Joined: Mon Apr 25, 2005 2:25 pm
Location: Ste-Foy,Canada
Contact:
Contact d2_racing
Website

  • Quote

Post by d2_racing » Fri Feb 16, 2007 3:09 pm

Pretty good script :)
Top
drjimmy42
Guru
Guru
User avatar
Posts: 512
Joined: Mon Feb 03, 2003 10:24 pm
Location: Nashua, NH

  • Quote

Post by drjimmy42 » Fri Feb 16, 2007 4:26 pm

I think the addition of revdep-rebuild now makes this the single best gentoo script ever. This script alone increases stability and ease of frequent or infrequent updates enormously. Thanks a lot.

Feature request: Can you add a "-a" like flag that does what emerge -a does, where it shows you what its about to do and then you hit enter to do it. Holy crap am I lazy, but running the prepare and install in a single step makes it easier to script too. Instead of two whole lines, I can write only one:-) Thanks again.
Top
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Fri Feb 16, 2007 5:26 pm

drjimmy42 wrote:I think the addition of revdep-rebuild now makes this the single best gentoo script ever. This script alone increases stability and ease of frequent or infrequent updates enormously. Thanks a lot.

Feature request: Can you add a "-a" like flag that does what emerge -a does, where it shows you what its about to do and then you hit enter to do it. Holy crap am I lazy, but running the prepare and install in a single step makes it easier to script too. Instead of two whole lines, I can write only one:-) Thanks again.
Easily done. I'll include it in the next release (hopefully sometime next week). :D
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
jeremykoppel
n00b
n00b
Posts: 4
Joined: Fri Mar 02, 2007 9:32 pm

Neat concept

  • Quote

Post by jeremykoppel » Fri Mar 02, 2007 9:34 pm

I definitely want to try this out. When I do an 'update-world --prepare' however, I get 'WARNING: One of the specified packages doesn't exist'. How can I tell which package is causing the problem?

--Jeremy
'
Top
vinboy
n00b
n00b
Posts: 69
Joined: Sun Jun 18, 2006 3:55 pm

  • Quote

Post by vinboy » Sat Mar 03, 2007 4:55 pm

hi
can I do a

Code: Select all

emerge -uDNav world
using this script?


btw, very nice work.
Top
drjimmy42
Guru
Guru
User avatar
Posts: 512
Joined: Mon Feb 03, 2003 10:24 pm
Location: Nashua, NH

  • Quote

Post by drjimmy42 » Sat Mar 03, 2007 6:11 pm

vinboy wrote:hi
can I do a

Code: Select all

emerge -uDNav world
using this script?


btw, very nice work.
It already does. It was added in version 1.4
Top
vinboy
n00b
n00b
Posts: 69
Joined: Sun Jun 18, 2006 3:55 pm

  • Quote

Post by vinboy » Sat Mar 03, 2007 11:52 pm

drjimmy42 wrote:
vinboy wrote:hi
can I do a

Code: Select all

emerge -uDNav world
using this script?


btw, very nice work.
It already does. It was added in version 1.4
thx for reply.

are those parameters implicit when I run update-world ?
or I have to specify it explicitly?

such as

Code: Select all

update-world -uDNav
Top
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Sun Mar 04, 2007 2:47 am

vinboy wrote:
drjimmy42 wrote:
vinboy wrote:hi
can I do a

Code: Select all

emerge -uDNav world
using this script?


btw, very nice work.
It already does. It was added in version 1.4
thx for reply.

are those parameters implicit when I run update-world ?
or I have to specify it explicitly?

such as

Code: Select all

update-world -uDNav
They're assumed:
--prepare == -uDNpv
or
--empty == -evp


The next release is almost ready! It's got some great new features, including the return of USE flag management.
Just a little more testing to go...
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
jerann
n00b
n00b
User avatar
Posts: 67
Joined: Wed Jan 26, 2005 4:52 pm

Great script - just a suggestion

  • Quote

Post by jerann » Mon Mar 05, 2007 7:34 pm

I've used this script quite a bit - it is extremely helpful :D . One thing I noticed, though, is that if I try to install a large package (in this case, Gnome) by going emerge -p gnome | update-world, it gives me an error (Error: Invalid Command). I figured out that I had to do emerge -p gnome > temp, then nano temp and remove the first blank line. Then, I could cat temp | update-world, and it worked just fine. I can't imagine that using update-world to install large packages is done much, but it is handy in cases like this. I think it's a bug in the script here, so you might want to look into that. Just a thought - thanks!
Top
Borgond
n00b
n00b
User avatar
Posts: 57
Joined: Fri May 31, 2002 11:05 pm
Location: Mannheim / Germany

Blocking and Unmasking packages

  • Quote

Post by Borgond » Thu Mar 08, 2007 11:07 am

Hi there,

After running --prepare and trying to --install (after modifying the emerglist) the script is telling me that I have to "unmask" some packages. In a previous try it told me that I need to resolve issues with blocking packages.

What it doesn't tell are the packages (in both cases) in question. Am I the only one who would find that information useful?

What would be the easiest way to determine blockers and resolve them?

e.g. calling

Code: Select all

emerge -uvp world
and see what's blocking - unmerging those packages?

Any help is welcome!

Thanks in advance!
registered Linux User #358250 - http://counter.li.org/
borgond@jabber.ccc.de
Top
baldo
n00b
n00b
Posts: 10
Joined: Fri Dec 08, 2006 2:58 am
Location: Krefeld, Germany

  • Quote

Post by baldo » Tue Mar 13, 2007 8:39 pm

hi,

1.8 looks nice.

but doing an emerge -p xfce4 | update-world will result in:

Code: Select all

$ emerge -p xfce4 | update-world 
No arguments supplied.  If you're piping from the emerge command (emerge -p <package> | update-world), this is fine.  Otherwise, cancel and type 'update-world --help' for usage information.
Error: Invalid Command.
Run 'update-world --help' for usage.
Top
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Tue Mar 13, 2007 11:40 pm

@Borgond:
I'm working on a better handling of blocked packages, it'll be in the next release.

@jerann & baldo:
I've improved the code for piped emerges, hopefully it will produce fewer errors now.
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
steveL
Watchman
Watchman
Posts: 5153
Joined: Wed Sep 13, 2006 1:18 pm
Location: The Peanut Gallery

  • Quote

Post by steveL » Wed Mar 14, 2007 10:52 am

count_zero wrote:I'm working on a better handling of blocked packages, it'll be in the next release.
Perhaps we could [topic=546828]collaborate[/topic]?
Top
mrscratch
n00b
n00b
Posts: 3
Joined: Wed Mar 14, 2007 6:04 pm

  • Quote

Post by mrscratch » Wed Mar 14, 2007 6:10 pm

I try to use the script, but on package 13 of 996 it gets stuck on compiling sys-apps/hal-0.5.7.1-r5 with the following message:

Code: Select all

checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/sys-apps/hal-0.5.7.1-r5/work/hal-0.5.7.1/config.log

!!! ERROR: sys-apps/hal-0.5.7.1-r5 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_compile
  ebuild.sh, line 971:   Called qa_call 'src_compile'
  environment, line 3747:   Called src_compile
  hal-0.5.7.1-r5.ebuild, line 151:   Called econf '--with-doc-dir=/usr/share/doc/hal-0.5.7.1-r5' '--with-os-type=gentoo' '--with-pid-file=/var/run/hald.pid' '--with-hwdata=/usr/share/misc' '--enable-hotplug-map' '--disable-verbose-mode' '--disable-pcmcia-support' '--disable-acpi-proc' '--enable-docbook-docs' '--enable-doxygen-docs' '--disable-selinux'
  ebuild.sh, line 577:   Called die

!!! econf failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-apps/hal-0.5.7.1-r5/temp/build.log'.

cat: /tmp: Is a directory

*** Hit Control-C to exit, or just wait to continue with emerge.

*** Continuing with emerge.
The failed package sys-apps/hal-0.5.7.1-r5 could not be merged and must be successfully installed before continuing.
It tells me I first must build hal before it can continue, but wasn't the whole purpose of the script that it would continue even when some packages fail? Did I do something wrong?

Well it seems it dies with every package that goes wrong. Some package fails, then it says it will continue with the emerge. After that it calculates dependencies again and will try the same package again. This fails again obviously for the same reason as before. Then it will stop for good.
Top
baldo
n00b
n00b
Posts: 10
Joined: Fri Dec 08, 2006 2:58 am
Location: Krefeld, Germany

  • Quote

Post by baldo » Wed Mar 14, 2007 11:29 pm

hi,

thx for fixing, but did you upload the changes? i don't find a changed version...

cheers
baldo
Top
count_zero
Guru
Guru
User avatar
Posts: 460
Joined: Mon May 17, 2004 1:28 am
Location: Little Rock, Arkansas, USA

  • Quote

Post by count_zero » Wed Mar 14, 2007 11:47 pm

@mrscratch:
The script has a *limited* ability to deal with failed packages--in other words, if a package fails, it will remove it from the list, and try to catch any packages that depend on it. However, if a large number of packages depend on the package that failed (like hal), the script will stop. This is to prevent another package from trying to pull in the failed package, causing an infinite loop of emerging the failed package.

To get past this, you need to fix your specific problem.

Code: Select all

checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
It looks like you have an XML-Parser problem. Try reinstalling XML-Parser and then emerge hal. Then you should be able to continue with the script.

@baldo:
Sorry about that, I'm currently working a string of nights and haven't been able to finish the release. I should be back on days this weekend, maybe I can do it then.
"We must all hang together, or assuredly we shall all hang separately."
-Ben Franklin
Top
12345moon12345
n00b
n00b
Posts: 27
Joined: Sun Dec 24, 2006 10:44 am

feature request

  • Quote

Post by 12345moon12345 » Tue Mar 20, 2007 2:35 pm

Hi I'd like to be able to use update-world with some different LDFLAGS for some specific packages.
For instance openoffice fails wilt my standard LDFLAGS="-Wl,-O1 -Wl,--as-needed" (from /etc/make.conf) but succeeds with LDLFAGS=""

Then i found an interesting post ( http://forums.gentoo.org/viewtopic-t-67 ... rt-25.html ):
Mine are currently
Code:
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both -Wl,-znow"
on several boxes.

I've been using these with the advanced Gentoo install method and overlay by nesl247 (previously know as Evolution Mission). Works great for me, and the the few packages that have problems with --as-needed or -znow can be taken care of by entries in an /etc/portage/bashrc.nesl247 file, as shown below.
---------------------------------------------------------------------------------------------------
# Packages in this array remove --as-needed.
as_needed_packages=(
${as_needed_packages[*]}
media-video/mjpegtools
kde-base/kdemultimedia
kde-base/kdemultimedia-kioslaves
net-mail/courier-imap
media-sound/cdparanoia
mail-client/evolution
media-libs/imlib
)

LDFLAGS="${LDFLAGS:-$( grep ^LDFLAGS /etc/make.conf | sed 's/LDFLAGS="//' | sed 's/"//')}"

for i in ${as_needed_packages[*]}
do
case ${CATEGORY}/${PN} in
${i})
LDFLAGS="$( echo ${LDFLAGS} | sed 's/-Wl,--as-needed//')"
break
;;
esac
done

# Packages in this array remove -znow.
znow_packages=(
${znow_packages[*]}
dev-python/gst-python
x11-base/xorg-server
x11-drivers/ati-drivers
)

for i in ${znow_packages[*]}
do
case ${CATEGORY}/${PN} in
${i})
LDFLAGS="$( echo ${LDFLAGS} | sed 's/-Wl,-znow//')"
break
;;
esac
done

export LDFLAGS=$( echo ${LDFLAGS} )
I'm not a script-expert but it some logic from this could be translated to be of use in the update-script.
Would you be willing to include this feature ( per-package-LDFLAGS ) ?

In theory it would even be possible for update-world to first try the standard LDLAGS for each package and if package fails try again with a simpeler LDFLAGS.... this seems much more complex though. Maybe in some far future version?

keep up the good work, love your script !
Top
steveL
Watchman
Watchman
Posts: 5153
Joined: Wed Sep 13, 2006 1:18 pm
Location: The Peanut Gallery

Re: feature request

  • Quote

Post by steveL » Tue Mar 20, 2007 3:18 pm

12345moon12345 wrote:For instance openoffice fails wilt my standard LDFLAGS="-Wl,-O1 -Wl,--as-needed" (from /etc/make.conf) but succeeds with LDLFAGS=""
Um, just wanted to ask, when OO.o fails with -as-needed, is that during the emerge itself, or does it just crash afterwards?

BTW the easy way to do this is [topic=499881]outlined here[/topic].
Top
12345moon12345
n00b
n00b
Posts: 27
Joined: Sun Dec 24, 2006 10:44 am

during the emerge

  • Quote

Post by 12345moon12345 » Wed Mar 21, 2007 9:28 pm

12345moon12345 schreef:
For instance openoffice fails wilt my standard LDFLAGS="-Wl,-O1 -Wl,--as-needed" (from /etc/make.conf) but succeeds with LDLFAGS=""

Um, just wanted to ask, when OO.o fails with -as-needed, is that during the emerge itself, or does it just crash afterwards?

BTW the easy way to do this is outlined here.
during the emerge off-course, otherwise I wouldn't have posted in this thread...
Top
heilong
n00b
n00b
Posts: 45
Joined: Mon May 23, 2005 8:18 am

  • Quote

Post by heilong » Sun Apr 08, 2007 4:15 pm

Howdy.

I'd like to note that the elog view support doesn't work if PORT_LOGDIR variable is unset. It's not necessary to have this variable to use elog, the default elog path is /var/log/portage/elog.
I guess this is an update-world bug.
Thanks for this useful script.

--Gene
Top
haubi
Retired Dev
Retired Dev
Posts: 3
Joined: Wed Jan 07, 2004 4:16 pm

app-portage/update-world-1.8.ebuild ?

  • Quote

Post by haubi » Tue Apr 17, 2007 2:06 pm

why not have an ebuild for update-world ?

So one can say:
$ emerge update-world
$ update-world ...

/haubi/
Top
drjimmy42
Guru
Guru
User avatar
Posts: 512
Joined: Mon Feb 03, 2003 10:24 pm
Location: Nashua, NH

  • Quote

Post by drjimmy42 » Tue Apr 17, 2007 2:19 pm

Has anyone gotten the piped output to update-world to work? Ever time I try I get this

Code: Select all

# emerge -puD | update-world 
No arguments supplied.  If you're piping from the emerge command (emerge -p <package> | update-world), this is fine.  Otherwise, cancel and type 'update-world --help' for usage information.
Error: Invalid Command.
Run 'update-world --help' for usage.
I'm pretty sure the problem is that the until line below. I can't figure out what its trying to do with all that but it doesn't seem to be working.

Code: Select all

# piped command MUST include --pretend !!!
if [[ "$arguments" = "" ]]
then echo "No arguments supplied.  If you're piping from the emerge command (emerge -p <package> | update-world), this is fine.  Otherwise, cancel and type 'update-world --help' for usage information."
    until [[ `echo "$piped" | wc -l` -eq 10 ]] && [[ -z `echo "$piped" | grep 'Calculating dependencies'` ]] || [[ -z `echo "${piped:-1}" | tail -n 4` ]]
    do read line
	piped="${piped}
$line"
    done
else :
fi
Any ideas?
Top
ryker
Guru
Guru
User avatar
Posts: 412
Joined: Wed May 28, 2003 3:04 pm
Location: Portage, IN
Contact:
Contact ryker
Website

Re: app-portage/update-world-1.8.ebuild ?

  • Quote

Post by ryker » Tue Apr 17, 2007 7:50 pm

haubi wrote:why not have an ebuild for update-world ?

So one can say:
$ emerge update-world
$ update-world ...

/haubi/
I don't see the point of an ebuild. I see what you are saying, but you have to remember, update-world is just a simple script. There's not much point in maintaining an ebuild for installing 1 file.
Athlon 64 3200+, 80G WD sata hd + 200G IDE, 1G Geil DDR400, MSI K8T Neo
IntelCore2Duo 2.0Ghz MSI laptop,100G SATA hd, 2G RAM
Top
Post Reply

149 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Next

Return to “Documentation, Tips & Tricks”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic