blob: 72e455d805598cf511616aa9c65be3bfb703948c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# Nice mappings to restart/... the services
Start Stop Reload Restart ()
{
[[ $UID != 0 ]] && SUDO="sudo"
$SUDO /etc/init.d/$1 ${0:l}
}
# Change to the directory of a specific package
_cdu ()
{
cd $(dirname $1)
}
# Open the ebuild with a specified command
open_ebuild ()
{
local ebuild=$(equery --debug w $2 2> /dev/null)
if [[ -z $ebuild ]]; then
echo "Trying masked packages too..."
ebuild=$(equery --debug w -m $2 2> /dev/null)
fi
if [[ -n $ebuild ]]; then
$1 $ebuild
else
echo "No ebuild found"
fi
}
# Commit a new config change
# Works only for simple cases
cci ()
{
if [[ $# == 0 ]]; then
echo "No message given. Aborting."
return 1
fi
local message=$1
local tok=__cci__
pushd -q ~
cstg diff
echo -n "Is this ok? [y/n] "
if ! read -q; then
echo
echo "I would have done the wrong thing ... aborting!"
return 2
fi
echo ">> Creating new patch"
cstg new $tok -m "$message"
echo ">> Refreshing"
cstg refresh
if [[ -z $(cstg files) ]]; then
echo
echo "Ehm - this patch is empty. Narf. Aborting!"
echo "Deleting useless patch"
cstg del $tok
return 3
fi
echo ">> Committing"
cstg commit $tok
if [[ -n $(cstg series --applied) ]]; then
echo
echo "Urgs! Something went wrong. There are still patches applied."
echo "Clean up for yourself. Aborting here!"
return 4
fi
echo ">> Pushing to remote"
config push
echo ">> Re-apply patches"
cstg push -a
echo ">> Done"
popd -q
}
if [[ $UID == 0 ]]; then
# unpack a package
unpack()
{
ebuild $(equery w -m $1) clean unpack
}
# set job count to 1 if there is only one package to install
emerge()
{
local e=$(whence -p emerge)
if [[ $# < 3 ]]; then
$e --jobs=1 $@
else
$e $@
fi
}
fi
|