Compare commits
	
		
			11 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 98ad5abd88 | |||
| 660a7025a7 | |||
| f5daac0d67 | |||
| 2484ea39a4 | |||
| 9b222bdb83 | |||
| a3e6b17c5f | |||
| 21a37f6b00 | |||
| 80416b76d5 | |||
| 2113ffe4c6 | |||
| 438473c878 | |||
| 86c5c2f47b | 
							
								
								
									
										15
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| VERSION=0.18 | VERSION=0.19 | ||||||
|  |  | ||||||
| CHROOT_VERSION=0.10 | CHROOT_VERSION=0.10 | ||||||
|  |  | ||||||
| @@ -14,7 +14,6 @@ BASE_CONF = \ | |||||||
| 	data/conf/artools-base.conf | 	data/conf/artools-base.conf | ||||||
|  |  | ||||||
| BASE_BIN = \ | BASE_BIN = \ | ||||||
| 	bin/base/signfile \ |  | ||||||
| 	bin/base/chroot-run \ | 	bin/base/chroot-run \ | ||||||
| 	bin/base/mkchroot \ | 	bin/base/mkchroot \ | ||||||
| 	bin/base/basestrap \ | 	bin/base/basestrap \ | ||||||
| @@ -117,6 +116,11 @@ ISO_LIBS = \ | |||||||
|  |  | ||||||
| ISO_UTIL = lib/util-iso.sh | ISO_UTIL = lib/util-iso.sh | ||||||
|  |  | ||||||
|  | DOCKER_DATA = \ | ||||||
|  | 	data/docker/pacman-docker.conf | ||||||
|  |  | ||||||
|  | DOCKER_ALPM = \ | ||||||
|  | 	data/docker/package-cleanup.hook | ||||||
|  |  | ||||||
| DIRMODE = -dm0755 | DIRMODE = -dm0755 | ||||||
| FILEMODE = -m0644 | FILEMODE = -m0644 | ||||||
| @@ -155,6 +159,13 @@ $(BIN): %: %.in Makefile | |||||||
| clean: | clean: | ||||||
| 	$(RM) $(BIN) $(UTIL) | 	$(RM) $(BIN) $(UTIL) | ||||||
|  |  | ||||||
|  | install_docker: | ||||||
|  | 	install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS) | ||||||
|  | 	install $(FILEMODE) $(DOCKER_DATA) $(DESTDIR)$(DATADIR)/$(TOOLS) | ||||||
|  |  | ||||||
|  | 	install $(DIRMODE) $(DESTDIR)$(DATADIR)/libalpm/hooks | ||||||
|  | 	install $(FILEMODE) $(DOCKER_ALPM) $(DESTDIR)$(DATADIR)/libalpm/hooks | ||||||
|  |  | ||||||
| install_base: | install_base: | ||||||
| 	install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | 	install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
| 	install $(FILEMODE) $(BASE_CONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | 	install $(FILEMODE) $(BASE_CONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
|   | |||||||
| @@ -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(){ | sync_pkg(){ | ||||||
|     local rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) |     local rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) | ||||||
|     local src="$1" dest="$2" |     local src="$1" dest="$2" | ||||||
|  |     msg "Sync from Arch [%s] to Artix [%s]" "${src##*archlinux/}" "${dest##*artixlinux/}" | ||||||
|     rsync "${rsync_args[@]}" $src/ $dest/ |     rsync "${rsync_args[@]}" $src/ $dest/ | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -111,85 +111,21 @@ show_deps(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| subrepo_new(){ | subrepo_new(){ | ||||||
|     local group="${1:-$GROUP}" team="${2:-$TEAM}" |     cd ${TREE_DIR_ARTIX}/${GROUP} | ||||||
|     local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk |  | ||||||
|  |  | ||||||
|     cd ${TREE_DIR_ARTIX}/$group |  | ||||||
|  |  | ||||||
|     msg2 "team: %s" "$team" |  | ||||||
|     msg2 "group: %s" "$group" |  | ||||||
|  |  | ||||||
|     local org=$(get_pkg_org "${PACKAGE}") |     local org=$(get_pkg_org "${PACKAGE}") | ||||||
|  |  | ||||||
|     create_repo "${PACKAGE}" "$org" |     create_repo "${PACKAGE}" "$org" | ||||||
|  |  | ||||||
|     add_repo_to_team "${PACKAGE}" "$org" "$team" |     add_repo_to_team "${PACKAGE}" "$org" "${TEAM}" | ||||||
|  |  | ||||||
|     subrepo_clone "${PACKAGE}" "$org" |     subrepo_clone "${PACKAGE}" "$org" | ||||||
|  |  | ||||||
|     prepare_dir "$dest" |     prepare_dir "${TREE_DIR_ARTIX}/${GROUP}/${PACKAGE}/trunk" | ||||||
|  |  | ||||||
|     commit_jenkins_files "${PACKAGE}" |     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(){ | from_arch(){ | ||||||
|     cd ${TREE_DIR_ARTIX} |     cd ${TREE_DIR_ARTIX} | ||||||
|  |  | ||||||
| @@ -197,33 +133,23 @@ from_arch(){ | |||||||
|     [[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" |     [[ -z $srcpath ]] && die "Package '%s' does not exist!" "${PACKAGE}" | ||||||
|  |  | ||||||
|     local repo=$(find_repo "$srcpath") |     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" |     msg "repo: %s" "$repo" | ||||||
|     artixpath=$artixpath/trunk |  | ||||||
|  |     local archpath=$srcpath/repos/$repo | ||||||
|  |     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||||
|  |  | ||||||
|     show_deps "$archpath" |     show_deps "$archpath" | ||||||
|  |  | ||||||
|     if [[ -f $artixpath/PKGBUILD ]];then |     if [[ -f "$artixpath"/.gitrepo ]]; then | ||||||
|  |         artixpath="$artixpath"/trunk | ||||||
|  |  | ||||||
|         . $artixpath/PKGBUILD 2>/dev/null |         if [[ -d "$artixpath" ]];then | ||||||
|         local artixver=$(get_full_version) |             sync_pkg "$archpath" "$artixpath" | ||||||
|  |             patch_pkg "$artixpath" | ||||||
|         msg2 "Artix Version: %s" "$artixver" |         fi | ||||||
|     else |     else | ||||||
|         artixpath=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk |         die "Package '%s' does not exist!" "${PACKAGE}" | ||||||
|         subrepo_new "${group}" "$(get_team $repo)" |  | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     msg "Sync (%s) from Arch [%s] to Artix [%s]" "${PACKAGE}" "${archpath##*archlinux/}" "${artixpath##*artixlinux/}" |  | ||||||
|  |  | ||||||
|     sync_pkg "$archpath" "$artixpath" |  | ||||||
|     patch_pkg "$artixpath" |  | ||||||
| } | } | ||||||
|  |  | ||||||
| view_build(){ | view_build(){ | ||||||
| @@ -238,7 +164,7 @@ view_build(){ | |||||||
| check_tree(){ | check_tree(){ | ||||||
|     local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") |     local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}") | ||||||
|     [[ -z $archpath ]] && die "Package '%s' does not exist!" "${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%/*} |     local group=${artixpath%/*} | ||||||
|     msg "group: %s" "${group##*/}" |     msg "group: %s" "${group##*/}" | ||||||
|  |  | ||||||
| @@ -289,7 +215,7 @@ usage() { | |||||||
|     echo "    -a            Don't clone or pull arch repos" |     echo "    -a            Don't clone or pull arch repos" | ||||||
|     echo "    -b            Don't clone or pull artix repos" |     echo "    -b            Don't clone or pull artix repos" | ||||||
|     echo '    -i            Import a package from arch 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 '    -v            Check if a package is in the artix tree(s)' | ||||||
|     echo '    -c            View package depends' |     echo '    -c            View package depends' | ||||||
|     echo '    -x            Exclude testing (only with -i)' |     echo '    -x            Exclude testing (only with -i)' | ||||||
|   | |||||||
| @@ -26,7 +26,11 @@ get_path(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| prepare_commit(){ | 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/$dest ]] && git rm -r repos/$dest | ||||||
|     [[ ! -d repos ]] && mkdir repos |     [[ ! -d repos ]] && mkdir repos | ||||||
|     [[ ! -d repos/$dest ]] && mkdir repos/$dest |     [[ ! -d repos/$dest ]] && mkdir repos/$dest | ||||||
| @@ -101,6 +105,15 @@ commit_pkg(){ | |||||||
|     fi |     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(){ | repo_commit_pkg(){ | ||||||
|     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") |     local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}") | ||||||
|     if [[ -n ${artixpath} ]];then |     if [[ -n ${artixpath} ]];then | ||||||
| @@ -124,7 +137,7 @@ repo_commit_pkg(){ | |||||||
|             local action='add' |             local action='add' | ||||||
|             local dest="${REPO_DEST}-$CARCH" |             local dest="${REPO_DEST}-$CARCH" | ||||||
|  |  | ||||||
|             prepare_commit "$dest" |             prepare_commit "$dest" "$(get_rm_arch)" | ||||||
|  |  | ||||||
|             cp trunk/* repos/$dest/ |             cp trunk/* repos/$dest/ | ||||||
|         else |         else | ||||||
| @@ -132,7 +145,7 @@ repo_commit_pkg(){ | |||||||
|             local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH" |             local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH" | ||||||
|  |  | ||||||
|             [[ ! -f repos/$src/PKGBUILD ]] && die "%s does not exist!" "repos/$src/PKGBUILD" |             [[ ! -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/ |             cp repos/$src/* repos/$dest/ | ||||||
|             git rm -r repos/$src |             git rm -r repos/$src | ||||||
|   | |||||||
| @@ -34,29 +34,28 @@ get_pkgbasename(){ | |||||||
| } | } | ||||||
|  |  | ||||||
| add(){ | add(){ | ||||||
|     packages+=("$pkg") |     packages+=("$pkg.$ext") | ||||||
|     if [[ -e "${pkgfile}" ]]; then |     action='add' | ||||||
|         action='add' |     ln -sf "${pkgfile}"{,.sig} "$repo_path"/ | ||||||
|         ln -sf "${pkgfile}"{,.sig} "$repo_path"/ |  | ||||||
|     fi |  | ||||||
| } | } | ||||||
|  |  | ||||||
| remove(){ | remove(){ | ||||||
|     packages+=("$(get_pkgbasename "$pkg")") |     local to_remove=$(get_pkgbasename "$pkg.$ext") | ||||||
|     if [[ -e "$repo_path"/"$pkg" ]]; then |     packages+=("$to_remove") | ||||||
|         action='remove' |     action='remove' | ||||||
|         rm "$repo_path"/"$pkg" |     rm "$repo_path"/"$to_remove"*pkg.tar* | ||||||
|     fi |  | ||||||
|     [[ -e "$repo_path"/"$pkg".sig ]] && rm "$repo_path"/"$pkg".sig |  | ||||||
| } | } | ||||||
|  |  | ||||||
| repo_action(){ | repo_action(){ | ||||||
|     local packages=() action= func="$1" |     local packages=() action= func="$1" | ||||||
|     for pkg in ${passfiles[@]}; do |     for pkgname in ${passfiles[@]}; do | ||||||
|         if pkgfile=$(find_cached_pkgfile "$pkg");then |         pkg=${pkgname%.*} | ||||||
|             msg "Found: %s" "${pkgfile}" |         for ext in zst xz;do | ||||||
|             "$func" |             if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then | ||||||
|         fi |                 msg "Found: %s" "${pkgfile}" | ||||||
|  |                 "$func" | ||||||
|  |             fi | ||||||
|  |         done | ||||||
|     done |     done | ||||||
|     cd $repo_path |     cd $repo_path | ||||||
|     if [[ -n "$action" ]]; then |     if [[ -n "$action" ]]; then | ||||||
|   | |||||||
| @@ -20,10 +20,27 @@ load_makepkg_config | |||||||
|  |  | ||||||
| passfiles="$@" | passfiles="$@" | ||||||
|  |  | ||||||
| for name in ${passfiles[@]}; do | sign_pkg(){ | ||||||
|     if pkgfile=$(find_cached_pkgfile "$name");then |     local file_to_sign="$1" | ||||||
|         msg "Found: %s" "${pkgfile}" |  | ||||||
|         [[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig |     if [ ! -e "$file_to_sign" ]; then | ||||||
|         [[ -e ${pkgfile} ]] && signfile ${pkgfile} |         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 |     fi | ||||||
| done | done | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								data/docker/package-cleanup.hook
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								data/docker/package-cleanup.hook
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | [Trigger] | ||||||
|  | Operation = Install | ||||||
|  | Operation = Upgrade | ||||||
|  | Type = Package | ||||||
|  | Target = * | ||||||
|  |  | ||||||
|  | [Action] | ||||||
|  | Description = Cleaning up package cache... | ||||||
|  | Depends = coreutils | ||||||
|  | When = PostTransaction | ||||||
|  | Exec = /usr/bin/find /var/cache/pacman/pkg/ -type f -delete | ||||||
							
								
								
									
										111
									
								
								data/docker/pacman-docker.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								data/docker/pacman-docker.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | NoExtract  = usr/share/help/* !usr/share/help/en* | ||||||
|  | NoExtract  = usr/share/gtk-doc/html/* usr/share/doc/* | ||||||
|  | NoExtract  = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* | ||||||
|  | NoExtract   = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.* | ||||||
|  | NoExtract   = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso* | ||||||
|  | NoExtract   = !usr/share/*locales/trans* | ||||||
|  | NoExtract  = usr/share/man/* usr/share/info/* | ||||||
|  | NoExtract  = usr/share/vim/vim*/lang/* | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | #TotalDownload | ||||||
|  | CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate archlinux artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | #[lib32] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # ARCHLINUX | ||||||
|  | # | ||||||
|  |  | ||||||
|  | #[extra] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist-arch | ||||||
|  |  | ||||||
|  | #[community] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist-arch | ||||||
|  |  | ||||||
|  | #[multilib] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist-arch | ||||||
| @@ -16,10 +16,10 @@ shopt -s extglob | |||||||
|  |  | ||||||
| get_compliant_name(){ | get_compliant_name(){ | ||||||
|     local gitname="$1" |     local gitname="$1" | ||||||
|     case $gitname in |     case "$gitname" in | ||||||
|         *+) gitname=${gitname//+/plus} |         *+) gitname=${gitname//+/plus} | ||||||
|     esac |     esac | ||||||
|     echo $gitname |     echo "$gitname" | ||||||
| } | } | ||||||
|  |  | ||||||
| set_arch_repos(){ | set_arch_repos(){ | ||||||
| @@ -42,17 +42,16 @@ find_repo(){ | |||||||
|  |  | ||||||
| find_pkg(){ | find_pkg(){ | ||||||
|     local searchdir="$1" pkg="$2" |     local searchdir="$1" pkg="$2" | ||||||
|     local result=$(find $searchdir -mindepth 2 -maxdepth 2 -type d -name "$pkg") |     local result=$(find "$searchdir" -mindepth 2 -maxdepth 2 -type d -name "$pkg") | ||||||
|     echo $result |     echo "$result" | ||||||
| } | } | ||||||
|  |  | ||||||
| find_cached_pkgfile() { | find_cached_pkgfile() { | ||||||
|     local searchdirs=("$PKGDEST" "$PWD") results=() |     local searchdirs=("$PKGDEST" "$PWD") results=() | ||||||
|     local pkg="$1" |     local pkg="$1" | ||||||
|     for dir in "${searchdirs[@]}"; do |     for dir in "${searchdirs[@]}"; do | ||||||
|         [[ -d $dir ]] || continue |         [[ -d "$dir" ]] || continue | ||||||
|         #results+=$(find "$dir" -type f -name "$pkg" ! -path '*.sig' ! -path '*.log') |         [[ -e "$dir/$pkg" ]] && results+=("$dir/$pkg") | ||||||
|         [[ -e $dir/$pkg ]] && results+=($dir/$pkg) |  | ||||||
|     done |     done | ||||||
|     case ${#results[*]} in |     case ${#results[*]} in | ||||||
|         0) |         0) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user