forked from artix/artools
		
	Compare commits
	
		
			66 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 4d3a993a72 | ||
|   | a52bdc9799 | ||
|   | b62e90f778 | ||
|   | 5d2fda793d | ||
|   | 550663cfd1 | ||
|   | 6c117fb97d | ||
|   | 7e6d832314 | ||
|   | 6fc7b124fc | ||
|   | a011005901 | ||
|   | 5da4fea263 | ||
|   | e1b8a0493b | ||
|   | 8fe1e82226 | ||
|   | aa8725518b | ||
|   | fc5a446784 | ||
|   | 64ce7c3bd6 | ||
|   | 8e3a7d98f9 | ||
|   | c4e47b6513 | ||
|   | b17e93d37f | ||
|   | f2e575a37c | ||
|   | 706fa58ddd | ||
|   | de4652ac94 | ||
|   | cd37fde7ca | ||
|   | 0f3b352020 | ||
|   | c60dabdf6b | ||
|   | 208b751142 | ||
|   | bfc8b8ce80 | ||
|   | 87185b7d99 | ||
|   | 6cfbc8b97e | ||
|   | 4f454f4ec4 | ||
|   | 478e8fbba3 | ||
|   | fc41bd7be4 | ||
|   | b9eeec876b | ||
|   | ce6d6d093e | ||
|   | 996deb8924 | ||
|   | 63af5c762f | ||
|   | 9eef1c3a05 | ||
|   | 95858019e9 | ||
|   | e1a9f2a1b3 | ||
|   | 238302d3ce | ||
|   | 73d7fd28af | ||
|   | 4d834ddaaa | ||
|   | 027e29e025 | ||
|   | 5fbf1f7d43 | ||
|   | 88b0206121 | ||
|   | d71af677f5 | ||
|   | 63ef4ee33b | ||
|   | 0b2e104504 | ||
|   | 3a7881d5c5 | ||
|   | 74dd869dc2 | ||
|   | 718d4062b0 | ||
|   | 66e9fa4caa | ||
|   | f728680c28 | ||
|   | 3a0746a358 | ||
|   | 5da701a318 | ||
|   | 45b1a95332 | ||
|   | 450b51ea71 | ||
|   | aa71c050b2 | ||
|   | e4966f2351 | ||
|   | 894054d3cd | ||
|   | 969ce59e3d | ||
|   | 94ec82f2d5 | ||
|   | 58a043a35c | ||
|   | 0cfdb6b8df | ||
|   | bc5f417a90 | ||
|   | be3720cd56 | ||
|   | 0cd6b45f04 | 
							
								
								
									
										41
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,4 +1,6 @@ | ||||
| Version=0.6 | ||||
| Version=0.7 | ||||
|  | ||||
| Chroot_version=0.7 | ||||
|  | ||||
| PREFIX = /usr/local | ||||
| SYSCONFDIR = /etc | ||||
| @@ -24,22 +26,16 @@ LIBS_BASE = \ | ||||
| SHARED_BASE = \ | ||||
| 	$(wildcard data/pacman*.conf) | ||||
|  | ||||
| LIST_IMPORT = \ | ||||
| 	$(wildcard data/import.list.d/*.list) | ||||
|  | ||||
| BIN_PKG = \ | ||||
| 	bin/checkpkg \ | ||||
| 	bin/lddd \ | ||||
| 	bin/finddeps \ | ||||
| 	bin/findupdates \ | ||||
| 	bin/find-libdeps \ | ||||
| 	bin/mkchrootpkg \ | ||||
| 	bin/buildpkg \ | ||||
| 	bin/buildtree \ | ||||
| 	bin/deploypkg \ | ||||
| 	bin/buildpkg2 \ | ||||
| 	bin/buildtree2 \ | ||||
| 	bin/deploypkg2 | ||||
| 	bin/commitpkg | ||||
|  | ||||
| LIBS_PKG = \ | ||||
| 	$(wildcard lib/util-pkg*.sh) | ||||
| @@ -50,6 +46,18 @@ SHARED_PKG = \ | ||||
| PATCHES = \ | ||||
| 	$(wildcard data/patches/*.patch) | ||||
|  | ||||
| COMMITPKG_SYMS = \ | ||||
| 	extrapkg \ | ||||
| 	corepkg \ | ||||
| 	testingpkg \ | ||||
| 	stagingpkg \ | ||||
| 	communitypkg \ | ||||
| 	community-testingpkg \ | ||||
| 	community-stagingpkg \ | ||||
| 	multilibpkg \ | ||||
| 	multilib-testingpkg \ | ||||
| 	multilib-stagingpkg | ||||
|  | ||||
| BIN_ISO = \ | ||||
| 	bin/buildiso \ | ||||
| 	bin/deployiso | ||||
| @@ -91,7 +99,8 @@ all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) | ||||
| edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \ | ||||
| 	-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \ | ||||
| 	-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/artools|g" \ | ||||
| 	-e "s|@version@|${Version}|" | ||||
| 	-e "s|@version@|${Version}|" \ | ||||
| 	-e "s|@chroot_version@|${Chroot_version}|" | ||||
|  | ||||
| %: %.in Makefile | ||||
| 	@echo "GEN $@" | ||||
| @@ -117,16 +126,13 @@ install_base: | ||||
| 	install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools | ||||
|  | ||||
| install_pkg: | ||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d | ||||
| 	install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||
| 	install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin | ||||
|  | ||||
| 	ln -sf buildpkg $(DESTDIR)$(PREFIX)/bin/buildpkg-testing | ||||
| 	 | ||||
| 	ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides | ||||
|  | ||||
| 	for l in ${COMMITPKG_SYMS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools | ||||
| 	install -m0644 ${LIBS_PKG} $(DESTDIR)$(PREFIX)/lib/artools | ||||
|  | ||||
| @@ -156,7 +162,7 @@ install_iso: | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||
| 	install -m0755 ${BIN_ISO} $(DESTDIR)$(PREFIX)/bin | ||||
|  | ||||
| 	ln -sf buildiso $(DESTDIR)$(PREFIX)/bin/buildiso-testing | ||||
| 	ln -sf buildiso $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools | ||||
| 	install -m0644 ${LIBS_ISO} $(DESTDIR)$(PREFIX)/lib/artools | ||||
| @@ -179,10 +185,9 @@ uninstall_base: | ||||
| 	for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
|  | ||||
| uninstall_pkg: | ||||
| 	for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done | ||||
| 	for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done | ||||
| 	rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides | ||||
| 	rm -f $(DESTDIR)$(PREFIX)/bin/buildpkg-testing | ||||
| 	for l in ${COMMITPKG_SYMS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done | ||||
| 	for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | ||||
| 	for f in ${PATCHES}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/patches/$$f; done | ||||
| 	for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
| @@ -196,7 +201,7 @@ uninstall_isobase: | ||||
|  | ||||
| uninstall_iso: | ||||
| 	for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done | ||||
| 	rm -f $(DESTDIR)$(PREFIX)/bin/buildiso-testing | ||||
| 	rm -f $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins | ||||
| 	for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | ||||
|  | ||||
| 	for f in ${LIBS_ISO}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
|   | ||||
| @@ -26,10 +26,10 @@ prepare_build(){ | ||||
|  | ||||
|     netgroups=${netgroups_url}/netgroups-${initsys}.yaml | ||||
|  | ||||
|     local pacman_conf pac_file="pacman.conf" | ||||
|     local pacman_conf pac_file="pacman-default.conf" | ||||
|  | ||||
|     case "${stablility}" in | ||||
|         'testing') pac_file="pacman-${stablility}.conf" ;; | ||||
|         'gremlins') pac_file="pacman-${stablility}.conf" ;; | ||||
|     esac | ||||
|  | ||||
|     pacman_conf="${DATADIR}/$pac_file" | ||||
|   | ||||
| @@ -20,15 +20,12 @@ SYSCONFDIR='@sysconfdir@' | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-chroot.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| show_pkg(){ | ||||
|     cd $1 | ||||
|         source PKGBUILD | ||||
|         for n in ${pkgname[@]}; do | ||||
|             msg2 "%s" "$n" | ||||
|         done | ||||
|     cd .. | ||||
|     source PKGBUILD | ||||
|     for n in ${pkgname[@]}; do | ||||
|         msg2 "%s" "$n" | ||||
|     done | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
| @@ -38,15 +35,14 @@ display_settings(){ | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "chroots_pkg: %s" "${chroots_pkg}" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|     msg2 "stablility: %s" "${stablility}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "create_first: %s" "${create_first}" | ||||
|     msg2 "makepkg_args: %s" "${makepkg_args[*]}" | ||||
|     msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}" | ||||
|  | ||||
|      | ||||
|     msg "BUILD:" | ||||
|     show_pkg "${package}" | ||||
|     show_pkg | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
| @@ -55,27 +51,23 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo | ||||
|  | ||||
| create_first=false | ||||
| pretend=false | ||||
| lib32=false | ||||
|  | ||||
| mkchroot_args=() | ||||
| mkchrootpkg_args=(-c -n) | ||||
|  | ||||
| install_pkgs=() | ||||
|  | ||||
| package='' | ||||
| cmd=${0##*/} | ||||
| stablility=${cmd##*-} | ||||
| repository=${PWD##*/} | ||||
| base_devel=('base-devel') | ||||
|  | ||||
| repository='default' | ||||
|      | ||||
| prepare_build(){ | ||||
|     local pac_file='pacman.conf' mp_file='makepkg.conf' | ||||
|  | ||||
|     case "${stablility}" in | ||||
|         'testing') pac_file="pacman-${stablility}.conf" ;; | ||||
|     local pac_file= mp_file='makepkg.conf'     | ||||
|              | ||||
|     base_devel=('base-devel') | ||||
|      | ||||
|     case ${repository} in | ||||
|         'system'|'world'|'galaxy') repository='default' ;; | ||||
|         lib32*) base_devel+=('multilib-devel') ;; | ||||
|         galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;; | ||||
|     esac | ||||
|  | ||||
|     ${lib32} && base_devel+=('multilib-devel') | ||||
|     local pac_file="pacman-${repository}.conf" | ||||
|  | ||||
|     local pacman_conf="${DATADIR}/$pac_file" | ||||
|     [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file" | ||||
| @@ -88,29 +80,19 @@ prepare_build(){ | ||||
|     mkchroot_args+=(-C "${pacman_conf}" -M "${makepkg_conf}" "${work_dir}/root") | ||||
|  | ||||
|     mkchrootpkg_args+=(-r "${work_dir}" "${makepkg_args[@]}") | ||||
|  | ||||
|     timer_start=$(get_timer) | ||||
| } | ||||
|  | ||||
| build(){ | ||||
|     local timer_start=$(get_timer) | ||||
|     if [[ -f ${package}/PKGBUILD ]];then | ||||
|         cd ${package} | ||||
|     else | ||||
|         die "Directory must contain a PKGBUILD!" | ||||
|     fi | ||||
|     msg "Start building [%s] (%s)" "${package}" "${repository}" | ||||
|     local timer_start=$(get_timer)  | ||||
|  | ||||
|     exec mkchrootpkg "${mkchrootpkg_args[@]}" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer_start}" | ||||
| } | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options] -- [makepkg_args]" | ||||
|     echo "    -p <pkg>           Package to build [default: ${package}]" | ||||
|     echo "    -r <dir>           Chroots directory [default: ${chroots_pkg}]" | ||||
|     echo '    -z <repo>          Repo name' | ||||
|     echo "    -r <dir>           Repository [default: ${repository}]" | ||||
|     echo '    -c                 Create root chroot' | ||||
|     echo '    -m                 Multilib chroot' | ||||
|     echo '    -q                 Query settings and pretend build' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
| @@ -121,22 +103,18 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:r:z:cmqh' | ||||
| opts='r:cqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         p) package="$OPTARG" ;; | ||||
|         r) chroots_pkg="$OPTARG" ;; | ||||
|         z) repository="$OPTARG" ;; | ||||
|         r) repository="$OPTARG" ;; | ||||
|         c) create_first=true ;; | ||||
|         m) lib32=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '%s'" "${arg}"; usage 1 ;; | ||||
|     esac | ||||
| done | ||||
|  | ||||
| # shift $(($OPTIND - 1)) | ||||
| makepkg_args+=("${@:$OPTIND}") | ||||
|  | ||||
| check_root | ||||
| @@ -169,4 +147,4 @@ else | ||||
|         pacman -Syu --noconfirm || abort | ||||
| fi | ||||
|  | ||||
| build "${package}" | ||||
| build | ||||
|   | ||||
							
								
								
									
										151
									
								
								bin/buildpkg2.in
									
									
									
									
									
								
							
							
						
						
									
										151
									
								
								bin/buildpkg2.in
									
									
									
									
									
								
							| @@ -1,151 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| shopt -s nullglob | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
