Compare commits
	
		
			29 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					55b0cd4ae2 | ||
| 
						 | 
					84a51f4a9e | ||
| 
						 | 
					87ad3a631a | ||
| 
						 | 
					2a70b5f123 | ||
| 
						 | 
					3106e8975f | ||
| 
						 | 
					4a02e2d7be | ||
| 
						 | 
					4363421ce8 | ||
| 
						 | 
					4b96a54347 | ||
| 
						 | 
					0ad953ead8 | ||
| 
						 | 
					45ebe43272 | ||
| 
						 | 
					1c64fe7f69 | ||
| 
						 | 
					c2a030b016 | ||
| 
						 | 
					94670e18e7 | ||
| 
						 | 
					5c835b6e2c | ||
| 
						 | 
					3f803be6b8 | ||
| 
						 | 
					70b81d7ff8 | ||
| 
						 | 
					12a34bd5a2 | ||
| 
						 | 
					11504d3267 | ||
| 
						 | 
					203df20e76 | ||
| 
						 | 
					184259c600 | ||
| 
						 | 
					b95c7dee0d | ||
| 
						 | 
					c7c67fbc21 | ||
| 
						 | 
					21a5c7e916 | ||
| 
						 | 
					62810d1d85 | ||
| 
						 | 
					865bd20674 | ||
| 
						 | 
					b46b5c626e | ||
| 
						 | 
					9ac4576666 | ||
| 
						 | 
					a88f196217 | ||
| 
						 | 
					c0e8ef4c26 | 
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@@ -35,7 +35,8 @@ BIN_PKG = \
 | 
			
		||||
	bin/buildpkg \
 | 
			
		||||
	bin/buildtree \
 | 
			
		||||
	bin/deploypkg \
 | 
			
		||||
	bin/commitpkg
 | 
			
		||||
	bin/commitpkg \
 | 
			
		||||
	bin/mkpkgclean
 | 
			
		||||
 | 
			
		||||
