skimpydog.com Forum Index Gentoo Base Portage |
Browsing this Thread:
2 Anonymous Users
Bottom Previous Topic Next Topic |
|
|
|
---|
Poster | Thread |
---|
|
Portage | #1 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Webmaster
Joined: 2007/6/10
From Dallas, TX
Posts: 79
Level : 7 HP : 0 / 170 Group:
Webmasters Registered Users |
Working with portage is quite a hassle at times - it really depends on what you are needing as to what you will have to do.
For example, if you are using old packages (outdated system), and there are many updates available, you may have to update many packages in order to satasify dependencies. Often it is good to limit the package that is allowed to be used by using "/etc/portage/package.mask" if you are happy with your current build, and upgrade as necessary. Sometimes you will emerge something, and it will build and install properly, and other times there will be an error. Often you will need to unmask a package in order to build it in, and you WILL NOT want these packages to be reemerged if you were to "emerge world" in the future - the package will remain on the system, but will not re-emerge. Therefore there's the "--oneshot", or "-1" flag. A good example for this, as of today anyhoo (12/18/2009), is emerging "gnome-system-tools" (hard masked, and arch masked), and I will show the difference with ntp-client (no mask). First off, use etc/portage/package.keywords to tell the system it is allowed to be installed (even though it's masked). Then, use /etc/portage/package.unmask to tell your system which version is allowed to be installed. Therefore, I assume you will have a list of applications you use in your package.keywords, such as: vi /etc/portage/package.keywords
In package.unmask, you will require the same as, or similar to the following (apparently this will depend on portage, this is what I decided to use): vi /etc/portage/package.unmask
Then you can emerge what you need: Emerge gnome-system-tools liboobs oneshot accepting ~x86 packages without building in samba support
In the command, there are a few things that are being done. First:
This is being used to prevent us from screwing anything up by allowing the emergence of packages that are being tested - globally. --This is merely allowing us to emerge "~x86" packages for only what is being emerged. -- Since we are limiting the versions of these packages as it is using the "package.unmask", it should be apparent as to what will be emerged, and from what tree (stable {no mask} or tested {masked}). -- now we could just add the "~x86" flag to package.unmask, such as
Second:
This is being done because apparently the package "dev-libs/liboobs" has issues with samba at the moment. -- Since my /etc/make.conf includes samba, I have to manually remove this from being built in to prevent known build errors. Third:
This will allow the following: Emerge -p == --pretend (Let's see what portage wants to do first) -1 == --oneshot (do not add package to world file as it's being tested) -N == --newuse (I recently modified my use flags in /etc/make.conf) -v == --verbose (I like to see what's going on) gnome-system-tools & liboobs Make it live on boot:
Depending on how updated your system is, there may be several packages included for the install. If you notice the packages that are wanting to be built in all are "~x86" packages, you may want to install stable builds for what you can, then install testing packages as needed. emerge ntp:
--The first line will emerge ntp-client, related packages (dependencies). --The second line will copy the sample config to the proper location. --The third line will start the service on boot. |
||||||||||
Posted on: 2009/12/18 18:31
|
|
Re: Portage | #2 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Webmaster
Joined: 2007/6/10
From Dallas, TX
Posts: 79
Level : 7 HP : 0 / 170 Group:
Webmasters Registered Users |
Knowing which files you may be required to edit, and what should be in them can be a challenge to keep up with.
Here are a couple files from my test environment to show as example: /etc/make.conf
/etc/portage/package.keywords
/etc/portage/package.mask
/etc/portage/package.unmask
/etc/portage/package.use
|
||||||||||
Posted on: 2009/12/18 19:30
|
|
Re: Portage | #3 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Webmaster
Joined: 2007/6/10
From Dallas, TX
Posts: 79
Level : 7 HP : 0 / 170 Group:
Webmasters Registered Users |
So a lil bit about portage, ebuilds, and masking or masked packages.
The ebuild file is reference to the repo that the download will be obtained from. This also dictates what build of the package you want/need. The ebuild will declare what the package depends on, and what packages will depend on it. On occasion you will find a 9999 build. These builds are development releases - can be buggy. If you need to install one of these dev releases you may add like the following for the package to your /etc/portage/package.keywords:
-- Don't forget to add the "**" at the end of it or you will not be able to use that ebuild. |
||||||||||
Posted on: 2010/2/20 11:51
|
|
Re: Portage | #4 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Webmaster
Joined: 2007/6/10
From Dallas, TX
Posts: 79
Level : 7 HP : 0 / 170 Group:
Webmasters Registered Users |
I would like to mention about the file:
/var/lib/portage/world Inside of it are the list of apps you have installed, or are installed; and let's say you install something such as: www-client/chromium-bin-9999 Technically this would be an unstable package, and you would need to hard-unmask it with:
Then let's say you perform the command:
This will add the file to be re-installed in the future to your "world". This means it will try to re-install it later, and let's say that you do not want it to be installed later, you just want it installed, and that's that. This means you meant to have run:
*The -1 (--oneshot) will prevent the file from being added to the world file (database). You can Remove or Remark it out of the world file with:
Then put a "#" at the beginning of the line, or just remove it. Such as:
The next time you go to "emerge -pv world", it will not harass you telling you it's maskACCEPT_KEYWORDS="~x86"ed, or even no longer available. Although if it's no longer available, you may not want to keep that copy, and instead remove the installed, and install the newer release. I re-iterate this because anytime you use:
or anything like this, you may not want to stay on that unstable build - this can be damaging to your system long term if you are not careful. |
||||||||||
Posted on: 2010/11/21 1:16
|
Top Previous Topic Next Topic |
|