-
Notifications
You must be signed in to change notification settings - Fork 1
/
aliases
executable file
·128 lines (109 loc) · 3.9 KB
/
aliases
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/bash
#
# The MIT License (MIT)
#
# Copyright (c) 2015 Alexandre Magno ‒ [email protected]
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
#
# Exemplo:
#
# $ DIRNAME=adobe-digital-editions/ ; source aliases
# adobe-digital-editions-4.0.3.110333-1-any.pkg.tar.xz
#
# TODO: validações!
#
# TODO: ampliar para a seguinte possibilidade
#
# $ cd adobe-digital-editions/
# $ source ../aliases
#
# TODO: talvez funcione com PATH, como segue
# (e então devo criar pacote, com help e man)
#
# $ cd adobe-digital-editions/
# $ source pkgaliases
_version=
_build=
source $DIRNAME/PKGBUILD
ARCH=${arch[0]} # TODO: usá-lo melhor; receber valor como parâmetro?
PKG_SUFFIX=${pkgver}-${pkgrel}-$ARCH.pkg.tar.xz
PKG=${pkgname}-$PKG_SUFFIX
OLDDIR=$(pwd); cd $DIRNAME; DIRNAME=$(pwd); cd $OLDDIR
alias pkgsource="ODIR=\"\$(pwd)\"; cd \"$DIRNAME\"; makepkg -f --source; cd \"\$ODIR\""
alias pkgmake="ODIR=\"\$(pwd)\"; cd \"$DIRNAME\"; makepkg -f; mv \"${PKG:0:-3}\" \"$PKG\"; cd \"\$ODIR\""
alias pkginstall="sudo pacman -U \"$DIRNAME\"/$PKG"
alias pkgremove="sudo pacman -R ${pkgname}"
PACKAGE_NAME="\e[01;34m${pkgname}\e[0m" # adobe-digital-editions
VERSION=${pkgver}; [ ${_version} ] && VERSION=${_version}
VERSION="\e[00;31m$VERSION\e[0m" # 4.0.3
BUILD=; [ ${_build} ] && BUILD=.${_build} # 1.any.pkg.tar.xz
END="\e[00;37m$BUILD-${pkgrel}-$ARCH.pkg.tar.xz\e[0m" # .110333-1.any.pkg.tar.xz
alias pkgnow="echo -e \"$PACKAGE_NAME-$VERSION$END\"; echo"
alias pkgtest="pkgmake; pkginstall"
alias pkgaur="yaourt -Sy && yaourt -S ${pkgname}"
# TODO: -h e --help
pkgmkdep () {
G=Grupos
N=Nome
R=$(pacman -Si $(pactree -rl $1) 2>/dev/null |
grep -C 10 "^$G *:.*base-devel" |
grep -e "^$N" |
echo $(cut -d: -f2) |
sed "s/ /\n/g")
if [ -z "$R" ]; then
echo "Include '$1' in the makedepends array"
else
echo "No include '$1' in the makedepends array"
fi
}
function pkgfindflags() { # it searches candidates for makedepends in a Makefile
(
grep ^PACKAGE_CFLAGS src/**/Makefile |
sed 's/-I/\n/g' | grep -v ^PACK | xargs find | grep ".h$"
) |
(
while read LINE; do
pkgfile "$LINE"
done
) |
sort -u > /tmp/${pkgname}-packs.txt
(
cat /tmp/${pkgname}-packs.txt | cut -d"/" -f2-
) |
while read LINE; do
pkgmkdep "$LINE" |
grep ^Include |
sed -e "s/^[^']*'//g" -e "s/'[^']*$//g"
done
}
function pkgreduce() {
(
echo "digraph tree {"
echo "node [style=filled, color=green];"
(
while read LINE; do
pactree -g "$LINE" | grep "\->" | grep -v START
done < "$1"
) | sort -u
echo "}"
) | gvpr 'N [indegree == 0] { print($.name); }'
} # http://stackoverflow.com/a/24748763 + http://www.graphviz.org/pdf/gvpr.1.pdf