#!/bin/bash # Make sure that all systems have the same sort order and date format export LC_ALL=C # change directory to script location cd "$(dirname $0)" SCRIPT=$(basename $0) HEADER="# Autogenerated by ${SCRIPT}, DO NOT EDIT." KF5_RELEASES="5.115 5.116" KF5_RELEASE=${KF5_RELEASE:-5.115} KF6_RELEASES="6.2" KF6_RELEASE=${KF6_RELEASE:-} PLASMA_RELEASES="5.27 6.0" PLASMA_RELEASE=${PLASMA_RELEASE:-5.27} GEAR_RELEASES="23.08 24.02 24.05" GEAR_RELEASE=${GEAR_RELEASE:-23.08} # regenerate keywords pushd ../package.accept_keywords/ > /dev/null for release in $KF5_RELEASES; do if [[ -d ".kde-frameworks-5-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}.keywords" cat ".kde-frameworks-5-${release}/"* | grep -P -v '^>=kde-frameworks/(?!kf-env)' | \ sed -e '/^~.*[.-]5\.9999$/s/$/ **/' -e '/^@/d' >> "kde-frameworks-${release}.keywords" fi done if [[ -n ${KF6_RELEASES} ]]; then for release in $KF6_RELEASES; do if [[ -d ".kde-frameworks-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}.keywords" cat ".kde-frameworks-${release}/"* | grep -P -v '^>=kde-frameworks/(?!kf-env)' | \ sed -e '/^~.*[.-]9999\:[0-9]*$/s/$/ **/' -e '/^@/d' >> "kde-frameworks-${release}.keywords" fi done fi for release in $PLASMA_RELEASES; do echo -e "${HEADER}" > "kde-plasma-${release}.keywords" if [[ -d ".kde-plasma-${release}" ]]; then cat ".kde-plasma-${release}/"* | sed '/^~.*[.-]9999$/s/$/ **/' >> "kde-plasma-${release}.keywords" fi done for release in $GEAR_RELEASES; do echo -e "${HEADER}" > "kde-gear-${release}.keywords" if [[ -d ".kde-gear-${release}" ]]; then cat ".kde-gear-${release}/"* | \ sed -e '/^~.*[.-]9999$/s/$/ **/' -e '/^@/d' >> "kde-gear-${release}.keywords" fi done # ... and for completely unkeyworded packages, add "**" for release in $GEAR_RELEASES; do if [[ -d ".kde-gear-${release}" ]]; then rm -rf ".kde-gear-${release}.49.9999" mkdir -p ".kde-gear-${release}.49.9999" echo -e "${HEADER}" > "kde-gear-${release}.49.9999.keywords" for file in ".kde-gear-${release}"/*; do newfile=".kde-gear-${release}.49.9999"/$(basename "${file}") sed -e "/^<[a-z0-9-]*\/.*\.50$/{s/\.50/.49.9999/;s/^ "${newfile}" # echo "${newfile}" done cat ".kde-gear-${release}.49.9999"/* >> "kde-gear-${release}.49.9999.keywords" fi done if [[ -d .kde-frameworks-5-live.base ]]; then rm -rf .kde-frameworks-5-live mkdir -p .kde-frameworks-5-live echo -e "${HEADER}" > kde-frameworks-5-live.keywords for file in .kde-frameworks-5-live.base/*; do newfile=.kde-frameworks-5-live/$(basename "${file}") sed -e '/^~.*[.-]5.239.9999$/s/$/ **/' -e '/^@/d' "${file}" > "${newfile}" done cat .kde-frameworks-5-live/* >> kde-frameworks-5-live.keywords fi if [[ -d .kde-frameworks-live.base ]]; then rm -rf .kde-frameworks-live mkdir -p .kde-frameworks-live echo -e "${HEADER}" > kde-frameworks-live.keywords for file in .kde-frameworks-live.base/*; do newfile=.kde-frameworks-live/$(basename "${file}") sed -e '/^~.*[.-]9999\:[0-9]*$/s/$/ **/' -e '/^@/d' "${file}" > "${newfile}" done cat .kde-frameworks-live/* >> kde-frameworks-live.keywords fi if [[ -d .kde-plasma-live.base ]]; then rm -rf .kde-plasma-live mkdir -p .kde-plasma-live echo -e "${HEADER}" > kde-plasma-live.keywords for file in .kde-plasma-live.base/*; do newfile=.kde-plasma-live/$(basename "${file}") sed '/^~.*[.-]9999$/s/$/ **/' "${file}" > "${newfile}" done cat .kde-plasma-live/* >> kde-plasma-live.keywords fi if [[ -d .kde-gear-live.base ]]; then rm -rf .kde-gear-live mkdir -p .kde-gear-live echo -e "${HEADER}" > kde-gear-live.keywords for file in .kde-gear-live.base/*; do newfile=.kde-gear-live/$(basename "${file}") sed -e '/^~.*[.-]9999$/s/$/ **/' -e '/^@/d' "${file}" > "${newfile}" done cat .kde-gear-live/* >> kde-gear-live.keywords fi popd > /dev/null # regenerate unmask entries (base for package mask) pushd ../package.unmask/ > /dev/null for release in $KF5_RELEASES 5-live; do if [[ -d ".kde-frameworks-5-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}" cat ".kde-frameworks-5-${release}/"* | \ grep -P -v '^>=kde-frameworks/(?!kf-env)' >> "kde-frameworks-${release}" sed -i "kde-frameworks-${release}" -e "/^@/d" fi done for release in $KF6_RELEASES live; do if [[ -d ".kde-frameworks-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}" cat ".kde-frameworks-${release}/"* | \ grep -P -v '^>=kde-frameworks/(?!kf-env)' >> "kde-frameworks-${release}" sed -i "kde-frameworks-${release}" -e "/^@/d" fi done for release in $PLASMA_RELEASES live; do echo -e "${HEADER}" > "kde-plasma-${release}" if [[ -d ".kde-plasma-${release}" ]]; then cat ".kde-plasma-${release}/"* >> "kde-plasma-${release}" fi done for release in $GEAR_RELEASES live; do echo -e "${HEADER}" > "kde-gear-${release}" if [[ -d ".kde-gear-${release}" ]]; then cat ".kde-gear-${release}/"* >> "kde-gear-${release}" sed -i "kde-gear-${release}" -e "/^@/d" fi done popd > /dev/null # regenerate mask entries (base for package mask) pushd ../package.mask/ > /dev/null for release in $KF5_RELEASES 5-live; do if [[ -d "../package.unmask/.kde-frameworks-5-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}" cat "../package.unmask/.kde-frameworks-5-${release}/"* | \ grep -P -v '^>=kde-frameworks/(?!kf-env)' >> "kde-frameworks-${release}" sed -i "kde-frameworks-${release}" \ -e "/^=/}" -e '/^@/d' fi done for release in $KF6_RELEASES live; do if [[ -d "../package.unmask/.kde-frameworks-${release}" ]]; then echo -e "${HEADER}" > "kde-frameworks-${release}" cat "../package.unmask/.kde-frameworks-${release}/"* | \ grep -P -v '^>=kde-frameworks/(?!kf-env)' >> "kde-frameworks-${release}" sed -i "kde-frameworks-${release}" \ -e "/^=/}" -e '/^@/d' fi done for release in $PLASMA_RELEASES live; do echo -e "${HEADER}" > "kde-plasma-${release}" if [[ -d "../package.unmask/.kde-plasma-${release}" ]]; then cat "../package.unmask/.kde-plasma-${release}/"* >> "kde-plasma-${release}" sed -i "kde-plasma-${release}" \ -e "/^=/}" fi done for release in $GEAR_RELEASES live; do echo -e "${HEADER}" > "kde-gear-${release}" if [[ -d "../package.unmask/.kde-gear-${release}" ]]; then cat "../package.unmask/.kde-gear-${release}/"* >> "kde-gear-${release}" sed -i "kde-gear-${release}" \ -e "/^=/}" -e '/^@/d' fi done popd > /dev/null # regenerate unversioned sets pushd ../../sets/ > /dev/null for set in *frameworks-5*${KF5_RELEASE}; do newfile=${set/%-${KF5_RELEASE}} echo -e "${HEADER}" > "${newfile}" sed -r "/@/s/-${KF5_RELEASE}//g;/5\.9999$/s/~//;s/> "${newfile}" done if [[ -n ${KF6_RELEASE} ]]; then for set in *frameworks-*${KF6_RELEASE}; do newfile=${set/%-${KF6_RELEASE}} echo -e "${HEADER}" > "${newfile}" sed -r "/@/s/-${KF6_RELEASE}//g;/9999$/s/~//;s/> "${newfile}" done fi for set in *plasma-${PLASMA_RELEASE}; do newfile=${set/%-${PLASMA_RELEASE}} echo -e "${HEADER}" > "${newfile}" sed -r "/@/s/-${PLASMA_RELEASE}//g;/9999$/s/~//;s/> "${newfile}" done for set in *-${GEAR_RELEASE}; do newfile=${set/%-${GEAR_RELEASE}} echo -e "${HEADER}" > "${newfile}" sed -r "/@/s/-${GEAR_RELEASE}//g;/9999$/s/~//;s/> "${newfile}" done popd > /dev/null # regenerate CONTRIBUTORS file pushd ../ > /dev/null newfile="CONTRIBUTORS" echo -e "${HEADER}" > "${newfile}" git log --all --format='%aN <%aE>' | sort -u >> "${newfile}" popd > /dev/null