| DATADIR='@datadir@' | ||||
| SYSCONFDIR='@sysconfdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-chroot.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| show_pkg(){ | ||||
|     source PKGBUILD | ||||
|     for n in ${pkgname[@]}; do | ||||
|         msg2 "%s" "$n" | ||||
|     done | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "chroots_pkg: %s" "${chroots_pkg}" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "create_first: %s" "${create_first}" | ||||
|     msg2 "makepkg_args: %s" "${makepkg_args[*]}" | ||||
|     msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}" | ||||
|      | ||||
|     msg "BUILD:" | ||||
|     show_pkg | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| create_first=false | ||||
| pretend=false | ||||
|  | ||||
| mkchroot_args=() | ||||
| mkchrootpkg_args=(-c -n) | ||||
|  | ||||
| repository='default' | ||||
|      | ||||
| prepare_build(){ | ||||
|     local pac_file= mp_file='makepkg.conf'     | ||||
|              | ||||
|     base_devel=('base-devel') | ||||
|      | ||||
|     case ${repository} in | ||||
|         'system'|'world'|'galaxy') repository='default' ;; | ||||
|         lib32*) base_devel+=('multilib-devel') ;; | ||||
|         galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;; | ||||
|     esac | ||||
|     local pac_file="pacman-${repository}.conf" | ||||
|  | ||||
|     local pacman_conf="${DATADIR}/$pac_file" | ||||
|     [[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file" | ||||
|  | ||||
|     work_dir="${chroots_pkg}/${repository}-${target_arch}" | ||||
|  | ||||
|     local makepkg_conf="${DATADIR}/$mp_file" | ||||
|     [[ -f $AT_USERCONFDIR/$mp_file ]] && makepkg_conf="$AT_USERCONFDIR/$mp_file" | ||||
|  | ||||
|     mkchroot_args+=(-C "${pacman_conf}" -M "${makepkg_conf}" "${work_dir}/root") | ||||
|  | ||||
|     mkchrootpkg_args+=(-r "${work_dir}" "${makepkg_args[@]}") | ||||
| } | ||||
|  | ||||
| build(){ | ||||
|     local timer_start=$(get_timer)  | ||||
|  | ||||
|     exec mkchrootpkg "${mkchrootpkg_args[@]}" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer_start}" | ||||
| } | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options] -- [makepkg_args]" | ||||
|     echo "    -r <dir>           Repository [default: ${repository}]" | ||||
|     echo '    -c                 Create root chroot' | ||||
|     echo '    -q                 Query settings and pretend build' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
|     echo "Default makepkg_args args: ${makepkg_args[*]}" | ||||
|     echo '' | ||||
|     exit $1 | ||||
| } | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='r:cqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         r) repository="$OPTARG" ;; | ||||
|         c) create_first=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '%s'" "${arg}"; usage 1 ;; | ||||
|     esac | ||||
| done | ||||
|  | ||||
| makepkg_args+=("${@:$OPTIND}") | ||||
|  | ||||
| check_root | ||||
|  | ||||
| prepare_build | ||||
|  | ||||
| ${pretend} && display_settings && exit | ||||
|  | ||||
| if ${create_first} || [[ ! -d ${work_dir}/root ]];then | ||||
|     msg "Creating chroot for [%s] (%s)..." "${repository}" "${target_arch}" | ||||
|  | ||||
|     for copy in "${work_dir}"/*; do | ||||
|         [[ -d $copy ]] || continue | ||||
|         msg2 "Deleting chroot copy '%s'..." "$(basename "${copy}")" | ||||
|  | ||||
|         lock 9 "$copy.lock" "Locking chroot copy '%s'" "$copy" | ||||
|  | ||||
|         subvolume_delete_recursive "${copy}" | ||||
|         rm -rf --one-file-system "${copy}" | ||||
|     done | ||||
|     lock_close 9 | ||||
|  | ||||
|     rm -rf --one-file-system "${work_dir}" | ||||
|     mkdir -p "${work_dir}" | ||||
|     setarch "${target_arch}" mkchroot \ | ||||
|         "${mkchroot_args[@]}"  "${base_devel[@]}" || abort | ||||
| else | ||||
|     lock 9 "${work_dir}/root.lock" "Locking clean chroot" | ||||
|     chroot-run "${mkchroot_args[@]}" \ | ||||
|         pacman -Syu --noconfirm || abort | ||||
| fi | ||||
|  | ||||
| build | ||||
							
								
								
									
										218
									
								
								bin/buildtree.in
									
									
									
									
									
								
							
							
						
						
									
										218
									
								
								bin/buildtree.in
									
									
									
									
									
								
							| @@ -18,54 +18,202 @@ DATADIR='@datadir@' | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
| import ${LIBDIR}/util-pkg-tree.sh | ||||
|  | ||||
| pull_tree_arch(){ | ||||
|     cd ${tree_dir_arch} | ||||
|     for tree in packages community;do | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 msg "Checking (%s)" "${tree}" | ||||
|                 pull_tree | ||||
|             cd .. | ||||
|         else | ||||
|             msg "Cloning (%s) ..." "$tree" | ||||
|             clone_tree "${host_tree_arch}/${tree}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| pull_tree_artix(){ | ||||
|     cd ${tree_dir_artix} | ||||
|     for tree in packages packages-galaxy;do | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 git config --bool pull.rebase true | ||||
|                 msg "Checking (%s)" "${tree}" | ||||
|                 pull_tree | ||||
|             cd .. | ||||
|         else | ||||
|             msg "Cloning (%s) ..." "$tree" | ||||
|             clone_tree "${host_tree_artix}/${tree}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| show_version_table(){ | ||||
|     msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version" | ||||
|     for tree in packages packages-galaxy;do | ||||
|         local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d) | ||||
|         for pkg_path in ${git[@]}; do | ||||
|             local artixrepo=$(find_repo "$pkg_path") | ||||
|             if [[ -d $pkg_path/repos/$artixrepo ]];then | ||||
|                 source $pkg_path/trunk/PKGBUILD 2>/dev/null | ||||
|                 local pkg=${pkg_path##*/} | ||||
|                 local artixver=$(get_full_version $pkg) | ||||
|                 local src=$(get_import_path "$tree" "$pkg") | ||||
|                 local archrepo=$(find_repo "$src/$pkg") | ||||
|                 if [[ -d $src/$pkg/repos/$archrepo ]];then | ||||
|                     source $src/$pkg/trunk/PKGBUILD 2>/dev/null | ||||
|                     local archver=$(get_full_version $pkg) | ||||
|                 fi | ||||
|                 if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|                     local ar=$(arch_to_artix_repo "$artixrepo") | ||||
|                     ${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                 fi | ||||
|                 if [ $(vercmp $artixver $archver) -gt 0 ];then | ||||
|                     local ar=$(arch_to_artix_repo "$artixrepo") | ||||
|                     if [[ -n $archver ]] && [[ -n $archrepo ]];then | ||||
|                         ${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                     fi | ||||
|                 fi | ||||
|                 unset pkgver epoch pkgrel artixver archver _package | ||||
|             fi | ||||
|         done | ||||
|     done | ||||
| } | ||||
|  | ||||
| show_artix_table(){ | ||||
|      msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version" | ||||
|     for tree in packages packages-galaxy;do | ||||
|         local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d) | ||||
|         for pkg_path in ${git[@]}; do | ||||
|             local artixrepo=$(find_repo "$pkg_path") | ||||
|             if [[ -d $pkg_path/repos/$artixrepo ]];then | ||||
|                 source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null | ||||
|                 local pkg=${pkg_path##*/} | ||||
|                 local artixver=$(get_full_version $pkg) | ||||
|                 local src=$(get_import_path "$tree" "$pkg") | ||||
|                 local archrepo=$(find_repo "$src/$pkg") | ||||
|                 if [[ -d $src/$pkg/repos/$archrepo ]];then | ||||
|                     source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null | ||||
|                     local archver=$(get_full_version $pkg) | ||||
|                 fi | ||||
|                 if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then | ||||
|  | ||||
|                     local ar=$(arch_to_artix_repo "$artixrepo") | ||||
|                     case $ar in | ||||
|                         *goblins) | ||||
|                             if [[ $archrepo == $artixrepo ]];then | ||||
|                                 msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                             else | ||||
|                                 msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                             fi | ||||
|                         ;; | ||||
|                         *gremlins) | ||||
|                             if [[ $archrepo == $artixrepo ]];then | ||||
|                                 msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                             else | ||||
|                                 msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                             fi | ||||
|                         ;; | ||||
| #                         system|world|galaxy|lib32) msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" ;; | ||||
|                     esac | ||||
|                 fi | ||||
|                 unset pkgver epoch pkgrel artixver archver _package | ||||
|             fi | ||||
|         done | ||||
|     done | ||||
| } | ||||
|  | ||||
| from_arch(){ | ||||
|     local pkg="$1" archtree="$2" artixtree="$3" src= dest= | ||||
|     src=${tree_dir_arch}/$archtree/$pkg/trunk | ||||
|     dest=${tree_dir_artix}/$artixtree/$pkg/trunk | ||||
|  | ||||
|     source $src/PKGBUILD 2>/dev/null | ||||
|     cd ${tree_dir_arch}/$archtree | ||||
|     msg "Package: %s" "$pkg" | ||||
|     local archver=$(get_full_version $pkg) | ||||
|     msg2 "Arch Version: %s" "$archver" | ||||
|  | ||||
|     if [[ -d $dest ]];then | ||||
|         source $dest/PKGBUILD 2>/dev/null | ||||
|         cd ${tree_dir_artix}/$artixtree | ||||
|         local artixver=$(get_full_version $pkg) | ||||
|         msg2 "Artix Version: %s" "$artixver" | ||||
|         if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|             info "Importing from archlinux (%s)" "$archtree" | ||||
|             rsync "${rsync_args[@]}" $src/ $dest/ | ||||
|             patch_pkg "$pkg" "$tree" | ||||
|         else | ||||
|             warning "Versions match! Nothing to do!" | ||||
|         fi | ||||
|     else | ||||
|         cd ${tree_dir_artix}/$artixtree | ||||
|         info "Importing from archlinux (%s)" "$archtree" | ||||
|         mkdir $pkg | ||||
|         rsync "${rsync_args[@]}" $src/ $dest/ | ||||
|         patch_pkg "$pkg" "$tree" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| sync_repos(){ | ||||
|     pull_tree_arch | ||||
|     pull_tree_artix | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg "REPOS:" | ||||
|     msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}" | ||||
|     msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}" | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|     msg2 "package: %s" "${package}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "artix: %s" "${artix}" | ||||
|     msg2 "arch: %s" "${arch}" | ||||
|     msg2 "sync: %s" "${sync}" | ||||
|     msg2 "compare: %s" "${compare}" | ||||
|     msg2 "import_arch: %s" "${import_arch}" | ||||
| #     msg2 "gitpush: %s" "${gitpush}" | ||||
|     msg2 "upgrades: %s" "${upgrades}" | ||||
|     msg2 "downgrades: %s" "${downgrades}" | ||||
|     msg2 "artix: %s" "${artix}" | ||||
|     msg2 "import_packages: %s" "${import_packages}" | ||||
|     msg2 "import_community: %s" "${import_community}" | ||||
|  | ||||
|     msg "PATHS:" | ||||
|     msg2 "tree_dir_artix: %s" "${tree_dir_artix}" | ||||
|     msg2 "tree_dir_arch: %s" "${tree_dir_arch}" | ||||
|     msg2 "patches_dir: %s" "${patches_dir}/${repository}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" | ||||
| load_vars /etc/makepkg.conf | ||||
|  | ||||
| pretend=false | ||||
| arch=false | ||||
| artix=false | ||||
| sync=false | ||||
| compare=false | ||||
| import_arch=false | ||||
| # gitpush=false | ||||
| repository='system' #${PWD##*/} | ||||
| upgrades=true | ||||
| downgrades=false | ||||
| artix=false | ||||
| import_packages=false | ||||
| import_community=false | ||||
| package='' | ||||
|  | ||||
| git_artix='packages' | ||||
| git_arch='packages' | ||||
|  | ||||
| rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -r <repo>     Repository [default:${repository}]" | ||||
|     echo "    -a            Sync arch tree" | ||||
|     echo "    -s            Sync artix tree" | ||||
|     echo "    -c            Compare artix and arch versions" | ||||
|     echo '    -i            Import arch packages' | ||||
| #     echo '    -p            Push import packages' | ||||
|     echo '    -p <pkg>      Package name' | ||||
|     echo "    -s            Clone or pull repos" | ||||
|     echo '    -c            Compare packages' | ||||
|     echo '    -u            Show upgrade packages' | ||||
|     echo '    -d            Show downgrade packages' | ||||
|     echo '    -a            Show artix specific packages' | ||||
|     echo '    -i            Import from arch packages' | ||||
|     echo '    -j            Import from arch community' | ||||
|     echo '    -q            Query settings' | ||||
|     echo '    -h            This help' | ||||
|     echo '' | ||||
| @@ -75,17 +223,18 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| # opts='r:aipscqh' | ||||
| opts='r:aiscqh' | ||||
| opts='p:csudaijqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         r) repository="$OPTARG" ;; | ||||
|         a) arch=true ;; | ||||
|         s) artix=true ;; | ||||
|         p) package="$OPTARG" ;; | ||||
|         s) sync=true ;; | ||||
|         c) compare=true ;; | ||||
|         i) import_arch=true ;; | ||||
| #         p) gitpush=true ;; | ||||
|         u) upgrades=false ;; | ||||
|         d) downgrades=true ;; | ||||
|         a) artix=true ;; | ||||
|         i) import_packages=true ;; | ||||
|         j) import_community=true; git_artix='packages-galaxy'; git_arch='community' ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
| @@ -96,14 +245,15 @@ shift $(($OPTIND - 1)) | ||||
|  | ||||
| prepare_dir "${tree_dir_artix}" | ||||
| prepare_dir "${tree_dir_arch}" | ||||
| prepare_dir "${patches_dir}/${repository}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${artix} && sync_tree_artix | ||||
| ${sync} && sync_repos | ||||
|  | ||||
| ${arch} && sync_tree_arch | ||||
| ${compare} && show_version_table | ||||
|  | ||||
| ${compare} && show_version_table "${repository}" | ||||
| ${artix} && show_artix_table | ||||
|  | ||||
| ${import_arch} && import_from_arch "${repository}" #"${gitpush}" | ||||
| ${import_packages} && from_arch "${package}" "${git_arch}" "${git_artix}" | ||||
|  | ||||
| ${import_community} && from_arch "${package}" "${git_arch}" "${git_artix}" | ||||
|   | ||||
| @@ -1,318 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
| SYSCONFDIR='@sysconfdir@' | ||||
| DATADIR='@datadir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| get_local_head(){ | ||||
|     echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1) | ||||
| } | ||||
|  | ||||
| get_remote_head(){ | ||||
|     echo $(git ls-remote origin -h refs/heads/$1 | cut -f1) | ||||
| } | ||||
|  | ||||
| is_dirty() { | ||||
|     [[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| is_untracked(){ | ||||
|     [[ $(git ls-files --others --exclude-standard)  != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pull_tree(){ | ||||
|     local branch="master" tree="$1" | ||||
|     local local_head=$(get_local_head "$branch") | ||||
|     local remote_head=$(get_remote_head "$branch") | ||||
|     local timer=$(get_timer) | ||||
|     msg "Checking [%s] ..." "$tree" | ||||
|     msg2 "local: %s" "${local_head}" | ||||
|     msg2 "remote: %s" "${remote_head}" | ||||
|     if [[ "${local_head}" == "${remote_head}" ]]; then | ||||
|         info "nothing to do" | ||||
|     else | ||||
|         info "needs pull" | ||||
|         git pull origin $branch | ||||
|     fi | ||||
|     msg "Done [%s]" "$tree" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| clone_tree(){ | ||||
|     local timer=$(get_timer) tree="$1" host_tree="$2" | ||||
|     msg "Preparing [%s] ..." "$tree" | ||||
|     info "clone" | ||||
|     git clone $host_tree.git | ||||
|     msg "Done [%s]" "$tree" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| pull_tree_arch(){ | ||||
|     cd ${tree_dir_arch} | ||||
|     for tree in packages community;do | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 pull_tree "${tree}" | ||||
|             cd .. | ||||
|         else | ||||
|             clone_tree "${tree}" "${host_tree_arch}/${tree}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| pull_tree_artix(){ | ||||
|     cd ${tree_dir_artix} | ||||
|     for tree in packages packages-galaxy;do | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 git config --bool pull.rebase true | ||||
|                 pull_tree "${tree}" | ||||
|             cd .. | ||||
|         else | ||||
|             clone_tree "${tree}" "${host_tree_artix}/${tree}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| read_import_list(){ | ||||
|     local tree="$1" | ||||
|     local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" | ||||
|     import_list=$(sed "$_com_rm" "${list_dir_import}/$tree.list" | sed "$_space" | sed "$_clean") | ||||
| } | ||||
|  | ||||
| patch_pkg(){ | ||||
|     local pkg="$1" repo="$2" | ||||
|     case $pkg in | ||||
|         'glibc') | ||||
|             sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \ | ||||
|                 -e '/nscd.service/d' \ | ||||
|                 -i $pkg/$repo/PKGBUILD | ||||
|             sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \ | ||||
|                 -e '/nscd.service/d' \ | ||||
|                 -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'tp_smapi'|'acpi_call'|'r8168') | ||||
|             sed -e 's|-ARCH|-ARTIX|g' -i $pkg/$repo/PKGBUILD | ||||
|             sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| get_import_path(){ | ||||
|     local tree="$1" import_path= | ||||
|     case $tree in | ||||
|         packages) import_path=${tree_dir_arch}/packages ;; | ||||
|         packages-galaxy) import_path=${tree_dir_arch}/community ;; | ||||
|     esac | ||||
|     echo $import_path | ||||
| } | ||||
|  | ||||
| find_repo(){ | ||||
|     local pkg="$1" repo= | ||||
|      | ||||
|     if [[ -d $pkg/repos/core-x86_64 ]];then | ||||
|         repo=core-x86_64 | ||||
|     elif [[ -d $pkg/repos/core-any ]];then | ||||
|         repo=core-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/extra-x86_64 ]];then | ||||
|         repo=extra-x86_64 | ||||
|     elif [[ -d $pkg/repos/extra-any ]];then | ||||
|         repo=extra-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/testing-x86_64 ]];then | ||||
|         repo=testing-x86_64 | ||||
|     elif [[ -d $pkg/repos/testing-any ]];then | ||||
|         repo=testing-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/staging-x86_64 ]];then | ||||
|         repo=staging-x86_64   | ||||
|     elif [[ -d $pkg/repos/staging-any ]];then | ||||
|         repo=staging-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/community-x86_64 ]];then | ||||
|         repo=community-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-any ]];then | ||||
|         repo=community-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/community-testing-x86_64 ]];then | ||||
|         repo=community-testing-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-testing-any ]];then | ||||
|         repo=community-testing-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/community-staging-x86_64 ]];then | ||||
|         repo=community-staging-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-staging-any ]];then | ||||
|         repo=community-staging-any | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/multilib-x86_64 ]];then | ||||
|         repo=multilib-x86_64 | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then | ||||
|         repo=multilib-testing-x86_64 | ||||
|     fi | ||||
|      | ||||
|     if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then | ||||
|         repo=multilib-staging-x86_64 | ||||
|     fi | ||||
|      | ||||
|     echo $repo | ||||
| } | ||||
|  | ||||
| show_version_table(){ | ||||
|     local tree="$1" | ||||
|     declare -A UPDATES | ||||
|     msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version" | ||||
|     for pkg in ${tree_dir_artix}/$tree/*; do | ||||
|         local artixrepo=$(find_repo "$pkg") | ||||
|         if [[ -f $pkg/repos/$artixrepo/PKGBUILD ]];then | ||||
|             source $pkg/repos/$artixrepo/PKGBUILD 2>/dev/null | ||||
|             package=${pkg##*/} | ||||
|             cd $pkg/repos/$artixrepo | ||||
|             artixver=$(get_full_version $package) | ||||
|             local src=$(get_import_path "$tree" "$package") | ||||
|             local archrepo=$(find_repo "$src/$package") | ||||
|             if [[ -f $src/$package/repos/$archrepo/PKGBUILD ]];then | ||||
|                 source $src/$package/repos/$archrepo/PKGBUILD 2>/dev/null | ||||
|                 cd $src/$package/repos/$archrepo | ||||
|                 archver=$(get_full_version $package) | ||||
|                  | ||||
|             fi | ||||
|             if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|                 UPDATES[$package]="$pkg/repos/$artixrepo/PKGBUILD $src/$package/repos/$archrepo/PKGBUILD" | ||||
|                 msg_row_update "%-30s %-30s %-30s %-30s" "${archrepo%-*}" "$package" "$artixver" "$archver" | ||||
|             fi | ||||
|             unset pkgver epoch pkgrel artixver archver package | ||||
|         fi | ||||
|     done | ||||
|     find "${patches_dir}/$tree/" -name *.patch -delete | ||||
|     for upd in "${!UPDATES[@]}"; do | ||||
|         msg "Writing %s update patch ..." "$upd" | ||||
|         diff -u ${UPDATES[$upd]} > ${patches_dir}/$tree/"$upd"-archlinux.patch | ||||
|     done | ||||
| } | ||||
|  | ||||
| import_from_arch(){ | ||||
|     local timer=$(get_timer) tree="$1" | ||||
|     read_import_list "$tree" | ||||
|     if [[ -n ${import_list[@]} ]];then | ||||
|         cd ${tree_dir_artix}/$tree | ||||
|         for pkg in ${import_list[@]};do | ||||
|             local src=$(get_import_path "$tree") | ||||
|             local dest=${tree_dir_artix}/$tree | ||||
|             rsync "${rsync_args[@]}"  $src/$pkg/ $dest/$pkg/ | ||||
|             local repo=$(find_repo "$pkg") | ||||
|             source $src/$pkg/repos/$repo/PKGBUILD 2>/dev/null | ||||
|             local ver=$(get_full_version $pkg) | ||||
|             msg "Repo: [%s] Package: %s-%s" "$repo" "$pkg" "$ver" | ||||
|              | ||||
|             patch_pkg "$pkg" "repos/$repo" | ||||
|             unset pkgver epoch pkgrel ver | ||||
|         done | ||||
|     fi | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| sync_repos(){    | ||||
|     pull_tree_arch | ||||
|     pull_tree_artix | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "git_tree: %s" "${git_tree}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "sync: %s" "${sync}" | ||||
|     msg2 "import_arch: %s" "${import_arch}" | ||||
|     msg2 "compare: %s" "${compare}" | ||||
|      | ||||
|     msg "PATHS:" | ||||
|     msg2 "tree_dir_artix: %s" "${tree_dir_artix}" | ||||
|     msg2 "tree_dir_arch: %s" "${tree_dir_arch}" | ||||
|     msg2 "patches_dir: %s" "${patches_dir}/${git_tree}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| pretend=false | ||||
| sync=false | ||||
| import_arch=false | ||||
| compare=false | ||||
| move=false | ||||
| git_tree='packages' | ||||
|  | ||||
| rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -g <git>      Git repo [default:${git_tree}]" | ||||
|     echo "    -s            Sync repos" | ||||
|     echo '    -i            Import arch packages' | ||||
|     echo '    -c            Compare packages' | ||||
|     echo '    -q            Query settings' | ||||
|     echo '    -h            This help' | ||||
|     echo '' | ||||
|     echo '' | ||||
|     exit $1 | ||||
| } | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='g:sciqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         g) git_tree="$OPTARG" ;; | ||||
|         s) sync=true ;; | ||||
|         i) import_arch=true ;; | ||||
|         c) compare=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
|     esac | ||||
| done | ||||
|  | ||||
| shift $(($OPTIND - 1)) | ||||
|  | ||||
| prepare_dir "${tree_dir_artix}" | ||||
| prepare_dir "${tree_dir_arch}" | ||||
| prepare_dir "${patches_dir}/${git_tree}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${sync} && sync_repos | ||||
|  | ||||
| ${compare} && show_version_table "${git_tree}" | ||||
|  | ||||
| ${import_arch} && import_from_arch "${git_tree}" | ||||
| @@ -11,6 +11,8 @@ | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| chroot_version=@chroot_version@ | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| @@ -92,6 +94,7 @@ copy_hostconf () { | ||||
|  | ||||
| chroot_extra_mount() { | ||||
|     chroot_mount "/etc/resolv.conf" "$1/etc/resolv.conf" -B | ||||
|     chroot_mount "/etc/hosts" "$1/etc/hosts" -B | ||||
|     chroot_mount_conditional "[[ -e $1/etc/machine-id ]]" "/etc/machine-id" "$1/etc/machine-id" -B | ||||
|     chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B | ||||
|  | ||||
| @@ -113,8 +116,8 @@ umask 0022 | ||||
| # Sanity check | ||||
| if [[ ! -f "$working_dir/.artools" ]]; then | ||||
|     die "'%s' does not appear to be an artix chroot." "$working_dir" | ||||
| elif [[ $(cat "$working_dir/.artools") != $version ]]; then | ||||
|     die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$version" | ||||
| elif [[ $(cat "$working_dir/.artools") != $chroot_version ]]; then | ||||
|     die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$chroot_version" | ||||
| fi | ||||
|  | ||||
| chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}" | ||||
|   | ||||
							
								
								
									
										156
									
								
								bin/commitpkg.in
									
									
									
									
									
								
							
							
						
						
									
										156
									
								
								bin/commitpkg.in
									
									
									
									
									
								
							| @@ -19,10 +19,154 @@ DATADIR='@datadir@' | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| move_pkg(){ | ||||
|     local pkg="$1" src_repo="$2" dest_repo="$3" tree="$4" | ||||
|     cd ${tree_dir_artix}/$tree/$pkg/repos | ||||
|     git mv --force $src_repo $dest_repo | ||||
|     git add -u $dest_repo | ||||
|     git commit -m "Move '$pkg' from [$src_repo] to [$dest_repo]" | ||||
| commit_pkg(){ | ||||
|     local git_tree=$(find_tree "${tree_dir_artix}" "${package}") | ||||
|     if [[ -n ${git_tree} ]];then | ||||
|         cd ${tree_dir_artix}/${git_tree} | ||||
|  | ||||
|         msg "Checking (%s)" "${git_tree}" | ||||
|         pull_tree | ||||
|  | ||||
|         cd ${package} | ||||
|  | ||||
|         source trunk/PKGBUILD | ||||
|         [[ $arch == 'any' ]] && CARCH=any | ||||
|         local ver=$(get_full_version "${package}") | ||||
|  | ||||
|         if ${remove};then | ||||
|             local action='remove' | ||||
|             if [[ "${source_repo}" == 'trunk' ]];then | ||||
|                 local pkg=${package} | ||||
|                 git rm -r trunk | ||||
|             else | ||||
|                 local pkg=${package}-$ver | ||||
|                 git rm -r repos/${source_repo}-$CARCH | ||||
|             fi | ||||
|             msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}" | ||||
|             git commit -m "[${source_repo}] '$pkg' ${action}" | ||||
|             ${push} && push_tree | ||||
|         else | ||||
|             local action='modify' | ||||
|             msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}" | ||||
|             git add . | ||||
|             git commit -m "[${source_repo}] '${package}-$ver' ${action}" | ||||
|             ${push} && push_tree | ||||
|         fi | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| symlink_commit_pkg(){ | ||||
|     local git_tree=$(find_tree "${tree_dir_artix}" "${package}") | ||||
|     if [[ -n ${git_tree} ]];then | ||||
|         cd ${tree_dir_artix}/${git_tree} | ||||
|  | ||||
|         msg "Checking (%s)" "${git_tree}" | ||||
|         pull_tree | ||||
|  | ||||
|         cd ${package} | ||||
|  | ||||
|         source trunk/PKGBUILD | ||||
|         [[ $arch == 'any' ]] && CARCH=any | ||||
|         local ver=$(get_full_version "${package}") | ||||
|  | ||||
|         if [[ ${source_repo} == 'trunk' ]];then | ||||
|             local action='add' | ||||
|             local dest=${target_repo}-$CARCH | ||||
|  | ||||
|             [[ ! -d repos ]] && mkdir repos | ||||
|             cd repos | ||||
|                 [[ -d $dest ]] && git rm -r $dest | ||||
|             cd .. | ||||
|             cp -r trunk repos/$dest | ||||
|         else | ||||
|             local action='move' | ||||
|             local dest=${target_repo}-$CARCH | ||||
|  | ||||
|             cd repos | ||||
|                 [[ -d $dest ]] && git rm -r $dest | ||||
|                 git mv ${source_repo}-$CARCH $dest | ||||
|             cd .. | ||||
|         fi | ||||
|  | ||||
|         msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}" | ||||
|         git add . | ||||
|         git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}" | ||||
|         ${push} && push_tree | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "source_repo: %s" "${source_repo}" | ||||
|     msg2 "target_repo: %s" "${target_repo}" | ||||
|     msg2 "package: %s" "${package}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "remove: %s" "${remove}" | ||||
|     msg2 "push: %s" "${push}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" | ||||
| load_vars /etc/makepkg.conf | ||||
|  | ||||
| source_repo='trunk' | ||||
| package='' | ||||
| remove=false | ||||
| push=false | ||||
| pretend=false | ||||
|  | ||||
| cmd=${0##*/} | ||||
| target_repo=${cmd%pkg} | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -s <name>          Source repository [default:${source_repo}]" | ||||
|     echo '    -p <pkg>           Package name' | ||||
|     echo '    -r                 Delete from repo (commitpkg only)' | ||||
|     echo '    -u                 Push' | ||||
|     echo '    -q                 Query settings and pretend' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
|     echo '' | ||||
|     exit $1 | ||||
| } | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:s:urqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         s) source_repo="$OPTARG" ;; | ||||
|         p) package="$OPTARG" ;; | ||||
|         r) remove=true ;; | ||||
|         u) push=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
|     esac | ||||
| done | ||||
|  | ||||
| shift $(($OPTIND - 1)) | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| if $(is_valid_repo "${source_repo}");then | ||||
|     if [[ "${cmd}" == 'commitpkg' ]];then | ||||
|         commit_pkg | ||||
|     else | ||||
|         symlink_commit_pkg | ||||
|     fi | ||||
| else | ||||
|     error "source repository '%s' is not valid!" "${source_repo}" | ||||
| fi | ||||
|   | ||||
| @@ -16,7 +16,44 @@ SYSCONFDIR='@sysconfdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg-publish.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| del_from_repo(){ | ||||
|     local ver | ||||
|     local repo="$1" | ||||
|     local repo_path=${repos_root}/$repo/os/${target_arch} | ||||
|     source PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then | ||||
|             info "pkgfile: %s" "${pkgfile##*/}" | ||||
|             repo-remove -R $repo_path/$repo.db.tar.xz $name | ||||
|             [[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/} | ||||
|             [[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| add_to_repo(){ | ||||
|     local ver pkgfile= | ||||
|     local repo="$1" | ||||
|     local repo_path=${repos_root}/$repo/os/${target_arch} | ||||
|     source PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then | ||||
|             info "pkgfile: %s" "${pkgfile##*/}" | ||||
|             if ${sign_pkg};then | ||||
|                 [[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig | ||||
|                 signfile ${pkgfile} | ||||
|             fi | ||||
|             ln -sf ${pkgfile}{,.sig} $repo_path/ | ||||
|             repo-add -R $repo_path/$repo.db.tar.xz $pkgfile | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
| @@ -24,14 +61,11 @@ display_settings(){ | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|     msg2 "to_repository: %s" "${to_repository}" | ||||
|     msg2 "package: %s" "${package[@]}" | ||||
|     msg2 "target_arch: %s" "${target_arch}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "add_pkg: %s" "${add_pkg}" | ||||
|     msg2 "del_pkg: %s" "${del_pkg}" | ||||
|     msg2 "move_pkg: %s" "${move_pkg}" | ||||
|     msg2 "sign_pkg: %s" "${sign_pkg}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
| @@ -43,22 +77,15 @@ load_vars /etc/makepkg.conf | ||||
| pretend=false | ||||
| add_pkg=false | ||||
| del_pkg=false | ||||
| move_pkg=false | ||||
| package='' | ||||
| repository=${PWD##*/} | ||||
| to_repository=${PWD##*/} | ||||
|  | ||||
| rsync_args=(-rtxisP --progress --delete -e ssh) | ||||
| repository= | ||||
| sign_pkg=false | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -a                 Repository arch [default:${target_arch}]" | ||||
|     echo "    -r                 Repository [default:${repository}]" | ||||
|     echo "    -t                 Repository to move to [default:${to_repository}]" | ||||
|     echo "    -p                 Package name to add/delete" | ||||
|     echo '    -x                 Add package to repository' | ||||
|     echo '    -y                 Delete package from repository' | ||||
|     echo '    -m                 Move packages from source to destination repository' | ||||
|     echo "    -d                 Destination repository [default:${repository}]" | ||||
|     echo '    -a                 Add package to repository' | ||||
|     echo '    -r                 Remove package from repository' | ||||
|     echo '    -s                 Sign package' | ||||
|     echo '    -q                 Query settings and pretend upload' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
| @@ -68,17 +95,14 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:a:r:t:xymqh' | ||||
| opts='d:arsqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         a) target_arch="$OPTARG" ;; | ||||
|         r) repository="$OPTARG" ;; | ||||
|         p) package="$OPTARG" ;; | ||||
|         t) to_repository="$OPTARG" ;; | ||||
|         m) move_pkg=true ;; | ||||
|         x) add_pkg=true ;; | ||||
|         y) del_pkg=true ;; | ||||
|         d) repository="$OPTARG" ;; | ||||
|         a) add_pkg=true ;; | ||||
|         r) del_pkg=true ;; | ||||
|         s) sign_pkg=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
| @@ -87,16 +111,12 @@ done | ||||
|  | ||||
| shift $(($OPTIND - 1)) | ||||
|  | ||||
| timer_start=$(get_timer) | ||||
|  | ||||
| prepare_dir "${repos_root}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${move_pkg} && move_to_repo "${repository}" "${to_repository}" "${target_arch}" | ||||
| ${del_pkg} && del_from_repo "${repository}" | ||||
|  | ||||
| ${del_pkg} && del_from_repo "${repository}" "${target_arch}" "${package}" | ||||
|  | ||||
| ${add_pkg} && add_to_repo "${repository}" "${target_arch}" "${package}" | ||||
| ${add_pkg} && add_to_repo "${repository}" | ||||
|  | ||||
| exit 0 | ||||
|   | ||||
| @@ -1,118 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
| SYSCONFDIR='@sysconfdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| del_from_repo(){ | ||||
|     local ver | ||||
|     local repo="$1" | ||||
|     local repo_path=${repos_root}/$repo/os/${target_arch} | ||||
|     source PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then | ||||
|             info "pkgfile: %s" "${pkgfile##*/}" | ||||
|             repo-remove -R $repo_path/$repo.db.tar.xz $name | ||||
|             rm -v $repo_path/${pkgfile##*/}{,.sig} | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| add_to_repo(){ | ||||
|     local ver pkgfile= | ||||
|     local repo="$1" | ||||
|     local repo_path=${repos_root}/$repo/os/${target_arch} | ||||
|     source PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then | ||||
|             info "pkgfile: %s" "${pkgfile##*/}" | ||||
|             [[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig | ||||
|             signfile ${pkgfile} | ||||
|             ln -sf ${pkgfile}{,.sig} $repo_path/ | ||||
|             repo-add -R $repo_path/$repo.db.tar.xz $pkgfile | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "add_pkg: %s" "${add_pkg}" | ||||
|     msg2 "del_pkg: %s" "${del_pkg}" | ||||
|     msg2 "move_pkg: %s" "${move_pkg}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" | ||||
| load_vars /etc/makepkg.conf | ||||
|  | ||||
| pretend=false | ||||
| add_pkg=false | ||||
| del_pkg=false | ||||
| repository= | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -d                 Destination repository [default:${repository}]" | ||||
|     echo '    -a                 Add package to repository' | ||||
|     echo '    -r                 Remove package from repository' | ||||
|     echo '    -q                 Query settings and pretend upload' | ||||
|     echo '    -h                 This help' | ||||
|     echo '' | ||||
|     echo '' | ||||
|     exit $1 | ||||
| } | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='d:arqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         d) repository="$OPTARG" ;; | ||||
|         a) add_pkg=true ;; | ||||
|         r) del_pkg=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
|     esac | ||||
| done | ||||
|  | ||||
| shift $(($OPTIND - 1)) | ||||
|  | ||||
| timer_start=$(get_timer) | ||||
|  | ||||
| prepare_dir "${repos_root}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${del_pkg} && del_from_repo "${repository}" | ||||
|  | ||||
| ${add_pkg} && add_to_repo "${repository}" | ||||
|  | ||||
| exit 0 | ||||
| @@ -1,53 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
|  | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
| import ${LIBDIR}/util-pkg-tree.sh | ||||
|  | ||||
| load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| declare -A UPDATES | ||||
| msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version" | ||||
| for repo in ${repo_tree_artix[@]}; do | ||||
|     for pkg in ${tree_dir_artix}/$repo/*; do | ||||
|         if [[ -f $pkg/PKGBUILD ]];then | ||||
|             source $pkg/PKGBUILD 2>/dev/null | ||||
|             package=${pkg##*/} | ||||
|             artixver=$(get_full_version $package) | ||||
|             src=$(get_import_path "$repo" "$package") | ||||
|             if [[ -f $src/PKGBUILD ]];then | ||||
|                 source $src/PKGBUILD 2>/dev/null | ||||
|                 archver=$(get_full_version $package) | ||||
|             fi | ||||
|             if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|                 UPDATES[$package]="$src/PKGBUILD $pkg/PKGBUILD" | ||||
|                 msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver" | ||||
|             else | ||||
|                 msg_row "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver" | ||||
|             fi | ||||
|         fi | ||||
|         unset pkgver epoch pkgrel artixver archver package | ||||
|     done | ||||
| done | ||||
|  | ||||
| for upd in "${!UPDATES[@]}"; do | ||||
|     msg "Diff: %s" "$upd" | ||||
|     diff -u ${UPDATES[$upd]} | ||||
| done | ||||
| @@ -11,6 +11,8 @@ | ||||
|  | ||||
| version=@version@ | ||||
|  | ||||
| chroot_version=@chroot_version@ | ||||
|  | ||||
| LIBDIR='@libdir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| @@ -104,7 +106,7 @@ done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$') | ||||
| env -i "${_env[@]}" \ | ||||
| basestrap "${basestrap_args[@]}" "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages' | ||||
|  | ||||
| echo "$version" > "$working_dir/.artools" | ||||
| echo "$chroot_version" > "$working_dir/.artools" | ||||
|  | ||||
| default_locale "set" "$working_dir" | ||||
|  | ||||
|   | ||||
| @@ -199,9 +199,16 @@ EOF | ||||
| # These functions aren't run in makechrootpkg, | ||||
| # so no global variables | ||||
| _chrootbuild() { | ||||
|     # No coredumps | ||||
|     ulimit -c 0 | ||||
|  | ||||
|     exec </dev/console | ||||
|     export LANG=en_US.UTF-8 | ||||
|  | ||||
|     . /etc/profile | ||||
|  | ||||
|     export LANG=en_US.UTF-8 | ||||
|     locale-gen &> /dev/null | ||||
|  | ||||
|     sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@" | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,55 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # alias git=hub | ||||
|  | ||||
| super_repo=/home/artux/artools-workspace/artix/packages | ||||
|  | ||||
| copy_pkgs(){ | ||||
|     for repo in system world;do | ||||
|         local old_repo=/home/artux/artools-workspace/artix/$repo | ||||
|         cd $old_repo | ||||
|         local packages=$(find . -mindepth 1 -maxdepth 1 -type d) | ||||
|        # git checkout testing | ||||
|         for p in ${packages[@]};do | ||||
|             local pkg=${p#*/}              | ||||
|             mkdir -p $super_repo/$pkg/$repo | ||||
|         #     cp -v $pkg/* $super_repo/$pkg/trunk/ | ||||
|             cp -v $pkg/* $super_repo/$pkg/$repo/ | ||||
|         done | ||||
|     done | ||||
|     rm -r $super_repo/.git | ||||
| } | ||||
|  | ||||
| create_pkg_repo(){ | ||||
|     cd $super_repo | ||||
|     local packages=$(find . -mindepth 1 -maxdepth 1 -type d) | ||||
|     for p in ${packages[@]};do | ||||
|         local pkg=${p#*/}  | ||||
|         cd $pkg | ||||
|         git init | ||||
|         git add . | ||||
|         git commit -m "initial commit $pkg" | ||||
|         hub create artix-packages/$pkg | ||||
|         git push origin master | ||||
|         cd .. | ||||
|     done | ||||
| } | ||||
|  | ||||
| add_pkg_subtree(){ | ||||
|     for repo in system world;do | ||||
|         local old_repo=/home/artux/artools-workspace/artix/$repo | ||||
|         cd $old_repo | ||||
|         local packages=$(find . -mindepth 1 -maxdepth 1 -type d) | ||||
|         cd $super_repo | ||||
|         for p in ${packages[@]};do | ||||
|             local pkg=${p#*/}  | ||||
|             git remote add -f $pkg git@github.com:artix-packages/$pkg.git | ||||
|             git subtree add --prefix $pkg $pkg master --squash | ||||
| #             git subtree add --prefix $pkg git@github.com:artix-packages/$pkg.git master --squash | ||||
|         done | ||||
|     done | ||||
| } | ||||
|  | ||||
| # copy_pkgs | ||||
| # create_pkg_repo | ||||
| add_pkg_subtree | ||||
| @@ -22,33 +22,31 @@ pipeline { | ||||
|                     echo "currentCommit: ${currentCommit}" | ||||
|  | ||||
|                     def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n') | ||||
|                     echo "changedFilesStatus: " + changedFilesStatus | ||||
|                     def changedPkgStatus = [] | ||||
|                     def pkgPath = [] | ||||
|                     int entrySize = 0 | ||||
|                     int entryCount = 0 | ||||
|                     for ( int i = 0; i < changedFilesStatus.size(); i++ ) { | ||||
|                         def entry = changedFilesStatus[i].split() | ||||
|                         def fileStatus = entry[0] | ||||
|                         entrySize = entry.size() | ||||
|                         entryCount = entry.size() | ||||
|                         for ( int j = 1; j < entry.size(); j++ ) { | ||||
|                             if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){ | ||||
|                             if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){ | ||||
|                                 changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD') | ||||
|                                 pkgPath << entry[j].minus('/PKGBUILD') | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                      | ||||
|  | ||||
|                     int pkgCount = changedPkgStatus.size() | ||||
|                     int pkgPathCount = pkgPath.size() | ||||
|                     echo "pkgCount: ${pkgCount}" | ||||
|                     echo "pkgPath: ${pkgPath}" | ||||
|                     echo "entrySize: ${entrySize}" | ||||
|                     echo "entryCount: ${entryCount}" | ||||
|                     echo "pkgPathCount: ${pkgPathCount}" | ||||
|                     echo "changedPkgStatus: ${changedPkgStatus}" | ||||
|                      | ||||
|  | ||||
|                     if ( pkgCount > 0 ) { | ||||
|                      | ||||
|                         if ( entrySize == 2 && pkgCount == 2 ) { | ||||
|  | ||||
|                         if ( entryCount == 2 && pkgCount == 2 ) { | ||||
|                             def pkgEntry1 = changedPkgStatus[0].split() | ||||
|                             def pkgEntry2 = changedPkgStatus[1].split() | ||||
|                             def srcPath = [] | ||||
| @@ -59,78 +57,115 @@ pipeline { | ||||
|                             pkgStatus << pkgEntry2[0] | ||||
|                             def buildInfo1 = srcPath[0].tokenize('/') | ||||
|                             def buildInfo2 = srcPath[1].tokenize('/') | ||||
|                             for ( s in pkgStatus ) { | ||||
|                                 if ( s == "M" ) { | ||||
|                                     IS_ADD = 'true' | ||||
|                                     if ( srcPath[0].contains('community-testing') ) { | ||||
|                                         ADD_REPO = 'galaxy-gremlins' | ||||
|                                     } else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) { | ||||
|                                         ADD_REPO = 'galaxy' | ||||
|                                     } | ||||
|                                     if ( srcPath[0].contains('multilib-testing') ) { | ||||
|                                         ADD_REPO = 'lib32-gremlins' | ||||
|                                     } else if ( srcPath[0].contains('multilib-x86_64') ) { | ||||
|                                         ADD_REPO = 'lib32' | ||||
|                                     } | ||||
|  | ||||
|                             if ( pkgStatus[0] == "M" ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 if ( srcPath[0].contains('community-testing') ) { | ||||
|                                     ADD_REPO = 'galaxy-gremlins' | ||||
|                                 } else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) { | ||||
|                                     ADD_REPO = 'galaxy' | ||||
|                                 } | ||||
|                                 if ( s == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                     if ( srcPath[1].contains('community-testing') ) { | ||||
|                                         RM_REPO = 'galaxy-gremlins' | ||||
|                                     } else if ( srcPath[1].contains('community-x86_64') || srcPath[0].contains('community-any') ) { | ||||
|                                         RM_REPO = 'galaxy' | ||||
|                                     } | ||||
|                                     if ( srcPath[1].contains('multilib-testing') ) { | ||||
|                                         RM_REPO = 'lib32-gremlins' | ||||
|                                     } else if ( srcPath[1].contains('multilib-x86_64') ) { | ||||
|                                         RM_REPO = 'lib32' | ||||
|                                     } | ||||
|                                 if ( srcPath[0].contains('multilib-testing') ) { | ||||
|                                     ADD_REPO = 'lib32-gremlins' | ||||
|                                 } else if ( srcPath[0].contains('multilib-x86_64') ) { | ||||
|                                     ADD_REPO = 'lib32' | ||||
|                                 } | ||||
|                             } else if ( pkgStatus[1] == "M" ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 if ( srcPath[1].contains('community-testing') ) { | ||||
|                                     ADD_REPO = 'galaxy-gremlins' | ||||
|                                 } else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) { | ||||
|                                     ADD_REPO = 'galaxy' | ||||
|                                 } | ||||
|                                 if ( srcPath[1].contains('multilib-testing') ) { | ||||
|                                     ADD_REPO = 'lib32-gremlins' | ||||
|                                 } else if ( srcPath[1].contains('multilib-x86_64') ) { | ||||
|                                     ADD_REPO = 'lib32' | ||||
|                                 } | ||||
|                             } | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         }  | ||||
|  | ||||
|                         if ( entrySize == 3 && pkgCount == 2 ) { | ||||
|                             if ( pkgStatus[0] == "D" ) { | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( srcPath[0].contains('community-testing') ) { | ||||
|                                     RM_REPO = 'galaxy-gremlins' | ||||
|                                 } else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) { | ||||
|                                     RM_REPO = 'galaxy' | ||||
|                                 } | ||||
|                                 if ( srcPath[0].contains('multilib-testing') ) { | ||||
|                                     RM_REPO = 'lib32-gremlins' | ||||
|                                 } else if ( srcPath[0].contains('multilib-x86_64') ) { | ||||
|                                     RM_REPO = 'lib32' | ||||
|                                 } | ||||
|                             } else if ( pkgStatus[1] == "D" ) { | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( srcPath[1].contains('community-testing') ) { | ||||
|                                     RM_REPO = 'galaxy-gremlins' | ||||
|                                 } else if ( srcPath[1].contains('community-x86_64') || srcPath[1].contains('community-any') ) { | ||||
|                                     RM_REPO = 'galaxy' | ||||
|                                 } | ||||
|                                 if ( srcPath[1].contains('multilib-testing') ) { | ||||
|                                     RM_REPO = 'lib32-gremlins' | ||||
|                                 } else if ( srcPath[1].contains('multilib-x86_64') ) { | ||||
|                                     RM_REPO = 'lib32' | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
|  | ||||
|  | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         } | ||||
|  | ||||
|                         if ( entryCount == 3 && pkgCount == 2 ) { | ||||
|                             def pkgEntry = changedPkgStatus[0].split() | ||||
|                             def pkgStatus = pkgEntry[0] | ||||
|                             def buildInfo1 = pkgPath[0].tokenize('/') | ||||
|                             def buildInfo2 = pkgPath[1].tokenize('/') | ||||
|  | ||||
|                             if ( pkgStatus.contains('R') ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( pkgPath[0].contains('community-staging') ) { | ||||
|                                     RM_REPO = 'galaxy-goblins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[1].contains('community-testing') ) { | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('community-staging') && pkgPath[1].contains('community-testing') ) { | ||||
|                                     ADD_REPO = 'galaxy-gremlins' | ||||
|                                 } | ||||
|                                 if ( pkgPath[1].contains('community-staging') ) { | ||||
|                                     RM_REPO = 'galaxy-gremlins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[0].contains('community-testing') ) { | ||||
|                                     RM_REPO = 'galaxy-goblins' | ||||
|                                 } else if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-staging') ) { | ||||
|                                     ADD_REPO = 'galaxy-goblins' | ||||
|                                     RM_REPO = 'galaxy-gremlins' | ||||
|                                 } | ||||
|                                 if ( pkgPath[0].contains('multilib-staging') ) { | ||||
|                                     RM_REPO = 'lib32-goblins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[1].contains('multilib-testing') ) { | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('community-testing') && pkgPath[1].contains('community-x86_64') || pkgPath[0].contains('community-any') ) { | ||||
|                                     ADD_REPO = 'galaxy-gremlins' | ||||
|                                     RM_REPO = 'galaxy' | ||||
|                                 } else if ( pkgPath[0].contains('community-x86_64') || pkgPath[0].contains('community-any') && pkgPath[1].contains('community-testing') ) { | ||||
|                                     ADD_REPO = 'galaxy' | ||||
|                                     RM_REPO = 'galaxy-gremlins' | ||||
|                                 } | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('multilib-staging') && pkgPath[1].contains('multilib-testing') ) { | ||||
|                                     ADD_REPO = 'lib32-gremlins' | ||||
|                                 } | ||||
|                                 if ( pkgPath[1].contains('multilib-staging') ) { | ||||
|                                     RM_REPO = 'lib32-gremlins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[0].contains('multilib-testing') ) { | ||||
|                                     RM_REPO = 'lib32-goblins' | ||||
|                                 } else if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-staging') ) { | ||||
|                                     ADD_REPO = 'lib32-goblins' | ||||
|                                     RM_REPO = 'lib32-gremlins' | ||||
|                                 } | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('multilib-testing') && pkgPath[1].contains('multilib-x86_64') ) { | ||||
|                                     ADD_REPO = 'lib32' | ||||
|                                     RM_REPO = 'lib32-gremlins' | ||||
|                                 } else if ( pkgPath[0].contains('multilib-x86_64') && pkgPath[1].contains('multilib-testing') ) { | ||||
|                                     ADD_REPO = 'lib32-gremlins' | ||||
|                                     RM_REPO = 'lib32' | ||||
|                                 } | ||||
|                             } | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         }  | ||||
|                      | ||||
|                         } | ||||
|  | ||||
|                         if ( pkgCount == 1 ) { | ||||
|                             def pkgEntry = changedPkgStatus[0].split() | ||||
|                             def pkgStatus = pkgEntry[0] | ||||
|                             def srcPath = pkgEntry[1] | ||||
|                             def buildInfo = srcPath.tokenize('/') | ||||
|  | ||||
|                             if ( srcPath.contains('community-staging') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
| @@ -190,7 +225,7 @@ pipeline { | ||||
|                             PKG_PATH = srcPath | ||||
|                             PKG_TRUNK = buildInfo[0] + '/trunk' | ||||
|                         } | ||||
|                      | ||||
|  | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @@ -204,13 +239,13 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_PATH}") { | ||||
|                     echo "buildpkg2 -r ${ADD_REPO}" | ||||
|                     sh "buildpkg -r ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|             post { | ||||
|                 success { | ||||
|                     dir("${PKG_PATH}") { | ||||
|                         echo "deploypkg2 -a -d ${ADD_REPO}" | ||||
|                         sh "deploypkg -a -d ${ADD_REPO} -s" | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @@ -221,7 +256,7 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     echo "deploypkg2 -a -d ${ADD_REPO}" | ||||
|                     sh "deploypkg -a -d ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @@ -231,7 +266,7 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     echo "deploypkg2 -r -d ${RM_REPO}" | ||||
|                     sh "deploypkg -r -d ${RM_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -22,33 +22,31 @@ pipeline { | ||||
|                     echo "currentCommit: ${currentCommit}" | ||||
|  | ||||
|                     def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n') | ||||
|                     echo "changedFilesStatus: " + changedFilesStatus | ||||
|                     def changedPkgStatus = [] | ||||
|                     def pkgPath = [] | ||||
|                     int entrySize = 0 | ||||
|                     int entryCount = 0 | ||||
|                     for ( int i = 0; i < changedFilesStatus.size(); i++ ) { | ||||
|                         def entry = changedFilesStatus[i].split() | ||||
|                         def fileStatus = entry[0] | ||||
|                         entrySize = entry.size() | ||||
|                         entryCount = entry.size() | ||||
|                         for ( int j = 1; j < entry.size(); j++ ) { | ||||
|                             if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){ | ||||
|                             if ( entry[j].contains('/PKGBUILD') && entry[j].contains('/repos') ){ | ||||
|                                 changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD') | ||||
|                                 pkgPath << entry[j].minus('/PKGBUILD') | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                      | ||||
|  | ||||
|                     int pkgCount = changedPkgStatus.size() | ||||
|                     int pkgPathCount = pkgPath.size() | ||||
|                     echo "pkgCount: ${pkgCount}" | ||||
|                     echo "pkgPath: ${pkgPath}" | ||||
|                     echo "entrySize: ${entrySize}" | ||||
|                     echo "entryCount: ${entryCount}" | ||||
|                     echo "pkgPathCount: ${pkgPathCount}" | ||||
|                     echo "changedPkgStatus: ${changedPkgStatus}" | ||||
|                      | ||||
|  | ||||
|                     if ( pkgCount > 0 ) { | ||||
|                      | ||||
|                         if ( entrySize == 2 && pkgCount == 2 ) { | ||||
|  | ||||
|                         if ( entryCount == 2 && pkgCount == 2 ) { | ||||
|                             def pkgEntry1 = changedPkgStatus[0].split() | ||||
|                             def pkgEntry2 = changedPkgStatus[1].split() | ||||
|                             def srcPath = [] | ||||
| @@ -59,60 +57,101 @@ pipeline { | ||||
|                             pkgStatus << pkgEntry2[0] | ||||
|                             def buildInfo1 = srcPath[0].tokenize('/') | ||||
|                             def buildInfo2 = srcPath[1].tokenize('/') | ||||
|                             for ( s in pkgStatus ) { | ||||
|                                 if ( s == "M" ) { | ||||
|                                     IS_ADD = 'true' | ||||
|                                     if ( srcPath[0].contains('testing') ) { | ||||
|                                         ADD_REPO = 'gremlins' | ||||
|                                     } else if ( srcPath[0].contains('core') ) { | ||||
|                                         ADD_REPO = 'system' | ||||
|                                     } else if ( srcPath[0].contains('extra') ) { | ||||
|                                         ADD_REPO = 'world' | ||||
|                                     } | ||||
|  | ||||
|                             if ( pkgStatus[0] == 'M' ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 if ( srcPath[0].contains('testing') ) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                 } else if ( srcPath[0].contains('core') ) { | ||||
|                                     ADD_REPO = 'system' | ||||
|                                 } else if ( srcPath[0].contains('extra') ) { | ||||
|                                     ADD_REPO = 'world' | ||||
|                                 } | ||||
|                                 if ( s == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                     if ( srcPath[1].contains('testing') ) { | ||||
|                                         RM_REPO = 'gremlins' | ||||
|                                     } else if ( srcPath[1].contains('core') ) { | ||||
|                                         RM_REPO = 'system' | ||||
|                                     } else if ( srcPath[1].contains('extra') ) { | ||||
|                                         RM_REPO = 'world' | ||||
|                                     } | ||||
|                             } else if ( pkgStatus[1] == 'M' ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 if ( srcPath[1].contains('testing') ) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                 } else if ( srcPath[1].contains('core') ) { | ||||
|                                     ADD_REPO = '' | ||||
|                                 } else if ( srcPath[1].contains('extra') ) { | ||||
|                                     ADD_REPO = 'world' | ||||
|                                 } | ||||
|                             } | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         }  | ||||
|  | ||||
|                         if ( entrySize == 3 && pkgCount == 2 ) { | ||||
|                             if ( pkgStatus[0] == 'D' ) { | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( srcPath[0].contains('testing') ) { | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 } else if ( srcPath[0].contains('core') ) { | ||||
|                                     RM_REPO = 'system' | ||||
|                                 } else if ( srcPath[0].contains('extra') ) { | ||||
|                                     RM_REPO = 'world' | ||||
|                                 } | ||||
|                             } else if ( pkgStatus[1] == 'D' ) { | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( srcPath[1].contains('testing') ) { | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 } else if ( srcPath[1].contains('core') ) { | ||||
|                                     RM_REPO = 'system' | ||||
|                                 } else if ( srcPath[1].contains('extra') ) { | ||||
|                                     RM_REPO = 'world' | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         } | ||||
|  | ||||
|                         if ( entryCount == 3 && pkgCount == 2 ) { | ||||
|                             def pkgEntry = changedPkgStatus[0].split() | ||||
|                             def pkgStatus = pkgEntry[0] | ||||
|                             def buildInfo1 = pkgPath[0].tokenize('/') | ||||
|                             def buildInfo2 = pkgPath[1].tokenize('/') | ||||
|  | ||||
|                             if ( pkgStatus.contains('R') ) { | ||||
|                                 IS_ADD = 'true' | ||||
|                                 IS_REMOVE = 'true' | ||||
|                                 if ( pkgPath[0].contains('staging') ) { | ||||
|                                     RM_REPO = 'goblins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[1].contains('testing') ) { | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('staging') && pkgPath[1].contains('testing') ) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                 } | ||||
|                                 if ( pkgPath[1].contains('staging') ) { | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 }  | ||||
|                                 if ( pkgPath[0].contains('testing') ) { | ||||
|                                     RM_REPO = 'goblins' | ||||
|                                 } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('staging') ) { | ||||
|                                     ADD_REPO = 'goblins' | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 } | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('core') && pkgPath[1].contains('testing')) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                     RM_REPO = 'system' | ||||
|                                 } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('core')) { | ||||
|                                     ADD_REPO = 'system' | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 } | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('extra') && pkgPath[1].contains('testing')) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                     RM_REPO = 'world' | ||||
|                                 } else if ( pkgPath[0].contains('testing') && pkgPath[1].contains('extra')) { | ||||
|                                     ADD_REPO = 'world' | ||||
|                                     RM_REPO = 'gremlins' | ||||
|                                 } | ||||
|  | ||||
|                                 if ( pkgPath[0].contains('core') && pkgPath[1].contains('extra')) { | ||||
|                                     ADD_REPO = 'world' | ||||
|                                     RM_REPO = 'system' | ||||
|                                 } else if ( pkgPath[0].contains('extra') && pkgPath[1].contains('core')) { | ||||
|                                     ADD_REPO = 'system' | ||||
|                                     RM_REPO = 'world' | ||||
|                                 } | ||||
|                             } | ||||
|                             PKG_TRUNK = buildInfo1[0] + '/trunk' | ||||
|                         }  | ||||
|                      | ||||
|                         } | ||||
|  | ||||
|                         if ( pkgCount == 1 ) { | ||||
|                             def pkgEntry = changedPkgStatus[0].split() | ||||
|                             def pkgStatus = pkgEntry[0] | ||||
|                             def srcPath = pkgEntry[1] | ||||
|                             def buildInfo = srcPath.tokenize('/') | ||||
|  | ||||
|                             if ( srcPath.contains('staging') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
| @@ -153,7 +192,7 @@ pipeline { | ||||
|                             PKG_PATH = srcPath | ||||
|                             PKG_TRUNK = buildInfo[0] + '/trunk' | ||||
|                         } | ||||
|                      | ||||
|  | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @@ -167,13 +206,13 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_PATH}") { | ||||
|                     echo "buildpkg2 -r ${ADD_REPO}" | ||||
|                     sh "buildpkg -r ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|             post { | ||||
|                 success { | ||||
|                     dir("${PKG_PATH}") { | ||||
|                         echo "deploypkg2 -a -d ${ADD_REPO}" | ||||
|                         sh "deploypkg -a -d ${ADD_REPO} -s" | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @@ -184,7 +223,7 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     echo "deploypkg2 -a -d ${ADD_REPO}" | ||||
|                     sh "deploypkg -a -d ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @@ -194,7 +233,7 @@ pipeline { | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     echo "deploypkg2 -r -d ${RM_REPO}" | ||||
|                     sh "deploypkg -r -d ${RM_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -12,14 +12,8 @@ | ||||
| ################ artools-pkg ################ | ||||
| ############################################# | ||||
|  | ||||
| # to be removed | ||||
| # repo_tree_artix=('packages' 'galaxy') | ||||
|  | ||||
| # host_tree_artix='https://github.com/artix-linux' | ||||
|  | ||||
| # to be removed | ||||
| # repo_tree_arch=('packages' 'community') | ||||
|  | ||||
| # host_tree_arch=git://projects.archlinux.org/svntogit | ||||
|  | ||||
| # default repos root | ||||
|   | ||||
| @@ -1,32 +0,0 @@ | ||||
| autoconf-archive | ||||
| cmocka | ||||
| confuse | ||||
| dovecot | ||||
| hub | ||||
| hwinfo | ||||
| jansson | ||||
| libappindicator | ||||
| libbson | ||||
| libdbi | ||||
| libdbusmenu | ||||
| libftdi | ||||
| libindicator | ||||
| libmongoc | ||||
| libnewt | ||||
| libpgm | ||||
| libreplaygain | ||||
| libsass | ||||
| libsodium | ||||
| libx86emu | ||||
| ninja | ||||
| pigeonhole | ||||
| portaudio | ||||
| sassc | ||||
| yaml-cpp | ||||
| zeromq | ||||
| # acpi_call | ||||
| # r8168 | ||||
| # tp_smapi | ||||
| # acpi_call-lts | ||||
| # r8168-lts | ||||
| # tp_smapi-lts | ||||
| @@ -1,2 +0,0 @@ | ||||
| lib32-fakeroot | ||||
| lib32-libltdl | ||||
| @@ -1,36 +0,0 @@ | ||||
| autoconf-archive | ||||
| cmocka | ||||
| confuse | ||||
| dovecot | ||||
| hub | ||||
| hwinfo | ||||
| jansson | ||||
| libappindicator | ||||
| libbson | ||||
| libdbi | ||||
| libdbusmenu | ||||
| libftdi | ||||
| libindicator | ||||
| libmongoc | ||||
| libnewt | ||||
| libpgm | ||||
| libreplaygain | ||||
| libsass | ||||
| libsodium | ||||
| libx86emu | ||||
| ninja | ||||
| pigeonhole | ||||
| portaudio | ||||
| sassc | ||||
| yaml-cpp | ||||
| zeromq | ||||
| acpi_call | ||||
| r8168 | ||||
| tp_smapi | ||||
| acpi_call-lts | ||||
| r8168-lts | ||||
| tp_smapi-lts | ||||
| virtualbox | ||||
| virtualbox-guest-iso | ||||
| lib32-fakeroot | ||||
| lib32-libltdl | ||||
| @@ -1,674 +0,0 @@ | ||||
| ### system ### | ||||
|  | ||||
| tzdata | ||||
| iana-etc | ||||
| linux-api-headers | ||||
| binutils | ||||
| glibc | ||||
| gcc | ||||
| attr | ||||
| acl | ||||
| ncurses | ||||
| readline | ||||
| # bash | ||||
| sed | ||||
| diffutils | ||||
| expat | ||||
| db | ||||
| lz4 | ||||
| lzo | ||||
| bzip2 | ||||
| gmp | ||||
| mpfr | ||||
| m4 | ||||
| gdbm | ||||
| xz | ||||
| zlib | ||||
| file | ||||
| zstd | ||||
| icu | ||||
| perl | ||||
| openssl | ||||
| openssl-1.0 | ||||
| autoconf | ||||
| automake | ||||
| dash | ||||
| bison | ||||
| ldns | ||||
| less | ||||
| libaio | ||||
| libarchive | ||||
| libassuan | ||||
| libcap | ||||
| libedit | ||||
| libevent | ||||
| libffi | ||||
| libgcrypt | ||||
| libgpg-error | ||||
| libgssglue | ||||
| libidn | ||||
| libidn2 | ||||
| libksba | ||||
| libmnl | ||||
| libmpc | ||||
| libnftnl | ||||
| libnghttp2 | ||||
| libnl | ||||
| libpcap | ||||
| libpipeline | ||||
| libpsl | ||||
| libidn2 | ||||
| librpcsecgss | ||||
| libseccomp | ||||
| libsecret | ||||
| libssh2 | ||||
| libtasn1 | ||||
| libtirpc | ||||
| libtool | ||||
| libunistring | ||||
| pcre | ||||
| glib2 | ||||
| grep | ||||
| gzip | ||||
| bridge-utils | ||||
| ca-certificates | ||||
| ca-certificates-cacert | ||||
| coreutils | ||||
| cracklib | ||||
| dialog | ||||
| ding-libs | ||||
| dnssec-anchors | ||||
| dosfstools | ||||
| e2fsprogs | ||||
| ed | ||||
| efibootmgr | ||||
| efivar | ||||
| elfutils | ||||
| fakeroot | ||||
| findutils | ||||
| flex | ||||
| gawk | ||||
| gettext | ||||
| gnutls | ||||
| gpgme | ||||
| groff | ||||
| hdparm | ||||
| hwids | ||||
| ifenslave | ||||
| iproute2 | ||||
| iputils | ||||
| iw | ||||
| jfsutils | ||||
| kbd | ||||
| keyutils | ||||
| #licenses | ||||
| links | ||||
| linux-atm | ||||
| linux-firmware | ||||
| make | ||||
| man-pages | ||||
| mkinitcpio-busybox | ||||
| mkinitcpio-nfs-utils | ||||
| nano | ||||
| nettle | ||||
| net-tools | ||||
| nfsidmap | ||||
| nilfs-utils | ||||
| npth | ||||
| nspr | ||||
| nss | ||||
| p11-kit | ||||
| patch | ||||
| pciutils | ||||
| pinentry | ||||
| pkcs11-helper | ||||
| pkg-config | ||||
| popt | ||||
| pptpclient | ||||
| procinfo-ng | ||||
| psmisc | ||||
| pth | ||||
| reiserfsprogs | ||||
| run-parts | ||||
| sdparm | ||||
| # s-nail | ||||
| sqlite | ||||
| sysfsutils | ||||
| syslinux | ||||
| tar | ||||
| texinfo | ||||
| thin-provisioning-tools | ||||
| traceroute | ||||
| usbutils | ||||
| vi | ||||
| which | ||||
| wireless-regdb | ||||
| wireless_tools | ||||
| wpa_actiond | ||||
| xfsprogs | ||||
| zd1211-firmware | ||||
| archlinux-keyring | ||||
| b43-fwcutter | ||||
| ipw2100-fw | ||||
| ipw2200-fw | ||||
| isdn4k-utils | ||||
| curl | ||||
| sudo | ||||
| argon2 | ||||
|  | ||||
|  | ||||
| ### world ### | ||||
|  | ||||
| a52dec | ||||
| aalib | ||||
| adwaita-icon-theme | ||||
| alsa-firmware | ||||
| alsa-lib | ||||
| #alsa-utils | ||||
| apr | ||||
| apr-util | ||||
| aspell | ||||
| assimp | ||||
| atk | ||||
| at-spi2-atk | ||||
| at-spi2-core | ||||
| babl | ||||
| bc | ||||
| boost | ||||
| brltty | ||||
| cairo | ||||
| cantarell-fonts | ||||
| cdparanoia | ||||
| check | ||||
| cifs-utils | ||||
| cln | ||||
| cmake | ||||
| extra-cmake-modules | ||||
| convertlit | ||||
| cpio | ||||
| dbus-glib | ||||
| dbus-python | ||||
| dcadec | ||||
| dconf | ||||
| desktop-file-utils | ||||
| dkms | ||||
| docbook-dsssl | ||||
| docbook-sgml31 | ||||
| docbook-utils | ||||
| docbook-xml | ||||
| docbook-xsl | ||||
| dotconf | ||||
| double-conversion | ||||
| doxygen | ||||
| ebook-tools | ||||
| editorconfig-core-c | ||||
| exiv2 | ||||
| faad2 | ||||
| ffmpeg | ||||
| ffmpeg2.8 | ||||
| fftw | ||||
| flac | ||||
| fontconfig | ||||
| freetype2 | ||||
| fribidi | ||||
| fuse2 | ||||
| fuse3 | ||||
| gamin | ||||
| gc | ||||
| gcab | ||||
| gconf | ||||
| gcr | ||||
| gd | ||||
| gdb | ||||
| gdk-pixbuf2 | ||||
| gegl02 | ||||
| ghostscript | ||||
| giblib | ||||
| giflib | ||||
| glade | ||||
| glib-networking | ||||
| glu | ||||
| gnome-common | ||||
| gobject-introspection | ||||
| gperf | ||||
| gperftools | ||||
| gptfdisk | ||||
| grantlee | ||||
| graphite | ||||
| graphviz | ||||
| gsettings-desktop-schemas | ||||
| gsfonts | ||||
| gsm | ||||
| gst-plugins-base | ||||
| gst-plugins-good | ||||
| gstreamer | ||||
| gtk2 | ||||
| gtk3 | ||||
| gtk-doc | ||||
| gtksourceview3 | ||||
| gts | ||||
| guile | ||||
| guile2.0 | ||||
| harfbuzz | ||||
| hicolor-icon-theme | ||||
| hunspell | ||||
| hyphen | ||||
| ijs | ||||
| ilmbase | ||||
| imagemagick | ||||
| imlib2 | ||||
| iniparser | ||||
| intltool | ||||
| iso-codes | ||||
| itstool | ||||
| jack | ||||
| jasper | ||||
| java8-openjdk | ||||
| java-common | ||||
| jbig2dec | ||||
| jemalloc | ||||
| js | ||||
| # json-c | ||||
| jsoncpp | ||||
| json-glib | ||||
| lame | ||||
| lapack | ||||
| lcms | ||||
| lcms2 | ||||
| ldb | ||||
| libaccounts-glib | ||||
| libaccounts-qt | ||||
| libao | ||||
| libass | ||||
| libasyncns | ||||
| libatomic_ops | ||||
| libavc1394 | ||||
| libbluray | ||||
| libbsd | ||||
| libburn | ||||
| libbytesize | ||||
| libcaca | ||||
| libcanberra | ||||
| libcap-ng | ||||
| libcddb | ||||
| libcdio | ||||
| libcdio-paranoia | ||||
| # libconfig | ||||
| libcroco | ||||
| libcue | ||||
| libdaemon | ||||
| libdatrie | ||||
| libdbusmenu-qt | ||||
| libdca | ||||
| libdmtx | ||||
| libdrm | ||||
| libdv | ||||
| libdvbpsi | ||||
| libdvdcss | ||||
| libdvdnav | ||||
| libdvdread | ||||
| libebml | ||||
| libepoxy | ||||
| libevdev | ||||
| libexif | ||||
| libfontenc | ||||
| libgee | ||||
| libgit2 | ||||
| libglade | ||||
| libglvnd | ||||
| libgphoto2 | ||||
| libgusb | ||||
| libical | ||||
| libice | ||||
| libid3tag | ||||
| libiec61883 | ||||
| libieee1284 | ||||
| libimobiledevice | ||||
| libiscsi | ||||
| libisoburn | ||||
| libisofs | ||||
| libjpeg-turbo | ||||
| liblouis | ||||
| liblqr | ||||
| libmad | ||||
| libmatroska | ||||
| libmng | ||||
| libmodplug | ||||
| libmpeg2 | ||||
| libmspack | ||||
| libmtp | ||||
| libndp | ||||
| libnotify | ||||
| # libogg | ||||
| libomxil-bellagio | ||||
| libpaper | ||||
| libpciaccess | ||||
| libplist | ||||
| libpng | ||||
| libproxy | ||||
| libpwquality | ||||
| libqalculate | ||||
| libqmi | ||||
| libraqm | ||||
| # libraw1394 | ||||
| librsvg | ||||
| libsamplerate | ||||
| libshout | ||||
| libsigc++ | ||||
| libsigsegv | ||||
| libsm | ||||
| # libsndfile | ||||
| libsoup | ||||
| libsoxr | ||||
| libspiro | ||||
| libsrtp | ||||
| libssh | ||||
| libtar | ||||
| # libthai | ||||
| libtheora | ||||
| libtiff | ||||
| libtommath | ||||
| libunwind | ||||
| libupnp | ||||
| libusb-compat | ||||
| libusbmuxd | ||||
| libutempter | ||||
| libuv | ||||
| libva | ||||
| libvdpau | ||||
| libvisual | ||||
| libvorbis | ||||
| libvpx | ||||
| libwebp | ||||
| libwmf | ||||
| libx11 | ||||
| libxau | ||||
| libxaw | ||||
| # libxcb | ||||
| libxcomposite | ||||
| libxcursor | ||||
| libxdamage | ||||
| # libxdmcp | ||||
| libxext | ||||
| libxfixes | ||||
| libxfont2 | ||||
| libxft | ||||
| libxi | ||||
| libxinerama | ||||
| libxkbcommon | ||||
| libxkbfile | ||||
| libxml2 | ||||
| libxmu | ||||
| libxpm | ||||
| libxrandr | ||||
| libxrender | ||||
| libxres | ||||
| libxshmfence | ||||
| libxslt | ||||
| libxss | ||||
| libxt | ||||
| libxtst | ||||
| libxv | ||||
| libxvmc | ||||
| libxxf86vm | ||||
| libyaml | ||||
| libzip | ||||
| lirc | ||||
| llvm | ||||
| lmdb | ||||
| lua | ||||
| xorgproto | ||||
| mesa | ||||
| # meson | ||||
| mailcap | ||||
| mobile-broadband-provider-info | ||||
| mtdev | ||||
| muparser | ||||
| musepack | ||||
| namcap | ||||
| nasm | ||||
| network-manager-applet | ||||
| noto-fonts | ||||
| nss-mdns | ||||
| ntfs-3g | ||||
| # nvidia | ||||
| # nvidia-settings | ||||
| # nvidia-utils | ||||
| ocl-icd | ||||
| openal | ||||
| opencore-amr | ||||
| openexr | ||||
| openjade | ||||
| openjpeg | ||||
| openjpeg2 | ||||
| opensp | ||||
| opus | ||||
| orc | ||||
| orca | ||||
| pango | ||||
| parted | ||||
| pcre2 | ||||
| perl-error | ||||
| perl-file-which | ||||
| perl-xml-parser | ||||
| perl-yaml | ||||
| phonon | ||||
| phonon-gstreamer | ||||
| pixman | ||||
| polkit-qt | ||||
| poppler | ||||
| potrace | ||||
| protobuf | ||||
| pyalpm | ||||
| pygobject | ||||
| pygtk | ||||
| # pylint | ||||
| pyqt5 | ||||
| python | ||||
| python2 | ||||
| # python2-backports | ||||
| # python2-backports.functools_lru_cache | ||||
| # python2-configparser | ||||
| # python2-ipaddress | ||||
| python-appdirs | ||||
| python-asn1crypto | ||||
| # python-astroid | ||||
| python-attrs | ||||
| # python-automat | ||||
| python-beaker | ||||
| python-cairo | ||||
| # python-cffi | ||||
| python-chardet | ||||
| # python-constantly | ||||
| # python-cryptography | ||||
| python-cssselect | ||||
| python-defusedxml | ||||
| # python-editdistance | ||||
| # python-egenix-mx-base | ||||
| python-evdev | ||||
| # python-feedparser | ||||
| # python-fpconst | ||||
| # python-gdata | ||||
| # python-geoip | ||||
| python-hyperlink | ||||
| python-idna | ||||
| # python-incremental | ||||
| # python-isort | ||||
| # python-iwscan | ||||
| # python-lazy-object-proxy | ||||
| # python-lxml | ||||
| python-mako | ||||
| python-markupsafe | ||||
| # python-mccabe | ||||
| # python-mpd | ||||
| # python-nose | ||||
| python-notify | ||||
| python-numpy | ||||
| python-packaging | ||||
| python-pip | ||||
| python-ply | ||||
| python-pyasn1 | ||||
| # python-pyasn1-modules | ||||
| # python-pycparser | ||||
| # python-pycurl | ||||
| python-pyelftools | ||||
| # python-pygame | ||||
| python-pyparsing | ||||
| # python-rdflib | ||||
| # python-requests | ||||
| # python-retrying | ||||
| # python-service-identity | ||||
| python-setuptools | ||||
| python-six | ||||
| # python-soappy | ||||
| # python-telepathy | ||||
| # python-urllib3 | ||||
| python-urwid | ||||
| python-virtualenv | ||||
| # python-wpactrl | ||||
| python-wrapt | ||||
| # python-wstools | ||||
| pyxdg | ||||
| qt5-3d | ||||
| qt5-canvas3d | ||||
| qt5-charts | ||||
| qt5-connectivity | ||||
| qt5-datavis3d | ||||
| qt5-declarative | ||||
| qt5-doc | ||||
| qt5-examples | ||||
| qt5-gamepad | ||||
| qt5-graphicaleffects | ||||
| qt5-imageformats | ||||
| qt5-location | ||||
| qt5-multimedia | ||||
| qt5-networkauth | ||||
| qt5-quickcontrols | ||||
| qt5-quickcontrols2 | ||||
| qt5-remoteobjects | ||||
| qt5-script | ||||
| qt5-scxml | ||||
| qt5-sensors | ||||
| qt5-serialbus | ||||
| qt5-serialport | ||||
| qt5-speech | ||||
| qt5-svg | ||||
| qt5-tools | ||||
| qt5-translations | ||||
| qt5-virtualkeyboard | ||||
| qt5-wayland | ||||
| qt5-webchannel | ||||
| qt5-webengine | ||||
| qt5-webkit | ||||
| qt5-websockets | ||||
| qt5-webview | ||||
| qt5-x11extras | ||||
| qt5-xmlpatterns | ||||
| ruby | ||||
| schroedinger | ||||
| sdl | ||||
| sdl2 | ||||
| sdl_image | ||||
| sdl_sound | ||||
| serf | ||||
| sgml-common | ||||
| shared-mime-info | ||||
| slang | ||||
| snappy | ||||
| snowball | ||||
| socat | ||||
| source-highlight | ||||
| speech-dispatcher | ||||
| speex | ||||
| speexdsp | ||||
| startup-notification | ||||
| t1lib | ||||
| taglib | ||||
| talloc | ||||
| tcl | ||||
| tdb | ||||
| tevent | ||||
| texlive-bin | ||||
| texlive-core | ||||
| texlive-formatsextra | ||||
| texlive-latexextra | ||||
| texlive-pictures | ||||
| texlive-science | ||||
| tslib | ||||
| ttf-bitstream-vera | ||||
| ttf-dejavu | ||||
| ttf-hack | ||||
| ttf-indic-otf | ||||
| unixodbc | ||||
| unzip | ||||
| #usbmuxd | ||||
| v4l-utils | ||||
| vala | ||||
| valgrind | ||||
| vid.stab | ||||
| volume_key | ||||
| vte | ||||
| vte3 | ||||
| wavpack | ||||
| wayland | ||||
| wayland-protocols | ||||
| webrtc-audio-processing | ||||
| wget | ||||
| whois | ||||
| wxgtk | ||||
| x265 | ||||
| xapian-core | ||||
| xbitmaps | ||||
| # xcb-proto | ||||
| # xcb-util | ||||
| xcb-util-cursor | ||||
| # xcb-util-image | ||||
| # xcb-util-keysyms | ||||
| # xcb-util-renderutil | ||||
| # xcb-util-wm | ||||
| xdg-utils | ||||
| xf86-input-libinput | ||||
| xf86-video-dummy | ||||
| xf86-video-fbdev | ||||
| xf86-video-sisusb | ||||
| xf86-video-vesa | ||||
| xf86-video-vmware | ||||
| xf86-video-voodoo | ||||
| xkeyboard-config | ||||
| xmlto | ||||
| xorg-bdftopcf | ||||
| xorg-fonts-alias | ||||
| xorg-fonts-encodings | ||||
| xorg-fonts-misc | ||||
| xorg-font-util | ||||
| xorg-font-utils | ||||
| xorg-luit | ||||
| xorg-mkfontdir | ||||
| xorg-mkfontscale | ||||
| xorg-setxkbmap | ||||
| xorg-twm | ||||
| xorg-util-macros | ||||
| xorg-xauth | ||||
| # xorg-xinit | ||||
| xorg-xkbcomp | ||||
| xorg-xmessage | ||||
| xorg-xmodmap | ||||
| xorg-xprop | ||||
| xorg-xrandr | ||||
| xorg-xrdb | ||||
| xorg-xset | ||||
| xorg-xsetroot | ||||
| xterm | ||||
| xvidcore | ||||
| yajl | ||||
| yelp-tools | ||||
| yelp-xsl | ||||
| zip | ||||
| zita-alsa-pcmi | ||||
| zita-resampler | ||||
| zsh | ||||
| zvbi | ||||
| zziplib | ||||
| re2 | ||||
| geoip-database | ||||
| mercurial | ||||
| @@ -1,154 +0,0 @@ | ||||
| tzdata | ||||
| iana-etc | ||||
| linux-api-headers | ||||
| binutils | ||||
| glibc | ||||
| gcc | ||||
| attr | ||||
| acl | ||||
| ncurses | ||||
| readline | ||||
| bash | ||||
| sed | ||||
| diffutils | ||||
| expat | ||||
| db | ||||
| lz4 | ||||
| lzo | ||||
| bzip2 | ||||
| gmp | ||||
| mpfr | ||||
| m4 | ||||
| gdbm | ||||
| xz | ||||
| zlib | ||||
| file | ||||
| icu | ||||
| perl | ||||
| openssl | ||||
| openssl-1.0 | ||||
| autoconf | ||||
| automake | ||||
| dash | ||||
| bison | ||||
| ldns | ||||
| less | ||||
| libaio | ||||
| libarchive | ||||
| libassuan | ||||
| libcap | ||||
| libedit | ||||
| libevent | ||||
| libffi | ||||
| libgcrypt | ||||
| libgpg-error | ||||
| libgssglue | ||||
| libidn | ||||
| libidn2 | ||||
| libksba | ||||
| libmnl | ||||
| libmpc | ||||
| libnftnl | ||||
| libnghttp2 | ||||
| libnl | ||||
| libpcap | ||||
| libpipeline | ||||
| libpsl | ||||
| libidn2 | ||||
| librpcsecgss | ||||
| libseccomp | ||||
| libsecret | ||||
| libssh2 | ||||
| libtasn1 | ||||
| libtirpc | ||||
| libtool | ||||
| libunistring | ||||
| pcre | ||||
| glib2 | ||||
| grep | ||||
| gzip | ||||
| bridge-utils | ||||
| ca-certificates | ||||
| ca-certificates-cacert | ||||
| coreutils | ||||
| cracklib | ||||
| dialog | ||||
| ding-libs | ||||
| dnssec-anchors | ||||
| dosfstools | ||||
| e2fsprogs | ||||
| ed | ||||
| efibootmgr | ||||
| efivar | ||||
| elfutils | ||||
| fakeroot | ||||
| findutils | ||||
| flex | ||||
| gawk | ||||
| gettext | ||||
| gnutls | ||||
| gpgme | ||||
| groff | ||||
| hdparm | ||||
| hwids | ||||
| ifenslave | ||||
| iproute2 | ||||
| iputils | ||||
| iw | ||||
| jfsutils | ||||
| kbd | ||||
| keyutils | ||||
| #licenses | ||||
| links | ||||
| linux-atm | ||||
| linux-firmware | ||||
| make | ||||
| man-pages | ||||
| mkinitcpio-busybox | ||||
| mkinitcpio-nfs-utils | ||||
| nano | ||||
| nettle | ||||
| net-tools | ||||
| nfsidmap | ||||
| nilfs-utils | ||||
| npth | ||||
| nspr | ||||
| nss | ||||
| p11-kit | ||||
| patch | ||||
| pciutils | ||||
| pinentry | ||||
| pkcs11-helper | ||||
| pkg-config | ||||
| popt | ||||
| pptpclient | ||||
| procinfo-ng | ||||
| psmisc | ||||
| pth | ||||
| reiserfsprogs | ||||
| run-parts | ||||
| sdparm | ||||
| # s-nail | ||||
| sqlite | ||||
| sysfsutils | ||||
| syslinux | ||||
| tar | ||||
| texinfo | ||||
| thin-provisioning-tools | ||||
| traceroute | ||||
| usbutils | ||||
| vi | ||||
| which | ||||
| wireless-regdb | ||||
| wireless_tools | ||||
| wpa_actiond | ||||
| xfsprogs | ||||
| zd1211-firmware | ||||
| archlinux-keyring | ||||
| b43-fwcutter | ||||
| ipw2100-fw | ||||
| ipw2200-fw | ||||
| isdn4k-utils | ||||
| curl | ||||
| sudo | ||||
| argon2 | ||||
| @@ -1,528 +0,0 @@ | ||||
| a52dec | ||||
| aalib | ||||
| adwaita-icon-theme | ||||
| alsa-firmware | ||||
| alsa-lib | ||||
| #alsa-utils | ||||
| apr | ||||
| apr-util | ||||
| aspell | ||||
| assimp | ||||
| atk | ||||
| at-spi2-atk | ||||
| at-spi2-core | ||||
| babl | ||||
| bc | ||||
| boost | ||||
| brltty | ||||
| cairo | ||||
| cantarell-fonts | ||||
| cdparanoia | ||||
| check | ||||
| cifs-utils | ||||
| cln | ||||
| cmake | ||||
| extra-cmake-modules | ||||
| compositeproto | ||||
| convertlit | ||||
| cpio | ||||
| damageproto | ||||
| dbus-glib | ||||
| dbus-python | ||||
| dcadec | ||||
| dconf | ||||
| desktop-file-utils | ||||
| dkms | ||||
| docbook-dsssl | ||||
| docbook-sgml31 | ||||
| docbook-utils | ||||
| docbook-xml | ||||
| docbook-xsl | ||||
| dotconf | ||||
| double-conversion | ||||
| doxygen | ||||
| ebook-tools | ||||
| editorconfig-core-c | ||||
| exiv2 | ||||
| faad2 | ||||
| ffmpeg | ||||
| ffmpeg2.8 | ||||
| fftw | ||||
| fixesproto | ||||
| flac | ||||
| fontconfig | ||||
| fontsproto | ||||
| freetype2 | ||||
| fribidi | ||||
| fuse2 | ||||
| fuse3 | ||||
| gamin | ||||
| gc | ||||
| gcab | ||||
| gconf | ||||
| gcr | ||||
| gd | ||||
| gdb | ||||
| gdk-pixbuf2 | ||||
| gegl02 | ||||
| ghostscript | ||||
| giblib | ||||
| giflib | ||||
| glade | ||||
| glib-networking | ||||
| glu | ||||
| gnome-common | ||||
| gobject-introspection | ||||
| gperf | ||||
| gperftools | ||||
| gptfdisk | ||||
| grantlee | ||||
| graphite | ||||
| graphviz | ||||
| gsettings-desktop-schemas | ||||
| gsfonts | ||||
| gsm | ||||
| gst-plugins-base | ||||
| gst-plugins-good | ||||
| gstreamer | ||||
| gtk2 | ||||
| gtk3 | ||||
| gtk-doc | ||||
| gtksourceview3 | ||||
| gts | ||||
| guile | ||||
| guile2.0 | ||||
| harfbuzz | ||||
| hicolor-icon-theme | ||||
| hunspell | ||||
| hyphen | ||||
| ijs | ||||
| ilmbase | ||||
| imagemagick | ||||
| imlib2 | ||||
| iniparser | ||||
| inputproto | ||||
| intltool | ||||
| iso-codes | ||||
| itstool | ||||
| jack | ||||
| jasper | ||||
| java8-openjdk | ||||
| java-common | ||||
| jbig2dec | ||||
| jemalloc | ||||
| js | ||||
| #json-c | ||||
| jsoncpp | ||||
| json-glib | ||||
| kbproto | ||||
| lame | ||||
| lapack | ||||
| lcms | ||||
| lcms2 | ||||
| ldb | ||||
| libaccounts-glib | ||||
| libaccounts-qt | ||||
| libao | ||||
| libass | ||||
| libasyncns | ||||
| libatomic_ops | ||||
| libavc1394 | ||||
| libbluray | ||||
| libbsd | ||||
| libburn | ||||
| libbytesize | ||||
| libcaca | ||||
| libcanberra | ||||
| libcap-ng | ||||
| libcddb | ||||
| libcdio | ||||
| libcdio-paranoia | ||||
| # libconfig | ||||
| libcroco | ||||
| libcue | ||||
| libdaemon | ||||
| libdatrie | ||||
| libdbusmenu-qt | ||||
| libdca | ||||
| libdmtx | ||||
| libdrm | ||||
| libdv | ||||
| libdvbpsi | ||||
| libdvdcss | ||||
| libdvdnav | ||||
| libdvdread | ||||
| libebml | ||||
| libepoxy | ||||
| libevdev | ||||
| libexif | ||||
| libfontenc | ||||
| libgee | ||||
| libgit2 | ||||
| libglade | ||||
| libglvnd | ||||
| libgphoto2 | ||||
| libgusb | ||||
| libical | ||||
| libice | ||||
| libid3tag | ||||
| libiec61883 | ||||
| libieee1284 | ||||
| libimobiledevice | ||||
| libiscsi | ||||
| libisoburn | ||||
| libisofs | ||||
| libjpeg-turbo | ||||
| liblouis | ||||
| liblqr | ||||
| libmad | ||||
| libmatroska | ||||
| libmng | ||||
| libmodplug | ||||
| libmpeg2 | ||||
| libmspack | ||||
| libmtp | ||||
| libndp | ||||
| libnotify | ||||
| # libogg | ||||
| libomxil-bellagio | ||||
| libpaper | ||||
| libpciaccess | ||||
| libplist | ||||
| libpng | ||||
| libproxy | ||||
| libpwquality | ||||
| libqalculate | ||||
| libqmi | ||||
| libraqm | ||||
| # libraw1394 | ||||
| librsvg | ||||
| libsamplerate | ||||
| libshout | ||||
| libsigc++ | ||||
| libsigsegv | ||||
| libsm | ||||
| # libsndfile | ||||
| libsoup | ||||
| libsoxr | ||||
| libspiro | ||||
| libsrtp | ||||
| libssh | ||||
| libtar | ||||
| # libthai | ||||
| libtheora | ||||
| libtiff | ||||
| libtommath | ||||
| libtxc_dxtn | ||||
| libunwind | ||||
| libupnp | ||||
| libusb-compat | ||||
| libusbmuxd | ||||
| libutempter | ||||
| libuv | ||||
| libva | ||||
| libvdpau | ||||
| libvisual | ||||
| libvorbis | ||||
| libvpx | ||||
| libwebp | ||||
| libwmf | ||||
| libx11 | ||||
| libxau | ||||
| libxaw | ||||
| # libxcb | ||||
| libxcomposite | ||||
| libxcursor | ||||
| libxdamage | ||||
| # libxdmcp | ||||
| libxext | ||||
| libxfixes | ||||
| libxfont2 | ||||
| libxft | ||||
| libxi | ||||
| libxinerama | ||||
| libxkbcommon | ||||
| libxkbfile | ||||
| libxml2 | ||||
| libxmu | ||||
| libxpm | ||||
| libxrandr | ||||
| libxrender | ||||
| libxres | ||||
| libxshmfence | ||||
| libxslt | ||||
| libxss | ||||
| libxt | ||||
| libxtst | ||||
| libxv | ||||
| libxvmc | ||||
| libxxf86vm | ||||
| libyaml | ||||
| libzip | ||||
| lirc | ||||
| llvm | ||||
| lmdb | ||||
| lua | ||||
| mesa | ||||
| # meson | ||||
| mailcap | ||||
| mobile-broadband-provider-info | ||||
| mtdev | ||||
| muparser | ||||
| musepack | ||||
| namcap | ||||
| nasm | ||||
| network-manager-applet | ||||
| noto-fonts | ||||
| nss-mdns | ||||
| ntfs-3g | ||||
| # nvidia | ||||
| # nvidia-settings | ||||
| # nvidia-utils | ||||
| ocl-icd | ||||
| openal | ||||
| opencore-amr | ||||
| openexr | ||||
| openjade | ||||
| openjpeg | ||||
| openjpeg2 | ||||
| opensp | ||||
| opus | ||||
| orc | ||||
| orca | ||||
| pango | ||||
| parted | ||||
| pcre2 | ||||
| perl-error | ||||
| perl-file-which | ||||
| perl-xml-parser | ||||
| perl-yaml | ||||
| phonon | ||||
| phonon-gstreamer | ||||
| pixman | ||||
| polkit-qt | ||||
| poppler | ||||
| potrace | ||||
| protobuf | ||||
| pyalpm | ||||
| pygobject | ||||
| pygtk | ||||
| # pylint | ||||
| pyqt5 | ||||
| python | ||||
| python2 | ||||
| # python2-backports | ||||
| # python2-backports.functools_lru_cache | ||||
| # python2-configparser | ||||
| # python2-ipaddress | ||||
| python-appdirs | ||||
| python-asn1crypto | ||||
| # python-astroid | ||||
| python-attrs | ||||
| # python-automat | ||||
| python-beaker | ||||
| python-cairo | ||||
| # python-cffi | ||||
| python-chardet | ||||
| # python-constantly | ||||
| # python-cryptography | ||||
| python-cssselect | ||||
| python-defusedxml | ||||
| # python-editdistance | ||||
| # python-egenix-mx-base | ||||
| python-evdev | ||||
| # python-feedparser | ||||
| # python-fpconst | ||||
| # python-gdata | ||||
| # python-geoip | ||||
| python-hyperlink | ||||
| python-idna | ||||
| # python-incremental | ||||
| # python-isort | ||||
| # python-iwscan | ||||
| # python-lazy-object-proxy | ||||
| # python-lxml | ||||
| python-mako | ||||
| python-markupsafe | ||||
| # python-mccabe | ||||
| # python-mpd | ||||
| # python-nose | ||||
| python-notify | ||||
| python-numpy | ||||
| python-packaging | ||||
| python-pip | ||||
| python-ply | ||||
| python-pyasn1 | ||||
| # python-pyasn1-modules | ||||
| # python-pycparser | ||||
| # python-pycurl | ||||
| python-pyelftools | ||||
| # python-pygame | ||||
| python-pyparsing | ||||
| # python-rdflib | ||||
| # python-requests | ||||
| # python-retrying | ||||
| # python-service-identity | ||||
| python-setuptools | ||||
| python-six | ||||
| # python-soappy | ||||
| # python-telepathy | ||||
| # python-urllib3 | ||||
| python-urwid | ||||
| python-virtualenv | ||||
| # python-wpactrl | ||||
| python-wrapt | ||||
| # python-wstools | ||||
| pyxdg | ||||
| qt5-3d | ||||
| qt5-canvas3d | ||||
| qt5-charts | ||||
| qt5-connectivity | ||||
| qt5-datavis3d | ||||
| qt5-declarative | ||||
| qt5-doc | ||||
| qt5-examples | ||||
| qt5-gamepad | ||||
| qt5-graphicaleffects | ||||
| qt5-imageformats | ||||
| qt5-location | ||||
| qt5-multimedia | ||||
| qt5-networkauth | ||||
| qt5-quickcontrols | ||||
| qt5-quickcontrols2 | ||||
| qt5-remoteobjects | ||||
| qt5-script | ||||
| qt5-scxml | ||||
| qt5-sensors | ||||
| qt5-serialbus | ||||
| qt5-serialport | ||||
| qt5-speech | ||||
| qt5-svg | ||||
| qt5-tools | ||||
| qt5-translations | ||||
| qt5-virtualkeyboard | ||||
| qt5-wayland | ||||
| qt5-webchannel | ||||
| qt5-webengine | ||||
| qt5-webkit | ||||
| qt5-websockets | ||||
| qt5-webview | ||||
| qt5-x11extras | ||||
| qt5-xmlpatterns | ||||
| randrproto | ||||
| recordproto | ||||
| renderproto | ||||
| re2 | ||||
| ruby | ||||
| schroedinger | ||||
| scrnsaverproto | ||||
| sdl | ||||
| sdl2 | ||||
| sdl_image | ||||
| sdl_sound | ||||
| serf | ||||
| sgml-common | ||||
| shared-mime-info | ||||
| slang | ||||
| snappy | ||||
| snowball | ||||
| socat | ||||
| source-highlight | ||||
| speech-dispatcher | ||||
| speex | ||||
| speexdsp | ||||
| startup-notification | ||||
| t1lib | ||||
| taglib | ||||
| talloc | ||||
| tcl | ||||
| tdb | ||||
| tevent | ||||
| texlive-bin | ||||
| texlive-core | ||||
| texlive-formatsextra | ||||
| texlive-latexextra | ||||
| texlive-pictures | ||||
| texlive-science | ||||
| tslib | ||||
| ttf-bitstream-vera | ||||
| ttf-dejavu | ||||
| ttf-hack | ||||
| ttf-indic-otf | ||||
| unixodbc | ||||
| unzip | ||||
| #usbmuxd | ||||
| v4l-utils | ||||
| vala | ||||
| valgrind | ||||
| videoproto | ||||
| vid.stab | ||||
| volume_key | ||||
| vte | ||||
| vte3 | ||||
| wavpack | ||||
| wayland | ||||
| wayland-protocols | ||||
| webrtc-audio-processing | ||||
| wget | ||||
| whois | ||||
| wxgtk | ||||
| x265 | ||||
| xapian-core | ||||
| xbitmaps | ||||
| # xcb-proto | ||||
| # xcb-util | ||||
| xcb-util-cursor | ||||
| # xcb-util-image | ||||
| # xcb-util-keysyms | ||||
| # xcb-util-renderutil | ||||
| # xcb-util-wm | ||||
| xdg-utils | ||||
| xextproto | ||||
| xf86-input-libinput | ||||
| xf86-video-dummy | ||||
| xf86-video-fbdev | ||||
| xf86-video-sisusb | ||||
| xf86-video-vesa | ||||
| xf86-video-vmware | ||||
| xf86-video-voodoo | ||||
| xf86vidmodeproto | ||||
| xineramaproto | ||||
| xkeyboard-config | ||||
| xmlto | ||||
| xorg-bdftopcf | ||||
| xorg-fonts-alias | ||||
| xorg-fonts-encodings | ||||
| xorg-fonts-misc | ||||
| xorg-font-util | ||||
| xorg-font-utils | ||||
| xorg-luit | ||||
| xorg-mkfontdir | ||||
| xorg-mkfontscale | ||||
| xorg-setxkbmap | ||||
| xorg-twm | ||||
| xorg-util-macros | ||||
| xorg-xauth | ||||
| xorg-xinit | ||||
| xorg-xkbcomp | ||||
| xorg-xmessage | ||||
| xorg-xmodmap | ||||
| xorg-xprop | ||||
| xorg-xrandr | ||||
| xorg-xrdb | ||||
| xorg-xset | ||||
| xorg-xsetroot | ||||
| # xproto | ||||
| xterm | ||||
| xvidcore | ||||
| yajl | ||||
| yelp-tools | ||||
| yelp-xsl | ||||
| zip | ||||
| zita-alsa-pcmi | ||||
| zita-resampler | ||||
| zsh | ||||
| zvbi | ||||
| zziplib | ||||
| geoip-database | ||||
| mercurial | ||||
							
								
								
									
										25
									
								
								data/missing
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								data/missing
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| extra/speexdsp | ||||
| extra/spandsp | ||||
| extra/soundtouch | ||||
| extra/sbc | ||||
| extra/neon | ||||
| extra/mjpegtools | ||||
| extra/libmp4v2 | ||||
| extra/js | ||||
| extra/gst-plugins-bad | ||||
| extra/faac | ||||
| extra/enchant | ||||
| extra/chromaprint | ||||
| extra/python-appdirs | ||||
| extra/python-beaker | ||||
| extra/python-mako | ||||
| extra/python-markupsafe | ||||
| extra/python-packaging | ||||
| extra/python-pyparsing | ||||
| extra/ttf-liberation | ||||
| extra/appstream-glib | ||||
| extra/libxkbui | ||||
| extra/libxkbfile | ||||
| extra/libunicodenames | ||||
| extra/mpg123 | ||||
| extra/opencl-headers | ||||
| @@ -1,111 +0,0 @@ | ||||
| # | ||||
| # /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 -C - -f %u > %o | ||||
| #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||
| #CleanMethod = KeepInstalled | ||||
| #UseDelta    = 0.7 | ||||
| Architecture = auto | ||||
|  | ||||
| # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||
| #IgnorePkg   = | ||||
| #IgnoreGroup = | ||||
|  | ||||
| #NoUpgrade   = | ||||
| #NoExtract   = | ||||
|  | ||||
| # 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 cromnix`. | ||||
|  | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| [system-testing] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [system] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [world-testing] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [world] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [galaxy-testing] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [galaxy] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [lib32-testing] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [lib32] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| # | ||||
| # ARCHLINUX | ||||
| # | ||||
|  | ||||
| [testing] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [extra] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [community-testing] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [community] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [multilib-testing] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [multilib] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
| @@ -1,90 +0,0 @@ | ||||
| # | ||||
| # /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 -C - -f %u > %o | ||||
| #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||
| #CleanMethod = KeepInstalled | ||||
| #UseDelta    = 0.7 | ||||
| Architecture = auto | ||||
|  | ||||
| # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||
| #IgnorePkg   = | ||||
| #IgnoreGroup = | ||||
|  | ||||
| #NoUpgrade   = | ||||
| #NoExtract   = | ||||
|  | ||||
| # 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 cromnix`. | ||||
|  | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| [system] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [world] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [galaxy] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| [lib32] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
|  | ||||
| # | ||||
| # ARCHLINUX | ||||
| # | ||||
|  | ||||
| [extra] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [community] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
|  | ||||
| [multilib] | ||||
| Include = /etc/pacman.d/mirrorlist-arch | ||||
							
								
								
									
										38
									
								
								data/qt5.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								data/qt5.list
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| qt5-base | ||||
| qt5-xmlpatterns | ||||
| qt5-x11extras | ||||
| qt5-script | ||||
| qt5-svg | ||||
| qt5-serialport | ||||
| qt5-serialbus | ||||
| qt5-networkauth | ||||
| qt5-imageformats | ||||
| qt5-declarative | ||||
| qt5-wayland | ||||
| qt5-sensors | ||||
| qt5-scxml | ||||
| qt5-connectivity | ||||
| qt5-graphicaleffects | ||||
| qt5-gamepad | ||||
| qt5-3d | ||||
| qt5-canvas3d | ||||
| qt5-datavis3d | ||||
| qt5-charts | ||||
| qt5-virtualkeyboard | ||||
| qt5-location | ||||
| qt5-multimedia | ||||
| qt5-speech | ||||
| qt5-quickcontrols | ||||
| qt5-quickcontrols2 | ||||
| qt5-remoteobjects | ||||
| qt5-webchannel | ||||
| qt5-websockets | ||||
| qt5-webglplugin | ||||
| qt5-tools | ||||
| qt5-translations | ||||
| qt5-doc | ||||
| qt5-examples | ||||
| qt5-webengine | ||||
| qt5-webview | ||||
| qt5-webkit | ||||
| pyqt5 | ||||
| @@ -53,9 +53,8 @@ default_locale(){ | ||||
|         if [[ ! -f "$mnt/etc/locale.gen.bak" ]];then | ||||
|             info "Setting locale ..." | ||||
|             mv "$mnt/etc/locale.gen" "$mnt/etc/locale.gen.bak" | ||||
|             printf '%s.UTF-8 UTF-8\n' en_US > "$mnt/etc/locale.gen" | ||||
|             printf 'LANG=%s.UTF-8\n' en_US > "$mnt/etc/locale.conf" | ||||
|             printf 'LC_MESSAGES=C\n' >> "$mnt/etc/locale.conf" | ||||
|             printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$mnt/etc/locale.gen" | ||||
|             echo 'LANG=en_US.UTF-8.UTF-8' > "$mnt/etc/locale.conf" | ||||
|         fi | ||||
|     elif [[ $action == "reset" ]];then | ||||
|         if [[ -f "$mnt/etc/locale.gen.bak" ]];then | ||||
|   | ||||
| @@ -78,7 +78,17 @@ die() { | ||||
|  | ||||
| msg_table_header(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${GREEN} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
|     printf "${BLUE} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_downgrade(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_notify(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row(){ | ||||
| @@ -86,9 +96,9 @@ msg_row(){ | ||||
|     printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_update(){ | ||||
| msg_row_upgrade(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${RED}${BOLD} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
|     printf "${RED}${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| import(){ | ||||
|   | ||||
| @@ -1,73 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| del_from_repo(){ | ||||
|     local repo="$1" destarch="$2" pkg="$3" ver result | ||||
|     local repo_path=${repos_root}/$repo/os/$destarch | ||||
|     source $pkg/PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if ! result=$(find_cached_package "$name" "$ver" "$CARCH");then | ||||
|             cd $repo_path | ||||
|             repo-remove -R $repo.db.tar.xz $name | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| move_to_repo(){ | ||||
|     local repo_src="$1" repo_dest="$2" repo_arch="$3" | ||||
|     local repo_path=${repos_root}/$repo_src/os/$repo_arch | ||||
|     local src=$PWD | ||||
|     local filelist=${workspace_dir}/$repo_src.files.txt | ||||
|     local pkglist=${workspace_dir}/$repo_src.pkgs.txt | ||||
|     [[ -n ${PKGDEST} ]] && src=${PKGDEST} | ||||
|     cd $repo_path | ||||
|     msg "Writing repo lists [%s]" "$repo_src" | ||||
|     ls *.pkg.tar.xz{,.sig} > $filelist | ||||
|     ls *.pkg.tar.xz > $pkglist | ||||
|     rm -v * | ||||
|     repo-add $repo_src.db.tar.xz | ||||
|     repo_path=${repos_root}/$repo_dest/os/$repo_arch | ||||
|     local move=$(cat $filelist) pkgs=$(cat $pkglist) | ||||
|     msg "Reading repo lists [%s]" "$repo_dest" | ||||
|     for f in ${move[@]};do | ||||
|         ln -sfv $src/$f $repo_path/ | ||||
|     done | ||||
|     cd $repo_path | ||||
|     repo-add -R $repo_dest.db.tar.xz ${pkgs[@]} | ||||
| } | ||||
|  | ||||
| add_to_repo(){ | ||||
|     local repo="$1" destarch="$2" pkg="$3" ver pkgfile= | ||||
|     local repo_path=${repos_root}/$repo/os/$destarch | ||||
|     source $pkg/PKGBUILD | ||||
|     for name in ${pkgname[@]};do | ||||
|         info "finddeps: %s" "$name" | ||||
|         finddeps $name | ||||
|         [[ $arch == any ]] && CARCH=any | ||||
|         ver=$(get_full_version $name) | ||||
|         if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then | ||||
|             info "find-libdeps: %s" "$pkgfile" | ||||
|             find-libdeps "$pkgfile" | ||||
|             info "find-libprovides: %s" "$pkgfile" | ||||
|             find-libprovides "$pkgfile" | ||||
|             [[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig | ||||
|             signfile ${pkgfile} | ||||
|             ln -sf ${pkgfile}{,.sig} $repo_path/ | ||||
|             cd $repo_path | ||||
|             repo-add -R $repo.db.tar.xz ${pkgfile##*/} | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| @@ -1,210 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| get_local_head(){ | ||||
|     echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1) | ||||
| } | ||||
|  | ||||
| get_remote_head(){ | ||||
|     echo $(git ls-remote origin -h refs/heads/$1 | cut -f1) | ||||
| } | ||||
|  | ||||
| is_dirty() { | ||||
|     [[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| sync_tree(){ | ||||
|     local branch="master" repo="$1" | ||||
|     git checkout $branch | ||||
|     local local_head=$(get_local_head "$branch") | ||||
|     local remote_head=$(get_remote_head "$branch") | ||||
|     local timer=$(get_timer) | ||||
|     msg "Checking [%s] ..." "$repo" | ||||
|     msg2 "local: %s" "${local_head}" | ||||
|     msg2 "remote: %s" "${remote_head}" | ||||
|     if [[ "${local_head}" == "${remote_head}" ]]; then | ||||
|         info "nothing to do" | ||||
|     else | ||||
|         info "needs sync" | ||||
|         git pull origin $branch | ||||
|     fi | ||||
|     msg "Done [%s]" "$repo" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| clone_tree(){ | ||||
|     local timer=$(get_timer) repo="$1" host_tree="$2" | ||||
|     msg "Preparing [%s] ..." "$repo" | ||||
|     info "clone" | ||||
|     git clone $host_tree.git | ||||
|     msg "Done [%s]" "$repo" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| sync_tree_arch(){ | ||||
|     local repo="$1" | ||||
|     cd ${tree_dir_arch} | ||||
|         for repo in ${repo_tree_arch[@]};do | ||||
|             if [[ -d ${repo} ]];then | ||||
|                 cd ${repo} | ||||
|                     sync_tree "${repo}" | ||||
|                 cd .. | ||||
|             else | ||||
|                 clone_tree "${repo}" "${host_tree_arch}/${repo}" | ||||
|             fi | ||||
|         done | ||||
|     cd .. | ||||
| } | ||||
|  | ||||
| sync_tree_artix(){ | ||||
|     local repo="$1" | ||||
|     cd ${tree_dir_artix} | ||||
|         for repo in ${repo_tree_artix[@]};do | ||||
|             if [[ -d ${repo} ]];then | ||||
|                 cd ${repo} | ||||
|                     sync_tree "${repo}" | ||||
|                 cd .. | ||||
|             else | ||||
|                 clone_tree "${repo}" "${host_tree_artix}/${repo}" | ||||
|             fi | ||||
|         done | ||||
|     cd .. | ||||
| } | ||||
|  | ||||
| read_import_list(){ | ||||
|     local repo="$1" | ||||
|     local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" | ||||
|     import_list=$(sed "$_com_rm" "${list_dir_import}/$repo.list" | sed "$_space" | sed "$_clean") | ||||
| } | ||||
|  | ||||
| is_untracked(){ | ||||
|     [[ $(git ls-files --others --exclude-standard)  != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| patch_pkg(){ | ||||
|     local pkg="$1" | ||||
|     case $pkg in | ||||
|         'glibc') | ||||
|             sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \ | ||||
|                 -e '/nscd.service/d' \ | ||||
|                 -i $pkg/PKGBUILD | ||||
|         ;; | ||||
| #         'bash') | ||||
| #             sed -e 's|system.bash_logout)|system.bash_logout\n        artix.bashrc)|' \ | ||||
| #                 -e 's|etc/bash.|etc/bash/|g' \ | ||||
| #                 -e 's|install -dm755 "$pkgdir"/etc/skel/|install -dm755 "$pkgdir"/etc/{skel,bash/bashrc.d}/|' \ | ||||
| #                 -e 's|/etc/skel/.bash_logout|/etc/skel/.bash_logout\n  install -m644 artix.bashrc "$pkgdir"/etc/bash/bashrc.d/artix.bashrc|' \ | ||||
| #                 -i $pkg/PKGBUILD | ||||
| #  | ||||
| #             cd $pkg | ||||
| #                 patch -p1 -i $DATADIR/patches/artix-bash.patch | ||||
| #                 updpkgsums | ||||
| #             cd .. | ||||
| #         ;; | ||||
|         'tp_smapi'|'acpi_call'|'r8168') | ||||
|             sed -e 's|-ARCH|-ARTIX|g' -i $pkg/PKGBUILD | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| get_import_path(){ | ||||
|     local arch_dir arch_repo import_path | ||||
|     local repo="$1" pkg="$2" src= | ||||
|     case $repo in | ||||
|         system|world) | ||||
|             arch_dir=packages | ||||
|             [[ "$repo" == 'system' ]] && arch_repo=core | ||||
|             [[ "$repo" == 'world' ]] && arch_repo=extra | ||||
|             import_path=${tree_dir_arch}/$arch_dir/$pkg/repos | ||||
|             src=$import_path/$arch_repo-x86_64 | ||||
|             [[ -d $import_path/testing-x86_64 ]] && src=$import_path/testing-x86_64 | ||||
|             [[ -d $import_path/$arch_repo-any ]] && src=$import_path/$arch_repo-any | ||||
|             [[ -d $import_path/testing-any ]] && src=$import_path/testing-any | ||||
|         ;; | ||||
|         galaxy) | ||||
|             arch_repo=community | ||||
|             arch_dir=$arch_repo | ||||
|             import_path=${tree_dir_arch}/$arch_dir/$pkg/repos/$arch_repo | ||||
|             src=$import_path-x86_64 | ||||
|             [[ -d $import_path-testing-x86_64 ]] && src=$import_path-testing-x86_64 | ||||
|             [[ -d $import_path-any ]] && src=$import_path-any | ||||
|             [[ -d $import_path-testing-any ]] && src=$import_path-testing-any | ||||
|         ;; | ||||
|         lib32) | ||||
|             arch_repo=multilib | ||||
|             arch_dir=community | ||||
|             import_path=${tree_dir_arch}/$arch_dir/$pkg/repos | ||||
|             src=$import_path/$arch_repo-x86_64 | ||||
|             [[ -d $import_path/$arch_repo-testing-x86_64 ]] && src=$import_path/$arch_repo-testing-x86_64 | ||||
|         ;; | ||||
|     esac | ||||
|     echo $src | ||||
| } | ||||
|  | ||||
| show_version_table(){ | ||||
|     local repo="$1" | ||||
|     declare -A UPDATES | ||||
|     msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version" | ||||
|     for pkg in ${tree_dir_artix}/$repo/*; do | ||||
|         if [[ -f $pkg/PKGBUILD ]];then | ||||
|             source $pkg/PKGBUILD 2>/dev/null | ||||
|             package=${pkg##*/} | ||||
|             artixver=$(get_full_version $package) | ||||
|             local src=$(get_import_path "$repo" "$package") | ||||
|             if [[ -f $src/PKGBUILD ]];then | ||||
|                 source $src/PKGBUILD 2>/dev/null | ||||
|                 archver=$(get_full_version $package) | ||||
|             fi | ||||
|             if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|                 UPDATES[$package]="$pkg/PKGBUILD $src/PKGBUILD" | ||||
|                 msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver" | ||||
|             fi | ||||
|         fi | ||||
|         unset pkgver epoch pkgrel artixver archver package | ||||
|     done | ||||
|     find "${patches_dir}/$repo/" -name *.patch -delete | ||||
|     for upd in "${!UPDATES[@]}"; do | ||||
|         msg "Writing %s update patch ..." "$upd" | ||||
|         diff -u ${UPDATES[$upd]} > ${patches_dir}/$repo/"$upd"-archlinux.patch | ||||
|     done | ||||
| } | ||||
|  | ||||
| import_from_arch(){ | ||||
|     local timer=$(get_timer) branch='testing' repo="$1" push="$2" | ||||
|     read_import_list "$repo" | ||||
|     if [[ -n ${import_list[@]} ]];then | ||||
|         cd ${tree_dir_artix}/$repo | ||||
|         git checkout $branch &> /dev/null | ||||
|         $(is_dirty) && die "[%s] has uncommited changes!" "${repo}" | ||||
|         git pull origin "$branch" | ||||
|         for pkg in ${import_list[@]};do | ||||
|             local src=$(get_import_path "$repo" "$pkg") dest=${tree_dir_artix}/$repo/$pkg | ||||
|             source $src/PKGBUILD 2>/dev/null | ||||
|             local ver=$(get_full_version $pkg) | ||||
|             msg "Package: %s-%s" "$pkg" "$ver" | ||||
|             msg2 "src: %s" "$src" | ||||
|             msg2 "dest: %s" "$dest" | ||||
|             rsync "${rsync_args[@]}"  $src/ $dest/ | ||||
|             patch_pkg "$pkg" | ||||
| #             if ${push};then | ||||
| #                 local timeout=10 | ||||
| #                 git add "$pkg" | ||||
| #                 git commit -m "$pkg-$ver" | ||||
| #                 sleep $timeout | ||||
| #                 git push origin "$branch" | ||||
| #             fi | ||||
|             unset pkgver epoch pkgrel ver | ||||
|         done | ||||
|     fi | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
							
								
								
									
										186
									
								
								lib/util-pkg.sh
									
									
									
									
									
								
							
							
						
						
									
										186
									
								
								lib/util-pkg.sh
									
									
									
									
									
								
							| @@ -9,6 +9,192 @@ | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
|  | ||||
| get_local_head(){ | ||||
|     echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1) | ||||
| } | ||||
|  | ||||
| get_remote_head(){ | ||||
|     echo $(git ls-remote origin -h refs/heads/$1 | cut -f1) | ||||
| } | ||||
|  | ||||
| is_dirty() { | ||||
|     [[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| is_untracked(){ | ||||
|     [[ $(git ls-files --others --exclude-standard)  != "" ]] || return 1 | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| patch_pkg(){ | ||||
|     local pkg="$1" repo="$2" | ||||
|     case $pkg in | ||||
|         'glibc') | ||||
|             sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \ | ||||
|                 -e '/nscd.service/d' \ | ||||
|                 -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'tp_smapi'|'acpi_call'|'r8168'|'bbswitch') | ||||
|             sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'nvidia') | ||||
|             sed -e 's|-ARCH|-ARTIX|g'  -e 's|for Arch kernel|for Artix kernel|g' \ | ||||
|                 -e 's|for LTS Arch kernel|for LTS Artix kernel|g' \ | ||||
|                 -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'linux') | ||||
|             sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD | ||||
|             sed -e 's|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARTIX"|' \ | ||||
|                 -e 's|CONFIG_DEFAULT_HOSTNAME=.*|CONFIG_DEFAULT_HOSTNAME="artixlinux"|' \ | ||||
|                 -i $pkg/trunk/config | ||||
|             cd $pkg/trunk | ||||
|                 updpkgsums | ||||
|             cd ../.. | ||||
|  | ||||
|         ;; | ||||
|         'licenses') | ||||
|             sed -e 's|https://www.archlinux.org/|https://www.artixlinux.org/|' -i $pkg/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'bash') | ||||
|             sed -e 's|system.bash_logout)|system.bash_logout artix.bashrc)|' \ | ||||
|             -e "s|etc/bash.|etc/bash/|g" \ | ||||
|             -e 's|"$pkgdir/etc/skel/.bash_logout"|"$pkgdir/etc/skel/.bash_logout"\n  install -Dm644 artix.bashrc $pkgdir/etc/bash/bashrc.d/artix.bashrc|' \ | ||||
|             -i $pkg/trunk/PKGBUILD | ||||
|  | ||||
|  | ||||
|             cd $pkg/trunk | ||||
|                 patch -Np 1 -i ${DATADIR}/patches/artix-bash.patch | ||||
|                 updpkgsums | ||||
|             cd ../.. | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| find_tree(){ | ||||
|     local tree="$1" pkg="$2" | ||||
|     local result=$(find $tree -mindepth 2 -maxdepth 2 -type d -name "$pkg") | ||||
|     result=${result%/*} | ||||
|     echo ${result##*/} | ||||
| } | ||||
|  | ||||
| clone_tree(){ | ||||
|     local timer=$(get_timer) host_tree="$1" | ||||
|     git clone $host_tree.git | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| pull_tree(){ | ||||
|     local branch="master" | ||||
|     local local_head=$(get_local_head "$branch") | ||||
|     local remote_head=$(get_remote_head "$branch") | ||||
|     if [[ "${local_head}" == "${remote_head}" ]]; then | ||||
|         msg2 "remote changes: no" | ||||
|     else | ||||
|         msg2 "remote changes: yes" | ||||
|         git pull origin "$branch" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| push_tree(){ | ||||
|     local branch="master" | ||||
|     git push origin "$branch" | ||||
| } | ||||
|  | ||||
| get_import_path(){ | ||||
|     local tree="$1" import_path= | ||||
|     case $tree in | ||||
|         packages) import_path=${tree_dir_arch}/packages ;; | ||||
|         packages-galaxy) import_path=${tree_dir_arch}/community ;; | ||||
|     esac | ||||
|     echo $import_path | ||||
| } | ||||
|  | ||||
| is_valid_repo(){ | ||||
|     local src="$1" | ||||
|     case $src in | ||||
|         core|extra|community|multilib|testing|staging|community-testing|community-staging|multilib-testing|multilib-staging|trunk) return 0 ;; | ||||
|         *) return 1 ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| find_repo(){ | ||||
|     local pkg="$1" repo= | ||||
|  | ||||
|     if [[ -d $pkg/repos/core-x86_64 ]];then | ||||
|         repo=core-x86_64 | ||||
|     elif [[ -d $pkg/repos/core-any ]];then | ||||
|         repo=core-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/extra-x86_64 ]];then | ||||
|         repo=extra-x86_64 | ||||
|     elif [[ -d $pkg/repos/extra-any ]];then | ||||
|         repo=extra-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/testing-x86_64 ]];then | ||||
|         repo=testing-x86_64 | ||||
|     elif [[ -d $pkg/repos/testing-any ]];then | ||||
|         repo=testing-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/staging-x86_64 ]];then | ||||
|         repo=staging-x86_64 | ||||
|     elif [[ -d $pkg/repos/staging-any ]];then | ||||
|         repo=staging-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/community-x86_64 ]];then | ||||
|         repo=community-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-any ]];then | ||||
|         repo=community-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/community-testing-x86_64 ]];then | ||||
|         repo=community-testing-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-testing-any ]];then | ||||
|         repo=community-testing-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/community-staging-x86_64 ]];then | ||||
|         repo=community-staging-x86_64 | ||||
|     elif [[ -d $pkg/repos/community-staging-any ]];then | ||||
|         repo=community-staging-any | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/multilib-x86_64 ]];then | ||||
|         repo=multilib-x86_64 | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then | ||||
|         repo=multilib-testing-x86_64 | ||||
|     fi | ||||
|  | ||||
|     if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then | ||||
|         repo=multilib-staging-x86_64 | ||||
|     fi | ||||
|  | ||||
|     echo $repo | ||||
| } | ||||
|  | ||||
| arch_to_artix_repo(){ | ||||
|     local repo="$1" | ||||
|     case $repo in | ||||
|         core-*) repo=system ;; | ||||
|         extra-*) repo=world ;; | ||||
|         community-x86_64|community-any) repo=galaxy ;; | ||||
|         multilib-x86_64) repo=lib32 ;; | ||||
|         testing-*) repo=gremlins ;; | ||||
|         staging-*) repo=goblins ;; | ||||
|         multilib-testing-x86_64) repo=lib32-gremlins ;; | ||||
|         multilib-staging-x86_64) repo=lib32-goblins ;; | ||||
|         community-testing-*) repo=galaxy-gremlins ;; | ||||
|         community-staging-*) repo=galaxy-goblins ;; | ||||
|     esac | ||||
|     echo $repo | ||||
| } | ||||
|  | ||||
| # $1: sofile | ||||
| # $2: soarch | ||||
| process_sofile() { | ||||
|   | ||||
							
								
								
									
										12
									
								
								lib/util.sh
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								lib/util.sh
									
									
									
									
									
								
							| @@ -67,26 +67,14 @@ init_artools_pkg(){ | ||||
|  | ||||
|     [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix | ||||
|  | ||||
|     # to be removed | ||||
|     [[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy' 'lib32') | ||||
|  | ||||
|     [[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux' | ||||
|  | ||||
|     [[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux | ||||
|  | ||||
|     # to be removed | ||||
|     [[ -z ${repo_tree_arch} ]] && repo_tree_arch=('packages' 'community') | ||||
|  | ||||
|     [[ -z ${host_tree_arch} ]] && host_tree_arch='git://projects.archlinux.org/svntogit' | ||||
|  | ||||
|     list_dir_import="${SYSCONFDIR}/import.list.d" | ||||
|  | ||||
|     [[ -d ${AT_USERCONFDIR}/import.list.d ]] && list_dir_import=${AT_USERCONFDIR}/import.list.d | ||||
|  | ||||
|     chroots_pkg="${chroots_dir}/buildpkg" | ||||
|  | ||||
|     [[ -z ${patches_dir} ]] && patches_dir=${workspace_dir}/archlinux-patches | ||||
|  | ||||
|     [[ -z ${repos_root} ]] && repos_root="${workspace_dir}/repos" | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user