Skip to content

fabolous005/etools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

etools

bash library for gentoo utils

How to use

Just source it!

source etools

What it does

provided function are the following:

einfo <info>
ewarn <warning>
eerror <error>
etools_configure
etools_unset
etools_smart_find <package name> [repo]
# repo can be a path relative to /var/db/repos/ or a full path
# default will be /var/db/repos/ so all repos will be searched
eools_get_version <package name> [offset]
# offset will output the <offset> latest version
# eg.: when 1.2.3 is latest offset 1 will result in a version 1 beneath 1.2.2-r2 for example
etools_current_version <package> [index]
# get currently installed version of a package
# it'll show all version, by specifying the index the n'th version starting at 0 will be displayed
# btw feel free to time all of them ;)

Configuration

etools searches for a configuration file at the following locations:

/etc/etools/etools.conf
$HOME/.config/etools.conf
$HOME/.config/etools/etools.conf

Look at the exmaple configuration file for an example with all configuration options.

For the default values take a look at config.sh.

NOTE: Letting already set options fallback to defaults will not work, as defaults only get set when the relative variables are undefined. To force reload:

etools_unset
source etools

Motivation

They say "A picture is worth a thousand words", so here ya go:

Test it

This script reads all packages in your world file and runs etools_smart_find with the name of the package

while IFS= read -r line; do
    if [[ ${line%% *} == ${line##* }  ]]; then
        echo -e "${line%% *} \e[32mpassed\e[0m";
    else
        echo -e "${line%% *} \e[31mFAILED\e[0m";
    fi;
done <<< $(
    for pkg in $(cat /var/lib/portage/world); do
        echo -n "$pkg ";
        etools_smart_find $(echo $pkg | awk -F'/' '{print $2}');
    done
);

About

[MIRROR] of private etools project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages