forked from artix/artools
		
	Compare commits
	
		
			9 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f5daac0d67 | |||
| 2484ea39a4 | |||
| 9b222bdb83 | |||
| a3e6b17c5f | |||
| 21a37f6b00 | |||
| 80416b76d5 | |||
| 2113ffe4c6 | |||
| 438473c878 | |||
| 86c5c2f47b | 
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @@ -14,7 +14,6 @@ BASE_CONF = \ | ||||
| 	data/conf/artools-base.conf | ||||
|  | ||||
| BASE_BIN = \ | ||||
| 	bin/base/signfile \ | ||||
| 	bin/base/chroot-run \ | ||||
| 	bin/base/mkchroot \ | ||||
| 	bin/base/basestrap \ | ||||
|   | ||||
| @@ -1,32 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # Copyright (C) 2018-19 artoo@artixlinux.org | ||||
| # Copyright (C) 2018 Artix Linux Developers | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation; version 2 of the License. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
|  | ||||
| . @libdir@/artools/util-base.sh | ||||
|  | ||||
| load_makepkg_config | ||||
|  | ||||
| file_to_sign="$1" | ||||
|  | ||||
| if [ ! -e "$1" ]; then | ||||
|     error "%s does not exist!" "$file_to_sign" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if [[ -n "${BUILDBOT_GPGP}" ]]; then | ||||
|     msg2 "Signing [%s]" "${file_to_sign##*/}" | ||||
|     gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign" | ||||
| else | ||||
|     msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..." | ||||
|     gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign" | ||||
| fi | ||||
| @@ -85,7 +85,7 @@ pull_tree_artix(){ | ||||
| sync_pkg(){ | ||||
|     local rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) | ||||
|     local src="$1" dest="$2" | ||||
|  | ||||
|     msg "Sync from Arch [%s] to Artix [%s]" "${src##*archlinux/}" "${dest##*artixlinux/}" | ||||
|     rsync "${rsync_args[@]}" $src/ $dest/ | ||||
| } | ||||
|  | ||||
| @@ -111,85 +111,21 @@ show_deps(){ | ||||
| } | ||||
|  | ||||
| subrepo_new(){ | ||||
|     local group="${1:-$GROUP}" team="${2:-$TEAM}" | ||||
|     local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk | ||||
|  | ||||
|     cd ${TREE_DIR_ARTIX}/$group | ||||
|  | ||||
|     msg2 "team: %s" "$team" | ||||
|     msg2 "group: %s" "$group" | ||||
|     cd ${TREE_DIR_ARTIX}/${GROUP} | ||||
|  | ||||
|     local org=$(get_pkg_org "${PACKAGE}") | ||||
|  | ||||
|     create_repo "${PACKAGE}" "$org" | ||||
|  | ||||
|     add_repo_to_team "${PACKAGE}" "$org" "$team" | ||||
|     add_repo_to_team "${PACKAGE}" "$org" "${TEAM}" | ||||
|  | ||||
|     subrepo_clone "${PACKAGE}" "$org" | ||||
|  | ||||
|     prepare_dir "$dest" | ||||
|     prepare_dir "${TREE_DIR_ARTIX}/${GROUP}/${PACKAGE}/trunk" | ||||
|  | ||||
|     commit_jenkins_files "${PACKAGE}" | ||||
| } | ||||
|  | ||||
| get_group_packages(){ | ||||
|     local pkglist="${SYSCONFDIR}/pkglist.d/$1.list" | ||||
|  | ||||
|     local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" | ||||
|  | ||||
|     local pkgs=($(sed "$_com_rm" "$pkglist" | sed "$_space" | sed "$_clean")) | ||||
|  | ||||
|     local cases= | ||||
|     for p in ${pkgs[@]};do | ||||
|         cases=${cases:-}${cases:+|}${p} | ||||
|     done | ||||
|     echo $cases | ||||
| } | ||||
|  | ||||
| get_group(){ | ||||
|     local pkg="$1" fallback="${2##*/}" tree= | ||||
|     eval "case $pkg in | ||||
|         $(get_group_packages kernel)) tree=packages-kernel ;; | ||||
|         $(get_group_packages net)) tree=packages-net ;; | ||||
|         $(get_group_packages gfx)) tree=packages-gfx ;; | ||||
|         $(get_group_packages python)) tree=packages-python ;; | ||||
|         $(get_group_packages perl)) tree=packages-perl ;; | ||||
|         $(get_group_packages ruby)) tree=packages-ruby ;; | ||||
|         $(get_group_packages openrc)) tree=packages-openrc ;; | ||||
|         $(get_group_packages runit)) tree=packages-runit ;; | ||||
|         $(get_group_packages s6)) tree=packages-s6 ;; | ||||
|         $(get_group_packages media)) tree=packages-media ;; | ||||
|         $(get_group_packages xorg)) tree=packages-xorg ;; | ||||
|         $(get_group_packages qt5)) tree=packages-qt5 ;; | ||||
|         $(get_group_packages gtk)) tree=packages-gtk ;; | ||||
|         $(get_group_packages java)) tree=packages-java ;; | ||||
|         $(get_group_packages haskell)) tree=packages-haskell ;; | ||||
|         $(get_group_packages devel)) tree=packages-devel ;; | ||||
|         $(get_group_packages lxqt)) tree=packages-lxqt ;; | ||||
|         $(get_group_packages cinnamon)) tree=packages-cinnamon ;; | ||||
|         $(get_group_packages kde)) tree=packages-kde ;; | ||||
|         $(get_group_packages gnome)) tree=packages-gnome ;; | ||||
|         $(get_group_packages mate)) tree=packages-mate ;; | ||||
|         $(get_group_packages xfce)) tree=packages-xfce ;; | ||||
|         $(get_group_packages wm)) tree=packages-wm ;; | ||||
|         *) tree=$fallback ;; | ||||
|     esac" | ||||
|     echo $tree | ||||
| } | ||||
|  | ||||
| get_team(){ | ||||
|     local repo="$1" team= | ||||
|     case $repo in | ||||
|         *testing*|*staging*) | ||||
|             set_arch_repos false false false | ||||
|             team=$(find_repo "$srcpath") | ||||
|             team=${team%-*} | ||||
|         ;; | ||||
|         *) team=${repo%-*} ;; | ||||
|     esac | ||||
|     echo $team | ||||
| } | ||||
|  | ||||
| from_arch(){ | ||||
|     cd ${TREE_DIR_ARTIX} | ||||
|  | ||||
| @@ -197,33 +133,23 @@ from_arch(){ | ||||
|     [[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|  | ||||
|     local repo=$(find_repo "$srcpath") | ||||
|  | ||||
|     archpath=$srcpath/repos/$repo | ||||
|     local artixpath=$(find_pkg ${TREE_DIR_ARTIX} ${PACKAGE}) | ||||
|     local tree=${srcpath%/*} | ||||
|     local tree=${tree##*/} | ||||
|     local group=$(get_group "${PACKAGE}" "$tree") | ||||
|  | ||||
|     msg "repo: %s" "$repo" | ||||
|     artixpath=$artixpath/trunk | ||||
|  | ||||
|     local archpath=$srcpath/repos/$repo | ||||
|     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|  | ||||
|     show_deps "$archpath" | ||||
|  | ||||
|     if [[ -f $artixpath/PKGBUILD ]];then | ||||
|  | ||||
|         . $artixpath/PKGBUILD 2>/dev/null | ||||
|         local artixver=$(get_full_version) | ||||
|  | ||||
|         msg2 "Artix Version: %s" "$artixver" | ||||
|     else | ||||
|         artixpath=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk | ||||
|         subrepo_new "${group}" "$(get_team $repo)" | ||||
|     fi | ||||
|  | ||||
|     msg "Sync (%s) from Arch [%s] to Artix [%s]" "${PACKAGE}" "${archpath##*archlinux/}" "${artixpath##*artixlinux/}" | ||||
|     if [[ -f "$artixpath"/.gitrepo ]]; then | ||||
|         artixpath="$artixpath"/trunk | ||||
|  | ||||
|         if [[ -d "$artixpath" ]];then | ||||
|             sync_pkg "$archpath" "$artixpath" | ||||
|             patch_pkg "$artixpath" | ||||
|         fi | ||||
|     else | ||||
|         die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| view_build(){ | ||||
| @@ -238,7 +164,7 @@ view_build(){ | ||||
| check_tree(){ | ||||
|     local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") | ||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||
|     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" ${PACKAGE}) | ||||
|     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|     local group=${artixpath%/*} | ||||
|     msg "group: %s" "${group##*/}" | ||||
|  | ||||
| @@ -289,7 +215,7 @@ usage() { | ||||
|     echo "    -a            Don't clone or pull arch repos" | ||||
|     echo "    -b            Don't clone or pull artix repos" | ||||
|     echo '    -i            Import a package from arch repos' | ||||
|     echo '    -n            Make new remote subrepo and clone it' | ||||
|     echo '    -n            New remote subrepo and clone it' | ||||
|     echo '    -v            Check if a package is in the artix tree(s)' | ||||
|     echo '    -c            View package depends' | ||||
|     echo '    -x            Exclude testing (only with -i)' | ||||
|   | ||||
| @@ -26,7 +26,11 @@ get_path(){ | ||||
| } | ||||
|  | ||||
| prepare_commit(){ | ||||
|     local dest="$1" | ||||
|     local dest="$1" to_rm="${2:-none}" | ||||
|     if [[ -d repos/$to_rm ]]; then | ||||
|         git rm -r repos/$to_rm | ||||
|         git commit -m "change of package arch" | ||||
|     fi | ||||
|     [[ -d repos/$dest ]] && git rm -r repos/$dest | ||||
|     [[ ! -d repos ]] && mkdir repos | ||||
|     [[ ! -d repos/$dest ]] && mkdir repos/$dest | ||||
| @@ -101,6 +105,15 @@ commit_pkg(){ | ||||
|     fi | ||||
| } | ||||
|  | ||||
| get_rm_arch(){ | ||||
|     local rm_arch='none' | ||||
|     case "$CARCH" in | ||||
|         'any') rm_arch="${REPO_DEST}-x86_64" ;; | ||||
|         'x86_64') rm_arch="${REPO_DEST}-any" ;; | ||||
|     esac | ||||
|     echo $rm_arch | ||||
| } | ||||
|  | ||||
| repo_commit_pkg(){ | ||||
|     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||
|     if [[ -n ${artixpath} ]];then | ||||
| @@ -124,7 +137,7 @@ repo_commit_pkg(){ | ||||
|             local action='add' | ||||
|             local dest="${REPO_DEST}-$CARCH" | ||||
|  | ||||
|             prepare_commit "$dest" | ||||
|             prepare_commit "$dest" "$(get_rm_arch)" | ||||
|  | ||||
|             cp trunk/* repos/$dest/ | ||||
|         else | ||||
| @@ -132,7 +145,7 @@ repo_commit_pkg(){ | ||||
|             local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH" | ||||
|  | ||||
|             [[ ! -f repos/$src/PKGBUILD ]] && die "%s does not exist!" "repos/$src/PKGBUILD" | ||||
|             prepare_commit "$dest" | ||||
|             prepare_commit "$dest" "$(get_rm_arch)" | ||||
|  | ||||
|             cp repos/$src/* repos/$dest/ | ||||
|             git rm -r repos/$src | ||||
|   | ||||
| @@ -34,30 +34,29 @@ get_pkgbasename(){ | ||||
| } | ||||
|  | ||||
| add(){ | ||||
|     packages+=("$pkg") | ||||
|     if [[ -e "${pkgfile}" ]]; then | ||||
|     packages+=("$pkg.$ext") | ||||
|     action='add' | ||||
|     ln -sf "${pkgfile}"{,.sig} "$repo_path"/ | ||||
|     fi | ||||
| } | ||||
|  | ||||
| remove(){ | ||||
|     packages+=("$(get_pkgbasename "$pkg")") | ||||
|     if [[ -e "$repo_path"/"$pkg" ]]; then | ||||
|     local to_remove=$(get_pkgbasename "$pkg.$ext") | ||||
|     packages+=("$to_remove") | ||||
|     action='remove' | ||||
|         rm "$repo_path"/"$pkg" | ||||
|     fi | ||||
|     [[ -e "$repo_path"/"$pkg".sig ]] && rm "$repo_path"/"$pkg".sig | ||||
|     rm "$repo_path"/"$to_remove"*pkg.tar* | ||||
| } | ||||
|  | ||||
| repo_action(){ | ||||
|     local packages=() action= func="$1" | ||||
|     for pkg in ${passfiles[@]}; do | ||||
|         if pkgfile=$(find_cached_pkgfile "$pkg");then | ||||
|     for pkgname in ${passfiles[@]}; do | ||||
|         pkg=${pkgname%.*} | ||||
|         for ext in zst xz;do | ||||
|             if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then | ||||
|                 msg "Found: %s" "${pkgfile}" | ||||
|                 "$func" | ||||
|             fi | ||||
|         done | ||||
|     done | ||||
|     cd $repo_path | ||||
|     if [[ -n "$action" ]]; then | ||||
|         repo-"$action" -R "${dest_repo}"."${PKGDBEXT}" "${packages[@]}" | ||||
|   | ||||
| @@ -20,10 +20,27 @@ load_makepkg_config | ||||
|  | ||||
| passfiles="$@" | ||||
|  | ||||
| for name in ${passfiles[@]}; do | ||||
|     if pkgfile=$(find_cached_pkgfile "$name");then | ||||
|         msg "Found: %s" "${pkgfile}" | ||||
|         [[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig | ||||
|         [[ -e ${pkgfile} ]] && signfile ${pkgfile} | ||||
| sign_pkg(){ | ||||
|     local file_to_sign="$1" | ||||
|  | ||||
|     if [ ! -e "$file_to_sign" ]; then | ||||
|         error "%s does not exist!" "$file_to_sign" | ||||
|         exit 1 | ||||
|     fi | ||||
|  | ||||
|     if [[ -n "${BUILDBOT_GPGP}" ]]; then | ||||
|         msg "Signing [%s]" "${file_to_sign##*/}" | ||||
|         gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign" | ||||
|     else | ||||
|         msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..." | ||||
|         gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| for pkg in ${passfiles[@]}; do | ||||
|     if pkgfile=$(find_cached_pkgfile "$pkg");then | ||||
|         msg2 "Found: %s" "${pkgfile}" | ||||
|         [[ -e "${pkgfile}".sig ]] && rm "${pkgfile}".sig | ||||
|         sign_pkg "${pkgfile}" | ||||
|     fi | ||||
| done | ||||
|   | ||||
| @@ -16,10 +16,10 @@ shopt -s extglob | ||||
|  | ||||
| get_compliant_name(){ | ||||
|     local gitname="$1" | ||||
|     case $gitname in | ||||
|     case "$gitname" in | ||||
|         *+) gitname=${gitname//+/plus} | ||||
|     esac | ||||
|     echo $gitname | ||||
|     echo "$gitname" | ||||
| } | ||||
|  | ||||
| set_arch_repos(){ | ||||
| @@ -42,17 +42,16 @@ find_repo(){ | ||||
|  | ||||
| find_pkg(){ | ||||
|     local searchdir="$1" pkg="$2" | ||||
|     local result=$(find $searchdir -mindepth 2 -maxdepth 2 -type d -name "$pkg") | ||||
|     echo $result | ||||
|     local result=$(find "$searchdir" -mindepth 2 -maxdepth 2 -type d -name "$pkg") | ||||
|     echo "$result" | ||||
| } | ||||
|  | ||||
| find_cached_pkgfile() { | ||||
|     local searchdirs=("$PKGDEST" "$PWD") results=() | ||||
|     local pkg="$1" | ||||
|     for dir in "${searchdirs[@]}"; do | ||||
|         [[ -d $dir ]] || continue | ||||
|         #results+=$(find "$dir" -type f -name "$pkg" ! -path '*.sig' ! -path '*.log') | ||||
|         [[ -e $dir/$pkg ]] && results+=($dir/$pkg) | ||||
|         [[ -d "$dir" ]] || continue | ||||
|         [[ -e "$dir/$pkg" ]] && results+=("$dir/$pkg") | ||||
|     done | ||||
|     case ${#results[*]} in | ||||
|         0) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user