Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
upgrading udev-171 to udev-180 - updating a quite old Gentoo
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3 ... 9, 10, 11  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Wed Mar 01, 2017 1:13 pm    Post subject: upgrading udev-171 to udev-180 - updating a quite old Gentoo Reply with quote

Hi,

I am trying to upgrade an old installation that has not been updated for a long time, so I want to take it in small steps. I want to upgrade from udev-171 to udev-180, so I downloaded udev-180.ebuild to my local portage overlay, and I ran ebuild udev-180.ebuild manifest with succes, so my next step was to try to emege it:
Code:

# emerge =udev-180

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

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "~sys-apps/kmod-4".
(dependency required by "sys-fs/udev-180::kmerepo" [ebuild])
(dependency required by "=udev-180" [argument])
#

My problem is now that I am unsure about how to interpret the "~" in front of sys-apps/kmod-4. As I understand it, portage want a version of sys-apps/kmod that is diffrent from 4? - but it dont realy make sence to me; it would be more logical to me if portage demanded a version bigger than 4 or something like that, but that is clearly not the case as I have version 12 installed:
Code:

equery l kmod udev
 * Searching for kmod ...
[I--] [??] sys-apps/kmod-12-r1:0

 * Searching for udev ...
[I--] [??] sys-fs/udev-171-r10:0
#

If someone can explain to me how I should interpret it, and how to emerge the ebuild I would be grateful.

Thanks in advance.

[Moderator edit: added [code] tags to preserve output layout. -Hu]


Last edited by guffegris on Fri Mar 17, 2017 3:30 pm; edited 2 times in total
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Wed Mar 01, 2017 1:22 pm    Post subject: Reply with quote

The tilde ~ just means that version is masked.

You aren't kidding about being "old." The oldest version of kmod in the current portage tree is kmod-22, and the oldest version of udev in the current portage tree is udev-215. Maybe complicating (and maybe simplifying), try replacing udev with eudev at some point.

My first reaction when looking at your report was "is this system looking at an overlay?" Now I wonder if it is looking at an aged portage tree. Have you read any of those 38 enews items yet?
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Wed Mar 01, 2017 2:10 pm    Post subject: Re: upgrading udev-171 to udev-180 Reply with quote

guffegris wrote:
If someone can explain to me how I should interpret it, and how to emerge the ebuild I would be grateful.

guffegris ... 'equery depgraph =sys-fs/udev-180' should show what version of kmod udev-180 is dependent on, if (as seems to be the case) none of those currently in the tree suffice, perhaps one of those in the attic will.

BTW, when updating very outdated installs I'd recommend you upgrade in the following order: package manager, toolchain, @system, @world.

HTH & best ... khay
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8729
Location: ~Brussels - Belgique

PostPosted: Wed Mar 01, 2017 2:23 pm    Post subject: Reply with quote

... and read the 38 news items (eselect news read) ;)
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Wed Mar 01, 2017 3:23 pm    Post subject: Reply with quote

guffegris,

You are trying to jump a chasm is several small jumps :)

The path of least resistance is a new install. It will be faster in the long term.
Updating will give you a Gentoo educational experience that you can get no other way.

Go with khayyams advice.
You will have to do incremental steps because things like gcc and glibc are mutual blockers.
You update one as far as you can, then the other ... several times.

You may find you need some binary packages to get started. Thats OK, since you will rebuild them later for yourself.
_________________
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
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Thu Mar 02, 2017 12:17 am    Post subject: Reply with quote

Hi everybody! - and thanks for all the answers! :-) :-)

OK, so the tilde means masked! - that make sence! - but then the problem is that I can't find where it it masked; it is not in my package.mask, or any other place that I could think of, and a find -name "*.mask" -exec grep kmod {} \¸did neither give anything - any hints where to look?

NeddySeagoon:
Yes, I know that a fresh install will probably be easier, but I am not going that way. I will accept the challenge and see if I can make the update for several reasons; first I love my old Gentoo system, and by doing the update in small steps I can avoid to go to gnome 3 which I don't like, and second my thought was that by doing the update I would learn quite i bit - exactly as you say! :-) - I have already learnt quite a bit, and I am actually documenting my experiences for myself for later use. I am pretty sure that the hours spent documenting now will come in handy at a later time.

So following khayyams advice I should start by updating the package system? - that must be portage I believe? - and then later upgrade gcc, glibc, binutils and stuff like that, - it that correct? - I think that portage should not be so hard, as I started out this quest by updating portage quite recently. I am on version 2.3.0 now:
Code:

