Compare commits

..

10 Commits
0.15 ... 0.15.3

10 changed files with 70 additions and 13 deletions

View File

@@ -74,7 +74,7 @@ show_deps(){
} }
subrepo_new(){ subrepo_new(){
local group="$1" team="$2" local group="${1:-$GROUP}" team="${2:-$TEAM}"
local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk local dest=${TREE_DIR_ARTIX}/$group/${PACKAGE}/trunk
cd ${TREE_DIR_ARTIX}/$group cd ${TREE_DIR_ARTIX}/$group

View File

@@ -28,6 +28,53 @@ load_user_info
load_vars "${USERCONFDIR}/pacman/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" load_vars "${USERCONFDIR}/pacman/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
load_vars /etc/makepkg.conf load_vars /etc/makepkg.conf
usage() {
cat <<- _EOF_
Usage: ${BASH_SOURCE[0]##*/} [OPTIONS]
Searches for a locally built package corresponding to the PKGBUILD, and
downloads the last version of that package from the Pacman repositories.
It then compares the list of .so files provided by each version of the
package and outputs if there are soname differences for the new package.
A directory is also created using mktemp with files containing a file
list for both packages and a library list for both packages.
OPTIONS
-r, --rmdir Remove the temporary directory
-w, --warn Print a warning in case of differences
-h, --help Show this help text
_EOF_
}
RMDIR=0
WARN=0
OPT_SHORT='rwh'
OPT_LONG=('rmdir' 'warn' 'help')
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
exit 1
fi
set -- "${OPTRET[@]}"
while :; do
case $1 in
-r|--rmdir)
RMDIR=1
;;
-w|--warn)
WARN=1
;;
-h|--help)
usage
exit 0
;;
--)
shift; break
;;
esac
shift
done
if [[ ! -f PKGBUILD ]]; then if [[ ! -f PKGBUILD ]]; then
die 'This must be run in the directory of a built package.' die 'This must be run in the directory of a built package.'
fi fi
@@ -38,6 +85,7 @@ if [[ $arch == 'any' ]]; then
fi fi
STARTDIR=$(pwd) STARTDIR=$(pwd)
(( RMDIR )) && trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT
TEMPDIR=$(mktemp -d --tmpdir checkpkg-script.XXXX) TEMPDIR=$(mktemp -d --tmpdir checkpkg-script.XXXX)
for _pkgname in "${pkgname[@]}"; do for _pkgname in "${pkgname[@]}"; do
@@ -90,9 +138,12 @@ for _pkgname in "${pkgname[@]}"; do
find-libprovides "$TEMPDIR/$oldpkg" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname-old" find-libprovides "$TEMPDIR/$oldpkg" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname-old"
find-libprovides "$pkgfile" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname" find-libprovides "$pkgfile" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname"
if ! diff_output="$(sdiff -s "$TEMPDIR/libraries-$_pkgname-old" "$TEMPDIR/libraries-$_pkgname")"; then if ! diff_output="$(sdiff -s "$TEMPDIR/libraries-$_pkgname-old" "$TEMPDIR/libraries-$_pkgname")"; then
msg "Sonames differ in %s!" "$_pkgname" message="Sonames differ in $_pkgname!"
(( WARN )) && warning "$message" || msg "$message"
echo "$diff_output" echo "$diff_output"
else else
msg "No soname differences for %s" "$_pkgname." msg "No soname differences for %s" "$_pkgname."
fi fi
done done
(( RMDIR )) || msg "Files saved to %s" "$TEMPDIR"

View File

@@ -19,6 +19,7 @@
# TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux # TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux
# customize buildtree, packages and community should be enabled
# TREE_NAMES_ARTIX=( # TREE_NAMES_ARTIX=(
# packages # packages
# community # community
@@ -30,6 +31,7 @@
# packages-xorg # packages-xorg
# packages-python # packages-python
# packages-perl # packages-perl
# packages-java
# packages-qt5 # packages-qt5
# packages-devel # packages-devel
# packages-ruby # packages-ruby

View File

@@ -84,6 +84,7 @@ init_artools_pkg(){
packages-xorg packages-xorg
packages-python packages-python
packages-perl packages-perl
packages-java
packages-qt5 packages-qt5
packages-devel packages-devel
packages-ruby packages-ruby
@@ -94,6 +95,7 @@ init_artools_pkg(){
packages-mate packages-mate
packages-kde packages-kde
packages-xfce packages-xfce
# packages-haskell
) )
HOST_TREE_ARTIX=${HOST_TREE_ARTIX:-"gitea@${GIT_DOMAIN}:artixlinux"} HOST_TREE_ARTIX=${HOST_TREE_ARTIX:-"gitea@${GIT_DOMAIN}:artixlinux"}

View File

@@ -32,8 +32,8 @@ add_svc_s6(){
local mnt="$1" name="$2" local mnt="$1" name="$2"
if [[ -d $mnt/etc/s6/sv/$name ]]; then if [[ -d $mnt/etc/s6/sv/$name ]]; then
msg2 "Setting %s ..." "$name" msg2 "Setting %s ..." "$name"
chroot $mnt s6-rc-bundle $name default &>/dev/null # chroot $mnt s6-rc-bundle $name default &>/dev/null
chroot $mnt s6-rc -u change default &>/dev/null # chroot $mnt s6-rc -u change default &>/dev/null
fi fi
} }
@@ -168,7 +168,7 @@ write_unpackfs_conf(){
yaml+=$(write_yaml_map 0 'unpack') yaml+=$(write_yaml_map 0 'unpack')
yaml+=$(write_yaml_seq_map 2 'source' "/run/artix/bootmnt/artix/x86_64/rootfs.sfs") yaml+=$(write_yaml_seq_map 2 'source' "/run/artix/bootmnt/artix/x86_64/rootfs.sfs")
yaml+=$(write_yaml_map 4 'sourcefs' 'squashfs') yaml+=$(write_yaml_map 4 'sourcefs' 'squashfs')
yaml+=$(write_yaml_map 4 'destination' '') yaml+=$(write_yaml_map 4 'destination' '""')
yaml+=$(write_empty_line) yaml+=$(write_empty_line)
printf '%s' "${yaml}" printf '%s' "${yaml}"
} }

View File

@@ -32,7 +32,7 @@ prepare_initramfs(){
su ${OWNER} -c "gpg --export ${GPG_KEY} >/tmp/GPG_KEY" su ${OWNER} -c "gpg --export ${GPG_KEY} >/tmp/GPG_KEY"
exec 17<>/tmp/GPG_KEY exec 17<>/tmp/GPG_KEY
fi fi
local _kernel=$(cat $mnt/usr/lib/modules/*/version) local _kernel=$(<$mnt/usr/src/linux/version)
ARTIX_GNUPG_FD=${GPG_KEY:+17} artools-chroot $mnt \ ARTIX_GNUPG_FD=${GPG_KEY:+17} artools-chroot $mnt \
/usr/bin/mkinitcpio -k ${_kernel} \ /usr/bin/mkinitcpio -k ${_kernel} \
-c /etc/mkinitcpio-artix.conf \ -c /etc/mkinitcpio-artix.conf \
@@ -59,8 +59,7 @@ prepare_boot_extras(){
} }
configure_grub(){ configure_grub(){
local conf="$1/boot/grub/kernels.cfg" sed -e "s|@iso_label@|${iso_label}|" -i ${iso_root}/boot/grub/kernels.cfg
sed -e "s|@iso_label@|${iso_label}|" -i $conf
} }
prepare_grub(){ prepare_grub(){
@@ -104,7 +103,7 @@ prepare_grub(){
grub-mkfont -o ${grub}/unicode.pf2 /usr/share/fonts/misc/unifont.bdf grub-mkfont -o ${grub}/unicode.pf2 /usr/share/fonts/misc/unifont.bdf
fi fi
local size=4M mnt="${mnt_dir}/efiboot" efi_img="$3/efi.img" local size=4M mnt="${mnt_dir}/efiboot" efi_img="${iso_root}/efi.img"
msg2 "Creating fat image of %s ..." "${size}" msg2 "Creating fat image of %s ..." "${size}"
truncate -s ${size} "${efi_img}" truncate -s ${size} "${efi_img}"
mkfs.fat -n ARTIX_EFI "${efi_img}" &>/dev/null mkfs.fat -n ARTIX_EFI "${efi_img}" &>/dev/null

View File

@@ -85,7 +85,7 @@ load_pkgs(){
local _init="s|@$init||g" local _init="s|@$init||g"
case "$init" in case "$init" in
'openrc') _init_rm1="s|@runit.*||g"; _init_rm2="s|@s6*||g" ;; 'openrc') _init_rm1="s|@runit.*||g"; _init_rm2="s|@s6.*||g" ;;
's6') _init_rm1="s|@runit.*||g"; _init_rm2="s|@openrc.*||g" ;; 's6') _init_rm1="s|@runit.*||g"; _init_rm2="s|@openrc.*||g" ;;
'runit') _init_rm1="s|@s6.*||g"; _init_rm2="s|@openrc.*||g" ;; 'runit') _init_rm1="s|@s6.*||g"; _init_rm2="s|@openrc.*||g" ;;
esac esac

View File

@@ -54,9 +54,10 @@ load_team_id(){
add_repo_to_team(){ add_repo_to_team(){
local pkg="$1" org="$2" team="$3" local pkg="$1" org="$2" team="$3"
local id=$(load_team_id "$org" "$team") local id=$(load_team_id "$org" "$team")
local gitname=$(get_compliant_name "$pkg")
msg2 "Adding package repo [%s] to team (%s)" "$pkg" "$team" msg2 "Adding package repo [%s] to team (%s)" "$gitname" "$team"
curl -s -X PUT "${GIT_URL}/api/v1/teams/$id/repos/$org/$pkg?access_token=${GIT_TOKEN}" \ curl -s -X PUT "${GIT_URL}/api/v1/teams/$id/repos/$org/$gitname?access_token=${GIT_TOKEN}" \
-H "accept: application/json" -H "accept: application/json"
} }

View File

@@ -81,7 +81,7 @@ pull_tree(){
local remote_head=$(get_remote_head) local remote_head=$(get_remote_head)
msg "Checking %s (%s)" "${tree}" "$os" msg "Checking %s (%s)" "${tree}" "$os"
if $(has_changes "${local_head}" "${remote_head}");then if has_changes "${local_head}" "${remote_head}";then
git pull origin master git pull origin master
fi fi
} }

View File

@@ -154,6 +154,8 @@ get_artix_tree(){
$(get_cases xorg)) tree=packages-xorg ;; $(get_cases xorg)) tree=packages-xorg ;;
$(get_cases qt5)) tree=packages-qt5 ;; $(get_cases qt5)) tree=packages-qt5 ;;
$(get_cases gtk)) tree=packages-gtk ;; $(get_cases gtk)) tree=packages-gtk ;;
$(get_cases java)) tree=packages-java ;;
$(get_cases haskell)) tree=packages-haskell ;;
$(get_cases devel)) tree=packages-devel ;; $(get_cases devel)) tree=packages-devel ;;
$(get_cases lxqt)) tree=packages-lxqt ;; $(get_cases lxqt)) tree=packages-lxqt ;;
$(get_cases cinnamon)) tree=packages-cinnamon ;; $(get_cases cinnamon)) tree=packages-cinnamon ;;