diff --git a/create_linux_installers.sh b/create_linux_gnome_installers.sh similarity index 75% rename from create_linux_installers.sh rename to create_linux_gnome_installers.sh index 1d4b3aa..d0f572d 100755 --- a/create_linux_installers.sh +++ b/create_linux_gnome_installers.sh @@ -7,7 +7,7 @@ TARGET_DIR="bin" GNOME_APPINDICATOR="https://github.com/ubuntu/gnome-shell-extension-appindicator.git" -OBS_PACKAGE="systray-x" +OBS_PACKAGE="systray-x-gnome" OBS_RPM_ARCHS="" OBS_RPM_PKS="" @@ -17,7 +17,7 @@ OBS_RPM_PKS+="_ " OBS_RPM_GNOME_EXT+="v26 " OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " OBS_RPM_PKS+="_ " -OBS_RPM_GNOME_EXT+="master " +OBS_RPM_GNOME_EXT+="v34 " OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " OBS_RPM_PKS+="tmblwd " OBS_RPM_GNOME_EXT+="master " @@ -32,7 +32,7 @@ OBS_RPM_PKS+="sle151 " OBS_RPM_GNOME_EXT+="v26 " OBS_RPM_ARCHS+="Fedora_31/x86_64 " OBS_RPM_PKS+="fed31 " -OBS_RPM_GNOME_EXT+="v26 " +OBS_RPM_GNOME_EXT+="v34 " OBS_RPM_ARCHS+="Fedora_32/x86_64 " OBS_RPM_PKS+="fed32 " OBS_RPM_GNOME_EXT+="master " @@ -61,7 +61,7 @@ OBS_DEB_PKS+="bionic1804 " OBS_DEB_GNOME_EXT+="v26 " OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " OBS_DEB_PKS+="eoan1910 " -OBS_DEB_GNOME_EXT+="master " +OBS_DEB_GNOME_EXT+="v26 " OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " OBS_DEB_PKS+="focal2004 " OBS_DEB_GNOME_EXT+="0 " @@ -83,7 +83,9 @@ create_gnome_extension_tar() { return fi - if [ ${GNOME_EXT} != "v26" ] && [ ${GNOME_EXT} != "master" ] ; then + if [ ${GNOME_EXT} != "v26" ] && + [ ${GNOME_EXT} != "v34" ] && + [ ${GNOME_EXT} != "master" ] ; then return fi @@ -128,14 +130,12 @@ create_rpm_tar() { # # Find rpm # - local RPM_FILE=$(grep ">systray-x-[^dg].*<" index.html | sed -e "s/.*>\(systray-x-[^d].*rpm\)<.*/\1/") - local RPM_GNOME_FILE=$(grep ">systray-x-gnome-[^d].*<" index.html | sed -e "s/.*>\(systray-x-gnome-[^d].*rpm\)<.*/\1/") + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^d].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") rm -f index.html echo "Found: "${RPM_FILE} - echo "Found: "${RPM_GNOME_FILE} - FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/systray-x-\(.*\)-.*/\1/") + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") echo "Version: "${FOUND_VERSION} @@ -153,6 +153,9 @@ create_rpm_tar() { if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi + if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then + cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz + fi if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi @@ -160,9 +163,10 @@ create_rpm_tar() { # # Get the SysTray-X rpm # - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_GNOME_FILE}" - + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + # # Get compression type # @@ -170,19 +174,19 @@ create_rpm_tar() { # echo ${COMPRESSION} case ${COMPRESSION} in - zstd) +# zstd) # # Extract # - rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm # # Get files # - cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X - chmod 755 ./${TAR_DIR}/SysTray-X - cp -f ./usr/share/doc/systray-x/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi - ;; +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; *) # # Extract @@ -194,7 +198,11 @@ create_rpm_tar() { # cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X chmod 755 ./${TAR_DIR}/SysTray-X - cp -f ./usr/share/doc/packages/systray-x/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi ;; esac @@ -221,11 +229,8 @@ create_rpm_tar() { # Rename the RPM # if [ "${RPM_NAME_EXT}" != "_" ] ; then - NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` mv -f ${RPM_FILE} $NEW_RPM_FILE - - NEW_RPM_GNOME_FILE=`echo ${RPM_GNOME_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` - mv -f ${RPM_GNOME_FILE} $NEW_RPM_GNOME_FILE fi # @@ -258,14 +263,12 @@ create_deb_tar() { # # Find deb # - local DEB_FILE=$(grep ">systray-x_.*\.deb<" index.html | sed -e "s/.*>\(systray-x.*deb\)<.*/\1/") - local DEB_GNOME_FILE=$(grep ">systray-x-gnome_.*\.deb<" index.html | sed -e "s/.*>\(systray-x-gnome.*deb\)<.*/\1/") + local DEB_FILE=$(grep ">${OBS_PACKAGE}_.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/") rm -f index.html echo "Found: "${DEB_FILE} - echo "Found: "${DEB_GNOME_FILE} - FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/systray-x_\(.*\)_.*/\1/") + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/") echo "Version: "${FOUND_VERSION} @@ -283,6 +286,9 @@ create_deb_tar() { if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi + if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then + cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz + fi if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi @@ -290,9 +296,10 @@ create_deb_tar() { # # Get the SysTray-X deb # - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_GNOME_FILE}" - + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + # # Extract # @@ -319,11 +326,8 @@ create_deb_tar() { # Rename the DEB # if [ "${DEB_NAME_EXT}" != "_" ] ; then - NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(systray-x\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` mv -f ${DEB_FILE} ${NEW_DEB_FILE} - - NEW_DEB_GNOME_FILE=`echo ${DEB_GNOME_FILE} | sed -s "s/\(systray-x-gnome\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` - mv -f ${DEB_GNOME_FILE} ${NEW_DEB_GNOME_FILE} fi # @@ -376,14 +380,16 @@ for rpmdir in $OBS_RPM_ARCHS ; do # # Create installer # - INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh cp -f ../dist/install.sh ${INSTALLER} # - # Insert gnome setup + # Insert Gnome setup # - sed -i -e "/__GNOME_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER} - sed -i -e "s/__GNOME_SETUP__//" ${INSTALLER} + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} # # Insert install tar @@ -440,14 +446,16 @@ for debdir in $OBS_DEB_ARCHS ; do # # Create installer # - INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh cp -f ../dist/install.sh ${INSTALLER} # - # Insert gnome setup + # Insert Gnome setup # - sed -i -e "/__GNOME_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER} - sed -i -e "s/__GNOME_SETUP__//" ${INSTALLER} + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XFCE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-XFCE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} # # Insert install tar diff --git a/create_linux_kde_installers.sh b/create_linux_kde_installers.sh new file mode 100755 index 0000000..ee36692 --- /dev/null +++ b/create_linux_kde_installers.sh @@ -0,0 +1,382 @@ +#!/bin/bash + +VERSION=`git describe --long | sed "s/-.*//"` + +OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons" +TARGET_DIR="bin" + +OBS_PACKAGE="systray-x" + +OBS_RPM_ARCHS="" +OBS_RPM_PKS="" +OBS_RPM_ARCHS+="openSUSE_Leap_15.1/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="SLE_15/x86_64 " +OBS_RPM_PKS+="sle150 " +OBS_RPM_ARCHS+="SLE_15_SP1/x86_64 " +OBS_RPM_PKS+="sle151 " +OBS_RPM_ARCHS+="Fedora_31/x86_64 " +OBS_RPM_PKS+="fed31 " +OBS_RPM_ARCHS+="Fedora_32/x86_64 " +OBS_RPM_PKS+="fed32 " + + +OBS_DEB_ARCHS="" +OBS_DEB_PKS="" +OBS_DEB_ARCHS+="Debian_10/i386 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="Debian_10/amd64 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="xUbuntu_16.04/i386 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_16.04/amd64 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_18.04/i386 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " +OBS_DEB_PKS+="eoan1910 " +OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " +OBS_DEB_PKS+="focal2004 " + + +create_rpm_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local RPM_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find rpm + # + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^dg].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") + rm -f index.html + + echo "Found: "${RPM_FILE} + + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X rpm + # + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + + # + # Get compression type + # + COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE}) +# echo ${COMPRESSION} + + case ${COMPRESSION} in +# zstd) + # + # Extract + # +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm + + # + # Get files + # +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; + *) + # + # Extract + # + rpm2cpio ${RPM_FILE} | cpio --quiet -idm + + # + # Get files + # + cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi + ;; + esac + + # + # Cleanup + # + rm -rf ./usr + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the RPM + # + if [ "${RPM_NAME_EXT}" != "_" ] ; then + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + mv -f ${RPM_FILE} $NEW_RPM_FILE + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + + +create_deb_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local DEB_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find deb + # + local DEB_FILE=$(grep ">systray-x_.*\.deb<" index.html | sed -e "s/.*>\(systray-x.*deb\)<.*/\1/") + rm -f index.html + + echo "Found: "${DEB_FILE} + + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/systray-x_\(.*\)_.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X deb + # + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + + # + # Extract + # + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the DEB + # + if [ "${DEB_NAME_EXT}" != "_" ] ; then + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + mv -f ${DEB_FILE} ${NEW_DEB_FILE} + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + +################################################################################# +# +# +# Main +# +# +################################################################################# + +mkdir -p $TARGET_DIR +pushd $TARGET_DIR > /dev/null 2>&1 + +# +# Create bash installers for RPM based distributions +# +INDEX=1 +for rpmdir in $OBS_RPM_ARCHS ; do + + echo + echo + echo "Generating installer: "${rpmdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2) + + RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Kde setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Cleanup +# +rm -f gnome-shell-extension.tar.xz + +# +# Create bash installers for DEB based distributions +# +INDEX=1 +for debdir in $OBS_DEB_ARCHS ; do + + echo + echo + echo "Generating installer: "${debdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2) + + DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Kde setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Cleanup +# +rm -f gnome-shell-extension-*.tar.xz + +popd > /dev/null 2>&1 diff --git a/create_linux_minimal_installers.sh b/create_linux_minimal_installers.sh new file mode 100755 index 0000000..ef4f7ff --- /dev/null +++ b/create_linux_minimal_installers.sh @@ -0,0 +1,372 @@ +#!/bin/bash + +VERSION=`git describe --long | sed "s/-.*//"` + +OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons" +TARGET_DIR="bin" + +OBS_PACKAGE="systray-x-minimal" + +OBS_RPM_ARCHS="" +OBS_RPM_PKS="" +OBS_RPM_ARCHS+="openSUSE_Leap_15.1/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="SLE_15/x86_64 " +OBS_RPM_PKS+="sle150 " +OBS_RPM_ARCHS+="SLE_15_SP1/x86_64 " +OBS_RPM_PKS+="sle151 " +OBS_RPM_ARCHS+="Fedora_31/x86_64 " +OBS_RPM_PKS+="fed31 " +OBS_RPM_ARCHS+="Fedora_32/x86_64 " +OBS_RPM_PKS+="fed32 " + + +OBS_DEB_ARCHS="" +OBS_DEB_PKS="" +OBS_DEB_ARCHS+="Debian_10/i386 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="Debian_10/amd64 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="xUbuntu_16.04/i386 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_16.04/amd64 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_18.04/i386 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " +OBS_DEB_PKS+="eoan1910 " +OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " +OBS_DEB_PKS+="focal2004 " + + +create_rpm_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local RPM_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find rpm + # + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^d].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") + rm -f index.html + + echo "Found: "${RPM_FILE} + + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X rpm + # + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + + # + # Get compression type + # + COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE}) +# echo ${COMPRESSION} + + case ${COMPRESSION} in +# zstd) + # + # Extract + # +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm + + # + # Get files + # +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; + *) + # + # Extract + # + rpm2cpio ${RPM_FILE} | cpio --quiet -idm + + # + # Get files + # + cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi + ;; + esac + + # + # Cleanup + # + rm -rf ./usr + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the RPM + # + if [ "${RPM_NAME_EXT}" != "_" ] ; then + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + mv -f ${RPM_FILE} $NEW_RPM_FILE + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + + +create_deb_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local DEB_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find deb + # + local DEB_FILE=$(grep ">${OBS_PACKAGE}_.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/") + rm -f index.html + + echo "Found: "${DEB_FILE} + + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X deb + # + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + + # + # Extract + # + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the DEB + # + if [ "${DEB_NAME_EXT}" != "_" ] ; then + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + mv -f ${DEB_FILE} ${NEW_DEB_FILE} + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + +################################################################################# +# +# +# Main +# +# +################################################################################# + +mkdir -p $TARGET_DIR +pushd $TARGET_DIR > /dev/null 2>&1 + +# +# Create bash installers for RPM based distributions +# +INDEX=1 +for rpmdir in $OBS_RPM_ARCHS ; do + + echo + echo + echo "Generating installer: "${rpmdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2) + + RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Minimal setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Minimal.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Create bash installers for DEB based distributions +# +INDEX=1 +for debdir in $OBS_DEB_ARCHS ; do + + echo + echo + echo "Generating installer: "${debdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2) + + DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Minimal setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Minimal.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +popd > /dev/null 2>&1 diff --git a/create_linux_installers_test.sh b/create_linux_staging_gnome_installers.sh similarity index 74% rename from create_linux_installers_test.sh rename to create_linux_staging_gnome_installers.sh index 31a383b..b90125f 100755 --- a/create_linux_installers_test.sh +++ b/create_linux_staging_gnome_installers.sh @@ -1,13 +1,13 @@ #!/bin/bash -VERSION="0~git.*" +VERSION=`git describe --long | sed "s/-.*//"` -OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging:/Test" -TARGET_DIR="bin-test" +OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging" +TARGET_DIR="bin-staging" GNOME_APPINDICATOR="https://github.com/ubuntu/gnome-shell-extension-appindicator.git" -OBS_PACKAGE="systray-x" +OBS_PACKAGE="systray-x-gnome" OBS_RPM_ARCHS="" OBS_RPM_PKS="" @@ -17,7 +17,7 @@ OBS_RPM_PKS+="_ " OBS_RPM_GNOME_EXT+="v26 " OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " OBS_RPM_PKS+="_ " -OBS_RPM_GNOME_EXT+="master " +OBS_RPM_GNOME_EXT+="v34 " OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " OBS_RPM_PKS+="tmblwd " OBS_RPM_GNOME_EXT+="master " @@ -32,7 +32,7 @@ OBS_RPM_PKS+="sle151 " OBS_RPM_GNOME_EXT+="v26 " OBS_RPM_ARCHS+="Fedora_31/x86_64 " OBS_RPM_PKS+="fed31 " -OBS_RPM_GNOME_EXT+="v26 " +OBS_RPM_GNOME_EXT+="v34 " OBS_RPM_ARCHS+="Fedora_32/x86_64 " OBS_RPM_PKS+="fed32 " OBS_RPM_GNOME_EXT+="master " @@ -61,7 +61,7 @@ OBS_DEB_PKS+="bionic1804 " OBS_DEB_GNOME_EXT+="v26 " OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " OBS_DEB_PKS+="eoan1910 " -OBS_DEB_GNOME_EXT+="master " +OBS_DEB_GNOME_EXT+="v26 " OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " OBS_DEB_PKS+="focal2004 " OBS_DEB_GNOME_EXT+="0 " @@ -83,7 +83,9 @@ create_gnome_extension_tar() { return fi - if [ ${GNOME_EXT} != "v26" ] && [ ${GNOME_EXT} != "master" ] ; then + if [ ${GNOME_EXT} != "v26" ] && + [ ${GNOME_EXT} != "v34" ] && + [ ${GNOME_EXT} != "master" ] ; then return fi @@ -128,14 +130,12 @@ create_rpm_tar() { # # Find rpm # - local RPM_FILE=$(grep ">systray-x-[^dg].*<" index.html | sed -e "s/.*>\(systray-x-[^d].*rpm\)<.*/\1/") - local RPM_GNOME_FILE=$(grep ">systray-x-gnome-[^d].*<" index.html | sed -e "s/.*>\(systray-x-gnome-[^d].*rpm\)<.*/\1/") + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^d].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") rm -f index.html echo "Found: "${RPM_FILE} - echo "Found: "${RPM_GNOME_FILE} - FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/systray-x-\(.*\)-.*/\1/") + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") echo "Version: "${FOUND_VERSION} @@ -153,6 +153,9 @@ create_rpm_tar() { if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi + if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then + cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz + fi if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi @@ -160,9 +163,10 @@ create_rpm_tar() { # # Get the SysTray-X rpm # - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_GNOME_FILE}" - + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + # # Get compression type # @@ -170,19 +174,19 @@ create_rpm_tar() { # echo ${COMPRESSION} case ${COMPRESSION} in - zstd) +# zstd) # # Extract # - rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm # # Get files # - cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X - chmod 755 ./${TAR_DIR}/SysTray-X - cp -f ./usr/share/doc/systray-x/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi - ;; +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; *) # # Extract @@ -194,7 +198,11 @@ create_rpm_tar() { # cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X chmod 755 ./${TAR_DIR}/SysTray-X - cp -f ./usr/share/doc/packages/systray-x/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi ;; esac @@ -221,11 +229,8 @@ create_rpm_tar() { # Rename the RPM # if [ "${RPM_NAME_EXT}" != "_" ] ; then - NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` mv -f ${RPM_FILE} $NEW_RPM_FILE - - NEW_RPM_GNOME_FILE=`echo ${RPM_GNOME_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` - mv -f ${RPM_GNOME_FILE} $NEW_RPM_GNOME_FILE fi # @@ -258,14 +263,12 @@ create_deb_tar() { # # Find deb # - local DEB_FILE=$(grep ">systray-x_.*\.deb<" index.html | sed -e "s/.*>\(systray-x.*deb\)<.*/\1/") - local DEB_GNOME_FILE=$(grep ">systray-x-gnome_.*\.deb<" index.html | sed -e "s/.*>\(systray-x-gnome.*deb\)<.*/\1/") + local DEB_FILE=$(grep ">${OBS_PACKAGE}_.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/") rm -f index.html echo "Found: "${DEB_FILE} - echo "Found: "${DEB_GNOME_FILE} - FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/systray-x_\(.*\)_.*/\1/") + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/") echo "Version: "${FOUND_VERSION} @@ -283,6 +286,9 @@ create_deb_tar() { if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi + if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then + cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz + fi if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz fi @@ -290,9 +296,10 @@ create_deb_tar() { # # Get the SysTray-X deb # - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" - wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_GNOME_FILE}" - + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + # # Extract # @@ -319,11 +326,8 @@ create_deb_tar() { # Rename the DEB # if [ "${DEB_NAME_EXT}" != "_" ] ; then - NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(systray-x\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` mv -f ${DEB_FILE} ${NEW_DEB_FILE} - - NEW_DEB_GNOME_FILE=`echo ${DEB_GNOME_FILE} | sed -s "s/\(systray-x-gnome\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` - mv -f ${DEB_GNOME_FILE} ${NEW_DEB_GNOME_FILE} fi # @@ -376,14 +380,16 @@ for rpmdir in $OBS_RPM_ARCHS ; do # # Create installer # - INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh cp -f ../dist/install.sh ${INSTALLER} # - # Insert gnome setup + # Insert Gnome setup # - sed -i -e "/__GNOME_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER} - sed -i -e "s/__GNOME_SETUP__//" ${INSTALLER} + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} # # Insert install tar @@ -440,14 +446,16 @@ for debdir in $OBS_DEB_ARCHS ; do # # Create installer # - INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh cp -f ../dist/install.sh ${INSTALLER} # - # Insert gnome setup + # Insert Gnome setup # - sed -i -e "/__GNOME_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER} - sed -i -e "s/__GNOME_SETUP__//" ${INSTALLER} + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XFCE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-XFCE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} # # Insert install tar diff --git a/create_linux_staging_kde_installers.sh b/create_linux_staging_kde_installers.sh new file mode 100755 index 0000000..491af7d --- /dev/null +++ b/create_linux_staging_kde_installers.sh @@ -0,0 +1,382 @@ +#!/bin/bash + +VERSION=`git describe --long | sed "s/-.*//"` + +OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging" +TARGET_DIR="bin-staging" + +OBS_PACKAGE="systray-x" + +OBS_RPM_ARCHS="" +OBS_RPM_PKS="" +OBS_RPM_ARCHS+="openSUSE_Leap_15.1/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="SLE_15/x86_64 " +OBS_RPM_PKS+="sle150 " +OBS_RPM_ARCHS+="SLE_15_SP1/x86_64 " +OBS_RPM_PKS+="sle151 " +OBS_RPM_ARCHS+="Fedora_31/x86_64 " +OBS_RPM_PKS+="fed31 " +OBS_RPM_ARCHS+="Fedora_32/x86_64 " +OBS_RPM_PKS+="fed32 " + + +OBS_DEB_ARCHS="" +OBS_DEB_PKS="" +OBS_DEB_ARCHS+="Debian_10/i386 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="Debian_10/amd64 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="xUbuntu_16.04/i386 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_16.04/amd64 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_18.04/i386 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " +OBS_DEB_PKS+="eoan1910 " +OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " +OBS_DEB_PKS+="focal2004 " + + +create_rpm_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local RPM_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find rpm + # + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^dg].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") + rm -f index.html + + echo "Found: "${RPM_FILE} + + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X rpm + # + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + + # + # Get compression type + # + COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE}) +# echo ${COMPRESSION} + + case ${COMPRESSION} in +# zstd) + # + # Extract + # +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm + + # + # Get files + # +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; + *) + # + # Extract + # + rpm2cpio ${RPM_FILE} | cpio --quiet -idm + + # + # Get files + # + cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi + ;; + esac + + # + # Cleanup + # + rm -rf ./usr + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the RPM + # + if [ "${RPM_NAME_EXT}" != "_" ] ; then + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + mv -f ${RPM_FILE} $NEW_RPM_FILE + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + + +create_deb_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local DEB_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find deb + # + local DEB_FILE=$(grep ">systray-x_.*\.deb<" index.html | sed -e "s/.*>\(systray-x.*deb\)<.*/\1/") + rm -f index.html + + echo "Found: "${DEB_FILE} + + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/systray-x_\(.*\)_.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X deb + # + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + + # + # Extract + # + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the DEB + # + if [ "${DEB_NAME_EXT}" != "_" ] ; then + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + mv -f ${DEB_FILE} ${NEW_DEB_FILE} + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + +################################################################################# +# +# +# Main +# +# +################################################################################# + +mkdir -p $TARGET_DIR +pushd $TARGET_DIR > /dev/null 2>&1 + +# +# Create bash installers for RPM based distributions +# +INDEX=1 +for rpmdir in $OBS_RPM_ARCHS ; do + + echo + echo + echo "Generating installer: "${rpmdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2) + + RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Kde setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Cleanup +# +rm -f gnome-shell-extension.tar.xz + +# +# Create bash installers for DEB based distributions +# +INDEX=1 +for debdir in $OBS_DEB_ARCHS ; do + + echo + echo + echo "Generating installer: "${debdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2) + + DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Kde setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Cleanup +# +rm -f gnome-shell-extension-*.tar.xz + +popd > /dev/null 2>&1 diff --git a/create_linux_staging_minimal_installers.sh b/create_linux_staging_minimal_installers.sh new file mode 100755 index 0000000..0b8b7f8 --- /dev/null +++ b/create_linux_staging_minimal_installers.sh @@ -0,0 +1,372 @@ +#!/bin/bash + +VERSION=`git describe --long | sed "s/-.*//"` + +OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging" +TARGET_DIR="bin-staging" + +OBS_PACKAGE="systray-x-minimal" + +OBS_RPM_ARCHS="" +OBS_RPM_PKS="" +OBS_RPM_ARCHS+="openSUSE_Leap_15.1/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Leap_15.2/x86_64 " +OBS_RPM_PKS+="_ " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 " +OBS_RPM_PKS+="tmblwd " +OBS_RPM_ARCHS+="SLE_15/x86_64 " +OBS_RPM_PKS+="sle150 " +OBS_RPM_ARCHS+="SLE_15_SP1/x86_64 " +OBS_RPM_PKS+="sle151 " +OBS_RPM_ARCHS+="Fedora_31/x86_64 " +OBS_RPM_PKS+="fed31 " +OBS_RPM_ARCHS+="Fedora_32/x86_64 " +OBS_RPM_PKS+="fed32 " + + +OBS_DEB_ARCHS="" +OBS_DEB_PKS="" +OBS_DEB_ARCHS+="Debian_10/i386 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="Debian_10/amd64 " +OBS_DEB_PKS+="deb10 " +OBS_DEB_ARCHS+="xUbuntu_16.04/i386 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_16.04/amd64 " +OBS_DEB_PKS+="xenial1604 " +OBS_DEB_ARCHS+="xUbuntu_18.04/i386 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 " +OBS_DEB_PKS+="bionic1804 " +OBS_DEB_ARCHS+="xUbuntu_19.10/amd64 " +OBS_DEB_PKS+="eoan1910 " +OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 " +OBS_DEB_PKS+="focal2004 " + + +create_rpm_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local RPM_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find rpm + # + local RPM_FILE=$(grep ">${OBS_PACKAGE}-[^d].*<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*rpm\)<.*/\1/") + rm -f index.html + + echo "Found: "${RPM_FILE} + + FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X rpm + # + if [ ! -f ${RPM_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}" + fi + + # + # Get compression type + # + COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE}) +# echo ${COMPRESSION} + + case ${COMPRESSION} in +# zstd) + # + # Extract + # +# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm + + # + # Get files + # +# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X +# chmod 755 ./${TAR_DIR}/SysTray-X +# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi +# ;; + *) + # + # Extract + # + rpm2cpio ${RPM_FILE} | cpio --quiet -idm + + # + # Get files + # + cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + if [ -d ./usr/share/doc/packages ] ; then + cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + else + cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi + fi + ;; + esac + + # + # Cleanup + # + rm -rf ./usr + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the RPM + # + if [ "${RPM_NAME_EXT}" != "_" ] ; then + NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"` + mv -f ${RPM_FILE} $NEW_RPM_FILE + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + + +create_deb_tar() { + + local REPO_BASE=$1 + local REPO_DISTR=$2 + local REPO_ARCH=$3 + local DEB_NAME_EXT=$4 + + ########################################## + # + # Create the SysTray-X tar + # + ########################################## + + # + # Get index.html + # + rm -f index.html + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" + + # + # Find deb + # + local DEB_FILE=$(grep ">${OBS_PACKAGE}_.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/") + rm -f index.html + + echo "Found: "${DEB_FILE} + + FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/") + + echo "Version: "${FOUND_VERSION} + + # + # Create tar dir + # + local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR} + + rm -rf ${TAR_DIR} + mkdir -p ${TAR_DIR} + + # + # Get the SysTray-X deb + # + if [ ! -f ${DEB_FILE} ] ; then + wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}" + fi + + # + # Extract + # + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X + chmod 755 ./${TAR_DIR}/SysTray-X + + dpkg --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi + + if [ ! -f systray-x@Ximi1970.xpi ] ; then + cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi . + fi + + # + # Get JSON + # + cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template + + # + # Create tar + # + tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz . + + # + # Rename the DEB + # + if [ "${DEB_NAME_EXT}" != "_" ] ; then + NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"` + mv -f ${DEB_FILE} ${NEW_DEB_FILE} + fi + + # + # Cleanup + # + rm -rf ${TAR_DIR} +} + +################################################################################# +# +# +# Main +# +# +################################################################################# + +mkdir -p $TARGET_DIR +pushd $TARGET_DIR > /dev/null 2>&1 + +# +# Create bash installers for RPM based distributions +# +INDEX=1 +for rpmdir in $OBS_RPM_ARCHS ; do + + echo + echo + echo "Generating installer: "${rpmdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2) + + RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Minimal setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Minimal.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +# +# Create bash installers for DEB based distributions +# +INDEX=1 +for debdir in $OBS_DEB_ARCHS ; do + + echo + echo + echo "Generating installer: "${debdir} + echo + + # + # Get base of the repo + # + REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1) + REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2) + + DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX}) + + # + # Generate the SysTray-X tar file + # + create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} + + # + # Create installer + # + INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh + cp -f ../dist/install.sh ${INSTALLER} + + # + # Insert Minimal setup + # + sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Minimal.sh" ${INSTALLER} + sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER} + sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER} + sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER} + + # + # Insert install tar + # + cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER} + chmod 755 ${INSTALLER} + + # + # Cleanup + # + rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz + + # + # Update index + # + INDEX=$((INDEX+1)) +done + +popd > /dev/null 2>&1 diff --git a/dist/install.xUbuntu_19.04.sh b/dist/install.xUbuntu_19.04.sh deleted file mode 100644 index f4fb3a1..0000000 --- a/dist/install.xUbuntu_19.04.sh +++ /dev/null @@ -1,38 +0,0 @@ -enableGnomeExtension() { - EXTENSION="appindicatorsupport@rgcjonas.gmail.com" - PACKAGE="gnome-shell-extension-appindicator" - ENABLE_CMD="gnome-shell-extension-tool -e ${EXTENSION}" - # - # Is the extension installed? - # - if [ -d /usr/share/gnome-shell/extensions/${EXTENSION} ] || [ -d ~/.local/share/gnome-shell/extensions/${EXTENSION} ] ; then - $ENABLE_CMD - else - mkdir -p ~/.local/share/gnome-shell/extensions - tar -C ~/.local/share/gnome-shell/extensions -xJf ${DESTINATION}/gnome-shell-extension.tar.xz - $ENABLE_CMD - fi - - echo - echo "Please logout and login to activate the gnome shell extension" - echo -} - -# -# Enable the gnome shell extension for the local user -# -if [ "$XDG_CURRENT_DESKTOP" == "ubuntu:GNOME" ] ; then - enableGnomeExtension -fi - -# -# Check for Qt -# -dpkg -l | grep -q libqt5widgets5 -if [ "$?" == "1" ] ; then - echo - echo "Please install the package libqt5widgets5" - echo - echo "sudo apt install libqt5widgets5" - echo -fi diff --git a/dist/rpm/VERSION b/dist/rpm/VERSION index aba4284..42e0619 100644 --- a/dist/rpm/VERSION +++ b/dist/rpm/VERSION @@ -1,4 +1,4 @@ VERSION=0.4.0 -BUILD_NUMBER=459 -GIT_HASH=d1ab27c34f69b69cabf2ad0215f3ff5d5409f71a +BUILD_NUMBER=461 +GIT_HASH=840ccc6d27bfd3b7877fda0745473c2709269c3a GIT_BRANCH=develop