View previous topic :: View next topic |
Author |
Message |
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Tue Jul 09, 2013 1:59 pm Post subject: keyword and use changes required by update |
|
|
Hello,
After sorting lots of unmet requirements (and adding USE flags), I am faced by some dependency. Anybody care explaining these 2 to me:
Code: |
x11-libs/cairo:0
(x11-libs/cairo-1.10.2-r3::gentoo, ebuild scheduled for merge) pulled in by
>=x11-libs/cairo-1.6:=[X,svg] required by (x11-libs/gtk+-2.24.17::gentoo, ebuild scheduled for merge)
(x11-libs/cairo-1.10.2-r3::gentoo, installed) pulled in by
(no parents that aren't satisfied by other packages in this slot)
|
And:
Code: |
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by net-fs/samba-3.6.16
# required by @selected
# required by @world (argument)
=sys-libs/tevent-0.9.18 ~x86
The following USE changes are necessary to proceed:
# required by x11-libs/gtk+-2.24.17
# required by dev-java/icedtea-bin-6.1.12.5[X]
# required by virtual/jdk-1.6.0-r2
# required by virtual/jre-1.6.0-r1
# required by dev-java/java-config-2.1.12-r1
# required by dev-vcs/subversion-1.7.9[java]
# required by dev-vcs/git-1.8.1.5[subversion,perl]
# required by app-portage/layman-2.0.0[git]
# required by @selected
# required by @world (argument)
=x11-libs/cairo-1.10.2-r3 X
# required by net-print/cups-1.6.2-r5
# required by net-print/cups-filters-1.0.34-r1
=app-text/ghostscript-gpl-9.05-r1 cups
# required by dev-lang/php-5.3.26
# required by dev-php/suhosin-0.9.33
# required by @selected
# required by @world (argument)
>=app-admin/eselect-php-0.7.1 apache2
|
How to add these package use/keywords and how to resolve the cairo dependency (where the gtk is using the older version)? |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Wed Jul 10, 2013 1:11 pm Post subject: |
|
|
I don't think the first message is a problem. It only wants >=1.6 and it's the same version that's being pulled in.
Here's the traditional approach to unmasking, so you know what's going on. Note you can also use --autounmask-write in EMERGE_DEFAULT_OPTS, and then run dispatch-conf to update your config-files. Or you can use update which will do it all for you, asking for confirmation and showing you a coloured diff of anything it will change.
For things that are keyworded unstable (ie ~x86 if on x86) you can simply do:
Code: | echo sys-libs/tevent >> /etc/portage/package.keywords |
For USE-masked packages, you typically add the flag on a per-package basis to get through the update, unless you know you want it globally (which is unlikely, and usually something you should review after.) However in your case, you're getting flags like X and cups which are usually set globally. Have you run ufed yet? It's usually the first thing we do after an install, though you might need to emerge ufed first.
Anyhow this is how we'd set the foo USE-flag on a per-package basis.
Code: | echo some-cat/some-package foo >> /etc/portage/package.use |
update has a dialog-based USE-flag editor (press -E after the usual update for standard world update, or update -s to sync first.) So usually I just let it set whatever flag portage wants, unless it's something I know I don't want, and then use the list-editor to review, and perhaps set it globally.
Note that you can also use directories for package.* files. I don't personally as it gets too complicated, but some overlays prefer to drop a file into a directory. |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Thu Jul 11, 2013 9:21 am Post subject: |
|
|
Hi steveL.
--
revdep-rebuild found this broken:
broken /usr/lib/cairo/libcairo-trace.so.0.0.0 (requires libbfd-2.22.so) Then
emerged the required library and
env-update && source /etc/profile followed by another revdep-rebuild solved this problem.
--
I will do the necessary USE changes and update soon (thanks for the --autounmask -write option - it will certainly make my life easier). also here is my entire make file in case you find anything wrong here (unnecessary texts removed to keep it short):
Code: |
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: make.conf 7382 2007-07-24 01:18:08Z zmedico $
# Contains local system settings for Portage system
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-portage/ufed'
#
# Example:
#USE="X gtk gnome -alsa"
USE="-ipv6 -ldap -mysql"
# Host Setting
# ============
CHOST="i686-pc-linux-gnu"
#
# CRITICAL WARNINGS: ****************************************************** #
# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
# Pentium-M CPU's should not enable sse2 until at least gcc-3.4. Bug 50616. #
# ************************************************************************* #
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"
# Advanced Masking
# ================
#ACCEPT_KEYWORDS="~x86"
# Portage Directories
# ===================
#PORTAGE_TMPDIR=/var/tmp
#PORTDIR=/usr/portage
#DISTDIR=/usr/portage/distfiles
#PKGDIR=/usr/portage/packages
#PKGDIR=/usr/portage/packages
#PORT_LOGDIR=""
#PORTDIR_OVERLAY=/opt/portage
# Fetching files
# ==============
#FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
#FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#PORTAGE_RSYNC_EXTRA_OPTS=""
#EMERGE_DEFAULT_OPTS=""
#INSTALL_MASK=""
MAKEOPTS="-j4"
PORTAGE_NICENESS=0
AUTOCLEAN="yes"
#PORTAGE_TMPFS="/dev/shm"
#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noauto"
#FEATURES="sandbox ccache distcc distlocks"
#CCACHE_DIR="${PORTAGE_TMPDIR}/ccache"
#DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"
#PORTAGE_ELOG_SYSTEM="save mail"
#PORTAGE_ELOG_COMMAND="/path/to/logprocessor -p '\${PACKAGE}' -f '\${LOGFILE}'"
GENTOO_MIRRORS="ftp://mirrors.blueyonder.co.uk/mirrors/gentoo/"
#FETCHCOMMAND="/usr/bin/axel -a -o /\${DISTDIR}/\${FILE}.axel \${URI} && mv /\${DISTDIR}/\${FILE}.axel /\${DISTDIR}/\${FILE}"
#RESUMECOMMAND="${FETCHCOMMAND}"
USE="ads mysql python perl ncurses bzip2 jpeg png truetype openssl"
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon \
authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default \
authz_groupfile authz_host authz_owner authz_user autoindex cache dav \
dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter \
file_cache filter headers ident imagemap include info log_config \
logio mem_cache mime mime_magic negotiation proxy proxy_ajp \
proxy_balancer proxy_connect proxy_http rewrite setenvif so speling \
status unique_id userdir usertrack vhost_alias cgi"
ACCEPT_LICENSE="dlj-1.1"
|
many thx once again. |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Thu Jul 11, 2013 11:37 am Post subject: |
|
|
I don't think you should set USE='-ipv6..' followed by another direct setting of USE='..'
I could be wrong, but I don't think that's how the incremental part of reading make.conf works: afaik it simply uses the final setting of USE from the file, and then merges that with the current set (so -* works. That's not recommended, and I don't use it, so I don't advise you set it either. It means your profile USE settings are cleared.)
So I'd set the USE stuff all in one setting. I usually put the negative ones at the end.
Alternatively, some people like to use separate variables and then merge them, eg USE="$USE_BASE $USE_GUI -ipv6" where USE_BASE and USE_GUI have been set earlier in the file, followed by: unset USE_BASE USE_GUI (i would, to keep them out of the ebuild environment.) You can do that, as the file is read by python shlex which does basic shell expansions.
I don't personally, as I edit global USE flags via script, either ufed when I first install, and update the rest of the time (which uses euse to enable or disable flags globally.) Similarly for ACCEPT_LICENSE which update handles for me on a per-package basis, via /etc/portage/package.license.
Other than that, it looks ok, if a little hard-to-read with all the cruft ;) I'd probably add another couple of mirrors, though you'll soon know if that's an issue, and the virgin/blueyonder one is pretty quick in the UK. |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10589 Location: Somewhere over Atlanta, Georgia
|
Posted: Thu Jul 11, 2013 1:52 pm Post subject: |
|
|
Many people (myself included) use the following paradigm to separate USE flags into logical groups (or just shorter lines): Code: | USE="foo bar"
USE="$USE baz" | Steve's right: make.conf follows Bash syntax and thus a subsequent definition of a variable with overwrite the previous one.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Thu Jul 11, 2013 9:33 pm Post subject: |
|
|
Thanks for confirmation, John,
wrt shorter lines, ufed and euse both break the lines and keep things alphabeticized, eg: Code: | USE="audiofile cdda cddb cdparanoia css curl fastcgi ffmpeg fftw \
fontconfig git handbook idn ieee1394 imagemagick jack \
latex libsamplerate libwww lm_sensors lua lzma \
mmx mmap pcntl plotutils \
sharedext sharedmem smp sndfile sse sse2 ssse3 \
timidity xinerama xosd xscreensaver \
-acl -bluetooth -gpm -hal -ipv6 \
-consolekit -policykit -semantic-desktop -udisks -upower" |
I don't personally like escaped newlines in script-strings, but I gave up editing them out ages ago. I did put a few extra newlines iirc: don't think I've changed a global USE flag since I got rid of nubkit, which was a while after semantic-craptop. (So I edited those to go together.)
With update's dialog-editor, it's much easier to set things on a per-package basis, so that's what I tend to do now. _________________
creaker wrote: | systemd. It is a really ass pain |
update - "a most excellent portage wrapper"
#friendly-coders -- We're still here for you™ ;) |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Fri Jul 12, 2013 2:35 pm Post subject: |
|
|
Thanks very much steveL and John. I have cleared all the use and keyword changes now.
World did a massive 210 upgrades (surprise to see such a big number). Everything seemed normal. Did couple of etc-updates. However after reboot the net.eth0 fails to start.
It says make sure you are using the correct kernel module. Has udev renamed it to something else? |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10589 Location: Somewhere over Atlanta, Georgia
|
Posted: Fri Jul 12, 2013 2:41 pm Post subject: |
|
|
Yep, probably. See yourfor the scoop on the udev improvements (?!?). Also see the looong discussion at the predictable network interface names topic.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Fri Jul 12, 2013 2:49 pm Post subject: |
|
|
hmmm, udev news in march....my bad.
however, I have tried using the null rule method but no joy -
Code: | ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules |
any quick remedy? |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10589 Location: Somewhere over Atlanta, Georgia
|
Posted: Fri Jul 12, 2013 2:53 pm Post subject: |
|
|
Kernel command line option. See the second post in the linked thread.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Fri Jul 12, 2013 3:38 pm Post subject: |
|
|
midway wrote: | I have tried using the null rule method but no joy - any quick remedy? |
Yes, that doesn't seem so reliable, but people have consistently reported success with an empty file, created by Code: | touch /etc/udev/rules.d/80-net-name-slot.rules | You will need to rm the current symlink (same path) first.
It might have something to do with being read in early-init; DEV_TMPFS should create that node, as it's pretty essential. Perhaps that's why the MOUNT option is recommended. (I've been using it for ages to get lvm to work, when using udev without an initramfs. Though that might get tricky soon.) |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Mon Jul 15, 2013 9:32 am Post subject: |
|
|
Am I doing something what I am not supposed to?
Code: |
mv /etc/udev/rules.d/70-persistent-*.rules /root/
mv /etc/udev/rules.d/80-net-*.rules /root/
Used short and sane MAC based name I made up myself (net0).
a. Created file /etc/udev/rules.d/70-my-network.rules.
b. Replaced xx:xx:xx:xx:xx:xx with our own MAC address.
The file looks like this:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="net0"
Then,
I changed /etc/conf.d/net
config_net0="static_IP"
Then created a symlink
ln -sf net.lo net.net0
|
|
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Mon Jul 15, 2013 12:46 pm Post subject: |
|
|
midway, no that's fine. that's pretty much what you're supposed to do to get a persistent name, if needed (use the MAC address and a non-kernel name.)
As long it works, you're good ;) |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Mon Jul 15, 2013 1:02 pm Post subject: |
|
|
thanks steveL, however, it did not work and I have had to revert my vm back to an earlier snapshot |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Mon Jul 15, 2013 10:01 pm Post subject: |
|
|
Did you try the stuff in my last post? (Do you have CONFIG_DEVTMPFS_MOUNT in your kernel?)
I shouldn't have to ask you that, btw ;-) |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Wed Jul 17, 2013 9:03 am Post subject: |
|
|
Hi steveL, I did check the settings.
Code: |
~ # grep DEVTMPFS /usr/src/linux-3.8.13-gentoo/.config
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
|
--
removing the symlink and then re-creating an empty 80...rule didn't work.
--
Therefore, to avoid any additional issues (and start troubleshooting from scratch), I have now rolled back my server to a backup taken in march and everything works fine (at the moment). I have updated my portage and now see the news about udev.
EDIT:
After a massive 251 update (including sys-fs/udev-204), what should be the best course of action out of all the above (before I reboot). many thanks.
Things i have done after the udev upgrade:
Code: |
~ # cd /etc/udev/rules.d/
rules.d # mv 70-persistent-cd.rules /root/
rules.d # mv 70-persistent-net.rules /root/
rules.d # udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null
ID_NET_NAME_MAC=enx00505699414b
ID_OUI_FROM_DATABASE=VMware, Inc.
ID_NET_NAME_PATH=enp0s17
|
Last edited by midway on Wed Jul 17, 2013 11:31 am; edited 2 times in total |
|
Back to top |
|
|
midway Apprentice
Joined: 01 Jun 2012 Posts: 181 Location: somewhr in the blighty
|
Posted: Fri Jul 19, 2013 9:15 am Post subject: |
|
|
Okay not sure what was going on in the beginning or was I being stupid but the final try worked like charm.
Just followed the http://wiki.gentoo.org/wiki/Udev/upgrade step by step and voila...
Also, I have given up on having the persistent rule names and went ahead with my "ID_NET_NAME_PATH" - enp0s17.
Swaped the eth0 in the followings:
Code: | ~ # grep -r 'enp0s17' /etc/* | grep -v '#'
/etc/conf.d/aoe:INTERFACE="enp0s17"
/etc/conf.d/net:config_enp0s17=(
/etc/conf.d/net:routes_enp0s17=( |
One last query before I mark this solved, I still see eth0 in keepalived (what do these do) folders, do i need to replace all these or?
Code: | ~ # grep -r 'eth0' /etc/* | grep -v '#'
/etc/keepalived/samples/keepalived.conf.vrrp.static_ipaddress: 192.168.200.16 dev eth0 scope link
/etc/keepalived/samples/keepalived.conf.vrrp.static_ipaddress: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.scripts: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.scripts: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.scripts: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.routes: src 192.168.100.1 192.168.209.0/24 via 192.168.200.254 dev eth0
/etc/keepalived/samples/keepalived.conf.vrrp.routes: 192.168.210.0/24 via 192.168.200.254 dev eth0
/etc/keepalived/samples/keepalived.conf.vrrp.routes: 192.168.211.0/24 via 192.168.200.254 dev eth0
/etc/keepalived/samples/keepalived.conf.vrrp.routes: interface eth0
/etc/keepalived/samples/keepalived.conf.track_interface: 192.168.210.0/24 via 192.168.200.254 dev eth0
/etc/keepalived/samples/keepalived.conf.track_interface: 192.168.211.0/24 via 192.168.200.254 dev eth0
/etc/keepalived/samples/keepalived.conf.track_interface: eth0
/etc/keepalived/samples/keepalived.conf.vrrp: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp: 192.168.200.18 label eth0:1
/etc/keepalived/samples/keepalived.conf.vrrp: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.lvs_syncd: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.lvs_syncd: interface eth0
/etc/keepalived/samples/keepalived.conf.sample: interface eth0
/etc/keepalived/samples/keepalived.conf.SSL_GET: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.localcheck: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/samples/keepalived.conf.vrrp.sync: interface eth0
/etc/keepalived/keepalived.conf: interface eth0
/etc/keepalived/keepalived.conf: eth0 |
|
|
Back to top |
|
|
|