]>
git.rmz.io Git - dotfiles.git/blob - bin/old/makepkg-ros
6 echo "pkgname=$pkgname"
7 if [[ "$2" == "ros_depends" ]]; then
8 echo "depends=( ${ros_depends[@]%%[=<>]*} ${ros_makedepends[@]%%[=<>]*} )"
9 elif [[ "$2" == "depends" ]]; then
10 echo "depends=( ${depends[@]%%[=<>]*} )"
12 echo 'get_pkgbuild() must have either "rosdepends" or "depends" as second argument' >&2
19 printf "%s-%s" "$pkgver" "$pkgrel"
24 source /etc
/makepkg.conf
25 echo "pkgdest=${PKGDEST-.}"
26 echo "pkgext=${PKGEXT-.pkg.tar.xz}"
32 local ALL_OFF
="$(tput sgr0)"
33 local BOLD
="$(tput bold)"
34 local GREEN
="${BOLD}$(tput setaf 2)"
35 printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
40 echo $(find "$1" -name PKGBUILD)
45 if [[ $# -gt 0 ]]; then
47 dir
=${pkgs[0]#ros-}; dir
=${dir%%-*}
48 local pkgnames
=${pkgs[@]#ros-$dir-}
49 pkgnames
=${pkgnames//-/_}
50 for pkg
in ${pkgnames[@]}; do
51 echo $dir/$pkg/PKGBUILD
58 for pkgbuild
in ${@}; do
59 source <(get_pkgbuild
$pkgbuild "rosdepends")
60 for depend
in ${depends[@]}; do
61 printf "%s %s\n" "$depend" "$pkgname"
68 for pkgbuild
in ${@}; do
69 source <(get_pkgbuild
$pkgbuild "depends")
70 for depend
in ${depends[@]}; do
71 printf "%s %s\n" "${depend}" "$pkgname"
78 echo "usage: $(basename "$0") [option] rosdistro"
80 echo " --force - force rebuilding all packages"
89 '--force'|'-f') force
='1' ;;
90 # '--ignore') ignorearg="$2" ; PACOPTS+=("--ignore" "$2") ; shift ;;
91 # '--') shift ; packageargs+=("$@") ; break ;;
92 -*) echo "$0: Option \`$1' is not valid." ; exit 5 ;;
93 groovy
*) dir
="groovy" ;;
94 hydro
*) dir
="hydro" ;;
95 indigo
*) dir
="indigo" ;;
102 pkgbuilds
=( $(get_all $dir) )
103 elif [[ ${#pkgargs[@]} -gt 0 ]]; then
104 pkgbuilds
=( $(get_from_list ${pkgargs[@]}) )
105 dir
=${pkgbuilds[0]%%/*}
110 makepkgopts
+=("--asdeps" "--noconfirm")
111 # [[ $force ]] && makepkgopts+=("--force") || makepkgopts+=("--needed")
112 [[ $force ]] || makepkgopts
+=("--needed")
114 dependencies
=( $(find "./dependencies" -name PKGBUILD) )
115 sorted_deps
=( $(tsort <(get_depends ${dependencies[@]}) ) )
117 for dependency
in ${sorted_deps[@]}; do
118 if pacman
-Ssq "^$dependency$" > /dev
/null
; then
121 if ! pushd dependencies
/"${dependency}" > /dev
/null
2>&1 ; then
122 if [[ "$dependency" =~
"python3" ]]; then
123 dependency
=${dependency/3/}
125 if ! pushd dependencies
/"${dependency}" > /dev
/null
2>&1 ; then
126 echo "Could not enter dir 'dependencies/${dependency}'" >&2
130 # makepkg -si "${makepkgopts[@]}"
133 [[ $retcode -ne 0 ]] && exit $retcode
139 sorted
=( $(tsort <(get_rosdepends ${pkgbuilds[@]}) ) )
140 source <(get_makepkg_conf
)
141 for pkgname
in ${sorted[@]}; do
142 pkgdir
=${pkgname#ros-$dir-}
143 pkgdir
=${pkgdir//-/_}
144 pushd "$dir"/$pkgdir > /dev
/null
145 ver
=$(get_version ./PKGBUILD)
147 if [[ ! -e ignore
]]; then
148 pkgs
=( $(ls --reverse *$pkgext 2> /dev/null) )
149 makepkg
-si "${makepkgopts[@]}"
152 [[ -n "${pkgs[@]:1}" ]] && rm ${pkgs[@]:1}
155 [[ $retcode -ne 0 ]] && exit $retcode