forked from artix/artools
		
	Compare commits
	
		
			80 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 21a5c7e916 | ||
|   | 62810d1d85 | ||
|   | 865bd20674 | ||
|   | b46b5c626e | ||
|   | 9ac4576666 | ||
|   | a88f196217 | ||
|   | c0e8ef4c26 | ||
|   | 02b28e82ef | ||
|   | fb6d1d4c1b | ||
|   | 9fc3fbd14d | ||
|   | 72f2781cb9 | ||
|   | 9ddd73c8b4 | ||
|   | 3c92d5c87a | ||
|   | bc8f17cc86 | ||
|   | 1ceb6926e9 | ||
|   | 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 | ||
|   | 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 | 
							
								
								
									
										12
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,5 +1,7 @@ | ||||
| Version=0.7 | ||||
|  | ||||
| Chroot_version=0.7 | ||||
|  | ||||
| PREFIX = /usr/local | ||||
| SYSCONFDIR = /etc | ||||
|  | ||||
| @@ -24,9 +26,6 @@ LIBS_BASE = \ | ||||
| SHARED_BASE = \ | ||||
| 	$(wildcard data/pacman*.conf) | ||||
|  | ||||
| LIST_IMPORT = \ | ||||
| 	$(wildcard data/import.list.d/*.list) | ||||
|  | ||||
| BIN_PKG = \ | ||||
| 	bin/checkpkg \ | ||||
| 	bin/lddd \ | ||||
| @@ -100,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 $@" | ||||
| @@ -126,9 +126,6 @@ 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 | ||||
|  | ||||
| @@ -188,7 +185,6 @@ 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 | ||||
| 	for l in ${COMMITPKG_SYMS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done | ||||
|   | ||||
							
								
								
									
										385
									
								
								bin/buildtree.in
									
									
									
									
									
								
							
							
						
						
									
										385
									
								
								bin/buildtree.in
									
									
									
									
									
								
							| @@ -17,61 +17,19 @@ DATADIR='@datadir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.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}" | ||||
| } | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| pull_tree_arch(){ | ||||
|     cd ${tree_dir_arch} | ||||
|     for tree in packages community;do | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 pull_tree "${tree}" | ||||
|                 msg "Checking (%s)" "${tree}" | ||||
|                 pull_tree | ||||
|             cd .. | ||||
|         else | ||||
|             clone_tree "${tree}" "${host_tree_arch}/${tree}" | ||||
|             msg "Cloning (%s) ..." "$tree" | ||||
|             clone_tree "${host_tree_arch}/${tree}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
| @@ -82,163 +40,21 @@ pull_tree_artix(){ | ||||
|         if [[ -d ${tree} ]];then | ||||
|             cd ${tree} | ||||
|                 git config --bool pull.rebase true | ||||
|                 pull_tree "${tree}" | ||||
|                 msg "Checking (%s)" "${tree}" | ||||
|                 pull_tree | ||||
|             cd .. | ||||
|         else | ||||
|             clone_tree "${tree}" "${host_tree_artix}/${tree}" | ||||
|             msg "Cloning (%s) ..." "$tree" | ||||
|             clone_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/trunk/PKGBUILD | ||||
|         ;; | ||||
|         'tp_smapi'|'acpi_call'|'r8168') | ||||
|             sed -e 's|-ARCH|-ARTIX|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 | ||||
|         ;; | ||||
|     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 | ||||
| } | ||||
|  | ||||
| view_artix_repo(){ | ||||
|     local repo="$1" | ||||
|     case $repo in | ||||
|         core-*) repo=system ;; | ||||
|         extra-*) repo=world ;; | ||||
|         community-*) 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 | ||||
| } | ||||
|  | ||||
| show_downgrade_table(){ | ||||
| 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 | ||||
|         for pkg_path in ${tree_dir_artix}/$tree/*; 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) -gt 0 ];then | ||||
|                     local ar=$(view_artix_repo "$artixrepo") | ||||
|                     msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                 fi | ||||
|                 unset pkgver epoch pkgrel artixver archver _package | ||||
|             fi | ||||
|         done | ||||
|     done | ||||
| } | ||||
|  | ||||
| show_upgrade_table(){ | ||||
|     declare -A UPDATES | ||||
|     msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version" | ||||
|     for tree in packages packages-galaxy;do | ||||
|         for pkg_path in ${tree_dir_artix}/$tree/*; 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 | ||||
| @@ -251,67 +67,111 @@ show_upgrade_table(){ | ||||
|                     local archver=$(get_full_version $pkg) | ||||
|                 fi | ||||
|                 if [ $(vercmp $artixver $archver) -lt 0 ];then | ||||
|                     local ar=$(view_artix_repo "$artixrepo") | ||||
|                     UPDATES[$pkg]="$pkg_path/repos/$artixrepo/PKGBUILD $src/$pkg/repos/$archrepo/PKGBUILD" | ||||
|                     msg_row_update "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" | ||||
|                     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 | ||||
|     find "${patches_dir}/" -name *.patch -delete | ||||
|     for upd in "${!UPDATES[@]}"; do | ||||
|         diff -u ${UPDATES[$upd]} > ${patches_dir}/"$upd"-archlinux.patch | ||||
| } | ||||
|  | ||||
| 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 | ||||
|     local pkg="$1" src= dest= | ||||
|     local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg") | ||||
|     [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg" | ||||
|     src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk | ||||
|  | ||||
|     local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg") | ||||
|     dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk | ||||
|  | ||||
|     cd ${tree_dir_arch}/$git_tree_arch | ||||
|  | ||||
|     source $src/PKGBUILD 2>/dev/null | ||||
|     cd ${tree_dir_arch}/$archtree | ||||
|     msg "Package: %s" "$pkg" | ||||
|     local archver=$(get_full_version $pkg) | ||||
|  | ||||
|     msg "Package: %s" "$pkg" | ||||
|     msg2 "Arch Version: %s" "$archver" | ||||
|     [[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}" | ||||
|     [[ -n ${checkdepends[@]} ]] && msg2 "depends: %s" "${checkdepends[*]}" | ||||
|     [[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}" | ||||
|  | ||||
|     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" | ||||
|         info "artixver: %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 | ||||
| } | ||||
|         cd ${tree_dir_artix}/$git_tree_artix | ||||
|  | ||||
| import_from_arch(){ | ||||
|     for tree in packages packages-galaxy;do | ||||
|         info "Importing from archlinux %s" "$tree" | ||||
|         read_import_list "$tree" | ||||
|         cd ${tree_dir_artix}/$tree | ||||
|         for pkg in ${import_list[@]};do | ||||
|             [[ "$tree" == 'packages' ]] && from_arch "$pkg" "$tree" "$tree" | ||||
|             [[ "$tree" == 'packages-galaxy' ]] && from_arch "$pkg" "community" "$tree" | ||||
|         done | ||||
|     done | ||||
|         source $dest/PKGBUILD 2>/dev/null | ||||
|         local artixver=$(get_full_version $pkg) | ||||
|  | ||||
|         msg2 "Artix Version: %s" "$artixver" | ||||
|         info "Update from archlinux (%s)" "$git_tree_arch" | ||||
|         rsync "${rsync_args[@]}" $src/ $dest/ | ||||
|         patch_pkg "$pkg" "$tree" | ||||
|     else | ||||
|         [[ $git_tree_arch == 'packages' ]] && git_tree_artix=$git_tree_arch | ||||
|         [[ $git_tree_arch == 'community' ]] && git_tree_artix='packages-galaxy' | ||||
|  | ||||
|         cd ${tree_dir_artix}/$git_tree_artix | ||||
|  | ||||
|         dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk | ||||
|         mkdir $pkg | ||||
|  | ||||
|         info "Import from archlinux (%s)" "$git_tree_arch" | ||||
|         rsync "${rsync_args[@]}" $src/ $dest/ | ||||
|         patch_pkg "$pkg" "$tree" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| sync_repos(){ | ||||
|     pull_tree_arch | ||||
|     ${sync_arch} && pull_tree_arch | ||||
|     pull_tree_artix | ||||
| } | ||||
|  | ||||
| @@ -324,16 +184,16 @@ display_settings(){ | ||||
|  | ||||
|     msg "ARGS:" | ||||
|     msg2 "sync: %s" "${sync}" | ||||
|     msg2 "sync_arch: %s" "${sync_arch}" | ||||
|     msg2 "compare: %s" "${compare}" | ||||
|     msg2 "upgrades: %s" "${upgrades}" | ||||
|     msg2 "downgrades: %s" "${downgrades}" | ||||
|     msg2 "import_packages: %s" "${import_packages}" | ||||
|     msg2 "import_community: %s" "${import_community}" | ||||
|     msg2 "import_all: %s" "${import_all}" | ||||
|     msg2 "artix: %s" "${artix}" | ||||
|     msg2 "import: %s" "${import}" | ||||
|  | ||||
|     msg "PATHS:" | ||||
|     msg2 "tree_dir_artix: %s" "${tree_dir_artix}" | ||||
|     msg2 "tree_dir_arch: %s" "${tree_dir_arch}" | ||||
|     msg2 "patches_dir: %s" "${patches_dir}" | ||||
| } | ||||
|  | ||||
| load_user_info | ||||
| @@ -344,27 +204,26 @@ load_vars /etc/makepkg.conf | ||||
|  | ||||
| pretend=false | ||||
| sync=false | ||||
| upgrades=false | ||||
| sync_arch=true | ||||
| compare=false | ||||
| upgrades=true | ||||
| downgrades=false | ||||
| import_packages=false | ||||
| import_community=false | ||||
| import_all=false | ||||
| artix=false | ||||
| import=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 '    -p <pkg>      Package name' | ||||
|     echo "    -s            Clone or pull repos" | ||||
|     echo "    -z            Don't clone or pull arch repos" | ||||
|     echo '    -c            Compare packages' | ||||
|     echo '    -u            Show upgrade packages' | ||||
|     echo '    -d            Show downgrade packages' | ||||
|     echo '    -i            Import from arch packages' | ||||
|     echo '    -j            Import from arch community' | ||||
|     echo '    -k            Import arch packages' | ||||
|     echo '    -a            Show artix specific packages' | ||||
|     echo '    -i            Import a package from arch' | ||||
|     echo '    -q            Query settings' | ||||
|     echo '    -h            This help' | ||||
|     echo '' | ||||
| @@ -374,17 +233,18 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:sudijkqh' | ||||
| opts='p:csudaizqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         p) package="$OPTARG" ;; | ||||
|         s) sync=true ;; | ||||
|         u) upgrades=true ;; | ||||
|         z) sync_arch=false ;; | ||||
|         c) compare=true ;; | ||||
|         u) upgrades=false ;; | ||||
|         d) downgrades=true ;; | ||||
|         i) import_packages=true ;; | ||||
|         j) import_community=true; git_artix='packages-galaxy'; git_arch='community' ;; | ||||
|         k) import_all=true ;; | ||||
|         a) artix=true ;; | ||||
|         i) import=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
| @@ -395,18 +255,13 @@ shift $(($OPTIND - 1)) | ||||
|  | ||||
| prepare_dir "${tree_dir_artix}" | ||||
| prepare_dir "${tree_dir_arch}" | ||||
| prepare_dir "${patches_dir}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${sync} && sync_repos | ||||
|  | ||||
| ${upgrades} && show_upgrade_table | ||||
| ${compare} && show_version_table | ||||
|  | ||||
| ${downgrades} && show_downgrade_table | ||||
| ${artix} && show_artix_table | ||||
|  | ||||
| ${import_all} && import_from_arch | ||||
|  | ||||
| ${import_packages} && from_arch "${package}" "${git_arch}" "${git_artix}" | ||||
|  | ||||
| ${import_community} && from_arch "${package}" "${git_arch}" "${git_artix}" | ||||
| ${import} && from_arch "${package}" | ||||
|   | ||||
| @@ -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}" | ||||
|   | ||||
| @@ -17,57 +17,83 @@ DATADIR='@datadir@' | ||||
|  | ||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| commit_pkg(){ | ||||
|     local git_tree=$(find_tree "${tree_dir_artix}" "${package}") | ||||
|     if [[ -n ${git_tree} ]];then | ||||
|         cd ${tree_dir_artix}/${git_tree}/${package} | ||||
|  | ||||
|         source trunk/PKGBUILD | ||||
|     local ver=$(get_full_version ${package}) | ||||
|         [[ $arch == 'any' ]] && CARCH=any | ||||
|         local ver=$(get_full_version "${package}") | ||||
|  | ||||
|         if ${remove};then | ||||
|             local action='remove' | ||||
|         local pkg=${package}-$ver | ||||
|             if [[ "${source_repo}" == 'trunk' ]];then | ||||
|             pkg=${package} | ||||
|             info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}" | ||||
|                 local pkg=${package} | ||||
|                 git rm -r trunk | ||||
|             else | ||||
|             info "[%s] '%s' %s" "${source_repo}" "$pkg" "${action}" | ||||
|                 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} && git push origin master | ||||
|         else | ||||
|             local action='modify' | ||||
|         info "[%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}" | ||||
|             msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}" | ||||
|             git add . | ||||
|             git commit -m "[${source_repo}] '${package}-$ver' ${action}" | ||||
|         ${push} && git push origin master | ||||
|         fi | ||||
|  | ||||
|         if ${push};then | ||||
|             msg "Checking (%s)" "${git_tree}" | ||||
|             git pull origin master | ||||
|             git push origin master | ||||
|         fi | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| release_pkg(){ | ||||
|     if [[ -d ${tree_dir_artix}/${git_tree}/${package} ]];then | ||||
| symlink_commit_pkg(){ | ||||
|     local git_tree=$(find_tree "${tree_dir_artix}" "${package}") | ||||
|     if [[ -n ${git_tree} ]];then | ||||
|         cd ${tree_dir_artix}/${git_tree}/${package} | ||||
|  | ||||
|         source trunk/PKGBUILD | ||||
|         [[ $arch == 'any' ]] && CARCH=any | ||||
|         if [[ ${source_repo} != 'trunk' ]];then | ||||
|         local ver=$(get_full_version "${package}") | ||||
|  | ||||
|         if [[ ${source_repo} == 'trunk' ]];then | ||||
|             local action='add' | ||||
|             local dest=${target_repo}-$CARCH | ||||
|  | ||||
|             [[ -d repos/$dest ]] && git rm -r repos/$dest | ||||
|             [[ ! -d repos ]] && mkdir repos | ||||
|  | ||||
|             cp -r trunk repos/$dest | ||||
|         else | ||||
|             local action='move' | ||||
|             local dest=${target_repo}-$CARCH | ||||
|  | ||||
|             cd repos | ||||
|             dest=${target_repo}-$CARCH | ||||
|             action='move' | ||||
|                 [[ -d $dest ]] && git rm -r $dest | ||||
|                 git mv ${source_repo}-$CARCH $dest | ||||
|             cd .. | ||||
|         else | ||||
|             dest=${target_repo}-$CARCH | ||||
|             action='add' | ||||
|             [[ -d repos/$dest ]] && git rm -r repos/$dest | ||||
|             [[ ! -d repos ]] && mkdir repos | ||||
|             cp -r trunk repos/$dest | ||||
|         fi | ||||
|         local ver=$(get_full_version ${package}) | ||||
|         info "[%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}" | ||||
|  | ||||
|         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} && git push origin master | ||||
|  | ||||
|         if ${push};then | ||||
|             msg "Checking (%s)" "${git_tree}" | ||||
|             git pull origin master | ||||
|             git push origin master | ||||
|         fi | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| @@ -76,7 +102,6 @@ display_settings(){ | ||||
|     show_config | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "git_tree: %s" "${git_tree}" | ||||
|     msg2 "source_repo: %s" "${source_repo}" | ||||
|     msg2 "target_repo: %s" "${target_repo}" | ||||
|     msg2 "package: %s" "${package}" | ||||
| @@ -98,20 +123,14 @@ remove=false | ||||
| push=false | ||||
| pretend=false | ||||
|  | ||||
| git_tree='packages' | ||||
|  | ||||
| cmd=${0##*/} | ||||
| target_repo=${cmd%pkg} | ||||
|  | ||||
| case ${target_repo} in | ||||
|     community*|multilib*) git_tree='packages-galaxy' ;; | ||||
| esac | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -s <name>          Source repository [default:${source_repo}]" | ||||
|     echo '    -p <pkg>           Package name' | ||||
|     echo '    -r                 Delete from repo' | ||||
|     echo '    -r                 Delete from repo (commitpkg only)' | ||||
|     echo '    -u                 Push' | ||||
|     echo '    -q                 Query settings and pretend' | ||||
|     echo '    -h                 This help' | ||||
| @@ -140,8 +159,12 @@ shift $(($OPTIND - 1)) | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| if $(is_valid_repo "${source_repo}");then | ||||
|     if [[ "${cmd}" == 'commitpkg' ]];then | ||||
|         commit_pkg | ||||
|     else | ||||
|     release_pkg | ||||
|         symlink_commit_pkg | ||||
|     fi | ||||
| else | ||||
|     error "source repository '%s' is not valid!" "${source_repo}" | ||||
| fi | ||||
|   | ||||
| @@ -29,7 +29,8 @@ del_from_repo(){ | ||||
|         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} | ||||
|             [[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/} | ||||
|             [[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig | ||||
|         fi | ||||
|     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" | ||||
|  | ||||
|   | ||||
| @@ -202,13 +202,17 @@ _chrootbuild() { | ||||
|     # No coredumps | ||||
|     ulimit -c 0 | ||||
|  | ||||
|     exec </dev/console | ||||
|  | ||||
|     export LANG=C | ||||
|     export TERM=$TERM | ||||
|     # Work around chroot-run not giving a ctty | ||||
|     # exec </dev/console | ||||
|  | ||||
|     . /etc/profile | ||||
|  | ||||
|     export LANG=en_US.UTF-8 | ||||
|  | ||||
|     # workaround meson locale errors | ||||
|     # supposedly fixed with coming python-3.7 | ||||
|     locale-gen &> /dev/null | ||||
|  | ||||
|     sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@" | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,274 +0,0 @@ | ||||
| def ADD_REPO = '' | ||||
| def RM_REPO = '' | ||||
| def IS_ADD = 'false' | ||||
| def IS_REMOVE = 'false' | ||||
| def IS_BUILD = 'false' | ||||
| def PKG_TRUNK = '' | ||||
| def PKG_PATH = '' | ||||
|  | ||||
| pipeline { | ||||
|     agent any | ||||
|     options { | ||||
|         skipDefaultCheckout() | ||||
|         timestamps() | ||||
|     } | ||||
|     stages { | ||||
|         stage('Checkout') { | ||||
|             steps { | ||||
|                 script { | ||||
|                     checkout scm | ||||
|  | ||||
|                     def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim() | ||||
|                     echo "currentCommit: ${currentCommit}" | ||||
|  | ||||
|                     def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n') | ||||
|                     def changedPkgStatus = [] | ||||
|                     def pkgPath = [] | ||||
|                     int entryCount = 0 | ||||
|                     for ( int i = 0; i < changedFilesStatus.size(); i++ ) { | ||||
|                         def entry = changedFilesStatus[i].split() | ||||
|                         def fileStatus = entry[0] | ||||
|                         entryCount = entry.size() | ||||
|                         for ( int j = 1; j < entry.size(); j++ ) { | ||||
|                             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 "entryCount: ${entryCount}" | ||||
|                     echo "pkgPathCount: ${pkgPathCount}" | ||||
|                     echo "changedPkgStatus: ${changedPkgStatus}" | ||||
|  | ||||
|                     if ( pkgCount > 0 ) { | ||||
|  | ||||
|                         if ( entryCount == 2 && pkgCount == 2 ) { | ||||
|                             def pkgEntry1 = changedPkgStatus[0].split() | ||||
|                             def pkgEntry2 = changedPkgStatus[1].split() | ||||
|                             def srcPath = [] | ||||
|                             def pkgStatus = [] | ||||
|                             srcPath << pkgEntry1[1] | ||||
|                             srcPath << pkgEntry2[1] | ||||
|                             pkgStatus << pkgEntry1[0] | ||||
|                             pkgStatus << pkgEntry2[0] | ||||
|                             def buildInfo1 = srcPath[0].tokenize('/') | ||||
|                             def buildInfo2 = srcPath[1].tokenize('/') | ||||
|  | ||||
|                             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 ( 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' | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
|                             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') && pkgPath[1].contains('community-testing') ) { | ||||
|                                     ADD_REPO = 'galaxy-gremlins' | ||||
|                                     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('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' | ||||
|                                     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' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'galaxy-goblins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('community-testing') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'galaxy-gremlins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('community-x86_64') || srcPath.contains('community-any') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'galaxy' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } | ||||
|                             if ( srcPath.contains('multilib-staging') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'lib32-goblins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('multilib-testing') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'lib32-gremlins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('multilib-x86_64') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'lib32' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } | ||||
|                             PKG_PATH = srcPath | ||||
|                             PKG_TRUNK = buildInfo[0] + '/trunk' | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Build') { | ||||
|             environment { | ||||
|                 BUILDBOT_GPGP = credentials('BUILDBOT_GPGP') | ||||
|             } | ||||
|             when { | ||||
|                 expression { return  IS_BUILD == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_PATH}") { | ||||
|                     sh "buildpkg -r ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|             post { | ||||
|                 success { | ||||
|                     dir("${PKG_PATH}") { | ||||
|                         sh "deploypkg -a -d ${ADD_REPO} -s" | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Add') { | ||||
|             when { | ||||
|                 expression { return  IS_ADD == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     sh "deploypkg -a -d ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Remove') { | ||||
|             when { | ||||
|                 expression { return  IS_REMOVE == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     sh "deploypkg -r -d ${RM_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,241 +0,0 @@ | ||||
| def ADD_REPO = '' | ||||
| def RM_REPO = '' | ||||
| def IS_ADD = 'false' | ||||
| def IS_REMOVE = 'false' | ||||
| def IS_BUILD = 'false' | ||||
| def PKG_TRUNK = '' | ||||
| def PKG_PATH = '' | ||||
|  | ||||
| pipeline { | ||||
|     agent any | ||||
|     options { | ||||
|         skipDefaultCheckout() | ||||
|         timestamps() | ||||
|     } | ||||
|     stages { | ||||
|         stage('Checkout') { | ||||
|             steps { | ||||
|                 script { | ||||
|                     checkout scm | ||||
|  | ||||
|                     def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim() | ||||
|                     echo "currentCommit: ${currentCommit}" | ||||
|  | ||||
|                     def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n') | ||||
|                     def changedPkgStatus = [] | ||||
|                     def pkgPath = [] | ||||
|                     int entryCount = 0 | ||||
|                     for ( int i = 0; i < changedFilesStatus.size(); i++ ) { | ||||
|                         def entry = changedFilesStatus[i].split() | ||||
|                         def fileStatus = entry[0] | ||||
|                         entryCount = entry.size() | ||||
|                         for ( int j = 1; j < entry.size(); j++ ) { | ||||
|                             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 "entryCount: ${entryCount}" | ||||
|                     echo "pkgPathCount: ${pkgPathCount}" | ||||
|                     echo "changedPkgStatus: ${changedPkgStatus}" | ||||
|  | ||||
|                     if ( pkgCount > 0 ) { | ||||
|  | ||||
|                         if ( entryCount == 2 && pkgCount == 2 ) { | ||||
|                             def pkgEntry1 = changedPkgStatus[0].split() | ||||
|                             def pkgEntry2 = changedPkgStatus[1].split() | ||||
|                             def srcPath = [] | ||||
|                             def pkgStatus = [] | ||||
|                             srcPath << pkgEntry1[1] | ||||
|                             srcPath << pkgEntry2[1] | ||||
|                             pkgStatus << pkgEntry1[0] | ||||
|                             pkgStatus << pkgEntry2[0] | ||||
|                             def buildInfo1 = srcPath[0].tokenize('/') | ||||
|                             def buildInfo2 = srcPath[1].tokenize('/') | ||||
|  | ||||
|                             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' | ||||
|                                 } | ||||
|                             } 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' | ||||
|                                 } | ||||
|                             } | ||||
|  | ||||
|                             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') && pkgPath[1].contains('testing') ) { | ||||
|                                     ADD_REPO = 'gremlins' | ||||
|                                     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' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'goblins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('testing') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'gremlins' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('core') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'system' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } else if ( srcPath.contains('extra') ) { | ||||
|                                 if ( pkgStatus == 'A' || pkgStatus == 'M' ) { | ||||
|                                     IS_BUILD = 'true' | ||||
|                                 } | ||||
|                                 if ( pkgStatus == 'D' ) { | ||||
|                                     IS_REMOVE = 'true' | ||||
|                                 } | ||||
|                                 ADD_REPO = 'world' | ||||
|                                 RM_REPO = ADD_REPO | ||||
|                             } | ||||
|                             PKG_PATH = srcPath | ||||
|                             PKG_TRUNK = buildInfo[0] + '/trunk' | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Build') { | ||||
|             environment { | ||||
|                 BUILDBOT_GPGP = credentials('BUILDBOT_GPGP') | ||||
|             } | ||||
|             when { | ||||
|                 expression { return  IS_BUILD == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_PATH}") { | ||||
|                     sh "buildpkg -r ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|             post { | ||||
|                 success { | ||||
|                     dir("${PKG_PATH}") { | ||||
|                         sh "deploypkg -a -d ${ADD_REPO} -s" | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Add') { | ||||
|             when { | ||||
|                 expression { return  IS_ADD == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     sh "deploypkg -a -d ${ADD_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         stage('Remove') { | ||||
|             when { | ||||
|                 expression { return  IS_REMOVE == 'true' } | ||||
|             } | ||||
|             steps { | ||||
|                 dir("${PKG_TRUNK}") { | ||||
|                     sh "deploypkg -r -d ${RM_REPO}" | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -33,7 +33,7 @@ | ||||
| # initsys="openrc" | ||||
|  | ||||
| # unset defaults to given value | ||||
| # kernel="linux-lts" | ||||
| # kernel="linux" | ||||
|  | ||||
| # custom additional kernel args | ||||
| # kernel_args="" | ||||
|   | ||||
| @@ -1,36 +0,0 @@ | ||||
| acpi_call | ||||
| acpi_call-lts | ||||
| autoconf-archive | ||||
| cmocka | ||||
| confuse | ||||
| dovecot | ||||
| hub | ||||
| hwinfo | ||||
| jansson | ||||
| lib32-fakeroot | ||||
| lib32-libltdl | ||||
| libappindicator | ||||
| libbson | ||||
| libdbi | ||||
| libdbusmenu | ||||
| libftdi | ||||
| libindicator | ||||
| libmongoc | ||||
| libnewt | ||||
| libpgm | ||||
| libreplaygain | ||||
| libsass | ||||
| libsodium | ||||
| libx86emu | ||||
| ninja | ||||
| pigeonhole | ||||
| portaudio | ||||
| r8168 | ||||
| r8168-lts | ||||
| sassc | ||||
| tp_smapi | ||||
| tp_smapi-lts | ||||
| virtualbox | ||||
| virtualbox-guest-iso | ||||
| yaml-cpp | ||||
| zeromq | ||||
| @@ -1,74 +0,0 @@ | ||||
| dbus | ||||
| lvm2 | ||||
| cryptsetup | ||||
| mdadm | ||||
| glibc | ||||
| iptables | ||||
| man-db | ||||
| btrfs-progs | ||||
| bash | ||||
| dhcpcd | ||||
| filesystem | ||||
| gnupg | ||||
| krb5 | ||||
| libusb | ||||
| licenses | ||||
| logrotate | ||||
| mkinitcpio | ||||
| pacman | ||||
| pambase | ||||
| procps-ng | ||||
| rpcbind | ||||
| util-linux | ||||
| wpa_supplicant | ||||
| gpm | ||||
| cronie | ||||
|  | ||||
| accountsservice | ||||
| alsa-utils | ||||
| apache | ||||
| avahi | ||||
| bluez | ||||
| colord | ||||
| cups | ||||
| dhcp | ||||
| fluidsynth | ||||
| git | ||||
| haveged | ||||
| libatasmart | ||||
| libblockdev | ||||
| libgudev | ||||
| libinput | ||||
| libwacom | ||||
| lirc | ||||
| mariadb | ||||
| media-player-info | ||||
| modemmmanger | ||||
| networkmanager | ||||
| openslp | ||||
| polkit | ||||
| pulseaudio | ||||
| qt5-base | ||||
| rsync | ||||
| samba | ||||
| sane | ||||
| sddm | ||||
| subversion | ||||
| syslog-ng | ||||
| udisks2 | ||||
| upower | ||||
| xorg-server | ||||
| xf86-input-libinput | ||||
| xf86-input-evdev | ||||
| xf86-video-amdgpu | ||||
| xf86-video-ati | ||||
| xf86-video-intel | ||||
| xf86-video-nouveau | ||||
| xf86-video-openchrome | ||||
| xf86-video-sisusb | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -1,55 +0,0 @@ | ||||
| acpi_call | ||||
| acpi_call-lts | ||||
| autoconf-archive | ||||
| cmocka | ||||
| confuse | ||||
| cython | ||||
| dmd | ||||
| dovecot | ||||
| gmock | ||||
| gtest | ||||
| hub | ||||
| hwinfo | ||||
| jansson | ||||
| lib32-fakeroot | ||||
| lib32-libltdl | ||||
| libappindicator | ||||
| libbson | ||||
| libdbi | ||||
| libdbusmenu | ||||
| libftdi | ||||
| libindicator | ||||
| libmongoc | ||||
| libnewt | ||||
| libpgm | ||||
| libphobos | ||||
| libreplaygain | ||||
| libsass | ||||
| libsodium | ||||
| libx86emu | ||||
| ninja | ||||
| pigeonhole | ||||
| portaudio | ||||
| python-babel | ||||
| python-docutils | ||||
| python-imagesize | ||||
| python-jinja | ||||
| python-pygments | ||||
| python-pytz | ||||
| python-snowballstemmer | ||||
| python-sphinx | ||||
| python-sphinx-alabaster-theme | ||||
| python-sphinxcontrib-websupport | ||||
| python-sphinx_rtd_theme | ||||
| python-sqlalchemy | ||||
| python-whoosh | ||||
| r8168 | ||||
| r8168-lts | ||||
| rust | ||||
| sassc | ||||
| tp_smapi | ||||
| tp_smapi-lts | ||||
| virtualbox | ||||
| virtualbox-guest-iso | ||||
| yaml-cpp | ||||
| zeromq | ||||
| @@ -1,687 +0,0 @@ | ||||
| a52dec | ||||
| aalib | ||||
| acl | ||||
| adwaita-icon-theme | ||||
| alsa-firmware | ||||
| alsa-lib | ||||
| apr | ||||
| apr-util | ||||
| archlinux-keyring | ||||
| argon2 | ||||
| aspell | ||||
| assimp | ||||
| atk | ||||
| atkmm | ||||
| at-spi2-atk | ||||
| at-spi2-core | ||||
| attr | ||||
| autoconf | ||||
| automake | ||||
| b43-fwcutter | ||||
| babl | ||||
| # bash | ||||
| bc | ||||
| binutils | ||||
| bison | ||||
| boost | ||||
| bridge-utils | ||||
| brltty | ||||
| bzip2 | ||||
| ca-certificates | ||||
| ca-certificates-cacert | ||||
| cairo | ||||
| cairomm | ||||
| cantarell-fonts | ||||
| cdparanoia | ||||
| check | ||||
| cifs-utils | ||||
| cln | ||||
| cmake | ||||
| convertlit | ||||
| coreutils | ||||
| cpio | ||||
| cracklib | ||||
| curl | ||||
| dash | ||||
| db | ||||
| dbus-glib | ||||
| dbus-python | ||||
| dcadec | ||||
| dconf | ||||
| desktop-file-utils | ||||
| dialog | ||||
| diffutils | ||||
| ding-libs | ||||
| dkms | ||||
| dnssec-anchors | ||||
| docbook-dsssl | ||||
| docbook-sgml31 | ||||
| docbook-utils | ||||
| docbook-xml | ||||
| docbook-xsl | ||||
| dosfstools | ||||
| dotconf | ||||
| double-conversion | ||||
| doxygen | ||||
| e2fsprogs | ||||
| ebook-tools | ||||
| ed | ||||
| editorconfig-core-c | ||||
| efibootmgr | ||||
| efivar | ||||
| elfutils | ||||
| exiv2 | ||||
| expat | ||||
| extra-cmake-modules | ||||
| faad2 | ||||
| fakeroot | ||||
| ffmpeg | ||||
| ffmpeg2.8 | ||||
| fftw | ||||
| file | ||||
| findutils | ||||
| flac | ||||
| flex | ||||
| fontconfig | ||||
| freetype2 | ||||
| fribidi | ||||
| fuse2 | ||||
| fuse3 | ||||
| gamin | ||||
| gawk | ||||
| gc | ||||
| gcab | ||||
| gcc | ||||
| gconf | ||||
| gcr | ||||
| gd | ||||
| gdb | ||||
| gdbm | ||||
| gdk-pixbuf2 | ||||
| gegl02 | ||||
| geoip-database | ||||
| gettext | ||||
| ghostscript | ||||
| giblib | ||||
| giflib | ||||
| glade | ||||
| glib2 | ||||
| glibc | ||||
| glibmm | ||||
| glib-networking | ||||
| glu | ||||
| gmp | ||||
| gnome-common | ||||
| gnutls | ||||
| gobject-introspection | ||||
| gperf | ||||
| gperftools | ||||
| gpgme | ||||
| gptfdisk | ||||
| grantlee | ||||
| graphite | ||||
| graphviz | ||||
| grep | ||||
| groff | ||||
| gsettings-desktop-schemas | ||||
| gsfonts | ||||
| gsm | ||||
| gst-plugins-base | ||||
| gst-plugins-good | ||||
| gstreamer | ||||
| gtk2 | ||||
| gtk3 | ||||
| gtk-doc | ||||
| gtkmm3 | ||||
| gtk-sharp-2 | ||||
| gtksourceview3 | ||||
| gts | ||||
| guile | ||||
| guile2.0 | ||||
| gzip | ||||
| harfbuzz | ||||
| hdparm | ||||
| hicolor-icon-theme | ||||
| hunspell | ||||
| hwids | ||||
| hwloc | ||||
| hyphen | ||||
| iana-etc | ||||
| icu | ||||
| ifenslave | ||||
| ijs | ||||
| ilmbase | ||||
| imagemagick | ||||
| imlib2 | ||||
| iniparser | ||||
| intltool | ||||
| iproute2 | ||||
| iputils | ||||
| ipw2100-fw | ||||
| ipw2200-fw | ||||
| isdn4k-utils | ||||
| iso-codes | ||||
| itstool | ||||
| iw | ||||
| jack | ||||
| jasper | ||||
| java8-openjdk | ||||
| java-common | ||||
| jbig2dec | ||||
| jemalloc | ||||
| jfsutils | ||||
| js | ||||
| json-c | ||||
| jsoncpp | ||||
| json-glib | ||||
| kbd | ||||
| keyutils | ||||
| lame | ||||
| lapack | ||||
| lcms | ||||
| lcms2 | ||||
| ldb | ||||
| ldns | ||||
| less | ||||
| libaccounts-glib | ||||
| libaccounts-qt | ||||
| libaio | ||||
| libao | ||||
| libarchive | ||||
| libass | ||||
| libassuan | ||||
| libasyncns | ||||
| libatomic_ops | ||||
| libavc1394 | ||||
| libbluray | ||||
| libbsd | ||||
| libburn | ||||
| libbytesize | ||||
| libcaca | ||||
| libcanberra | ||||
| libcap | ||||
| libcap-ng | ||||
| libcddb | ||||
| libcdio | ||||
| libcdio-paranoia | ||||
| #libconfig | ||||
| libcroco | ||||
| libcue | ||||
| libdaemon | ||||
| libdatrie | ||||
| libdbusmenu-qt | ||||
| libdca | ||||
| libdmtx | ||||
| libdrm | ||||
| libdv | ||||
| libdvbpsi | ||||
| libdvdcss | ||||
| libdvdnav | ||||
| libdvdread | ||||
| libebml | ||||
| libedit | ||||
| libepoxy | ||||
| libevdev | ||||
| libevent | ||||
| libexif | ||||
| libffi | ||||
| libfontenc | ||||
| libgcrypt | ||||
| libgdiplus | ||||
| libgee | ||||
| libgit2 | ||||
| libglade | ||||
| libglvnd | ||||
| libgpg-error | ||||
| libgphoto2 | ||||
| libgssglue | ||||
| libgusb | ||||
| libical | ||||
| libice | ||||
| libid3tag | ||||
| libidn | ||||
| libidn2 | ||||
| libiec61883 | ||||
| libieee1284 | ||||
| libimobiledevice | ||||
| libiscsi | ||||
| libisoburn | ||||
| libisofs | ||||
| libjpeg-turbo | ||||
| libksba | ||||
| liblouis | ||||
| liblqr | ||||
| libmad | ||||
| libmatroska | ||||
| libmng | ||||
| libmnl | ||||
| libmodplug | ||||
| libmpc | ||||
| libmpeg2 | ||||
| libmspack | ||||
| libmtp | ||||
| libndp | ||||
| libnftnl | ||||
| libnghttp2 | ||||
| libnl | ||||
| libnotify | ||||
| libogg | ||||
| libomxil-bellagio | ||||
| libpaper | ||||
| libpcap | ||||
| libpciaccess | ||||
| libpipeline | ||||
| libplist | ||||
| libpng | ||||
| libproxy | ||||
| libpsl | ||||
| libpwquality | ||||
| libqalculate | ||||
| libqmi | ||||
| libraqm | ||||
| libraw1394 | ||||
| librpcsecgss | ||||
| librsvg | ||||
| libsamplerate | ||||
| libseccomp | ||||
| libsecret | ||||
| libshout | ||||
| libsigc++ | ||||
| libsigsegv | ||||
| libsm | ||||
| libsndfile | ||||
| libsoup | ||||
| libsoxr | ||||
| libspiro | ||||
| libsrtp | ||||
| libssh | ||||
| libssh2 | ||||
| libtar | ||||
| libtasn1 | ||||
| libthai | ||||
| libtheora | ||||
| libtiff | ||||
| libtirpc | ||||
| libtommath | ||||
| libtool | ||||
| libunistring | ||||
| 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 | ||||
| licenses | ||||
| links | ||||
| linux | ||||
| linux-api-headers | ||||
| linux-atm | ||||
| linux-firmware | ||||
| linux-lts | ||||
| lirc | ||||
| llvm | ||||
| lmdb | ||||
| lua | ||||
| lz4 | ||||
| lzo | ||||
| m4 | ||||
| mailcap | ||||
| make | ||||
| man-pages | ||||
| mercurial | ||||
| mesa | ||||
| meson | ||||
| mkinitcpio-busybox | ||||
| mkinitcpio-nfs-utils | ||||
| mobile-broadband-provider-info | ||||
| mono | ||||
| mpfr | ||||
| mtdev | ||||
| muparser | ||||
| musepack | ||||
| namcap | ||||
| nano | ||||
| nasm | ||||
| ncurses | ||||
| nettle | ||||
| net-tools | ||||
| network-manager-applet | ||||
| nfsidmap | ||||
| nilfs-utils | ||||
| noto-fonts | ||||
| npth | ||||
| nspr | ||||
| nss | ||||
| nss-mdns | ||||
| ntfs-3g | ||||
| numactl | ||||
| nvidia | ||||
| # nvidia-settings | ||||
| nvidia-utils | ||||
| ocl-icd | ||||
| openal | ||||
| opencore-amr | ||||
| openexr | ||||
| openjade | ||||
| openjpeg | ||||
| openjpeg2 | ||||
| openmpi | ||||
| opensp | ||||
| openssl | ||||
| openssl-1.0 | ||||
| opus | ||||
| orc | ||||
| orca | ||||
| p11-kit | ||||
| pango | ||||
| pangomm | ||||
| parted | ||||
| patch | ||||
| pciutils | ||||
| pcre | ||||
| pcre2 | ||||
| perl | ||||
| perl-error | ||||
| perl-file-which | ||||
| perl-xml-parser | ||||
| perl-yaml | ||||
| phonon | ||||
| phonon-gstreamer | ||||
| pinentry | ||||
| pixman | ||||
| pkcs11-helper | ||||
| pkg-config | ||||
| polkit-qt | ||||
| poppler | ||||
| popt | ||||
| potrace | ||||
| pptpclient | ||||
| procinfo-ng | ||||
| protobuf | ||||
| psmisc | ||||
| pth | ||||
| 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-requests | ||||
| # python-retrying | ||||
| # python-service-identity | ||||
| python-setuptools | ||||
| python-six | ||||
| # python-soappy | ||||
| # python-telepathy | ||||
| # python-urllib3 | ||||
| python-urllib3 | ||||
| python-urwid | ||||
| python-virtualenv | ||||
| # python-wpactrl | ||||
| python-wrapt | ||||
| # python-wstools | ||||
| pyxdg | ||||
| qt4 | ||||
| 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 | ||||
| re2 | ||||
| readline | ||||
| reiserfsprogs | ||||
| rest | ||||
| ruby | ||||
| run-parts | ||||
| schroedinger | ||||
| sdl | ||||
| sdl2 | ||||
| sdl_image | ||||
| sdl_sound | ||||
| sdparm | ||||
| sed | ||||
| serf | ||||
| sgml-common | ||||
| shared-mime-info | ||||
| slang | ||||
| s-nail | ||||
| snappy | ||||
| snowball | ||||
| socat | ||||
| sound-theme-freedesktop | ||||
| source-highlight | ||||
| speech-dispatcher | ||||
| speex | ||||
| speexdsp | ||||
| sqlite | ||||
| startup-notification | ||||
| sudo | ||||
| sysfsutils | ||||
| syslinux | ||||
| t1lib | ||||
| taglib | ||||
| talloc | ||||
| tar | ||||
| tcl | ||||
| tdb | ||||
| tevent | ||||
| texinfo | ||||
| texlive-bin | ||||
| texlive-core | ||||
| texlive-formatsextra | ||||
| texlive-latexextra | ||||
| texlive-pictures | ||||
| texlive-science | ||||
| thin-provisioning-tools | ||||
| traceroute | ||||
| tslib | ||||
| ttf-bitstream-vera | ||||
| ttf-dejavu | ||||
| ttf-hack | ||||
| ttf-indic-otf | ||||
| tzdata | ||||
| unixodbc | ||||
| unzip | ||||
| #usbmuxd | ||||
| usbutils | ||||
| v4l-utils | ||||
| vala | ||||
| valgrind | ||||
| vi | ||||
| vid.stab | ||||
| volume_key | ||||
| vte | ||||
| vte3 | ||||
| vulkan-docs | ||||
| vulkan-loader-layers | ||||
| vulkan-tools | ||||
| wavpack | ||||
| wayland | ||||
| wayland-protocols | ||||
| webrtc-audio-processing | ||||
| wget | ||||
| which | ||||
| whois | ||||
| wireless-regdb | ||||
| wireless_tools | ||||
| wpa_actiond | ||||
| 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 | ||||
| xfsprogs | ||||
| 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 | ||||
| xorgproto | ||||
| 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 | ||||
| xz | ||||
| yajl | ||||
| yelp-tools | ||||
| yelp-xsl | ||||
| zd1211-firmware | ||||
| zip | ||||
| zita-alsa-pcmi | ||||
| zita-resampler | ||||
| zlib | ||||
| zsh | ||||
| zstd | ||||
| zvbi | ||||
| zziplib | ||||
| @@ -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,7 @@ 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(){ | ||||
| @@ -86,9 +86,19 @@ msg_row_downgrade(){ | ||||
|     printf "${YELLOW} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_update(){ | ||||
| msg_row_notify(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${RED}${BOLD} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
|     printf "${GREEN} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| msg_row_upgrade(){ | ||||
|     local mesg=$1; shift | ||||
|     printf "${RED}${RED} ${mesg} ${ALL_OFF}\n" "$@" >&2 | ||||
| } | ||||
|  | ||||
| import(){ | ||||
|   | ||||
							
								
								
									
										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() { | ||||
|   | ||||
| @@ -73,14 +73,8 @@ init_artools_pkg(){ | ||||
|  | ||||
|     [[ -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" | ||||
| } | ||||
|  | ||||
| @@ -101,7 +95,7 @@ init_artools_iso(){ | ||||
|  | ||||
|     [[ -z ${initsys} ]] && initsys="openrc" | ||||
|  | ||||
|     [[ -z ${kernel} ]] && kernel="linux-lts" | ||||
|     [[ -z ${kernel} ]] && kernel="linux" | ||||
|  | ||||
|     [[ -z ${kernel_args} ]] && kernel_args="" | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user