LIBS_PKG = \
 | 
			
		||||
	$(wildcard lib/util-pkg*.sh)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										161
									
								
								bin/buildtree.in
									
									
									
									
									
								
							
							
						
						
									
										161
									
								
								bin/buildtree.in
									
									
									
									
									
								
							@@ -55,25 +55,47 @@ show_version_table(){
 | 
			
		||||
    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")
 | 
			
		||||
            local artixrepo=$(find_repo "$pkg_path" "${unstable}")
 | 
			
		||||
            if [[ -d $pkg_path/repos/$artixrepo ]];then
 | 
			
		||||
                source $pkg_path/trunk/PKGBUILD 2>/dev/null
 | 
			
		||||
                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")
 | 
			
		||||
                local archrepo=$(find_repo "$src/$pkg" "${unstable}")
 | 
			
		||||
                if [[ -d $src/$pkg/repos/$archrepo ]];then
 | 
			
		||||
                    source $src/$pkg/trunk/PKGBUILD 2>/dev/null
 | 
			
		||||
                    source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
 | 
			
		||||
                    local archver=$(get_full_version $pkg)
 | 
			
		||||
                fi
 | 
			
		||||
                if [ $(vercmp $artixver $archver) -lt 0 ];then
 | 
			
		||||
                    local ar=$(arch_to_artix_repo "$artixrepo")
 | 
			
		||||
                    ${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                fi
 | 
			
		||||
                if [ $(vercmp $artixver $archver) -gt 0 ];then
 | 
			
		||||
                    local ar=$(arch_to_artix_repo "$artixrepo")
 | 
			
		||||
                    if [[ -n $archver ]] && [[ -n $archrepo ]];then
 | 
			
		||||
                        ${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                if ${artix};then
 | 
			
		||||
                    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
 | 
			
		||||
                            ;;
 | 
			
		||||
                        esac
 | 
			
		||||
                    fi
 | 
			
		||||
                else
 | 
			
		||||
                    if [ $(vercmp $artixver $archver) -lt 0 ];then
 | 
			
		||||
                        local ar=$(arch_to_artix_repo "$artixrepo")
 | 
			
		||||
                        ${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                    fi
 | 
			
		||||
                    if [ $(vercmp $artixver $archver) -gt 0 ];then
 | 
			
		||||
                        local ar=$(arch_to_artix_repo "$artixrepo")
 | 
			
		||||
                        if [[ -n $archver ]] && [[ -n $archrepo ]];then
 | 
			
		||||
                            ${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                        fi
 | 
			
		||||
                    fi
 | 
			
		||||
                fi
 | 
			
		||||
                unset pkgver epoch pkgrel artixver archver _package
 | 
			
		||||
@@ -82,68 +104,39 @@ show_version_table(){
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
show_artix_table(){
 | 
			
		||||
    msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version"
 | 
			
		||||
    for tree in packages packages-galaxy;do
 | 
			
		||||
        local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
 | 
			
		||||
        for pkg_path in ${git[@]}; do
 | 
			
		||||
            local artixrepo=$(find_repo "$pkg_path")
 | 
			
		||||
            if [[ -d $pkg_path/repos/$artixrepo ]];then
 | 
			
		||||
                source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
 | 
			
		||||
                local pkg=${pkg_path##*/}
 | 
			
		||||
                local artixver=$(get_full_version $pkg)
 | 
			
		||||
                local src=$(get_import_path "$tree" "$pkg")
 | 
			
		||||
                local archrepo=$(find_repo "$src/$pkg")
 | 
			
		||||
                if [[ -d $src/$pkg/repos/$archrepo ]];then
 | 
			
		||||
                    source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
 | 
			
		||||
                    local archver=$(get_full_version $pkg)
 | 
			
		||||
                fi
 | 
			
		||||
                if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
 | 
			
		||||
 | 
			
		||||
                    local ar=$(arch_to_artix_repo "$artixrepo")
 | 
			
		||||
                    case $ar in
 | 
			
		||||
                        *goblins)
 | 
			
		||||
                            if [[ $archrepo == $artixrepo ]];then
 | 
			
		||||
                                msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                            else
 | 
			
		||||
                                msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                            fi
 | 
			
		||||
                        ;;
 | 
			
		||||
                        *gremlins)
 | 
			
		||||
                            if [[ $archrepo == $artixrepo ]];then
 | 
			
		||||
                                msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                            else
 | 
			
		||||
                                msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
 | 
			
		||||
                            fi
 | 
			
		||||
                        ;;
 | 
			
		||||
#                         system|world|galaxy|lib32) msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" ;;
 | 
			
		||||
                    esac
 | 
			
		||||
                fi
 | 
			
		||||
                unset pkgver epoch pkgrel artixver archver _package
 | 
			
		||||
            fi
 | 
			
		||||
        done
 | 
			
		||||
    done
 | 
			
		||||
show_deps(){
 | 
			
		||||
    local src="$1" repo="$2"
 | 
			
		||||
    source $src/PKGBUILD 2>/dev/null
 | 
			
		||||
    [[ $arch == 'any' ]] && CARCH=any
 | 
			
		||||
    local archver=$(get_full_version $pkg)
 | 
			
		||||
    msg "git tree: %s" "$git_tree_arch"
 | 
			
		||||
    msg2 "repo: %s" "$repo"
 | 
			
		||||
    msg2 "Package Name: %s" "$pkg"
 | 
			
		||||
    msg2 "Arch Version: %s" "$archver"
 | 
			
		||||
    msg2 "arch: %s" "$CARCH"
 | 
			
		||||
    [[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
 | 
			
		||||
    [[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
 | 
			
		||||
    [[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
 | 
			
		||||
    [[ -n ${optdepends[@]} ]] && msg2 "optdepends: %s" "${optdepends[@]}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
from_arch(){
 | 
			
		||||
    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 pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
 | 
			
		||||
    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
			
		||||
 | 
			
		||||
    src=$pkg_path/repos/$repo
 | 
			
		||||
    $trunk && src=$pkg_path/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
 | 
			
		||||
    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[*]}"
 | 
			
		||||
    show_deps "$src" "$repo"
 | 
			
		||||
 | 
			
		||||
    if [[ -d $dest ]];then
 | 
			
		||||
        cd ${tree_dir_artix}/$git_tree_artix
 | 
			
		||||
@@ -170,8 +163,21 @@ from_arch(){
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
view_build(){
 | 
			
		||||
    local pkg="$1" src=
 | 
			
		||||
    local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
 | 
			
		||||
    [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
 | 
			
		||||
 | 
			
		||||
    local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
 | 
			
		||||
    local repo=$(find_repo "$pkg_path" "${unstable}")
 | 
			
		||||
 | 
			
		||||
    src=$pkg_path/repos/$repo
 | 
			
		||||
 | 
			
		||||
    show_deps "$src" "$repo"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sync_repos(){
 | 
			
		||||
    pull_tree_arch
 | 
			
		||||
    ${sync_arch} && pull_tree_arch
 | 
			
		||||
    pull_tree_artix
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -184,11 +190,14 @@ 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 "artix: %s" "${artix}"
 | 
			
		||||
    msg2 "import: %s" "${import}"
 | 
			
		||||
    msg2 "view: %s" "${view}"
 | 
			
		||||
    msg2 "trunk: %s" "${trunk}"
 | 
			
		||||
 | 
			
		||||
    msg "PATHS:"
 | 
			
		||||
    msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
 | 
			
		||||
@@ -203,11 +212,15 @@ load_vars /etc/makepkg.conf
 | 
			
		||||
 | 
			
		||||
pretend=false
 | 
			
		||||
sync=false
 | 
			
		||||
sync_arch=true
 | 
			
		||||
compare=false
 | 
			
		||||
upgrades=true
 | 
			
		||||
unstable=false
 | 
			
		||||
upgrades=false
 | 
			
		||||
downgrades=false
 | 
			
		||||
artix=false
 | 
			
		||||
import=false
 | 
			
		||||
view=false
 | 
			
		||||
trunk=false
 | 
			
		||||
package=''
 | 
			
		||||
 | 
			
		||||
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
 | 
			
		||||
@@ -216,11 +229,15 @@ 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 '    -x            Include unstable kde and gnome'
 | 
			
		||||
    echo '    -u            Show upgrade packages'
 | 
			
		||||
    echo '    -d            Show downgrade packages'
 | 
			
		||||
    echo '    -a            Show artix specific packages'
 | 
			
		||||
    echo '    -i            Import a package from arch'
 | 
			
		||||
    echo '    -a            Show testing and staging packages'
 | 
			
		||||
    echo '    -i            Import a package from arch repos'
 | 
			
		||||
    echo '    -t            Import from arch trunk'
 | 
			
		||||
    echo '    -v            View package depends'
 | 
			
		||||
    echo '    -q            Query settings'
 | 
			
		||||
    echo '    -h            This help'
 | 
			
		||||
    echo ''
 | 
			
		||||
@@ -230,17 +247,21 @@ usage() {
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='p:csudaiqh'
 | 
			
		||||
opts='p:csudaiztxvqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        p) package="$OPTARG" ;;
 | 
			
		||||
        s) sync=true ;;
 | 
			
		||||
        z) sync_arch=false ;;
 | 
			
		||||
        c) compare=true ;;
 | 
			
		||||
        u) upgrades=false ;;
 | 
			
		||||
        u) upgrades=true ;;
 | 
			
		||||
        d) downgrades=true ;;
 | 
			
		||||
        a) artix=true ;;
 | 
			
		||||
        i) import=true ;;
 | 
			
		||||
        t) trunk=true ;;
 | 
			
		||||
        v) view=true ;;
 | 
			
		||||
        x) unstable=true ;;
 | 
			
		||||
        q) pretend=true ;;
 | 
			
		||||
        h|?) usage 0 ;;
 | 
			
		||||
        *) echo "invalid argument '${arg}'"; usage 1 ;;
 | 
			
		||||
@@ -256,8 +277,8 @@ ${pretend} && display_settings && exit 1
 | 
			
		||||
 | 
			
		||||
${sync} && sync_repos
 | 
			
		||||
 | 
			
		||||
${view} && view_build "${package}"
 | 
			
		||||
 | 
			
		||||
${compare} && show_version_table
 | 
			
		||||
 | 
			
		||||
${artix} && show_artix_table
 | 
			
		||||
 | 
			
		||||
${import} && from_arch "${package}"
 | 
			
		||||
 
 | 
			
		||||
@@ -22,9 +22,7 @@ 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}
 | 
			
		||||
 | 
			
		||||
        cd ${package}
 | 
			
		||||
        cd ${tree_dir_artix}/${git_tree}/${package}
 | 
			
		||||
 | 
			
		||||
        source trunk/PKGBUILD
 | 
			
		||||
        [[ $arch == 'any' ]] && CARCH=any
 | 
			
		||||
@@ -36,22 +34,22 @@ commit_pkg(){
 | 
			
		||||
                local pkg=${package}
 | 
			
		||||
                git rm -r trunk
 | 
			
		||||
            else
 | 
			
		||||
                local pkg=${package}-$ver
 | 
			
		||||
                git rm -r repos/${source_repo}-$CARCH
 | 
			
		||||
                local pkg="${package}-$ver"
 | 
			
		||||
                git rm -r repos/"${source_repo}-$CARCH"
 | 
			
		||||
            fi
 | 
			
		||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
 | 
			
		||||
            git commit -m "[${source_repo}] '$pkg' ${action}"
 | 
			
		||||
            ${push} && push_tree
 | 
			
		||||
        else
 | 
			
		||||
            local action='modify'
 | 
			
		||||
            msg "Action: [%s] '%s' %s" "${source_repo}" "${package}-$ver" "${action}"
 | 
			
		||||
            git add .
 | 
			
		||||
            git commit -m "[${source_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
            if ${push};then
 | 
			
		||||
                msg "Checking (%s)" "${git_tree}"
 | 
			
		||||
                pull_tree
 | 
			
		||||
                push_tree
 | 
			
		||||
            fi
 | 
			
		||||
        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}"
 | 
			
		||||
@@ -61,9 +59,7 @@ commit_pkg(){
 | 
			
		||||
symlink_commit_pkg(){
 | 
			
		||||
    local git_tree=$(find_tree "${tree_dir_artix}" "${package}")
 | 
			
		||||
    if [[ -n ${git_tree} ]];then
 | 
			
		||||
        cd ${tree_dir_artix}/${git_tree}
 | 
			
		||||
 | 
			
		||||
        cd ${package}
 | 
			
		||||
        cd ${tree_dir_artix}/${git_tree}/${package}
 | 
			
		||||
 | 
			
		||||
        source trunk/PKGBUILD
 | 
			
		||||
        [[ $arch == 'any' ]] && CARCH=any
 | 
			
		||||
@@ -71,29 +67,33 @@ symlink_commit_pkg(){
 | 
			
		||||
 | 
			
		||||
        if [[ ${source_repo} == 'trunk' ]];then
 | 
			
		||||
            local action='add'
 | 
			
		||||
            local dest=${target_repo}-$CARCH
 | 
			
		||||
            local dest="${target_repo}-$CARCH"
 | 
			
		||||
 | 
			
		||||
            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
			
		||||
            [[ ! -d repos ]] && mkdir repos
 | 
			
		||||
            [[ ! -d repos/$dest ]] && mkdir repos/$dest
 | 
			
		||||
 | 
			
		||||
            cp -r trunk repos/$dest
 | 
			
		||||
            cp trunk/* repos/$dest/
 | 
			
		||||
        else
 | 
			
		||||
            local action='move'
 | 
			
		||||
            local dest=${target_repo}-$CARCH
 | 
			
		||||
            local src="${source_repo}-$CARCH" dest="${target_repo}-$CARCH"
 | 
			
		||||
 | 
			
		||||
            cd repos
 | 
			
		||||
                [[ -d $dest ]] && git rm -r $dest
 | 
			
		||||
                git mv ${source_repo}-$CARCH $dest
 | 
			
		||||
            cd ..
 | 
			
		||||
            [[ -d repos/$dest ]] && git rm -r repos/$dest
 | 
			
		||||
            [[ ! -d repos ]] && mkdir repos
 | 
			
		||||
            [[ ! -d repos/$dest ]] && mkdir repos/$dest
 | 
			
		||||
 | 
			
		||||
            cp repos/$src/* repos/$dest/
 | 
			
		||||
            git rm -r repos/$src
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"
 | 
			
		||||
        git add .
 | 
			
		||||
        git commit -m "[${source_repo}] -> [${target_repo}] '${package}-$ver' ${action}"
 | 
			
		||||
 | 
			
		||||
        if ${push};then
 | 
			
		||||
            msg "Checking (%s)" "${git_tree}"
 | 
			
		||||
            pull_tree
 | 
			
		||||
            push_tree
 | 
			
		||||
            git pull origin master
 | 
			
		||||
            git push origin master
 | 
			
		||||
        fi
 | 
			
		||||
    else
 | 
			
		||||
        error "Package '%s' does not exist!" "${package}"
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,8 @@ add_to_repo(){
 | 
			
		||||
                signfile ${pkgfile}
 | 
			
		||||
            fi
 | 
			
		||||
            ln -sf ${pkgfile}{,.sig} $repo_path/
 | 
			
		||||
            repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
 | 
			
		||||
            cd $repo_path
 | 
			
		||||
            repo-add -R $repo.db.tar.xz ${pkgfile##*/}
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -203,7 +203,7 @@ _chrootbuild() {
 | 
			
		||||
    ulimit -c 0
 | 
			
		||||
 | 
			
		||||
    # Work around chroot-run not giving a ctty
 | 
			
		||||
    # exec </dev/console
 | 
			
		||||
    exec </dev/console
 | 
			
		||||
 | 
			
		||||
    . /etc/profile
 | 
			
		||||
 | 
			
		||||
@@ -235,9 +235,11 @@ download_sources() {
 | 
			
		||||
    local builddir
 | 
			
		||||
    builddir="$(mktemp -d)"
 | 
			
		||||
    chmod 1777 "$builddir"
 | 
			
		||||
#     chown "$makepkg_user:$makepkg_user" "$builddir"
 | 
			
		||||
 | 
			
		||||
    # Ensure sources are downloaded
 | 
			
		||||
    sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
 | 
			
		||||
    sudo -u "$makepkg_user" --preserve-env=GNUPGHOME \
 | 
			
		||||
        env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
 | 
			
		||||
        makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
 | 
			
		||||
        die "Could not download sources."
 | 
			
		||||
 | 
			
		||||
@@ -329,7 +331,7 @@ main() {
 | 
			
		||||
    [[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
 | 
			
		||||
    makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
 | 
			
		||||
 | 
			
		||||
    check_root
 | 
			
		||||
    check_root SOURCE_DATE_EPOCH,GNUPGHOME
 | 
			
		||||
 | 
			
		||||
    # Canonicalize chrootdir, getting rid of trailing /
 | 
			
		||||
    chrootdir=$(readlink -e "$passeddir")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										93
									
								
								bin/mkpkgclean.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								bin/mkpkgclean.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; version 2 of the License.
 | 
			
		||||
#
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
version=@version@
 | 
			
		||||
 | 
			
		||||
LIBDIR='@libdir@'
 | 
			
		||||
SYSCONFDIR='@sysconfdir@'
 | 
			
		||||
 | 
			
		||||
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
 | 
			
		||||
import ${LIBDIR}/util.sh
 | 
			
		||||
 | 
			
		||||
prepare_clean(){
 | 
			
		||||
    if [[ -n ${repository} ]];then
 | 
			
		||||
        storage_dir=${repos_root}/${repository}/os/${target_arch}
 | 
			
		||||
        paccache_args+=(-c "${storage_dir}" -k 1)
 | 
			
		||||
    else
 | 
			
		||||
        if [[ -n ${PKGDEST} ]];then
 | 
			
		||||
            storage_dir=${PKGDEST}
 | 
			
		||||
            paccache_args+=(-c "${storage_dir}" -k 4)
 | 
			
		||||
        else
 | 
			
		||||
            die "PKGDEST not set in makepkg.conf!"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
display_settings(){
 | 
			
		||||
    show_version
 | 
			
		||||
    show_config
 | 
			
		||||
 | 
			
		||||
    msg "OPTIONS:"
 | 
			
		||||
    msg2 "repository: %s" "${repository}"
 | 
			
		||||
 | 
			
		||||
    msg "PATH:"
 | 
			
		||||
    msg2 "storage_dir: %s" "${storage_dir}"
 | 
			
		||||
 | 
			
		||||
    msg "ARGS:"
 | 
			
		||||
    msg2 "paccache_args: %s" "${paccache_args[*]}"
 | 
			
		||||
 | 
			
		||||
    paccache "${paccache_args[@]}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
load_user_info
 | 
			
		||||
 | 
			
		||||
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
 | 
			
		||||
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
 | 
			
		||||
load_vars /etc/makepkg.conf
 | 
			
		||||
 | 
			
		||||
clean=false
 | 
			
		||||
pretend=false
 | 
			
		||||
repository=''
 | 
			
		||||
storage_dir=''
 | 
			
		||||
paccache_args=(-v)
 | 
			
		||||
 | 
			
		||||
usage() {
 | 
			
		||||
    echo "Usage: ${0##*/} [options]"
 | 
			
		||||
    echo "    -d <dir>           Directory [default:${repository}]"
 | 
			
		||||
    echo '    -c                 Clean up'
 | 
			
		||||
    echo '    -q                 Query settings and pretend cleaning'
 | 
			
		||||
    echo '    -h                 This help'
 | 
			
		||||
    echo ''
 | 
			
		||||
    echo ''
 | 
			
		||||
    exit $1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
orig_argv=("$0" "$@")
 | 
			
		||||
 | 
			
		||||
opts='d:cqh'
 | 
			
		||||
 | 
			
		||||
while getopts "${opts}" arg; do
 | 
			
		||||
    case "${arg}" in
 | 
			
		||||
        d) repository="$OPTARG" ;;
 | 
			
		||||
        c) clean=true ; paccache_args+=(-r) ;;
 | 
			
		||||
        q) pretend=true; paccache_args+=(-d) ;;
 | 
			
		||||
        h|?) usage 0 ;;
 | 
			
		||||
        *) echo "invalid argument '${arg}'"; usage 1 ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
shift $(($OPTIND - 1))
 | 
			
		||||
 | 
			
		||||
prepare_clean
 | 
			
		||||
 | 
			
		||||
${pretend} && display_settings && exit 1
 | 
			
		||||
 | 
			
		||||
${clean} && paccache "${paccache_args[@]}"
 | 
			
		||||
@@ -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=""
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										51
									
								
								data/missing
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								data/missing
									
									
									
									
									
								
							@@ -1,51 +0,0 @@
 | 
			
		||||
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/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
 | 
			
		||||
@@ -1,38 +0,0 @@
 | 
			
		||||
qt5-base
 | 
			
		||||
qt5-xmlpatterns
 | 
			
		||||
qt5-x11extras
 | 
			
		||||
qt5-script
 | 
			
		||||
qt5-svg
 | 
			
		||||
qt5-serialport
 | 
			
		||||
qt5-serialbus
 | 
			
		||||
qt5-networkauth
 | 
			
		||||
qt5-imageformats
 | 
			
		||||
qt5-declarative
 | 
			
		||||
qt5-wayland
 | 
			
		||||
qt5-sensors
 | 
			
		||||
qt5-scxml
 | 
			
		||||
qt5-connectivity
 | 
			
		||||
qt5-graphicaleffects
 | 
			
		||||
qt5-gamepad
 | 
			
		||||
qt5-3d
 | 
			
		||||
qt5-canvas3d
 | 
			
		||||
qt5-datavis3d
 | 
			
		||||
qt5-charts
 | 
			
		||||
qt5-virtualkeyboard
 | 
			
		||||
qt5-location
 | 
			
		||||
qt5-multimedia
 | 
			
		||||
qt5-speech
 | 
			
		||||
qt5-quickcontrols
 | 
			
		||||
qt5-quickcontrols2
 | 
			
		||||
qt5-remoteobjects
 | 
			
		||||
qt5-webchannel
 | 
			
		||||
qt5-websockets
 | 
			
		||||
qt5-webglplugin
 | 
			
		||||
qt5-tools
 | 
			
		||||
qt5-translations
 | 
			
		||||
qt5-doc
 | 
			
		||||
qt5-examples
 | 
			
		||||
qt5-webengine
 | 
			
		||||
qt5-webview
 | 
			
		||||
qt5-webkit
 | 
			
		||||
pyqt5
 | 
			
		||||
@@ -68,6 +68,11 @@ patch_pkg(){
 | 
			
		||||
                updpkgsums
 | 
			
		||||
            cd ../..
 | 
			
		||||
        ;;
 | 
			
		||||
        gstreamer|gst-plugins-*)
 | 
			
		||||
            sed -e 's|https://www.archlinux.org/|https://www.artixlinux.org/|' \
 | 
			
		||||
                -e 's|(Arch Linux)|(Artix Linux)|' \
 | 
			
		||||
                -i $pkg/trunk/PKGBUILD
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -119,7 +124,7 @@ is_valid_repo(){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
find_repo(){
 | 
			
		||||
    local pkg="$1" repo=
 | 
			
		||||
    local pkg="$1" unstable="$2" repo=
 | 
			
		||||
 | 
			
		||||
    if [[ -d $pkg/repos/core-x86_64 ]];then
 | 
			
		||||
        repo=core-x86_64
 | 
			
		||||
@@ -175,6 +180,19 @@ find_repo(){
 | 
			
		||||
        repo=multilib-staging-x86_64
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if $unstable;then
 | 
			
		||||
        if [[ -d $pkg/repos/gnome-unstable-x86_64 ]];then
 | 
			
		||||
            repo=gnome-unstable-x86_64
 | 
			
		||||
        elif [[ -d $pkg/repos/gnome-unstable-any ]];then
 | 
			
		||||
            repo=gnome-unstable-any
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        if [[ -d $pkg/repos/kde-unstable-x86_64 ]];then
 | 
			
		||||
            repo=kde-unstable-x86_64
 | 
			
		||||
        elif [[ -d $pkg/repos/kde-unstable-any ]];then
 | 
			
		||||
            repo=kde-unstable-any
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    echo $repo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -191,6 +209,7 @@ arch_to_artix_repo(){
 | 
			
		||||
        multilib-staging-x86_64) repo=lib32-goblins ;;
 | 
			
		||||
        community-testing-*) repo=galaxy-gremlins ;;
 | 
			
		||||
        community-staging-*) repo=galaxy-goblins ;;
 | 
			
		||||
        kde-unstable-*|gnome-unstable-*) repo=goblins ;;
 | 
			
		||||
    esac
 | 
			
		||||
    echo $repo
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -95,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