1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/bash
- readonly CHROOT_NAMES=( armv7h i686 x86_64 )
- readonly ABS_ROOT=/var/lib/archbuild/abslibre # no spaces plz
- readonly ABS_UPSTREAM=parabola
- readonly PKG_EXT=pkg.tar.zst
- readonly PKG_DIRS=( ${ABS_ROOT}/pcr/vislcg3 \
- ${ABS_ROOT}/pcr/lttoolbox \
- ${ABS_ROOT}/pcr/apertium-lex-tools \
- ${ABS_ROOT}/pcr/apertium \
- ${ABS_ROOT}/pcr/apertium-eng-spa \
- ${ABS_ROOT}/pcr/apertium-eo-en ) # no trailing slashes
- readonly PKGBUILDS=( ${PKG_DIRS[*]/%/\/PKGBUILD} )
- Main()
- {
- local chroot pkg_dir pkgname pkgver pkgrel arches chroot_dir arch
- local pkgs=()
- local all_pkgs=()
- local commit_msg=''
- echo -e "\nupgrading chroots\n"
- for chroot in ${CHROOT_NAMES[*]}
- do echo -e "\nupgrading chroot '${chroot}'\n"
- sudo librechroot -n ${chroot} update || exit 1
- done
- echo -e "\nbuilding packages\n"
- for pkg_dir in ${PKG_DIRS[*]}
- do [[ -d "${pkg_dir}" && -f "${pkg_dir}"/PKGBUILD ]] ||
- ! echo "${pkg_dir} - no PKGBUILD" || continue
- cd ${pkg_dir}/ ; git checkout HEAD PKGBUILD &> /dev/null ;
- pkgname=$(source PKGBUILD ; echo ${pkgname} ;)
- pkgver=$( source PKGBUILD ; echo ${pkgver} ;)
- pkgrel=$( source PKGBUILD ; echo ${pkgrel} ;)
- arches="$(source PKGBUILD ; echo ${arch[*]} ;)"
- for chroot in ${CHROOT_NAMES[*]}
- do chroot_dir=$(librechroot -n ${chroot} |& grep -E 'copydir +: ' | cut -d: -f2)
- arch=$(source ${chroot_dir}/etc/os-release ; echo ${VARIANT_ID%-*} ;)
- [[ -n "${arch}" && " ${arches} " =~ " ${arch} " ]] ||
- [[ "${arch}" == x86_64 && "${arches}" == 'any' ]] || continue
- echo -e "\nbuilding pkgname: '${pkgname}' arch: '${arch}' in chroot: '${chroot}'\n"
- sudo libremakepkg -n ${chroot}
- pkgs+=( $(ls ${pkgname}-${pkgver}-${pkgrel}-${arch}.${PKG_EXT} 2> /dev/null) )
- done
- if (( ${#pkgs[*]} ))
- then all_pkgs+=( ${pkgs[*]} )
- commit_msg+="[$(basename ${pkg_dir})]"
- else echo "ERROR: ${pkg_dir} - no packages generated"
- fi
- done
- if (( ${#all_pkgs[*]} ))
- then git commit -m "${commit_msg}: rebuild against latest kernels" ${PKGBUILDS[*]}
- fi
- echo "(${#all_pkgs[*]}) packages generated" ; printf "%s\n" ${all_pkgs[*]} ;
- }
- if git pull $ABS_UPSTREAM master &> /dev/null
- then Main
- else echo "failed to synchronize abslibre VCS - is the working tree dirty?"
- fi
|