On 08/13/18 13:14, Corentin �Nado� Pazdera wrote:
> August 13, 2018 6:58 PM, "james" <[email protected]> wrote:
> 
>> Here's what I got running your script::
>>
>> /etc # /root/profile-explorer.sh
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/base/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/baselayout-2
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/findutils-4.4
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-devel/patch-2.7
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/default/linux/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/base/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/baselayout-2
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/findutils-4.4
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-devel/patch-2.7
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/default/linux/packages
>>
>> Manually looking a the
> 
> Seems weird, also no need to run it as root...
> Here's my output for comparison :
> 
> ```
> % ./profile-explorer.sh
> [+] EROOT : /
> [+] PORTDIR : /var/db/repos/gentoo
> [+] CURPROFILE: default/linux/amd64/17.0
> [+] EAPI : 5
> 
> [+] packages (@system)
> /var/db/repos/gentoo/profiles/base/packages
> /var/db/repos/gentoo/profiles/default/linux/packages
> ```
> 
> And the `explored-packages` file should symply contain a copy of the 
> different inherited packages
> files.
> 
>> less /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/base/packages
>>
>> I see:
>> # Old ICU is unsupported. ICU 58 only remains for 13.0 based profiles.
>> <dev-libs/icu-59
>> <dev-libs/icu-layoutex-59
>>
>> But the system has::
>>
>> [I] dev-libs/icu .... 60.2
>>
>> equery uses icu
>>
>> gives me similar info:
>>
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/base/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/baselayout-2
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/findutils-4.4
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-devel/patch-2.7
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/default/linux/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/base/packages
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/baselayout-2
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-apps/findutils-4.4
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> *>=sys-devel/patch-2.7
>> --- Invalid atom in /etc/portage/package.use/explored-packages:
>> /usr/portage/profiles/default/linux/packages
>> [ Legend : U - final flag setting for installation]
>> [ : I - package is installed with flag ]
>> [ Colors : set, unset ]
>> * Found these USE flags for dev-libs/icu-60.2:
>> U I
>> + + abi_x86_32 : 32-bit (x86) libraries
>> - - 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
>> + + examples : Install examples, usually source code
>> - - static-libs : Build static versions of dynamic libraries as well
>>
>> Which begs the Q1} can I get rid of the flag icu? What are
>> consequences, as a baseline system flag, of it's removal ?
>>
>> less /usr/portage/profiles/base/packages
>> show me more of what the @system set contains. Very interesting and
>> useful. I'm thinking of aggregation of those listed packages
>> and some basic (ascii) table form (equery,emerge, eix) parsed listing
>> of the default and current flag settings. A "verification" tool
>> if you like. Surely it would help if this info was (is?) more readily
>> available and organized for folks that need a systematic approach, like
>> heterogeneous HPC clusters. The tools exist for 'ad-hoc' and one off,
>> but more of an organized representation at least at the set level.
>>
>> I feel like there is an existing tool that can yield all of this
>> information, as it is on a current system. I've read where there are
>> efforts to clean up the packages and default flags used in @system,
>> so the bare minimum list per arch/profiles would ultimately be
>> a useful listing, particular for my HPC. In HPC less is always faster
>> and better, as it is in security and so many more aspects of CS.
>>
>> Obviosly, I have a few things to fix on this (fragile) system, but
>> that'll happen as I'm at the beginning stages of auto_installs of
>> minimized systems. What are your plans for you little script?
>>
>> Just to match equery uses <flag> and such?
>>
>> Here's a cutie:
>> /usr/portage/profiles/default/linux/amd64/package.use.mask
>>
>> # Mike Frysinger <[email protected]> (08 May 2016)
>> # This target supports VTV #547040.
>>> =sys-devel/gcc-4.9 -vtv
>>
>> # Mike Frysinger <[email protected]> (21 Oct 2014)
>> # This target supports ASAN/etc... #504200.
>> sys-devel/gcc -sanitize
>>
>> And where was it that the processor/arch flags are now listed?
>>
>> tia,
>> James
>> cat
> 
> To check impact on negating icu on your system : `USE="-icu" emerge -puDU 
> --with-bdeps=y world`
> 
> And concerning processor/arch flags I�d suggest keep exploring profiles, 
> take a look at
> make.defaults files.
> Here the different files you can find according to PMS
> https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-430005.2
> 
> --
> Corentin �Nado� Pazdera
> 
> 

Yea, it's now working::

$ ./profile-explorer.sh
[+] EROOT     : /
[+] PORTDIR   : /usr/portage
[+] CURPROFILE: default/linux/amd64/17.0
[+] EAPI      : 5

[+] packages (@system)
/usr/portage/profiles/base/packages
/usr/portage/profiles/default/linux/packages



So the explored-packages file looks complete (45)
for my current minimize workstation (lxde) amd64 .


So now parsing out these package listings with the current or default
flag settings; I'm going to have to marinate on that. I actually need
the reference (current default) flags once. But a method for dynamic
verification of gentoo systems that ask to join a cluster,  will have to
have these packages/flags verified to join (down the road issue).
amd64 is ok for now). Ideas on finding the default @system flag settings?

Maybe find a amd64-stage-3 to unpack and parse out that data?
Looking at the list of (45), the virtuals can be ignored, as there are
no flags to set? The exact version installed is not present in that
reported list. Some packages like gcc could be difficult with my
pedestrian sed|awk|sort|uniq skills with regular expressions.  Oh well
time for a review...

Would the  parsing 'metadata.xml'  per package be the easiest way to get
the total list of flags for a given package (ebuild) ?
Suggestions are welcome.

thx Corentin,



James



Reply via email to