Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
keyword and use changes required by update
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Tue Jul 09, 2013 1:59 pm    Post subject: keyword and use changes required by update Reply with quote

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
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Wed Jul 10, 2013 1:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Thu Jul 11, 2013 9:21 am    Post subject: Reply with quote

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
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Thu Jul 11, 2013 11:37 am    Post subject: Reply with quote

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
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Thu Jul 11, 2013 1:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Thu Jul 11, 2013 9:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Fri Jul 12, 2013 2:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Fri Jul 12, 2013 2:41 pm    Post subject: Reply with quote

Yep, probably. See your
Code:
eselect news
for 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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Fri Jul 12, 2013 2:49 pm    Post subject: Reply with quote

hmmm, udev news in march....my bad. :oops:
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
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Fri Jul 12, 2013 2:53 pm    Post subject: Reply with quote

Kernel command line option. See the second post in the linked thread. :wink:

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Fri Jul 12, 2013 3:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Mon Jul 15, 2013 9:32 am    Post subject: Reply with quote

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
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Jul 15, 2013 12:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Mon Jul 15, 2013 1:02 pm    Post subject: Reply with quote

thanks steveL, however, it did not work and I have had to revert my vm back to an earlier snapshot :(
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Jul 15, 2013 10:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Wed Jul 17, 2013 9:03 am    Post subject: Reply with quote

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
View user's profile Send private message
midway
Apprentice
Apprentice


Joined: 01 Jun 2012
Posts: 181
Location: somewhr in the blighty

PostPosted: Fri Jul 19, 2013 9:15 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum