Compare commits

..

9 Commits

Author SHA1 Message Date
e551f42888 yaml (#32)
pkg2yaml: fixes

deploypkg: fix remove

pkg2yaml: change format
2020-06-12 15:24:42 +02:00
ad33bccd49 rm alpm 2020-06-08 03:02:53 +02:00
31eeaa9a0d docker (#30)
dpcker: upd pacman.conf

add docker data
2020-06-08 02:19:58 +02:00
f5daac0d67 commitpkg: commit removal of obsolete arch 2020-05-28 20:12:33 +02:00
2484ea39a4 commitpkg: support are change when moving 2020-05-28 15:54:43 +02:00
9b222bdb83 commitpkg: rm old arch on change of arch
signpkg: tweak msg
2020-05-28 10:39:19 +02:00
a3e6b17c5f deploypkg: add xz compat 2020-05-25 22:49:27 +02:00
21a37f6b00 buildtree: quote vars 2020-05-25 22:10:26 +02:00
80416b76d5 buildtree: fix import for new pkgs 2020-05-25 21:01:05 +02:00
7 changed files with 198 additions and 99 deletions

View File

@@ -1,4 +1,4 @@
VERSION=0.18
VERSION=0.19
CHROOT_VERSION=0.10
@@ -116,7 +116,6 @@ ISO_LIBS = \
ISO_UTIL = lib/util-iso.sh
DIRMODE = -dm0755
FILEMODE = -m0644
MODE = -m0755

View File

@@ -113,9 +113,6 @@ show_deps(){
subrepo_new(){
cd ${TREE_DIR_ARTIX}/${GROUP}
msg2 "team: %s" "${TEAM}"
msg2 "group: %s" "${GROUP}"
local org=$(get_pkg_org "${PACKAGE}")
create_repo "${PACKAGE}" "$org"
@@ -139,20 +136,14 @@ from_arch(){
msg "repo: %s" "$repo"
local archpath=$srcpath/repos/$repo
local artixpath=$(find_pkg ${TREE_DIR_ARTIX} ${PACKAGE})
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
show_deps "$archpath"
if [[ -f "$artixpath"/.gitrepo ]]; then
artixpath=$artixpath/trunk
if [[ -f $artixpath/PKGBUILD ]];then
. $artixpath/PKGBUILD 2>/dev/null
local artixver=$(get_full_version)
msg2 "Artix Version: %s" "$artixver"
artixpath="$artixpath"/trunk
if [[ -d "$artixpath" ]];then
sync_pkg "$archpath" "$artixpath"
patch_pkg "$artixpath"
fi
@@ -173,7 +164,7 @@ view_build(){
check_tree(){
local archpath=$(find_pkg "${TREE_DIR_ARCH}" "${PACKAGE}")
[[ -z $archpath ]] && die "Package '%s' does not exist!" "${PACKAGE}"
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" ${PACKAGE})
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
local group=${artixpath%/*}
msg "group: %s" "${group##*/}"

View File

@@ -26,7 +26,11 @@ get_path(){
}
prepare_commit(){
local dest="$1"
local dest="$1" to_rm="${2:-none}"
if [[ -d repos/$to_rm ]]; then
git rm -r repos/$to_rm
git commit -m "change of package arch"
fi
[[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos
[[ ! -d repos/$dest ]] && mkdir repos/$dest
@@ -101,6 +105,15 @@ commit_pkg(){
fi
}
get_rm_arch(){
local rm_arch='none'
case "$CARCH" in
'any') rm_arch="${REPO_DEST}-x86_64" ;;
'x86_64') rm_arch="${REPO_DEST}-any" ;;
esac
echo $rm_arch
}
repo_commit_pkg(){
local artixpath=$(find_pkg "${TREE_DIR_ARTIX}" "${PACKAGE}")
if [[ -n ${artixpath} ]];then
@@ -124,7 +137,7 @@ repo_commit_pkg(){
local action='add'
local dest="${REPO_DEST}-$CARCH"
prepare_commit "$dest"
prepare_commit "$dest" "$(get_rm_arch)"
cp trunk/* repos/$dest/
else
@@ -132,7 +145,7 @@ repo_commit_pkg(){
local src="${REPO_SRC}-$CARCH" dest="${REPO_DEST}-$CARCH"
[[ ! -f repos/$src/PKGBUILD ]] && die "%s does not exist!" "repos/$src/PKGBUILD"
prepare_commit "$dest"
prepare_commit "$dest" "$(get_rm_arch)"
cp repos/$src/* repos/$dest/
git rm -r repos/$src

View File

@@ -16,47 +16,28 @@
prepare_artools
get_pkgbasename(){
local pkg="$1"
local pkgbasename name ver rel arch
pkgbasename=${pkg%.pkg.tar*}
arch=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$arch"}
rel=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$rel"}
ver=${pkgbasename##*-}
name=${pkgbasename%-"$ver"}
echo $name
}
add(){
packages+=("$pkg")
if [[ -e "${pkgfile}" ]]; then
action='add'
ln -sf "${pkgfile}"{,.sig} "$repo_path"/
fi
pkg=${pkgname%.*}
for ext in zst xz;do
if pkgfile=$(find_cached_pkgfile "$pkg.$ext");then
msg "Found: %s" "${pkgfile}"
packages+=("$pkg.$ext")
action='add'
ln -sf "${pkgfile}"{,.sig} "$repo_path"/
fi
done
}
remove(){
packages+=("$(get_pkgbasename "$pkg")")
if [[ -e "$repo_path"/"$pkg" ]]; then
action='remove'
rm "$repo_path"/"$pkg"
fi
[[ -e "$repo_path"/"$pkg".sig ]] && rm "$repo_path"/"$pkg".sig
packages+=("$pkgname")
action='remove'
rm "$repo_path"/"$pkgname"*pkg.tar*
}
repo_action(){
local packages=() action= func="$1"
for pkg in ${passfiles[@]}; do
if pkgfile=$(find_cached_pkgfile "$pkg");then
msg "Found: %s" "${pkgfile}"
"$func"
fi
for pkgname in ${passfiles[@]}; do
"$func"
done
cd $repo_path
if [[ -n "$action" ]]; then

View File

@@ -14,7 +14,7 @@
. @libdir@/artools/util-base.sh
write_attr(){
srcyaml_write_attr(){
local ident1="$1" ident2="$2" ident3="$3"
local attrname=$4 attrvalues=("${@:5}")
@@ -24,47 +24,41 @@ write_attr(){
attrvalues=("${attrvalues[@]%[[:space:]]}")
case $attrname in
makedepends|checkdepends|depends|provides|arch)
pkgver|pkgrel|epoch|url|install|changelog)
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
done
;;
*)
Yaml+=$(write_yaml_map $ident1 "$attrname")
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_seq $ident2 "$v")
done
;;
*)
for v in ${attrvalues[@]};do
Yaml+=$(write_yaml_map $ident3 "$attrname" "$v")
done
;;
esac
}
extract_info() {
pkgbuild_extract_to_yaml() {
local pkgname=$1 attrname=$2 isarray=$3 outvalue=
if get_pkgbuild_attribute "$pkgname" "$attrname" "$isarray" 'outvalue'; then
[[ -z $pkgname ]] && write_attr 2 4 2 "$attrname" "${outvalue[@]}"
[[ -n $pkgname ]] && write_attr 4 6 2 "$attrname" "${outvalue[@]}"
[[ -z $pkgname ]] && srcyaml_write_attr 2 4 2 "$attrname" "${outvalue[@]}"
[[ -n $pkgname ]] && srcyaml_write_attr 4 6 2 "$attrname" "${outvalue[@]}"
fi
}
write_details() {
srcyaml_write_section_details() {
local attr package_arch a
local multivalued_arch_attrs=(provides depends makedepends checkdepends)
local singlevalued=()
local multivalued=(arch provides depends checkdepends)
if [[ -z "$1" ]];then
singlevalued=(pkgver pkgrel epoch)
multivalued=(arch provides depends makedepends checkdepends)
fi
local multivalued_arch_attrs=(source provides conflicts depends replaces
optdepends makedepends checkdepends)
# "${known_hash_algos[@]/%/sums}")
for attr in "${singlevalued[@]}"; do
extract_info "$1" "$attr" 0
pkgbuild_extract_to_yaml "$1" "$attr" 0
done
for attr in "${multivalued[@]}"; do
extract_info "$1" "$attr" 1
pkgbuild_extract_to_yaml "$1" "$attr" 1
done
get_pkgbuild_attribute "$1" 'arch' 1 'package_arch'
@@ -73,47 +67,55 @@ write_details() {
[[ $a = any ]] && continue
for attr in "${multivalued_arch_attrs[@]}"; do
extract_info "$1" "${attr}_$a" 1
pkgbuild_extract_to_yaml "$1" "${attr}_$a" 1
done
done
}
write_pkg_yaml(){
Yaml=$(write_yaml_header)
yaml_write_global() {
local singlevalued=(pkgver pkgrel epoch url install changelog) #pkgdesc
local multivalued=(arch groups license checkdepends makedepends
depends provides conflicts replaces)
#noextract options backup optdepends
#source validpgpkeys "${known_hash_algos[@]/%/sums}")
Yaml+=$(write_empty_line)
local full=$(get_full_version)
local ver=${full:-0}
pkgbase=${pkgbase:-${pkgname[0]}}
Yaml+=$(write_yaml_map 0 "pkgbase")
Yaml+=$(write_yaml_map 2 "pkgname" "${pkgbase}")
${details} && write_details ''
Yaml+=$(write_yaml_map 2 "fullver" "${ver}")
Yaml+=$(write_yaml_map 2 "name" "${pkgbase:-$pkgname}")
${details} && srcyaml_write_section_details ''
Yaml+=$(write_empty_line)
}
Yaml+=$(write_yaml_map 0 "package")
yaml_write_package() {
local singlevalued=(url install changelog) #pkgdesc
local multivalued=(arch groups license checkdepends depends
provides conflicts replaces) #options backup optdepends)
Yaml+=$(write_yaml_map 0 "packages")
for pkg in "${pkgname[@]}"; do
Yaml+=$(write_yaml_seq_map 2 "pkgname" "$pkg")
${details} && write_details "$pkg"
${details} && srcyaml_write_section_details "$pkg"
done
Yaml+=$(write_empty_line)
}
yaml_write_fileinfo(){
local version=$(get_full_version)
Yaml+=$(write_yaml_map 0 "version" "${version:-0}")
Yaml+=$(write_empty_line)
local pkgfile=$(print_all_package_names)
Yaml+=$(write_yaml_map 0 "pkgfile")
Yaml+=$(write_yaml_map 0 "files")
for f in ${pkgfile[@]};do
Yaml+=$(write_yaml_seq 2 "${f##*/}")
done
Yaml+=$(write_empty_line)
}
write_srcyaml(){
Yaml=$(write_yaml_header)
yaml_write_global
yaml_write_package
yaml_write_fileinfo
printf '%s' "${Yaml}"
}
@@ -139,11 +141,13 @@ done
shift $(( $OPTIND - 1 ))
[[ -f "$1"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$1"
PACKAGE="$1"/PKGBUILD; shift
srcpath=$(readlink -f "$1")
[[ -f "$srcpath"/PKGBUILD ]] || die "%s/PKGBUILD does not exist!" "$srcpath"
PACKAGE="$srcpath"/PKGBUILD; shift
. "$PACKAGE"
load_makepkg_config
write_pkg_yaml
write_srcyaml

View File

@@ -29,7 +29,7 @@ sign_pkg(){
fi
if [[ -n "${BUILDBOT_GPGP}" ]]; then
msg2 "Signing [%s]" "${file_to_sign##*/}"
msg "Signing [%s]" "${file_to_sign##*/}"
gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign"
else
msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..."
@@ -39,7 +39,7 @@ sign_pkg(){
for pkg in ${passfiles[@]}; do
if pkgfile=$(find_cached_pkgfile "$pkg");then
msg "Found: %s" "${pkgfile}"
msg2 "Found: %s" "${pkgfile}"
[[ -e "${pkgfile}".sig ]] && rm "${pkgfile}".sig
sign_pkg "${pkgfile}"
fi

View File

@@ -0,0 +1,111 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
NoExtract = usr/share/help/* !usr/share/help/en*
NoExtract = usr/share/gtk-doc/html/* usr/share/doc/*
NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/*
NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
NoExtract = usr/share/man/* usr/share/info/*
NoExtract = usr/share/vim/vim*/lang/*
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate archlinux artix`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The gremlins repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the lib32 repositories as required here.
#[lib32]
#Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
#
# ARCHLINUX
#
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch
#[community]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch