Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Updating Gentoo (Safely)
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
victorsk
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jul 2010
Posts: 92

PostPosted: Fri May 01, 2015 9:35 pm    Post subject: Updating Gentoo (Safely) Reply with quote

Hi everyone,

I'm having some issues updating my gentoo with lots of "blocked packages" errors. I know --keep-going option is available but I don't want to use it because it's not safe. I'm trying to figure out a way to update my system safely, because it's my work laptop and I need my laptop to be operational.

So, I first try this command, I believe 'p' is for pretending update:

Code:

emerge -uDNavp world


And the output: https://bpaste.net/show/392fc82581c2

I then tried the following command:
Code:

emerge --update --newuse --deep --with-bdeps=y @world


And the output: https://bpaste.net/show/409b576bbd88

The information in both outputs is a bit confusing. Could somebody please suggest a way for me to fix these problems so I can do a safe system update?

Thank you kindly,
Victor.
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


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

PostPosted: Fri May 01, 2015 9:46 pm    Post subject: Reply with quote

First, just to get it out of the way, you must realize by now that Gentoo punishes you if you wait too long in between updates. The Gentoo developers cannot possibly test their new package additions against every possible update interval with every possible installed package list, so the likelihood of conflicts increases the longer you wait. This is just one of the (most likely inherently unavoidable) attributes of a rolling, source-based distribution. How long has it been, really?

Second, the advice is to split up the update. Try updating just the @system set without deep dependency analysis:
Code:
emerge --update --verbose --ask @system
and report the errors that that produces.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.


Last edited by John R. Graham on Fri May 01, 2015 9:49 pm; edited 1 time in total
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7132
Location: Saint Amant, Acadiana

PostPosted: Fri May 01, 2015 9:48 pm    Post subject: Reply with quote

Third, read the news (you have 5 unread). There is a news item about true multilib. https://www.gentoo.org/support/news-items/2015-03-28-true-multilib.html
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
victorsk
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jul 2010
Posts: 92

PostPosted: Fri May 01, 2015 9:51 pm    Post subject: Reply with quote

John R. Graham wrote:
First, just to get it out of the way, you must realize by now that Gentoo punishes you if you wait too long in between updates. The Gentoo developers cannot possibly test their new package additions against every possible update interval with every possible installed package list, so the likelihood of conflicts increases the longer you wait. This is just one of the (most likely inherently unavoidable) attributes of a rolling, source-based distribution. How long has it been, really?

Second, the advice is to split up the update. Try updating just the @system set without deep dependency analysis:
Code:
emerge --update --verbose --ask @system
and report the errors that that produces.

- John


I believe it's my first time updating since I installed it few months ago. It's my work laptop so I hadn't had the chance to update it and postponed for later.

This is the output with errors command you mention:

Code:

emerge --update --verbose --ask @system         

 * IMPORTANT: 5 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-devel/gnuconfig-20150304 [20140212] 46 KiB
