|
|
发表于 2006-5-23 13:47:24
|
显示全部楼层
Post by superekcah
emwrap.sh不错,只是觉得里面说的步骤太多了,好像总的要编译整个系统好几次了。
不会啦,有很多参数可以用的,远行时如果不加任何参数,会出现Help:
- # /path/to/emwrap.sh
- emwrap.sh v. 4.0.1 "cats is rats mit fuzzy tails"
- A wrapper for emerge so you can control toolchain updates!
- Usage: emwrap.sh [OPTION]
- Date 4-23-05
- Use at yee own risk. It works for me, but then I wrote it.
- This wrapper can do 3 things for you:
- 1. Test if there is a toolchain, TC, update in "emerge system/world -uD".
- 2. If there is and you want to, then you can rebuild all or part of your TC and then
- using an edited list to build the other items scheduled to be updated.
- 3. Do the update without updating the TC, toolchain.
- Options:
- These first flags are the same as what you use with emerge [options] See "man emerge"
- -h, help Display this help (default)
- -f Fetchs files only
- -u update
- -D deep
- -e Does an emerge "--emptytree" world/sytem
- -p Just like pretend in emerge. Works with all other flags.
- -N Tells emerge to include installed packages that are affected by the new USE flags
- that have changed since the program was built.
- -B/b build packages only or build them as you emerge packages
- resume, -r Continues emwrap from where it stoped. To use rerun the same command
- and add "r" DONT USE EMWRAP.SH FOR ANYTHING ELSE UNTIL YOU RUN THE -r
- and emwrap will start from where it stopped without haveing to rebuild everything
- already done.
- -K/k use packages. For use if you have --buildpkg in your /etc/make.conf or use -B/b
- -G/g use packages from a PORTAGE_BINHOST server.
- system, -s "-s" is short for system.The same as "emerge system"
- world, -w "-w" is short for world. The same as "emerge world"
- For use by the script
- -t Rebuilds the toolchain componets only
- -b Rebuilds the toolchain and resumeinues the emerge.
- -1 For use with "t" or "b" only builds the TC once.
- -S This is short for a "emerge system --emptytree" build.
- -W builds the world files, "emerge world -e", BUT minus the system files.
- failed builds the files in the failed list.
- nc Turns off color in the script. You still get color in emerge out put.
- The flags are chainable and change whether your doing a system or world emerge and
- from -uD, -N, to -e. There is also a pretend mode, -p. Like emerge -p it
- shows you what will be emerged. I recomemnd that instead of boldy going forth, add
- the -p to the end of the switchs first, to see whats going to be emerged. Then you
- can remove it.
- [color="Red"]Example emwrap.sh -sep ==> emerge system --emptytree -pretend. If you remove the
- -p it will do a build of all packages in system except for the TC.
- NOTE -se or -S do the same thing
- emwrap.sh -set or -wet ==> updates the entire TC. If the -b switch is used instead
- of -t then the entire TC is built and then all system/world packages minus
- toolchain files.
- Examples
- emwrap.sh prints help.
- emwrap.sh -wuDbp Checks for updates to the TC and in the world.
- emwrap.sh -wuDt==> emerge world -uD and only does TC update if any.
- emwrap.sh -wuDb==> updates, if any, the TC and then the world files.
- emwrap.sh -f{other flags} will fetch the files for you.
- emwrap.sh system -uDN==> emerge system -uDN, update deep newuse
- emwrap.sh -Sb1==> emerge system -e build TC once and then system files
- emwrap.sh can "emerge system -e" with or without the TC and remove all packages
- built during the system emerge for a following "emerge world -e". This is a major
- time savings as 130+ packages wont be rebuilt during the world half.
- NOTE -d -c -r have been changed. -d is now -S, -W takes on the old
- role of -r.-r is now resume and -c has been removed.
- emwrap.sh -Sb ,builds TC and sytem -e. When it completes run
- emwrap.sh -W ,this picks where -Sb stoped and builds the rest of
- the files in the " world -e ". Why use this, well if you want to break an
- " emerge world -e " up into 2 chunks for two different nights this will do it.[/color]
- Here are the TC build list used in this wraper when doing updates. The first 3 are
- double builds.
- If linux-headers TC="linux-headers glibc $tc_conf binutils gcc glibc binutils gcc"
- If glibc TC_glb="glibc $tc_conf binutils gcc glibc binutils gcc"
- If binutils or gcc TCmini="$tc_conf binutils gcc binutils gcc"
- These are the single build TC list
- If linux-headers TC1="linux-headers glibc $tc_conf binutils gcc "
- If glibc TC_glb1="glibc $tc_conf binutils gcc "
- If binutils or gcc TCmini1="$tc_conf binutils gcc"
- The TC build sripts are basicly fall through. If you have a linux-headers update
- then the srcipt will use TC, if its a glibc update then TC_glib and
- if binutils and/or gcc then TCmini. To force a full TC build use -set, -St or
- -wet or -seb, -Sb or -web.
复制代码 |
|