# equery l portage
 * Searching for portage ...
[IP-] [  ] sys-apps/portage-2.3.0:0
#

As for gcc and gclib I have these:
Code:

# equery l gcc glibc
 * Searching for gcc ...
[IP-] [  ] sys-devel/gcc-4.5.4:4.5.4
[I--] [??] sys-devel/gcc-4.6.3:4.6.4

 * Searching for glibc ...
[I--] [??] sys-libs/glibc-2.15-r3:2.2
#



Now I better do my homework, and read the 38 news and see if that can help me jumping the chasm! - but that will have to wait till tomorrow as it is getting very late here by now... ;-)

[Moderator edit: added [code] tags to preserve output layout. -Hu]
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Thu Mar 02, 2017 12:28 am    Post subject: Reply with quote

Masking is done with a tilde as part of a KEYWORDS variable

Just to pick an example, cd to /usr/portage/sys-kernel/gentoo-sources

You will find a few *.ebuild files

grep KEYWORDS /usr/portage/sys-kernel/gentoo-sources/*ebuild

So, for kmod, somewhere along the way (looks like the year 2012 or so) there was a package of kmod with a version 4, kmod-4, and a corresponding kmod-4.ebuild.

My point of reference on this is https://archives.gentoo.org/gentoo-commits/message/b7da50f6a48cb5b52c636a5a0eb0128d
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Thu Mar 02, 2017 8:33 am    Post subject: Reply with quote

guffegris,

Gentoo has several levels of stability. By default, you get stable. Indicated by no tilde. Then there are the testing versions, indicated mith the tilde.
Last but not least there are "live" versions, indicated by veh version number 9999. These are not keyworded at all. They are called live, as the ebuilds pull from the upstream projects as it is when you run emerge.

Once you get portage up to date, which may require a more up to date python than you have, you can rebuild your toolchain.
There is a script for that. Run
Code:
/usr/portage/scripts/bootstrap.sh

You may find that gcc and glibc are mutual blockers. In which case, pick one and try an intermediate step.
Code:
emerge -1 =sys-devel/gcc-4.7.4

You need to get to gcc-4.9.4 to be current. Here's a list of versions in the tree.
Code:
$ eix gcc
[I] sys-devel/gcc
     Available versions: 
     (2.95.3) (~*)2.95.3-r10^s
     (3.3.6) (~)3.3.6-r1^s
     (3.4.6) 3.4.6-r2^s
     (4.0.4) (**)4.0.4^s
     (4.1.2) 4.1.2^s
     (4.2.4) (~)4.2.4-r1^s
     (4.3.6) 4.3.6-r1^s
     (4.4.7) 4.4.7^s
     (4.5.4) 4.5.4^s
     (4.6.4) 4.6.4^s
     (4.7.4) 4.7.4^s
     (4.8.5) 4.8.5^s
     (4.9.3) 4.9.3^s{tbz2}
     (4.9.4) 4.9.4^s
     (5.1.0) (**)5.1.0^s
     (5.2.0) (**)5.2.0^s{tbz2}
     (5.3.0) (~)5.3.0^s{tbz2}
     (5.4.0) (~)5.4.0^s{tbz2} (~)5.4.0-r3^s{tbz2}
     (6.3.0) (**)6.3.0^s{tbz2}


Homework - why emerge -1 for gcc ?

The script /usr/portage/scripts/bootstrap.sh is a stage1 Gentoo install.
_________________
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
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Thu Mar 02, 2017 8:31 pm    Post subject: Reply with quote

Hi guys,

OK, I have been doing a bit of reading based on your answers, so now I think that I have got it! - From my understanding, the tilde is used in front of a keyword (which usually describe an architecture like x86, sparc or something like that). When the tilde is present it tells that this is code that has not yet marked as stable, but it is trusted to work, it just needs more testing. Per default portage will only emerge stable code, so if I want to use the new code which hasn't been marked stable yet, I will have to tell portage that the bleeding edge code is OK to use by adding an entry in package.accept_keywords. In the present case one could imagine an entry like this:

=udev-180 ~kmod

this tell portage that it will be OK to emerge kmod-4 even though it is not marked stable - not that it matters, for I can't find the ebuild in the attic, but the principle is all right, - correct me if I am wrong.

In this line:

emerge: there are no ebuilds to satisfy "~sys-apps/kmod-4".

the tilde is just an information telling me that kmod version 4 has not yet been marked as stable, so I have to use it with caution, - but on the other hand I have no choise, as kmod in the exact version of 4 is needed to do this emerge. Am I right? :-)

---

Homework - why emerge -1 for gcc ?

Well, - here the pupil actually have a fighting chance, for I believe that I already did that study! ;-) - This is as I understand it:

There is a set called @world (realized by the file /var/lib/portage/world) which tells portage what packets the user actually want have to exist in his concept of "the world" - i.e. the packets that the user directly installed, for example gnome, firefox, tuxracer and so on. Every time the user emerges such a packet portage adds it to @world. This way portage knows that if a packet is in the worldset, it should never unmerge the packet again - even if this packet no longer has any dependencies that demands it, - simply becouse this is something the user wants.

Now, if I were to emerge for instance sys-apps/kmod-4 in the hope to easier get udev uddated, then kmod-4 would be added to @world, but that is not a good idea as I have no interest in having kmod-4 in my system if udev-180 should be unmerged or updated. The way to get arround this, is to let portage know that it should not put kmod-4 in the worldset, and that is done with a command like this:

emerge --oneshot kmod-4

Oneshot tell portage that I only want kmod-4 one time - not forever. likewise the command:

emerge -1 =sys-devel/gcc-4.7.4

here the -1 is just the short name for --oneshot, which make sence, as this is the same kind of systemwork as in the kmod-4 example. Correct me if I am wrong.

Unfortunately there is a tendency to forget the -1 option - at least for me there is, and that leads to a certain "polution" of the worldfile, as more and more packets that I don't specifically want myself enters the world set, and that makes system updates harder, as emerge can't unmerge the packets at will. That was actually what started this tread, becourse as part of getting a better understanding of what was actually needed in my heavily polluted worldfile I tried to run emerge -p --depclean @world, but portage would not complete the command due to inconsistences, therefore I tried to update just as much as needed to run the command so I could get the info. That led me to the updating of udev to version 180 - and the rest you know... :-)

I have updated portage to version 2.3.3, so I believe that at least portage is up to date by now, so the next step must be the toolchain, but I will wait till I hear your answers.

Thank a lot for you great support! - I am clearly learning quite a bit here! :-)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Thu Mar 02, 2017 8:37 pm    Post subject: Reply with quote

guffegris,

emerge --sync, if you haven't done that already then run that stage1 script I posted about earlier.
Its good to do incremental updates but only when you need to.
Portage will tell you all about it.

I don't expect /usr/portage/scripts/bootstrap.sh to work, but you never know.
Report problems here.

Full marks for your homework assignment.
_________________
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
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Thu Mar 02, 2017 10:07 pm    Post subject: Reply with quote

Unmasking, or "keywording" is done with reference only to the package being allowed. Portage doesn't care why you are allowing this package. You can allow it because another package depends on a keyworded package, or you can allow an unstable "keyworded" package just because you feel like it.

So, an entry like "=udev-180 ~kmod" is incorrect, it refers to two different packages.

A correct entry can take various forms.

One form allows the "unstable" version, no matter what. Using ~x86 as the allowed keyword, the entry would be
"sys-apps/kmod ~x86"

Another form allows only one specified version level. An entry of this form includes an equals sign.
"=sys-apps/kmod-4 ~x86"
Back to top
View user's profile Send private message
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Thu Mar 02, 2017 11:26 pm    Post subject: Reply with quote

cboldt:

OK, I get your point! - I mistook kmod for a keyword, but it is in fact the name of a packet or a use! - by allowing unstable for kmod as you demonstrate it, udev can pull in the unstable kmod-4 without portage complaining! - Thanks! :-)


NeddySeagoon:

OK, I have done the sync and then I ran the the bootstrapscript as I was told. The first part where it emerged portage again ran not so surprisingly without any problems, but after that when it tried to install gcc and so on, emerge gave up due to slot conflicts:


Code:
>>> Installing (1 of 1) sys-apps/portage-2.3.3::gentoo
 *
 * This release of portage NO LONGER contains the repoman code base.
 * Repoman has its own ebuild and release package.
 * For repoman functionality please emerge app-portage/repoman
 * Please report any bugs you may encounter.
 *
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: dev-db/mysql-5.6.34
 *  - /usr/lib/libmysqlclient.so.16
 *  - /usr/lib/mysql/libmysqlclient.so.16
 *  - /usr/lib/mysql/libmysqlclient.so.16.0.0
 *      used by /usr/lib/dovecot/libdovecot-sql.so.0.0.0 (net-mail/dovecot-2.1.12-r1)
 *      used by /usr/lib/php5.3/apache2/libphp5.so (dev-lang/php-5.3.18)
 *      used by /usr/lib/php5.3/bin/php (dev-lang/php-5.3.18)
 *      used by 32 other files
Use emerge @preserved-rebuild to rebuild packages using these libraries

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

-------------------------------------------------------------------------------
  [[ (3/3) Emerging packages ]]
!!! CONFIG_PROTECT is empty

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

Calculating dependencies... done!
[ebuild     U  ] sys-libs/zlib-1.2.11 [1.2.8-r1] USE="-minizip*"
[ebuild     U  ] virtual/libiconv-0-r2 [0]
[ebuild     U  ] sys-apps/baselayout-2.3 [2.1-r1]
[ebuild     U  ] virtual/libintl-0-r2 [0]
[ebuild     U  ] virtual/libc-1 [0]
[ebuild  N     ] dev-perl/libintl-perl-1.240.0
[ebuild   R    ] sys-kernel/linux-headers-4.4
[ebuild  N     ] dev-perl/Text-Unidecode-1.270.0
[ebuild  N     ] dev-perl/Unicode-EastAsianWidth-1.330.0-r1
[ebuild     U  ] dev-libs/libxml2-2.9.4-r1 [2.8.0-r3] USE="-ipv6* -python* -readline*" PYTHON_TARGETS="python2_7%* python3_4%* (-python3_5)"
[ebuild     U  ] sys-devel/gettext-0.19.7 [0.18.1.1-r3] USE="-acl* -ncurses% -openmp*"
[ebuild     U  ] sys-devel/binutils-2.25.1-r1 [2.22-r1] USE="-zlib*"
[ebuild  NS    ] sys-devel/gcc-4.9.4 [4.5.4, 4.6.3] USE="cxx nls nptl (-altivec) (-awt) -cilk -debug -doc (-fixed-point) -fortran -gcj -go -graphite (-hardened) (-libssp) (-multilib) -nopie -nossp -objc -objc++ -objc-gc -openmp -regression-test -sanitize -vanilla -vtv"
[ebuild     U  ] sys-apps/texinfo-6.1 [4.13]

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

virtual/libintl:0

  (virtual/libintl-0:0/0::gentoo, installed) pulled in by
    =virtual/libintl-0 required by (dev-perl/libintl-perl-1.240.0:0/0::gentoo, ebuild scheduled for merge)
    ^                ^
    (and 1 more with the same problem)

  (virtual/libintl-0-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by
    >=virtual/libintl-0-r2[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(-)?]
  required by (sys-devel/gettext-0.19.7:0/0::gentoo, ebuild scheduled for merge)

    =virtual/libintl-0-r2[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(-)?]
  required by (sys-devel/gettext-0.19.7:0/0::gentoo, ebuild scheduled for merge)

sys-libs/zlib:0

  (sys-libs/zlib-1.2.11:0/0::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/zlib (Argument)

  (sys-libs/zlib-1.2.8-r1:0/0::gentoo, installed) pulled in by
    >=sys-libs/zlib-1.2.5.1-r2[minizip] required by (media-video/vlc-2.0.5:0/0::gentoo, installed)
                               ^^^^^^^                                                                                               

dev-libs/libxml2:2

  (dev-libs/libxml2-2.9.4-r1:2/2::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/libxml2-2.9.3:= required by (sys-devel/gettext-0.19.7:0/0::gentoo, ebuild scheduled for merge)
    ^^                 ^^^^^                                                                                                                                                           

  (dev-libs/libxml2-2.8.0-r3:2/2::gentoo, installed) pulled in by
    >=dev-libs/libxml2-2.6.12[python] required by (app-text/gnome-doc-utils-0.20.10:0/0::gentoo, installed)
                              ^^^^^^                                                                                                           
    dev-libs/libxml2[python] required by (app-admin/system-config-printer-common-1.3.11-r1:0/0::gentoo, installed)
                     ^^^^^^                                                                                                                           
    dev-libs/libxml2:2[python] required by (app-admin/sabayon-2.30.1:0/0::gentoo, installed)
                       ^^^^^^                                                                                                   

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


!!! The following installed packages are masked:
- media-plugins/gst-plugins-ffmpeg-0.10.13-r2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Mart Raudsepp <leio@gentoo.org> (16 Feb 2017)
# Old gstreamer 0.10 version, which is security vulnerable.
# Use gstreamer:1.0 with media-plugins/gst-plugins-libav
# instead (despite the name, it uses media-video/ffmpeg too).
# Masked for removal in 30 days. Bug #594878

- app-text/acroread-9.5.4::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (19 Feb 2017)
# Dead upstream for >3 years. Closed source. Bundles outdated
# libraries that certainly have known security issues (e.g.,
# icu-36 (!) or curl). Use at your own risk.

- dev-perl/DBD-mysql-4.40.0::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Kent Fredric <kentnl@gentoo.org> (04 Feb 2017)
# Unsecure versions that have been only restored to tree
# to resolve compatibility problems with mail-filter/amavisd-new
# Use with caution due to these being removed for CVE-2016-1251
# Bug: #601144
# Bug: #604678

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.



I am not sure how to solve these, but I have seen worse, and I think that it might just be possible to figure it out, but that will have to wait a few hours as it once again is time to get at least a little sleep... ;-)

[Moderator edit: broke long whitespace-free lines in code tags to fix thread layout. -Hu]

Broke even more lines and fixed related carets into their (hopefully) intended position.Chiitoo
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Thu Mar 02, 2017 11:42 pm    Post subject: Reply with quote

I'm so used to it that I don't give it a second thought, but now that you mention it, having USE flags and package names exactly the same certainly creates a risk of confusion. kmod is both a USE flag, and a package name. That is not the only instance either.

At the same time, using the same name for both a package and a USE flag is a very handy shorthand.

udev CAN use kmod, but it can also be built so it does NOT use kmod. The user decides which of those options to follow by setting a USE flag that applies to udev. This is similar to "keywording," but is in a file that I will refer to as "package.use."

Every package has default USE flags, some of which are optional but still turned on by default. Entries in "package.use" can modify the defaults. If you wanted to build udev WITHOUT kmod, you would put an entry in "package.use"

Code:
sys-fs/udev        -kmod


I AM NOT ADVOCATING THIS! Just using it as an example of how using the same name for a package as a USE flag is handy.
Back to top
View user's profile Send private message
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Fri Mar 03, 2017 9:34 am    Post subject: Reply with quote

Quote:
Every package has default USE flags, some of which are optional but still turned on by default. Entries in "package.use" can modify the defaults. If you wanted to build udev WITHOUT kmod, you would put an entry in "package.use"

Code:
Kode:   
sys-fs/udev        -kmod



I AM NOT ADVOCATING THIS! Just using it as an example of how using the same name for a package as a USE flag is handy.


That leads me to a question that might be considered somewhat stupid, but I will ask it any way. As you demonstrate here, I might build udev without kmod, and that would actually fix the problem with the non-exixting kmod-4, but if I were to take such a step I would want to know what sys-apps/kmod actually DO! - and I often find myself in that that situatuion where I want to know what a package is actually good for. I usually tries to google it, but usually that just leads to a link like this: https://packages.gentoo.org/packages/sys-apps/kmod which gives me nice information about use-flags, versions and stuff like that, but what I most often need, is just a short simple explanation of what the packet actually provides, and clicking Dokumentation at the right seldom leads to such a thing. So I wonder; - isn't there somewhere a place where such a simple summary of packages generally can be found? - in this case it is not a problem - I know that it is kernel module support, but it is not alway that obvious - at least not to me... ;-)
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Fri Mar 03, 2017 10:02 am    Post subject: Reply with quote

You could install eix, it gives the short DESCRIPTION (all caps, because that is a variable name) that is provided in the ebuild for that package. Or skip eix and just look in the ebuild ...

Code:
/home/cboldt > grep DESCRIPTION /usr/portage/app-backup/rear/*ebuild
/usr/portage/app-backup/rear/rear-1.15-r1.ebuild:DESCRIPTION="A setup-and-forget Linux bare metal disaster recovery solution"
/usr/portage/app-backup/rear/rear-1.17.0.ebuild:DESCRIPTION="A setup-and-forget Linux bare metal disaster recovery solution"
/usr/portage/app-backup/rear/rear-1.17.1.ebuild:DESCRIPTION="A setup-and-forget Linux bare metal disaster recovery solution"


-- or --

Check the contents of the metadata.xml file. Excerpted from `less /usr/portage/app-backup/rear/metadata.xml`

Code:
<longdescription lang="en">
                Relax and Recover (Rear) is the leading Open Source disaster recovery solution, and successor to mkcdrec. It comprises of a modular framework and ready-to-go workflows for many common situations to produce a bootable image and restore from backup using this image. As a benefit, it allows to restore to different hardware and can therefore be used as a migration tool as well.
        </longdescription>


There might be portage utilities that do this. emerge can be made to search DESCRIPTION, with the "-S" switch

Code:
emerge -S backup


A long list follows. This is the reverse of what you asking for though, which is "given a package, provide the description."

edit to add a few other options ...

Code:
/home/cboldt > emerge -s rear

*  app-backup/rear [ Masked ]
      Latest version available: 1.17.1
      Latest version installed: [ Not Installed ]
      Size of files: 297 KiB
      Homepage:      http://relax-and-recover.org/
      Description:   A setup-and-forget Linux bare metal disaster recovery solution
      License:       GPL-2

[and similar listings for an additional 5 packages]

/home/cboldt > qsearch rear
app-backup/rear A setup-and-forget Linux bare metal disaster recovery solution
dev-util/obs-service-rearchive <no DESCRIPTION found>
games-strategy/netherearth A remake of the SPECTRUM game Nether Earth


qsearch is part of portage-utils


Last edited by cboldt on Fri Mar 03, 2017 10:17 am; edited 2 times in total
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Fri Mar 03, 2017 10:15 am    Post subject: Reply with quote

guffegris wrote:
That leads me to a question that might be considered somewhat stupid, but I will ask it any way. As you demonstrate here, I might build udev without kmod, and that would actually fix the problem with the non-exixting kmod-4, but if I were to take such a step I would want to know what sys-apps/kmod actually DO! - and I often find myself in that that situatuion where I want to know what a package is actually good for. I usually tries to google it, but usually that just leads to a link like this: https://packages.gentoo.org/packages/sys-apps/kmod which gives me nice information about use-flags, versions and stuff like that, but what I most often need, is just a short simple explanation of what the packet actually provides, and clicking Dokumentation at the right seldom leads to such a thing. So I wonder; - isn't there somewhere a place where such a simple summary of packages generally can be found? - in this case it is not a problem - I know that it is kernel module support, but it is not alway that obvious - at least not to me... ;-)

guffegris ... you can do one of the following:

Code:
% eix sys-apps/kmod
[I] sys-apps/kmod
     Available versions:  22^t[1] 23^t 23^t[1] ~24^t **9999^t {debug doc lzma python static-libs +tools zlib PYTHON_TARGETS="python2_7 python3_4 python3_5"}
     Installed versions:  23^t[1](23:30:17 2017-01-19)(tools zlib -debug -doc -lzma -python -static-libs PYTHON_TARGETS="python2_7 -python3_4 -python3_5")
     Homepage:            https://git.kernel.org/?p=utils/kernel/kmod/kmod.git
     Description:         library and tools for managing linux kernel modules
[1] "local" /var/pkg/local

That would require app-portage/eix ...

There is also '--search' ... which would also provide 'description':

Code:
# emerge --search "%@sys-apps.kmod"
 
[ Results for search key : %@sys-apps.kmod ]
Searching...

*  sys-apps/kmod
      Latest version available: 23
      Latest version installed: 23
      Size of files: 440 KiB
      Homepage:      https://git.kernel.org/?p=utils/kernel/kmod/kmod.git
      Description:   library and tools for managing linux kernel modules
      License:       LGPL-2

[ Applications found : 1 ]

... see: 'man emerge' for explantions at to search terms/regex.

edit: cboldt beat me to it.

HTH & best ... khay
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Fri Mar 03, 2017 10:22 am    Post subject: Reply with quote

Oh, what you describe brings up another question too. You might know what a package is or does, or find that out, but that doesn't always answer questions about what a USE flag does.

I use `ufed` for that purpose, or more often these days, read the ebuild and see how a USE flag is applied.

If ou are online, check https://www.gentoo.org/support/use-flags/
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Fri Mar 03, 2017 11:13 am    Post subject: Reply with quote

cboldt wrote:
Oh, what you describe brings up another question too. You might know what a package is or does, or find that out, but that doesn't always answer questions about what a USE flag does.

cboldt ... you can alway to the following (if app-portage/gentoolkit is installed):

Code:
% equery u sys-apps/kmod
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for sys-apps/kmod-23:
 U I
 - - debug                    : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 - - doc                      : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - lzma                     : Enable support for XZ compressed modules
 - - python                   : Add optional support/bindings for the Python language
 + + python_targets_python2_7 : Build with Python 2.7
 - - python_targets_python3_4 : Build with Python 3.4
 - - static-libs              : Build static versions of dynamic libraries as well
 + + tools                    : Install module loading/unloading tools.
 + + zlib                     : Enable support for gzipped modules

best ... khay
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Fri Mar 03, 2017 12:16 pm    Post subject: Reply with quote

Thanks for that. I'm sure I have used that in the past, even though most of my equery commands are "belongs" and "depends" I'd say the odds of me remembering `equery u` he next time I am curious or need to know about a USE flag are about 50-50. So many ways to skin the cat. My habitual go-to is `ufed`, and that just for viewing, I never use ufed to actually edit USE flags ;-)
Back to top
View user's profile Send private message
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Fri Mar 03, 2017 12:26 pm    Post subject: Reply with quote

Thanks guys! - that was just what I needed! - I can see that there more than one way to skin a cat, but in common I think that eix <package/name> is an easy way to go! - it gives the short describtion, and even a url to the homepage of the packet where further information can be found! :-)

Now back to the update...

NeddySeagoon:

I have now completed the bootstrap script as I was told. To carry it through I did:

Code:
emerge --oneshot dev-perl/libintl-perl virtual/libintl

emerge --oneshot sys-libs/zlib

emerge --oneshot dev-libs/libxml2


After that I ran the script:

Code:
# /usr/portage/scripts/bootstrap.sh
 * Resuming bootstrap at internal stage #2 ...

Gentoo Linux; http://www.gentoo.org/
Copyright 1999-$ Gentoo Foundation; Distributed under the GPLv2
Starting Bootstrap of base system ...
-------------------------------------------------------------------------------
  [[ (0/3) Locating packages ]]

 * You appear to have custom USE flags set in /etc/portage/package.use.
 * Be aware that these settings may be ignored while running this script
 * (due to limitations in the bootstrap process).  If you have some USE
 * flags you wish to apply to say gcc or glibc, you should hit CTRL+C
 * now, export them in your environment (see below), and then restart.
 *  # export USE='some flags i want'
 * Using baselayout : >=sys-apps/baselayout-2
 * Using portage    : portage
 * Using os-headers : >=sys-kernel/linux-headers-4.4
 * Using binutils   : sys-devel/binutils
 * Using gcc        : sys-devel/gcc
 * Using gettext    : gettext
 * Using libc       : virtual/libc
 * Using texinfo    : sys-apps/texinfo
 * Using zlib       : zlib
 * Using ncurses    : ncurses
-------------------------------------------------------------------------------
  [[ (1/3) Configuring environment ]]
-------------------------------------------------------------------------------
  [[ (3/3) Emerging packages ]]
!!! CONFIG_PROTECT is empty

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

emerge: It seems we have nothing to resume...
-------------------------------------------------------------------------------
!!! CONFIG_PROTECT is empty

Calculating dependencies... done!
>>> No packages selected for removal by prune
>>> To see reverse dependencies, use --verbose
>>> To ignore dependencies, use --nodeps
-------------------------------------------------------------------------------
 * Please note that you should now add the '-e' option for emerge system:

 *   # emerge -e system

#


It seemed much easier than I would have expected, so I wonder if I misunderstood something, or if I made a mistake somewhere?

Oh - and by the way: I HAVE done the reading of the news, it just still tells me that they are there... ;-)
Back to top
View user's profile Send private message
cboldt
Veteran
Veteran


Joined: 24 Aug 2005
Posts: 1046

PostPosted: Fri Mar 03, 2017 12:51 pm    Post subject: Reply with quote

The news ought to clear itself, but since it hasn't, `eselect news purge` will rid you of the unnecessary reminders.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Fri Mar 03, 2017 6:05 pm    Post subject: Reply with quote

guffegris,

I was expecting gcc and glibc to need to do several iterative updates. It didn't happen. That makes life easy.

Now you have an up to date toolchain, use gcc-config to select your newest gcc. It should be 4.9.4
That's newest stable, as of my post above.

Contine with
Code:
 emerge -e @system
as the script told you.
Code:
emerge -e @system --keep-going --with-bdeps=y -av
is probably better.
This is going to build everything is the @system set for you.

If you feel really lucky, go for broke with
Code:
emerge -e @world --keep-going --with-bdeps=y -av


Note. Once upon a time, there were to sets called world and system. They were/are hard coded into the package managers as special cases.
It a bit of a hack and only works as there are no packages called system and world.
Over the years, sets have been developed further and now have their own name space, which is introduced with a @. Several sets are provided with portage.
@system and @world unambiguously mean the sets. system and world should mean packages called system and world but for old times sake, portage maps them to the sets.
Its a good thing to use the @ when you mean a set.
_________________
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
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Sat Mar 04, 2017 12:33 am    Post subject: Reply with quote

Hi again,

Well, something here is not quite right; becourse as you say:

Quote:
Now you have an up to date toolchain, use gcc-config to select your newest gcc. It should be 4.9.4
That's newest stable, as of my post above.


- but my newest C-compiler is version 4.6.3:

Code:
# gcc-config -l
 [1] i686-pc-linux-gnu-4.5.4
 [2] i686-pc-linux-gnu-4.6.3 *
# gcc


so I am afraid that I must have done something wrong after all. I must also admit that I was a bit surprised that upgrading the toolchain was that easy!

Just to be sure I did a test emerge:

Code:
# emerge -p gcc

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

Calculating dependencies... done!
[ebuild  NS    ] sys-devel/gcc-4.9.4 [4.5.4, 4.6.3] USE="cxx fortran nls nptl openmp sanitize vtv (-altivec) (-awt) -cilk -debug -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) (-multilib) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla"


and there are clearly no doubt about that a version 4.9.4 really does exist as you say. What can I have done wrong? - or should I just try merge version 4.9.4?

Best regards.
Back to top
View user's profile Send private message
guffegris
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2017
Posts: 142

PostPosted: Sat Mar 04, 2017 12:50 am    Post subject: Reply with quote

A little more information: I just tried a test emerge of glibc with this result:

Code:
lohla portage # emerge -p glibc

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

Calculating dependencies... done!
[ebuild     U  ] sys-devel/binutils-2.25.1-r1 [2.22-r1]
[ebuild  NS    ] sys-devel/gcc-4.9.4 [4.5.4, 4.6.3] USE="cxx fortran nls nptl openmp sanitize vtv (-altivec) (-awt) -cilk -debug -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) (-multilib) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla"
[ebuild     U  ] sys-libs/glibc-2.23-r3 [2.15-r3] USE="rpc%* -audit% -caps% -nscd% -suid% -systemtap%"

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-libs/glibc:2.2

  (sys-libs/glibc-2.23-r3:2.2/2.2::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/glibc (Argument)

  (sys-libs/glibc-2.15-r3:2.2/2.2::gentoo, installed) pulled in by
    <sys-libs/glibc-2.16 required by (dev-libs/boost-1.49.0-r2:0/0::gentoo, installed)
    ^               ^^^^                                                                                                               


- so it seems that glibc is a bit behind too...
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


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

PostPosted: Sat Mar 04, 2017 8:50 am    Post subject: Reply with quote

guffegris,

This is where its going to grow arms and legs and things are going to get broken.

Your old dev-libs/boost is keeping sys-libs/glibc at an old version.
There are two fixes, update dev-libs/boost which will probably upset a lock of packages that depend on it or remove dev-libs/boost, which will break all the things that depend on it.
boost is a core C++ library, so most of your C++ would be broken. Lets come back to that.

Your emerge -p gcc looks promising. glibc isn't mentioned. Notice that [ebuild NS ]. Thats a new slotted version, so it installs at the same time as your other versions.
That makes it harmless to go ahead with
Code:
emerge -1av sys-devel/gcc


Going back to glibc, you can try
Code:
emerge -p glibc --backtrack=30
which tells portage to try harder to solve conflicts. The default value of --backtrack is 3.
Values as high as 50 are useful but dependency resolution takes longer with higher values.

Think of your install as a jigsaw of interlocking pieces. When you try to update a few pieces, the update won't fit with the rest. Its worth trying
Code:
emerge -uDNav --with-bdeps=y --backtrack=50 --keep-going @world

to see what portage makes of the update. If it ends up with "Would you like to emerge these packages?" press y.
This gives portage the opportunity to try to solve updating everything.
Put the entire output onto a pastebin site if portage fails. Its too soon to remove things at random (like boost).
_________________
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
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2, 3 ... 9, 10, 11  Next
Page 1 of 11

 
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