[ebuild     U  ] app-arch/gzip-1.6 [1.5] USE="-pic -static (-nls%*)" 709 KiB
[ebuild     U  ] sys-devel/patch-2.7.5 [2.6.1] USE="-static {-test} -xattr%" 711 KiB
[ebuild     U  ] sys-apps/file-5.22 [5.21] USE="zlib -python -static-libs" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 -python3_3 -python3_4" 716 KiB
[ebuild     U  ] net-misc/rsync-3.1.1 [3.0.9-r3] USE="acl iconv ipv6 -static -xattr" 870 KiB
[ebuild     U  ] sys-apps/iproute2-3.19.0 [3.8.0] USE="berkdb iptables ipv6 -atm -minimal (-selinux)" 445 KiB
[ebuild     U  ] sys-apps/busybox-1.23.1-r1 [1.21.0] USE="ipv6 pam static -debug% -livecd -make-symlinks -math -mdev -savedconfig (-selinux) -sep-usr -syslog -systemd" 2,200 KiB
[ebuild     U  ] sys-libs/e2fsprogs-libs-1.42.12 [1.42.10] USE="nls -static-libs" ABI_X86="(64) -32 (-x32)" 591 KiB
[ebuild     U  ] sys-process/psmisc-22.21-r2 [22.21] USE="X ipv6 nls (-selinux)" 6 KiB
[ebuild     U  ] sys-devel/gcc-4.8.4:4.8 [4.8.3:4.8] USE="cxx fortran (multilib) nls nptl openmp sanitize (-altivec) (-awt) -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" 84,244 KiB
[ebuild     U  ] sys-apps/grep-2.21-r1 [2.16] USE="nls pcre -static" 1,236 KiB
[ebuild     U  ] sys-devel/make-4.1-r1 [4.0-r1] USE="nls -guile -static" 1,297 KiB
[ebuild     U  ] sys-apps/openrc-0.13.11 [0.12.4] USE="ncurses netifrc pam unicode -debug -newnet (-prefix) (-selinux) -static-libs -tools" 148 KiB
[ebuild     U  ] sys-apps/man-pages-3.82 [3.75] USE="nls" LINGUAS="de fr it pl ro ru -da -ja -nl -zh_CN" 1,326 KiB
[ebuild     U  ] sys-apps/util-linux-2.25.2-r2 [2.24.1-r3] USE="cramfs ncurses nls pam suid udev unicode -caps -fdformat -python (-selinux) -slang -static-libs -systemd% {-test} -tty-helpers (-bash-completion%) (-cytune%)" ABI_X86="32* (64) (-x32)" PYTHON_SINGLE_TARGET="python2_7 -python3_3 -python3_4" PYTHON_TARGETS="python2_7 -python3_3 -python3_4" 3,617 KiB
[ebuild     U  ] sys-fs/e2fsprogs-1.42.12 [1.42.10] USE="nls -static-libs" 6,233 KiB
[blocks B      ] app-emulation/emul-linux-x86-baselibs[-abi_x86_32] ("app-emulation/emul-linux-x86-baselibs[-abi_x86_32]" is blocking sys-apps/util-linux-2.25.2-r2)
[blocks B      ] <sys-fs/udev-init-scripts-27 ("<sys-fs/udev-init-scripts-27" is blocking sys-apps/openrc-0.13.11)

