forked from artix/artools
		
	Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 02b28e82ef | ||
|   | fb6d1d4c1b | ||
|   | 9fc3fbd14d | ||
|   | 72f2781cb9 | ||
|   | 9ddd73c8b4 | ||
|   | 3c92d5c87a | ||
|   | bc8f17cc86 | ||
|   | 1ceb6926e9 | ||
|   | 4d3a993a72 | ||
|   | a52bdc9799 | ||
|   | b62e90f778 | ||
|   | 5d2fda793d | ||
|   | 550663cfd1 | 
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,5 +1,7 @@ | ||||
| Version=0.7 | ||||
|  | ||||
| Chroot_version=0.7 | ||||
|  | ||||
| PREFIX = /usr/local | ||||
| SYSCONFDIR = /etc | ||||
|  | ||||
| @@ -97,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 $@" | ||||
|   | ||||
| @@ -19,24 +19,17 @@ DATADIR='@datadir@' | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-pkg.sh | ||||
|  | ||||
| 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}" | ||||
|                 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 | ||||
| } | ||||
| @@ -47,10 +40,12 @@ 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 | ||||
| } | ||||
| @@ -88,7 +83,7 @@ show_version_table(){ | ||||
| } | ||||
|  | ||||
| show_artix_table(){ | ||||
|      msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version" | ||||
|     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 | ||||
| @@ -131,32 +126,45 @@ show_artix_table(){ | ||||
| } | ||||
|  | ||||
| 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 | ||||
|         cd ${tree_dir_artix}/$git_tree_artix | ||||
|  | ||||
|         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 | ||||
|         info "Update from archlinux (%s)" "$git_tree_arch" | ||||
|         rsync "${rsync_args[@]}" $src/ $dest/ | ||||
|         patch_pkg "$pkg" "$tree" | ||||
|     else | ||||
|         cd ${tree_dir_artix}/$artixtree | ||||
|         info "Importing from archlinux (%s)" "$archtree" | ||||
|         [[ $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 | ||||
| @@ -180,8 +188,7 @@ display_settings(){ | ||||
|     msg2 "upgrades: %s" "${upgrades}" | ||||
|     msg2 "downgrades: %s" "${downgrades}" | ||||
|     msg2 "artix: %s" "${artix}" | ||||
|     msg2 "import_packages: %s" "${import_packages}" | ||||
|     msg2 "import_community: %s" "${import_community}" | ||||
|     msg2 "import: %s" "${import}" | ||||
|  | ||||
|     msg "PATHS:" | ||||
|     msg2 "tree_dir_artix: %s" "${tree_dir_artix}" | ||||
| @@ -200,13 +207,9 @@ compare=false | ||||
| upgrades=true | ||||
| downgrades=false | ||||
| artix=false | ||||
| import_packages=false | ||||
| import_community=false | ||||
| import=false | ||||
| package='' | ||||
|  | ||||
| git_artix='packages' | ||||
| git_arch='packages' | ||||
|  | ||||
| rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) | ||||
|  | ||||
| usage() { | ||||
| @@ -217,8 +220,7 @@ usage() { | ||||
|     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 '    -i            Import a package from arch' | ||||
|     echo '    -q            Query settings' | ||||
|     echo '    -h            This help' | ||||
|     echo '' | ||||
| @@ -228,7 +230,7 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:csudaijqh' | ||||
| opts='p:csudaiqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
| @@ -238,8 +240,7 @@ while getopts "${opts}" arg; do | ||||
|         u) upgrades=false ;; | ||||
|         d) downgrades=true ;; | ||||
|         a) artix=true ;; | ||||
|         i) import_packages=true ;; | ||||
|         j) import_community=true; git_artix='packages-galaxy'; git_arch='community' ;; | ||||
|         i) import=true ;; | ||||
|         q) pretend=true ;; | ||||
|         h|?) usage 0 ;; | ||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; | ||||
| @@ -259,6 +260,4 @@ ${compare} && show_version_table | ||||
|  | ||||
| ${artix} && show_artix_table | ||||
|  | ||||
| ${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 | ||||
| @@ -114,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}" | ||||
|   | ||||
| @@ -22,61 +22,79 @@ 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} | ||||
|         cd ${tree_dir_artix}/${git_tree} | ||||
|  | ||||
|         cd ${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} && push_tree "${git_tree}" | ||||
|             ${push} && push_tree | ||||
|         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} && push_tree "${git_tree}" | ||||
|             if ${push};then | ||||
|                 msg "Checking (%s)" "${git_tree}" | ||||
|                 pull_tree | ||||
|                 push_tree | ||||
|             fi | ||||
|         fi | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| release_pkg(){ | ||||
| symlink_commit_pkg(){ | ||||
|     local git_tree=$(find_tree "${tree_dir_artix}" "${package}") | ||||
|     if [[ -n ${git_tree} ]];then | ||||
|         cd ${tree_dir_artix}/${git_tree}/${package} | ||||
|         cd ${tree_dir_artix}/${git_tree} | ||||
|  | ||||
|         cd ${package} | ||||
|  | ||||
|         source trunk/PKGBUILD | ||||
|         [[ $arch == 'any' ]] && CARCH=any | ||||
|         if [[ ${source_repo} != 'trunk' ]];then | ||||
|             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 ]] && mkdir repos | ||||
|             cd repos | ||||
|         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 | ||||
|             cd .. | ||||
|             [[ ! -d repos ]] && mkdir repos | ||||
|  | ||||
|             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 | ||||
|         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} && push_tree "${git_tree}" | ||||
|         if ${push};then | ||||
|             msg "Checking (%s)" "${git_tree}" | ||||
|             pull_tree | ||||
|             push_tree | ||||
|         fi | ||||
|     else | ||||
|         error "Package '%s' does not exist!" "${package}" | ||||
|     fi | ||||
| @@ -115,7 +133,7 @@ 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' | ||||
| @@ -148,7 +166,7 @@ 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}" | ||||
|   | ||||
| @@ -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,11 +202,15 @@ _chrootbuild() { | ||||
|     # No coredumps | ||||
|     ulimit -c 0 | ||||
|  | ||||
|     exec </dev/console | ||||
|     # 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 "$@" | ||||
|   | ||||
							
								
								
									
										58
									
								
								data/missing
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								data/missing
									
									
									
									
									
								
							| @@ -1,25 +1,51 @@ | ||||
| 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/libmp4v2 | ||||
| extra/libmpdclient | ||||
| extra/audiofile | ||||
| extra/libid3tag | ||||
| extra/idnkit | ||||
| extra/neon | ||||
| extra/sbc | ||||
| extra/enchant | ||||
| extra/chromaprint | ||||
| extra/ttf-liberation | ||||
| extra/appstream-glib | ||||
| extra/libxkbui | ||||
| extra/libxkbfile | ||||
| extra/libunicodenames | ||||
| extra/ethtool | ||||
| extra/pygobject2-devel | ||||
| extra/python2-gobject2 | ||||
| extra/faac | ||||
| extra/mjpegtools | ||||
| extra/mpg123 | ||||
| extra/serf | ||||
| extra/tinycdb | ||||
|  | ||||
| extra/js | ||||
|  | ||||
| extra/speexdsp | ||||
| extra/spandsp | ||||
| extra/soundtouch | ||||
| extra/gst-plugins-bad | ||||
|  | ||||
| extra/appstream-glib | ||||
| extra/opencl-headers | ||||
|  | ||||
| # openrc-world deps | ||||
| extra/metalog | ||||
| extra/clamav | ||||
| extra/lighttpd | ||||
| extra/dnsmasq | ||||
| extra/postgresql-libs | ||||
| extra/postfix | ||||
| extra/wicd | ||||
| extra/cyrus-sasl | ||||
| extra/mpd | ||||
| extra/bitlbee | ||||
| extra/bind | ||||
| extra/lirc | ||||
| extra/sane | ||||
| extra/transmission-cli | ||||
|   | ||||
| @@ -78,25 +78,26 @@ find_tree(){ | ||||
|     echo ${result##*/} | ||||
| } | ||||
|  | ||||
| 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" | ||||
|     if [[ "${local_head}" == "${remote_head}" ]]; then | ||||
|         msg2 "nothing to do" | ||||
|     else | ||||
|         msg2 "needs pull" | ||||
|         git pull origin $branch | ||||
|     fi | ||||
|     msg "Done [%s]" "$tree" | ||||
| 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" tree="$1" | ||||
|     pull_tree "$tree" | ||||
|     local branch="master" | ||||
|     git push origin "$branch" | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user