noconfirm=false
nodeps=false
nomakepkgconf=false
+sync_search=false
#-- makepkg --#
# 実行ファイル
_message="${@}"
echo_type() {
- local __time
+ __time
if [[ "${_nolabel}" = false ]]; then
if [[ "${_noadjust}" = false ]]; then
for __time in $( seq 1 $(( ${_label_space} - ${_word_count})) ); do
run_pacman -U --noconfirm ${_pkgfilelist[@]}
}
+# AURのパッケージを検索
+search_aur_package() {
+ local _package="${1}"
+ local _aur_json=$(curl -sL "https://aur.archlinux.org/rpc/?v=5&type=search&by=name-desc&arg=${_package}" | jq -r )
+ local _found_result_count="$(echo "${_aur_json}" | jq -r ".resultcount")"
+ if (( "${_found_result_count}" == 0 )); then
+ msg_error "Could not find all required packages:\n ${_package}" 1
+ fi
+ _aur_json=$(echo "${_aur_json}" | jq -r ".results[]")
+
+ #echo ${_aur_json}
+
+ local _found_pkgname=($(echo "${_aur_json}" | jq -r ".Name" ))
+
+
+
+
+ local _found_package __pkgver __popularity __vote __pkgdesc
+ for _found_package in ${_found_pkgname[@]}; do
+ _found_json="$(echo ${_aur_json} | jq "select(.Name == \"${_found_package}\")")"
+ __pkgver="$(echo "${_found_json}" | jq -r ".Version" )"
+ __popularity="$(echo "${_found_json}" | jq -r ".Popularity" )"
+ __vote="$(echo "${_found_json}" | jq -r ".NumVotes" )"
+ __pkgdesc="$(echo "${_found_json}" | jq -r ".Description" )"
+
+ echo "aur/${_found_package} ${__pkgver} (+${__vote} ${__popularity})"
+ echo " ${__pkgdesc}"
+ unset __pkgver __popularity __vote __pkgdesc _found_json
+ done
+}
+
# バージョンを表示して終了
operation_version() {
# Pyalpmからlibalpmの値を取得
operation_sync(){
local _package
- for _package in ${specified_packages[@]}; do
- if ! check_aur_package "${_package}" && [[ "${force_aur}" = false ]]; then
- # 公式パッケージなのでpacmanでそのままインストール
- run_pacman ${pacman_args} "${_package}"
- else
- # AUR上のパッケージの場合の処理
- install_aur_package "${_package}"
- #msg_error "Getting the AUR package has not been implemented yet." 1
- fi
- done
+ if [[ "${sync_search}" = true ]]; then
+ for _package in ${specified_packages[@]}; do
+ search_aur_package "${_package}"
+ done
+ "${pacman_command}" ${pacman_args} ${specified_packages[@]}
+ else
+ for _package in ${specified_packages[@]}; do
+ if ! check_aur_package "${_package}" && [[ "${force_aur}" = false ]]; then
+ # 公式パッケージなのでpacmanでそのままインストール
+ run_pacman ${pacman_args} "${_package}"
+ else
+ # AUR上のパッケージの場合の処理
+ install_aur_package "${_package}"
+ #msg_error "Getting the AUR package has not been implemented yet." 1
+ fi
+ done
+ fi
}
# Parse options
ARGUMENT="${@}"
-_opt_short="QRShVdb:ay"
+_opt_short="QRShVdb:ays"
_opt_long="query,remove,sync,help,version,debug,dbpath:,aururl,aur,noconfirm,config:,makepkg:,mflags:,pacman:,git:,gitflags:,gpg:,gpgflags:,makepkgconf:,nomakepkgconf,nodeps,refresh,bash-debug"
OPT=$(getopt -o ${_opt_short} -l ${_opt_long} -- ${ARGUMENT})
option_y_count=$(( option_y_count + 1 ))
shift 1
;;
+ -s | --search)
+ add_args pacman "--search"
+ sync_search=true
+ shift 1
+ ;;
--aururl)
aururl="${2}"
shift 2