Total: 16 packages (16 upgrades), Size of downloads: 104,386 KiB
Conflict: 2 blocks (2 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (app-emulation/emul-linux-x86-baselibs-20140508-r12:0/0::gentoo, installed) pulled in by
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-medialibs-20140508-r6:0/0::gentoo, installed)
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-db-20140508-r1:0/0::gentoo, installed)
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-xlibs-20140508:0/0::gentoo, installed)
    app-emulation/emul-linux-x86-baselibs required by @selected
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-motif-20140508:0/0::gentoo, installed)
    ~app-emulation/emul-linux-x86-baselibs-20140508[abi_x86_32=] (~app-emulation/emul-linux-x86-baselibs-20140508[-abi_x86_32]) required by (app-emulation/emul-linux-x86-soundlibs-20140508:0/0::gentoo, installed)

  (sys-apps/openrc-0.13.11:0/0::gentoo, ebuild scheduled for merge) pulled in by
    sys-apps/openrc required by @system
    >=sys-apps/openrc-0.12 required by (net-misc/netifrc-0.2.2:0/0::gentoo, installed)
    sys-apps/openrc required by (virtual/service-manager-0:0/0::gentoo, installed)

  (sys-apps/util-linux-2.25.2-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-apps/util-linux-2.13 required by (sys-power/pm-utils-1.4.1-r6:0/0::gentoo, installed)
    sys-apps/util-linux required by (app-text/build-docbook-catalog-1.19.1:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.20.1-r2 required by (sys-fs/udisks-2.1.3:2/2::gentoo, installed)
    >=sys-apps/util-linux-2.24.1-r3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?, abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (>=sys-apps/util-linux-2.24.1-r3[abi_x86_64(-)]) required by (x11-libs/libSM-1.2.2-r1:0/0::gentoo, installed)
    sys-apps/util-linux required by (sys-apps/gptfdisk-0.8.10:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.20 required by (sys-fs/udev-216:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.19 required by (dev-libs/rasqal-0.9.29:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.16 required by (sys-fs/e2fsprogs-1.42.12:0/0::gentoo, ebuild scheduled for merge)
    sys-apps/util-linux required by @system
    >=sys-apps/util-linux-2.20.1-r2 required by (sys-fs/udisks-1.0.5-r1:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.16 required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed)
    >=sys-apps/util-linux-2.22 required by (virtual/eject-0:0/0::gentoo, installed)

  (sys-fs/udev-init-scripts-26-r2:0/0::gentoo, installed) pulled in by
    >=sys-fs/udev-init-scripts-26 required by (sys-fs/udev-216:0/0::gentoo, installed)


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked


!!! The following installed packages are masked:
- virtual/perl-File-Temp-0.230.0-r1::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Andreas K. Huettel <dilfridge@gentoo.org> (29 Mar 2015)
# Mask Perl 5.18 for removal. Please upgrade to Perl 5.20

- virtual/perl-Compress-Raw-Zlib-2.60.0-r2::gentoo (masked by: package.mask)
- virtual/perl-IO-Compress-2.60.0-r1::gentoo (masked by: package.mask)
- virtual/perl-Time-HiRes-1.972.500-r3::gentoo (masked by: package.mask)
- virtual/perl-Storable-2.410.0-r1::gentoo (masked by: package.mask)
- virtual/perl-Sys-Syslog-0.320.0-r2::gentoo (masked by: package.mask)
- virtual/perl-libnet-1.220.0-r3::gentoo (masked by: package.mask)
- virtual/perl-Digest-MD5-2.520.0-r2::gentoo (masked by: package.mask)
- virtual/perl-MIME-Base64-3.130.0-r4::gentoo (masked by: package.mask)
- virtual/perl-Scalar-List-Utils-1.270.0-r2::gentoo (masked by: package.mask)
- dev-lang/perl-5.18.2-r2::gentoo (masked by: package.mask)
- virtual/perl-Encode-2.490.0-r2::gentoo (masked by: package.mask)
- virtual/perl-File-Spec-3.400.0-r2::gentoo (masked by: package.mask)
- virtual/perl-Getopt-Long-2.390.0-r1::gentoo (masked by: package.mask)
- virtual/perl-IO-1.280.0-r1::gentoo (masked by: package.mask)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


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

PostPosted: Fri May 01, 2015 9:58 pm    Post subject: Reply with quote

Take a gander at the news item that Jaglover linked to & see if you can't get rid of at least one of the blocks yourself. Report back any remaining errors.

- 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
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 13982

PostPosted: Fri May 01, 2015 10:41 pm    Post subject: Reply with quote

Using --keep-going should be safe, because it drops any packages that depend on the failed package. When it finishes, you may still have updates pending, but every requested update that could be done without your assistance should have been attempted.
Back to top
View user's profile Send private message
Gentree
Watchman
Watchman


Joined: 01 Jul 2003
Posts: 5350
Location: France, Old Europe

PostPosted: Sat May 02, 2015 6:11 am    Post subject: Reply with quote

--keep-going implies that you have started something. You can't 'keep-going' until you've resolved the blocks and started the process.
_________________
Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


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

PostPosted: Sat May 02, 2015 12:25 pm    Post subject: Reply with quote

The multilib news item is not as helpful as it could be; you need to set:
Code:
ABI_X86="64"
in /etc/portage/make.conf to reflect where your system currently is. see here for more info on that.

You also have the perl ABI upgrade to take care, but first let's sort your toolchain out.

First off, upgrade your kernel:
Code:
emerge -av gentoo-sources
cd /usr/src/linux
cp linux-OLD/.config linux-NEW/.config
cd linux-NEW
make oldconfig
make nconfig
make && make modules_install
Different people install their kernels differently. Don't forget to mount /boot first if it's noauto. ;)

One thing: make sure you
Code:
cp System.map /boot/System.map-UNAME_R
where UNAME_R is the name of the directory under /lib/modules that it installed to. eg: 3.18.11-gentoo-gnu.
This will be the output of uname -r once the kernel is actually running.

Get it rebooting. (This may take a few attempts; don't worry about it, just ask in #gentoo on IRC: chat.freenode.net if you get stuck.)

Then (in general)
Code:
emerge -a1v linux-headers
though it's not in your @system list atm. If it's a Rebuild, cancel this paragraph. If it's an Upgrade (or a NewSlot) let it go ahead, and then:
Code:
emerge -1av sys-libs/glibc


Then:
Code:
emerge -1 gcc


If you upgraded linux-headers above, you should redo glibc at this point. (less of a concern here, since gcc has only gone up by one point revision, so skip it if you want.)

If you don't have it already:
Code:
emerge portage-utils
chmod +x /etc/portage/postsync.d/q-reinitialize
(use TAB completion for the last; you should have seen an ewarn about it.)
Check it works with:
Code:
qlist -IC virtual/perl
if not, run:
Code:
q -r


Now we can attempt perl:
Code:
emerge -1O dev-lang/perl
emerge -1O $(qlist -IC virtual/perl) dev-perl/extutils-pkgconfig
perl-cleaner --really-all
(that's a: one followed by an Oh, not zero)

After you get through those, you should be able to do @system, and then go onto xorg-server, before you do your desktop.

Though you're going to hit multilib things; again see that other thread, and ask in #gentoo when you get stuck (as you'll get a reply within two minutes.)

HTH,
steveL.

edit: s/perl-updater/perl-cleaner/


Last edited by steveL on Wed May 13, 2015 4:19 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43383
Location: 56N 3W

PostPosted: Sat May 02, 2015 12:41 pm    Post subject: Reply with quote

This package
Code:
[ebuild     U  ] sys-libs/timezone-data-2015b [2014i-r1] USE="nls -right_timezone" 466 KiB
is a good indicator of the period since the last update.
2014i was late last year, so this system is about six months old.

The way ahead is to do the update in pieces. In no particular order, perl, kernel, real multilib, system and last of all, world.
Then keep the system up to date once a month.

There is lots of good advice here, I don't need to add any more details.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 13982

PostPosted: Sat May 02, 2015 4:32 pm    Post subject: Reply with quote

Gentree wrote:
--keep-going implies that you have started something. You can't 'keep-going' until you've resolved the blocks and started the process.
Yes. I was specifically responding to the OP's statement that "I know --keep-going option is available but I don't want to use it because it's not safe." As you say, --keep-going can only be used once the process starts. However, once it can be used and has effect, it should be safe to use.
Back to top
View user's profile Send private message
dilfridge
Developer
Developer


Joined: 18 Sep 2010
Posts: 111
Location: Regensburg, Germany

PostPosted: Tue May 05, 2015 8:58 pm    Post subject: Reply with quote

Hu wrote:
Gentree wrote:
--keep-going implies that you have started something. You can't 'keep-going' until you've resolved the blocks and started the process.
Yes. I was specifically responding to the OP's statement that "I know --keep-going option is available but I don't want to use it because it's not safe." As you say, --keep-going can only be used once the process starts. However, once it can be used and has effect, it should be safe to use.


--keep-going is perfectly safe.

From my make.conf:
Code:
EMERGE_DEFAULT_OPTS="-v --keep-going --quiet-build=n --with-bdeps=y"
Back to top
View user's profile Send private message
ayvango
Tux's lil' helper
Tux's lil' helper


Joined: 08 Feb 2012
Posts: 118

PostPosted: Wed May 06, 2015 8:22 am    Post subject: Reply with quote

John R. Graham wrote:
First, just to get it out of the way, you must realize by now that Gentoo punishes you if you wait too long in between updates.

It also punishes you if you do any update. You should manually reinstall dev-qt packages and all cairo dependencies. It really irritates me.
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Wed May 06, 2015 9:30 am    Post subject: Reply with quote

Yeah, Gentoo is a very high-maintainance mistress!

I kinda wish we had a LTS branch along with stable and unstable - In an ideal world, I'd have a stable base system that I would just add things to as and when I need to, but I can't imagine how hard it would be to maintain that.

It is annoying as there are a lot of things you can build from source and they will work just fine, but if you build from an ebuild it starts a gigantic dependency cascade or just doesn't work, but that's the price for having a rolling system!

If it makes you feel better, go read the forums of the static distro people, where they complain about things like btrfs not working properly because they have such old kernel versions :D
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1699

PostPosted: Wed May 06, 2015 2:12 pm    Post subject: Reply with quote

Quote:
It is annoying as there are a lot of things you can build from source and they will work just fine, but if you build from an ebuild it starts a gigantic dependency cascade or just doesn't work, but that's the price for having a rolling system!


Just so you know, the ebuilds don't really do much compared to building it by source yourself. You still need all the dependencies either way you go, they don't add any extra dependencies to the packages. The only difference is that portage goes and gets the dependencies for you, so you don't have to fight to get them compiled/installed each yourself. It doesn't matter which distro you use, when you install any package you have to have all of it's dependencies installed too.

Gentoo is designed specifically to be updated regularly, if you don't your just asking for issues. It's not hard to do a quick sync and update the world once a week (most times finishes within an hour or 2), it's no like typing 2-3 commands then do something else is that difficult. Quite frankly, if your not willing to keep your system updated, why are you even using Gentoo in the first place! You are better off on a bin-distro where you don't have to worry about when you update.
Back to top
View user's profile Send private message
victorsk
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jul 2010
Posts: 92

PostPosted: Wed May 06, 2015 3:38 pm    Post subject: Reply with quote

Wow! Thanks for all your replies :) I was checking my email for reply notifications but there weren't anymore and when I come back to check on the site there are so much more here. Thank you very much for all your feedback.

P.S. I am now getting no news items after I executed read news command. I read news as suggested by one of the members but when I tried to read them again there were none.
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


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

PostPosted: Wed May 06, 2015 3:51 pm    Post subject: Reply with quote

Code:
eselect news list
will show you all non-deleted news items, indexed by number. You can then read any one you like with
Code:
eselect news read n
where "n" is one of those numbers. See
Code:
eselect news help
and the eselect man page for all the gory details. ;)

- 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
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Wed May 06, 2015 3:57 pm    Post subject: Reply with quote

Well, in *theory* it should be the same but in practice I'm not finding that.
For simple things that have well-behaved self-contained build environments, you're right.
However, when you get into complex things like the most recent Samba and out-of-tree franken-things like TDE, for some reason it is MUCH easier to get them working by manually compiling it than making an ebuild.

I assume it's a quirk of the sandboxed build environment and all the other stuff that Portage does other than just building things from source (e.g. managing the slot system and allowing it to co-exist with other things on the system and is properly catalogued.)
When you hand-roll something, you don't normally care about a lot of that because you (presumably) know what you're doing.

Some of the ebuilds I've looked at are fiendishly complicated with all sorts of workarounds and kludges to get things to work and I often wonder if the maintainers are some sort of zen masters to be able to write these things!



As for the delayed updates, well, delayed updates is always going to be a thing; Sometimes the update does weird stuff which you have to fix first (Yay dependency cascade!), and those of us with full-time jobs don't always have time to do this, or sometimes you just don't want the update and have to stop updating until you figure out a way around it (And this can take a looong time... I still have nightmares about the crap I had to go through to avoid KDE4+! Thank smeg for the kde-sunset overlay)


Gentoo has a very linear evolution and bringing an old system up to date almost requires all the small chunks of time you would have spent updating as you went along, but all in one go :lol:

I find it's best NOT to "emerge -uav --deep world" and hope for the best in those situations, but run a --pretend and then save that to a file and then individually emerge bits at a time.

During normal regular updating, you will always hit one or two nightmare updates that break a load of stuff or trigger a massive dependency cascade complete with blockers and conflicts. Individually you can work through it, but when you update after a long delay, you get all of these at once and they're all tangled up and that's where things get tricky, so installing things manually can help get your head around and isolate problem packages.

The most recent PITA updates from memory were perl and the deprecation of the emul-x86, which caused a massive cascade on mine; I found by removing ati-drivers and (I think) xf86-ati-drivers that fixed the whole thing tho' so sometimes even the scary wall of blockers has a simple solution!


I must say, I would really love a fork or alternate branch of Gentoo where every package has as few dependencies as physically possible as that would really help reduce the difficulty of trying to 'catch up', but I do get why we've moved away from that.
Back to top
View user's profile Send private message
victorsk
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jul 2010
Posts: 92

PostPosted: Wed May 06, 2015 4:12 pm    Post subject: Reply with quote

Cyker wrote:

I must say, I would really love a fork or alternate branch of Gentoo where every package has as few dependencies as physically possible as that would really help reduce the difficulty of trying to 'catch up', but I do get why we've moved away from that.


I am actually considering developing a fork of gentoo that would address cascade dependency issues, for example. I know my knowledge of gentoo is very small at the moment, but there is a lot of documentation and material to study and I am a university computer science major and professional software developer so it's just a matter of putting my mind to it :)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43383
Location: 56N 3W

PostPosted: Wed May 06, 2015 7:56 pm    Post subject: Reply with quote

Cyker,

Your LTS Gentoo can be achieved with two overlays.

FInd a tree you like, update your system and save this tree as the first overlay
You have moved it - so you no longer have a portage tree.

When you want to update a package, put its ebuild in another overlay.

You will no longer be able to use eselect profile an your profile is in your first overlay.
I suspect you will go back to dependency hell.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
szatox
Veteran
Veteran


Joined: 27 Aug 2013
Posts: 1751

PostPosted: Wed May 06, 2015 8:32 pm    Post subject: Reply with quote

Quote:
Well, in *theory* it should be the same but in practice I'm not finding that.
I have noticed some packages have more deps than actually needed. AFAIR NeddySeagoon could say more on this, but the point is ebuilds are just text files.
If you have a problem with dependencies, you can try going hard on them: edit ebuild removing some deps. It takes changing 1-2 variables declaration and running ebuild digest afterwards. There is a good chance it will compile and install without pulling that extra stuff you don't wont. And copying that modified ebuild into your local overlay if you don't want next sync to fix it.

Funny example, I have encountered some package on a rampage:
pulling in some fancy manual's reader :!: that depends on roughly half of the GNOME :!: just to get pretty help window :!: even with explicit USE="-doc" :!:
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43383
Location: 56N 3W

PostPosted: Wed May 06, 2015 8:36 pm    Post subject: Reply with quote

szatox,

I do just that for my gentoo-static. A few things need to be 'encouraged' to build without a udev clone.
Of course, I get to keep the pieces if it won't work.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1699

PostPosted: Wed May 06, 2015 11:07 pm    Post subject: Reply with quote

Quote:
Funny example, I have encountered some package on a rampage:
pulling in some fancy manual's reader :!: that depends on roughly half of the GNOME :!: just to get pretty help window :!: even with explicit USE="-doc" :!:


That is what made me to completely switch away from using KDE and GNOME, is because a good port of both WM's are tied into each other. I get really annoyed that they are trying to integrate everything together, without some way to stop it. Like one example that I encountered, is gnome-keyring being integrated into my internet browser, email program, office program and some games. The thing is, I don't want anything shared between any of them, especially my passwords, and causes problems when you use same username but different passwords in each one. The issue may very well been fixed a long time ago, but still why do I want everything linked to each other!?! If a program is going to have the support another, at least have a config option to remove the support (like so I can completely remove gnome-keyring as a whole). I am not going to jump into the issue with systemd.
Back to top
View user's profile Send private message
greyspoke
Tux's lil' helper
Tux's lil' helper


Joined: 08 Jan 2010
Posts: 146

PostPosted: Thu May 07, 2015 12:29 pm    Post subject: Reply with quote

ct85711 wrote:
Quote:
Funny example, I have encountered some package on a rampage:
pulling in some fancy manual's reader :!: that depends on roughly half of the GNOME :!: just to get pretty help window :!: even with explicit USE="-doc" :!:


That is what made me to completely switch away from using KDE and GNOME, is because a good port of both WM's are tied into each other. I get really annoyed that they are trying to integrate everything together, without some way to stop it. Like one example that I encountered, is gnome-keyring being integrated into my internet browser, email program, office program and some games. The thing is, I don't want anything shared between any of them, especially my passwords, and causes problems when you use same username but different passwords in each one. The issue may very well been fixed a long time ago, but still why do I want everything linked to each other!?! If a program is going to have the support another, at least have a config option to remove the support (like so I can completely remove gnome-keyring as a whole). I am not going to jump into the issue with systemd.

+1 to that, this sort of thing is a big reason why my year-long experiment with gnome ended. I only installed Gnome-light, but actually that wasn't really satisfactory as bits of Gnome still think you have the full works installed and act accordingly. It was nice and looked cool but ultimately, not for me.
Back to top
View user's profile Send private message
victorsk
Tux's lil' helper
Tux's lil' helper


Joined: 13 Jul 2010
Posts: 92

PostPosted: Mon May 11, 2015 4:55 pm    Post subject: Reply with quote

steveL wrote:
The multilib news item is not as helpful as it could be; you need to set:
Code:
ABI_X86="64"
in /etc/portage/make.conf to reflect where your system currently is. see here for more info on that.

You also have the perl ABI upgrade to take care, but first let's sort your toolchain out.

First off, upgrade your kernel:
Code:
emerge -av gentoo-sources
cd /usr/src/linux
cp linux-OLD/.config linux-NEW/.config
cd linux-NEW
make oldconfig
make nconfig
make && make modules_install
Different people install their kernels differently. Don't forget to mount /boot first if it's noauto. ;)

One thing: make sure you
Code:
cp System.map /boot/System.map-UNAME_R
where UNAME_R is the name of the directory under /lib/modules that it installed to. eg: 3.18.11-gentoo-gnu.
This will be the output of uname -r once the kernel is actually running.

Get it rebooting. (This may take a few attempts; don't worry about it, just ask in #gentoo on IRC: chat.freenode.net if you get stuck.)

Then (in general)
Code:
emerge -a1v linux-headers
though it's not in your @system list atm. If it's a Rebuild, cancel this paragraph. If it's an Upgrade (or a NewSlot) let it go ahead, and then:
Code:
emerge -1av sys-libs/glibc


Then:
Code:
emerge -1 gcc


If you upgraded linux-headers above, you should redo glibc at this point. (less of a concern here, since gcc has only gone up by one point revision, so skip it if you want.)

If you don't have it already:
Code:
emerge portage-utils
chmod +x /etc/portage/postsync.d/q-reinitialize
(use TAB completion for the last; you should have seen an ewarn about it.)
Check it works with:
Code:
qlist -IC virtual/perl
if not, run:
Code:
q -r


Now we can attempt perl:
Code:
emerge -1O dev-lang/perl
emerge -1O $(qlist -IC virtual/perl) dev-perl/extutils-pkgconfig
perl-updater --really-all
(that's a: one followed by an Oh, not zero)

After you get through those, you should be able to do @system, and then go onto xorg-server, before you do your desktop.

Though you're going to hit multilib things; again see that other thread, and ask in #gentoo when you get stuck (as you'll get a reply within two minutes.)

HTH,
steveL.


Thank you so much for your (and others) comments. I tried to update perl first and when I tried to update other packages the system still complained about perl being wrong version. It's ok. My background is with binary distributions where updates are not mandatory and not much encouraged. With gentoo the opposite is true so I've learned my lesson. Unfortunately, I won't be trying to do any more updates and just leave this system as is because the risk of something going wrong is too high - this is my work machine which is fine-tuned for development: IDE, environment variables, development packages, documents, etc.. which I cannot afford to loose or have any downtime in my work. I'll just note the fact that gentoo requires frequent updates and apply this in my next gentoo installation.

Thanks,
Victor.
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 May 13, 2015 4:12 pm    Post subject: Reply with quote

victorsk wrote:
I tried to update perl first and when I tried to update other packages the system still complained about perl being wrong version. It's ok.

Once you do perl, you MUST run perl-cleaner --really-all afterwards; you need the intervening merge of the virtuals to upgrade portage's idea of how they're being satisfied, since things might move to core perl from modules, depending on the version.
extutils-pkgconfig similarly is used by other build-system tools, including later perl ones.

I've just noticed I typed perl-updater above, when it is perl-cleaner. (cf: man perl-cleaner)
My apologies for the confusion that must have engendered.
Quote:
My background is with binary distributions where updates are not mandatory and not much encouraged. With gentoo the opposite is true so I've learned my lesson.

Funny, I found bindists needed constant updating, as whenever I hit a weird bug somewhere in the stack of libraries in use, I'd always be told "update your install". And every 6 months, reinstall for a new set of weirdness, to get past bumps like gcc changing ABI.
Quote:
Unfortunately, I won't be trying to do any more updates and just leave this system as is because the risk of something going wrong is too high

It's up to you ofc. Personally I'd get the perl update completed at least, as atm you have a broken Perl setup.
From there it should be easy enough to bring everything else up to date, as outlined.

With Gentoo, just because things don't merge isn't so big a deal, as compared against bindist bugs. In the meantime everything else installed (including the prior version) works fine.
You do have to get past certain bumps, the ones that typically lead to a bindist reinstall. When you leave upgrades for ages, then you have to do several in turn, which is why it pays to keep up with the forums even during an update hiatus.

And ofc, always do a big upgrade in the same order as you did your install; bring up the base first, then move onto xorg and graphics drivers, and only then on to your DE (after CUPS.)
You usually need to disable xdm (rc-update del xdm) in the middle, and then add it back after your DE is updated.
You'd use rc-update add xdm default to make it autostart again. man rc-update.

One thing I would definitely recommend is using FEATURES=buildpkg. (You can use quickpkg to archive from a running system.)
Also, see the post at the top of that page for "the basics".
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
Goto page 1, 2  Next
Page 1 of 2

 
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