diff options
Diffstat (limited to 'package-version-matrix/package-versions-matrix.sh')
-rwxr-xr-x | package-version-matrix/package-versions-matrix.sh | 275 |
1 files changed, 157 insertions, 118 deletions
diff --git a/package-version-matrix/package-versions-matrix.sh b/package-version-matrix/package-versions-matrix.sh index 413a977..38c6643 100755 --- a/package-version-matrix/package-versions-matrix.sh +++ b/package-version-matrix/package-versions-matrix.sh @@ -50,7 +50,7 @@ function version_compare() { return 0 fi else - retval=`dpkg --compare-versions "${wanted_version}" gt "${actual_version}" >/dev/null 2>&1; echo $?` + retval=`dpkg --compare-versions "${actual_version}" ge "${wanted_version}" >/dev/null 2>&1; echo $?` fi return ${retval} @@ -85,10 +85,28 @@ if [ -x "$(which repoquery 2>/dev/null)" ]; then repoquery --source --show-dupes $pkg | tail -n 1; \ done | sort -u > ${package_list_wanted} elif [ -x "$(which debtree 2>/dev/null)" ]; then - debtree kolab 2>&1 | \ - grep -E "^\s*\"(.*)\"\s\[" | \ - awk '{print $1}' | \ - sed -e 's/^"//g' -e 's/"$//g' -e '/^alt/d' | sort -u > ${package_list_wanted} + for pkg in `debtree --no-recommends --no-alternatives --no-provides kolab 2>&1 | \ + grep -E "^\s*\"" | \ + awk '{print $1}' | \ + sed -e 's/^"//g' -e 's/"$//g' | \ + sort -u | \ + grep -v "^Pr_"`; do + + source=$(apt-cache show ${pkg} 2>&1 | grep -E "^Source:" | awk '{print $2}' | sort -u | head -n 1) + if [ -z "${source}" ]; then + source=${pkg} + version=$(apt-cache show ${source} 2>/dev/null | grep "^Version:" | head -n 1 | awk '{print $2}') + else + version=$(apt-cache showsrc ${source} 2>/dev/null | grep "^Version:" | head -n 1 | awk '{print $2}') + fi + if [ ! -z "${version}" ]; then + echo "${source}-${version}" + else + continue + fi + done | sort -u > ${package_list_wanted} + echo "Package list wanted: ${package_list_wanted}:" + cat ${package_list_wanted} fi # Package names (SRPM name) that are in the dependency tree, but that are not @@ -101,6 +119,8 @@ pkgsni[${#pkgsni[@]}]="adduser"; pkgsni[${#pkgsni[@]}]="alsa-lib"; pkgsni[${#pkgsni[@]}]="altermime"; pkgsni[${#pkgsni[@]}]="amanda"; +pkgsni[${#pkgsni[@]}]="apache"; +pkgsni[${#pkgsni[@]}]="apache2"; pkgsni[${#pkgsni[@]}]="apr"; pkgsni[${#pkgsni[@]}]="apr-util"; pkgsni[${#pkgsni[@]}]="arj"; @@ -129,10 +149,12 @@ pkgsni[${#pkgsni[@]}]="crontabs"; pkgsni[${#pkgsni[@]}]="cryptsetup"; pkgsni[${#pkgsni[@]}]="cups"; pkgsni[${#pkgsni[@]}]="curl"; +pkgsni[${#pkgsni[@]}]="cyrus-sasl2"; pkgsni[${#pkgsni[@]}]="dash"; pkgsni[${#pkgsni[@]}]="db4"; pkgsni[${#pkgsni[@]}]="dbus"; pkgsni[${#pkgsni[@]}]="dbus-glib"; +pkgsni[${#pkgsni[@]}]="debconf"; pkgsni[${#pkgsni[@]}]="debianutils"; pkgsni[${#pkgsni[@]}]="diffutils"; pkgsni[${#pkgsni[@]}]="dpkg"; @@ -177,6 +199,7 @@ pkgsni[${#pkgsni[@]}]="gmp"; pkgsni[${#pkgsni[@]}]="gnupg"; pkgsni[${#pkgsni[@]}]="gnupg2"; pkgsni[${#pkgsni[@]}]="gnutls"; +pkgsni[${#pkgsni[@]}]="gnutls26"; pkgsni[${#pkgsni[@]}]="grep"; pkgsni[${#pkgsni[@]}]="groff"; pkgsni[${#pkgsni[@]}]="grubby"; @@ -185,6 +208,7 @@ pkgsni[${#pkgsni[@]}]="gstreamer"; pkgsni[${#pkgsni[@]}]="gstreamer-plugins-base"; pkgsni[${#pkgsni[@]}]="gtk2"; pkgsni[${#pkgsni[@]}]="gzip"; +pkgsni[${#pkgsni[@]}]="heimdal"; pkgsni[${#pkgsni[@]}]="hesiod"; pkgsni[${#pkgsni[@]}]="hicolor-icon-theme"; pkgsni[${#pkgsni[@]}]="hotplug"; @@ -337,10 +361,12 @@ pkgsni[${#pkgsni[@]}]="libmcrypt"; pkgsni[${#pkgsni[@]}]="libmng"; pkgsni[${#pkgsni[@]}]="libmspack"; pkgsni[${#pkgsni[@]}]="libnet"; +pkgsni[${#pkgsni[@]}]="libnetaddr-ip-perl"; pkgsni[${#pkgsni[@]}]="libnih"; pkgsni[${#pkgsni[@]}]="libogg"; pkgsni[${#pkgsni[@]}]="liboil"; pkgsni[${#pkgsni[@]}]="libpciaccess"; +pkgsni[${#pkgsni[@]}]="libperl4-corelibs-perl"; pkgsni[${#pkgsni[@]}]="libpng"; pkgsni[${#pkgsni[@]}]="libpwquality"; pkgsni[${#pkgsni[@]}]="libselinux"; @@ -348,6 +374,7 @@ pkgsni[${#pkgsni[@]}]="libsemanage"; pkgsni[${#pkgsni[@]}]="libsepol"; pkgsni[${#pkgsni[@]}]="libSM"; pkgsni[${#pkgsni[@]}]="libsndfile"; +pkgsni[${#pkgsni[@]}]="libsocket-getaddrinfo-perl"; pkgsni[${#pkgsni[@]}]="libssh2"; pkgsni[${#pkgsni[@]}]="libtasn1"; pkgsni[${#pkgsni[@]}]="libthai"; @@ -397,6 +424,7 @@ pkgsni[${#pkgsni[@]}]="module-init-tools"; pkgsni[${#pkgsni[@]}]="MySQL-python"; pkgsni[${#pkgsni[@]}]="nc"; pkgsni[${#pkgsni[@]}]="ncurses"; +pkgsni[${#pkgsni[@]}]="netbase"; pkgsni[${#pkgsni[@]}]="net-snmp"; pkgsni[${#pkgsni[@]}]="net-tools"; pkgsni[${#pkgsni[@]}]="newt"; @@ -527,6 +555,8 @@ pkgsni[${#pkgsni[@]}]="psmisc"; pkgsni[${#pkgsni[@]}]="pth"; pkgsni[${#pkgsni[@]}]="pulseaudio"; pkgsni[${#pkgsni[@]}]="python"; +pkgsni[${#pkgsni[@]}]="python2.6"; +pkgsni[${#pkgsni[@]}]="python2.7"; pkgsni[${#pkgsni[@]}]="python-imaging"; pkgsni[${#pkgsni[@]}]="python-IPy"; pkgsni[${#pkgsni[@]}]="python-markdown"; @@ -545,6 +575,7 @@ pkgsni[${#pkgsni[@]}]="sendmail"; pkgsni[${#pkgsni[@]}]="setools"; pkgsni[${#pkgsni[@]}]="setup"; pkgsni[${#pkgsni[@]}]="sgml-common"; +pkgsni[${#pkgsni[@]}]="shadow"; pkgsni[${#pkgsni[@]}]="shadow-utils"; pkgsni[${#pkgsni[@]}]="shared-mime-info"; pkgsni[${#pkgsni[@]}]="sinjdoc"; @@ -562,6 +593,7 @@ pkgsni[${#pkgsni[@]}]="tcp_wrappers"; pkgsni[${#pkgsni[@]}]="texinfo"; pkgsni[${#pkgsni[@]}]="tmpwatch"; pkgsni[${#pkgsni[@]}]="tzdata"; +pkgsni[${#pkgsni[@]}]="ucf"; pkgsni[${#pkgsni[@]}]="udev"; pkgsni[${#pkgsni[@]}]="upstart"; pkgsni[${#pkgsni[@]}]="ustr"; @@ -572,6 +604,7 @@ pkgsni[${#pkgsni[@]}]="which"; pkgsni[${#pkgsni[@]}]="xerces-c"; pkgsni[${#pkgsni[@]}]="xinetd"; pkgsni[${#pkgsni[@]}]="xz"; +pkgsni[${#pkgsni[@]}]="zephyr"; pkgsni[${#pkgsni[@]}]="zip"; pkgsni[${#pkgsni[@]}]="zlib"; @@ -583,7 +616,7 @@ declare -a alt_names pkg_names[${#pkg_names[@]}]="389-adminutil"; alt_names[${#alt_names[@]}]="libadminutil0"; pkg_names[${#pkg_names[@]}]="clamav"; alt_names[${#alt_names[@]}]="clamav-server"; -pkg_names[${#pkg_names[@]}]="cyrus-imapd"; alt_names[${#alt_names[@]}]="cyrus23-common cyrus22-common cyrus21-common cyrus-imapd-2.2"; +pkg_names[${#pkg_names[@]}]="cyrus-imapd"; alt_names[${#alt_names[@]}]="cyrus23-common cyrus22-common cyrus21-common cyrus-imapd-2.2 cyrus-imapd-2.3 cyrus-imapd-2.4"; pkg_names[${#pkg_names[@]}]="cyrus-sasl"; alt_names[${#alt_names[@]}]="cyrus-sasl-lib libsasl2-2"; pkg_names[${#pkg_names[@]}]="dimp"; alt_names[${#alt_names[@]}]="dimp1"; pkg_names[${#pkg_names[@]}]="gnutls"; alt_names[${#alt_names[@]}]="gnutls0 gnutls0.4"; @@ -610,26 +643,100 @@ pkg_names[${#pkg_names[@]}]="php-channel-PHPUnit"; alt_names[${ pkg_names[${#pkg_names[@]}]="php-pear-Auth-SASL"; alt_names[${#alt_names[@]}]="php-auth-sasl" pkg_names[${#pkg_names[@]}]="php-pear-Cache"; alt_names[${#alt_names[@]}]="php-cache" pkg_names[${#pkg_names[@]}]="php-pear-Console-Table"; alt_names[${#alt_names[@]}]="php-console-table" -pkg_names[${#pkg_names[@]}]="php-pear-Date"; alt_names[${#alt_names[@]}]="php-date" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays"; alt_names[${#alt_names[@]}]="php-date-holidays" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Austria"; alt_names[${#alt_names[@]}]="php-date-holidays-austria" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Brazil"; alt_names[${#alt_names[@]}]="php-date-holidays-brazil" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Denmark"; alt_names[${#alt_names[@]}]="php-date-holidays-denmark" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Discordian"; alt_names[${#alt_names[@]}]="php-date-holidays-discordian" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-EnglandWales"; alt_names[${#alt_names[@]}]="php-date-holidays-englandwales" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Germany"; alt_names[${#alt_names[@]}]="php-date-holidays-germany" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Iceland"; alt_names[${#alt_names[@]}]="php-date-holidays-iceland" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Ireland"; alt_names[${#alt_names[@]}]="php-date-holidays-ireland" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Italy"; alt_names[${#alt_names[@]}]="php-date-holidays-italy" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Japan"; alt_names[${#alt_names[@]}]="php-date-holidays-japan" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Netherlands"; alt_names[${#alt_names[@]}]="php-date-holidays-netherlands" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Norway"; alt_names[${#alt_names[@]}]="php-date-holidays-norway" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Romania"; alt_names[${#alt_names[@]}]="php-date-holidays-romania" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Slovenia"; alt_names[${#alt_names[@]}]="php-date-holidays-slovenia" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Sweden"; alt_names[${#alt_names[@]}]="php-date-holidays-sweden" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Ukraine"; alt_names[${#alt_names[@]}]="php-date-holidays-ukraine" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-UNO"; alt_names[${#alt_names[@]}]="php-date-holidays-uno" -pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-USA"; alt_names[${#alt_names[@]}]="php-date-holidays-usa" + +if [ "${kolab_version}" == "2.4" ]; then + pkg_names[${#pkg_names[@]}]="php-pear-Date"; alt_names[${#alt_names[@]}]="php-date" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays"; alt_names[${#alt_names[@]}]="php-date-holidays" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Austria"; alt_names[${#alt_names[@]}]="php-date-holidays-austria" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Brazil"; alt_names[${#alt_names[@]}]="php-date-holidays-brazil" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Denmark"; alt_names[${#alt_names[@]}]="php-date-holidays-denmark" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Discordian"; alt_names[${#alt_names[@]}]="php-date-holidays-discordian" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-EnglandWales"; alt_names[${#alt_names[@]}]="php-date-holidays-englandwales" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Germany"; alt_names[${#alt_names[@]}]="php-date-holidays-germany" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Iceland"; alt_names[${#alt_names[@]}]="php-date-holidays-iceland" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Ireland"; alt_names[${#alt_names[@]}]="php-date-holidays-ireland" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Italy"; alt_names[${#alt_names[@]}]="php-date-holidays-italy" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Japan"; alt_names[${#alt_names[@]}]="php-date-holidays-japan" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Netherlands"; alt_names[${#alt_names[@]}]="php-date-holidays-netherlands" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Norway"; alt_names[${#alt_names[@]}]="php-date-holidays-norway" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Romania"; alt_names[${#alt_names[@]}]="php-date-holidays-romania" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Slovenia"; alt_names[${#alt_names[@]}]="php-date-holidays-slovenia" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Sweden"; alt_names[${#alt_names[@]}]="php-date-holidays-sweden" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-Ukraine"; alt_names[${#alt_names[@]}]="php-date-holidays-ukraine" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-UNO"; alt_names[${#alt_names[@]}]="php-date-holidays-uno" + pkg_names[${#pkg_names[@]}]="php-pear-Date-Holidays-USA"; alt_names[${#alt_names[@]}]="php-date-holidays-usa" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Alarm"; alt_names[${#alt_names[@]}]="php-horde-alarm" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Argv"; alt_names[${#alt_names[@]}]="php-horde-argv" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Auth"; alt_names[${#alt_names[@]}]="php-horde-auth" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Block"; alt_names[${#alt_names[@]}]="php-horde-block" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Browser"; alt_names[${#alt_names[@]}]="php-horde-browser" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Cache"; alt_names[${#alt_names[@]}]="php-horde-cache" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Cipher"; alt_names[${#alt_names[@]}]="php-horde-cipher" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-CLI"; alt_names[${#alt_names[@]}]="php-horde-cli" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Compress"; alt_names[${#alt_names[@]}]="php-horde-compress" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Crypt"; alt_names[${#alt_names[@]}]="php-horde-crypt" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-DataTree"; alt_names[${#alt_names[@]}]="php-horde-datatree" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Date"; alt_names[${#alt_names[@]}]="php-horde-date" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-DOM"; alt_names[${#alt_names[@]}]="php-horde-dom" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Editor"; alt_names[${#alt_names[@]}]="php-horde-editor" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Feed"; alt_names[${#alt_names[@]}]="php-horde-feed" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-File_CSV"; alt_names[${#alt_names[@]}]="php-horde-file_csv" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-File_PDF"; alt_names[${#alt_names[@]}]="php-horde-file_pdf" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Form"; alt_names[${#alt_names[@]}]="php-horde-form" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Framework"; alt_names[${#alt_names[@]}]="php-horde-framework" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Group"; alt_names[${#alt_names[@]}]="php-horde-group" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-History"; alt_names[${#alt_names[@]}]="php-horde-history" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Http_Client"; alt_names[${#alt_names[@]}]="php-horde-http_client" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-iCalendar"; alt_names[${#alt_names[@]}]="php-horde-icalendar" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Identity"; alt_names[${#alt_names[@]}]="php-horde-identity" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Image"; alt_names[${#alt_names[@]}]="php-horde-image" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-IMAP"; alt_names[${#alt_names[@]}]="php-horde-imap" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Kolab"; alt_names[${#alt_names[@]}]="php-horde-kolab" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-LDAP"; alt_names[${#alt_names[@]}]="php-horde-ldap" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Loader"; alt_names[${#alt_names[@]}]="php-horde-loader" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Lock"; alt_names[${#alt_names[@]}]="php-horde-lock" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Log"; alt_names[${#alt_names[@]}]="php-horde-log" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Maintenance"; alt_names[${#alt_names[@]}]="php-horde-maintenance" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-MIME"; alt_names[${#alt_names[@]}]="php-horde-mime" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Mobile"; alt_names[${#alt_names[@]}]="php-horde-mobile" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Net_SMS"; alt_names[${#alt_names[@]}]="php-horde-net_sms" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-NLS"; alt_names[${#alt_names[@]}]="php-horde-nls" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Notification"; alt_names[${#alt_names[@]}]="php-horde-notification" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Perms"; alt_names[${#alt_names[@]}]="php-horde-perms" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Prefs"; alt_names[${#alt_names[@]}]="php-horde-prefs" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-RPC"; alt_names[${#alt_names[@]}]="php-horde-rpc" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Secret"; alt_names[${#alt_names[@]}]="php-horde-secret" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Serialize"; alt_names[${#alt_names[@]}]="php-horde-serialize" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-SessionHandler"; alt_names[${#alt_names[@]}]="php-horde-sessionhandler" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-SessionObjects"; alt_names[${#alt_names[@]}]="php-horde-sessionobjects" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Share"; alt_names[${#alt_names[@]}]="php-horde-share" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-SpellChecker"; alt_names[${#alt_names[@]}]="php-horde-spellchecker" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-SQL"; alt_names[${#alt_names[@]}]="php-horde-sql" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-SyncML"; alt_names[${#alt_names[@]}]="php-horde-syncml" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Template"; alt_names[${#alt_names[@]}]="php-horde-template" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Diff"; alt_names[${#alt_names[@]}]="php-horde-text-diff" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Filter"; alt_names[${#alt_names[@]}]="php-horde-text-filter" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Flowed"; alt_names[${#alt_names[@]}]="php-horde-text-flowed" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_reST"; alt_names[${#alt_names[@]}]="php-horde-text-rest" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Textile"; alt_names[${#alt_names[@]}]="php-horde-text-textile" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Token"; alt_names[${#alt_names[@]}]="php-horde-token" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Tree"; alt_names[${#alt_names[@]}]="php-horde-tree" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-UI"; alt_names[${#alt_names[@]}]="php-horde-ui" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-Util"; alt_names[${#alt_names[@]}]="php-horde-util" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-VC"; alt_names[${#alt_names[@]}]="php-horde-vc" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-VFS"; alt_names[${#alt_names[@]}]="php-horde-vfs" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-XML_Element"; alt_names[${#alt_names[@]}]="php-horde-xml-element" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-XML_WBXML"; alt_names[${#alt_names[@]}]="php-horde-xml-wbxml" + pkg_names[${#pkg_names[@]}]="php-pear-Horde-YAML"; alt_names[${#alt_names[@]}]="php-horde-yaml" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Config"; alt_names[${#alt_names[@]}]="php-kolab-config" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Filter"; alt_names[${#alt_names[@]}]="php-kolab-filter" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Format"; alt_names[${#alt_names[@]}]="php-kolab-format" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-FreeBusy"; alt_names[${#alt_names[@]}]="php-kolab-freebusy" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Server"; alt_names[${#alt_names[@]}]="php-kolab-server" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Storage"; alt_names[${#alt_names[@]}]="php-kolab-storage" + pkg_names[${#pkg_names[@]}]="php-pear-Kolab-ZPush"; alt_names[${#alt_names[@]}]="php-kolab-zpush" +fi + pkg_names[${#pkg_names[@]}]="php-pear-DB"; alt_names[${#alt_names[@]}]="php-db" pkg_names[${#pkg_names[@]}]="php-pear-File"; alt_names[${#alt_names[@]}]="php-file" pkg_names[${#pkg_names[@]}]="php-pear-File-CSV"; alt_names[${#alt_names[@]}]="php-file" @@ -638,76 +745,6 @@ pkg_names[${#pkg_names[@]}]="php-pear-File-PDF"; alt_names[${ pkg_names[${#pkg_names[@]}]="php-pear-HTTP-Request"; alt_names[${#alt_names[@]}]="php-http-request" pkg_names[${#pkg_names[@]}]="php-pear-HTTP-Request2"; alt_names[${#alt_names[@]}]="php-http-request2" pkg_names[${#pkg_names[@]}]="php-pear-HTTP-WebDAV-Server"; alt_names[${#alt_names[@]}]="php-http-webdav-server" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Alarm"; alt_names[${#alt_names[@]}]="php-horde-alarm" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Argv"; alt_names[${#alt_names[@]}]="php-horde-argv" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Auth"; alt_names[${#alt_names[@]}]="php-horde-auth" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Block"; alt_names[${#alt_names[@]}]="php-horde-block" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Browser"; alt_names[${#alt_names[@]}]="php-horde-browser" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Cache"; alt_names[${#alt_names[@]}]="php-horde-cache" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Cipher"; alt_names[${#alt_names[@]}]="php-horde-cipher" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-CLI"; alt_names[${#alt_names[@]}]="php-horde-cli" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Compress"; alt_names[${#alt_names[@]}]="php-horde-compress" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Crypt"; alt_names[${#alt_names[@]}]="php-horde-crypt" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-DataTree"; alt_names[${#alt_names[@]}]="php-horde-datatree" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Date"; alt_names[${#alt_names[@]}]="php-horde-date" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-DOM"; alt_names[${#alt_names[@]}]="php-horde-dom" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Editor"; alt_names[${#alt_names[@]}]="php-horde-editor" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Feed"; alt_names[${#alt_names[@]}]="php-horde-feed" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-File_CSV"; alt_names[${#alt_names[@]}]="php-horde-file_csv" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-File_PDF"; alt_names[${#alt_names[@]}]="php-horde-file_pdf" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Form"; alt_names[${#alt_names[@]}]="php-horde-form" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Framework"; alt_names[${#alt_names[@]}]="php-horde-framework" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Group"; alt_names[${#alt_names[@]}]="php-horde-group" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-History"; alt_names[${#alt_names[@]}]="php-horde-history" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Http_Client"; alt_names[${#alt_names[@]}]="php-horde-http_client" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-iCalendar"; alt_names[${#alt_names[@]}]="php-horde-icalendar" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Identity"; alt_names[${#alt_names[@]}]="php-horde-identity" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Image"; alt_names[${#alt_names[@]}]="php-horde-image" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-IMAP"; alt_names[${#alt_names[@]}]="php-horde-imap" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Kolab"; alt_names[${#alt_names[@]}]="php-horde-kolab" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-LDAP"; alt_names[${#alt_names[@]}]="php-horde-ldap" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Loader"; alt_names[${#alt_names[@]}]="php-horde-loader" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Lock"; alt_names[${#alt_names[@]}]="php-horde-lock" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Log"; alt_names[${#alt_names[@]}]="php-horde-log" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Maintenance"; alt_names[${#alt_names[@]}]="php-horde-maintenance" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-MIME"; alt_names[${#alt_names[@]}]="php-horde-mime" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Mobile"; alt_names[${#alt_names[@]}]="php-horde-mobile" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Net_SMS"; alt_names[${#alt_names[@]}]="php-horde-net_sms" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-NLS"; alt_names[${#alt_names[@]}]="php-horde-nls" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Notification"; alt_names[${#alt_names[@]}]="php-horde-notification" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Perms"; alt_names[${#alt_names[@]}]="php-horde-perms" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Prefs"; alt_names[${#alt_names[@]}]="php-horde-prefs" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-RPC"; alt_names[${#alt_names[@]}]="php-horde-rpc" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Secret"; alt_names[${#alt_names[@]}]="php-horde-secret" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Serialize"; alt_names[${#alt_names[@]}]="php-horde-serialize" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-SessionHandler"; alt_names[${#alt_names[@]}]="php-horde-sessionhandler" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-SessionObjects"; alt_names[${#alt_names[@]}]="php-horde-sessionobjects" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Share"; alt_names[${#alt_names[@]}]="php-horde-share" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-SpellChecker"; alt_names[${#alt_names[@]}]="php-horde-spellchecker" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-SQL"; alt_names[${#alt_names[@]}]="php-horde-sql" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-SyncML"; alt_names[${#alt_names[@]}]="php-horde-syncml" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Template"; alt_names[${#alt_names[@]}]="php-horde-template" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Diff"; alt_names[${#alt_names[@]}]="php-horde-text-diff" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Filter"; alt_names[${#alt_names[@]}]="php-horde-text-filter" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Flowed"; alt_names[${#alt_names[@]}]="php-horde-text-flowed" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_reST"; alt_names[${#alt_names[@]}]="php-horde-text-rest" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Text_Textile"; alt_names[${#alt_names[@]}]="php-horde-text-textile" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Token"; alt_names[${#alt_names[@]}]="php-horde-token" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Tree"; alt_names[${#alt_names[@]}]="php-horde-tree" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-UI"; alt_names[${#alt_names[@]}]="php-horde-ui" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-Util"; alt_names[${#alt_names[@]}]="php-horde-util" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-VC"; alt_names[${#alt_names[@]}]="php-horde-vc" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-VFS"; alt_names[${#alt_names[@]}]="php-horde-vfs" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-XML_Element"; alt_names[${#alt_names[@]}]="php-horde-xml-element" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-XML_WBXML"; alt_names[${#alt_names[@]}]="php-horde-xml-wbxml" -pkg_names[${#pkg_names[@]}]="php-pear-Horde-YAML"; alt_names[${#alt_names[@]}]="php-horde-yaml" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Config"; alt_names[${#alt_names[@]}]="php-kolab-config" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Filter"; alt_names[${#alt_names[@]}]="php-kolab-filter" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Format"; alt_names[${#alt_names[@]}]="php-kolab-format" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-FreeBusy"; alt_names[${#alt_names[@]}]="php-kolab-freebusy" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Server"; alt_names[${#alt_names[@]}]="php-kolab-server" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-Storage"; alt_names[${#alt_names[@]}]="php-kolab-storage" -pkg_names[${#pkg_names[@]}]="php-pear-Kolab-ZPush"; alt_names[${#alt_names[@]}]="php-kolab-zpush" pkg_names[${#pkg_names[@]}]="php-pear-Log"; alt_names[${#alt_names[@]}]="php-log" pkg_names[${#pkg_names[@]}]="php-pear-Mail"; alt_names[${#alt_names[@]}]="php-mail" pkg_names[${#pkg_names[@]}]="php-pear-Mail-Mime"; alt_names[${#alt_names[@]}]="php-mail-mime" @@ -743,11 +780,16 @@ declare -a pkg_versions # TODO: Combine with existing output: #wget -q -O- "http://wiki.kolab.org/index.php?title=Template:Pkg_version_table_${kolab_version}&action=edit" | grep -E "^{{pkg_version_matrix_row\|" | sed -r -e 's/\{\{pkg_version_matrix_row\|name=(.*)\|distribution=.*$/\1/g' - for pkg_detail in `cat ${package_list_wanted}`; do + echo "pkg_detail: ${pkg_detail}" pkg=`echo ${pkg_detail} | rev | cut -d'-' -f3- | rev` pkg_version=`echo ${pkg_detail} | rev | cut -d'-' -f2 | rev` + if [ -z "${pkg}" ]; then + pkg=`echo ${pkg_detail} | rev | cut -d'-' -f2- | rev` + pkg_version=`echo ${pkg_detail} | rev | cut -d'-' -f1 | rev` + fi + pkgni=0 # A very quick one for the sake of speed. @@ -830,7 +872,7 @@ if [ -x "$(which apt-cache 2>/dev/null)" ]; then for _pkg in ${_pkg_names}; do if [ -z "${pkg_versions_native[${x}]}" ]; then - pkg_versions_native[${x}]=`apt-cache policy ${_pkg} | grep -E "\s{2}Candidate:" | sed -r -e 's/\s{2}Candidate: (.*)/\1/g' | grep -v "(none)"` + pkg_versions_native[${x}]=`apt-cache showsrc ${_pkg} | grep "^Version:" | awk '{print $2}'` fi done @@ -904,41 +946,38 @@ EOF if [ ! -z "${wanted_version}" ]; then if [ -z "${pkg_versions_kolab[${x}]}" ]; then if [ ! -z "${pkg_versions_native[${x}]}" ]; then - retval=`version_compare "${pkg}" "${wanted_version}" "${pkg_versions_native[${x}]}"` + retval=`version_compare "${pkg}" "${wanted_version}" "${pkg_versions_native[${x}]}"; echo $?` fi else - retval=`version_compare "${pkg}" "${wanted_version}" "${pkg_versions_native[${x}]}"` + retval=`version_compare "${pkg}" "${wanted_version}" "${pkg_versions_native[${x}]}"; echo $?` fi fi + native_suffix="" + kolab_suffix="" + + if [ ${retval} -ne 0 -a ! -z "${wanted_version}" ]; then + native_suffix="(Outdated, want ${wanted_version})" + fi + + if [ -z "${pkg_versions_installed[${x}]}" ]; then + kolab_suffix="(Not needed for installation)" + fi + # Native if [ -z "${pkg_versions_native[${x}]}" ]; then - echo " | ${pkg} = Not Available${suffix}" >> ${package_list_native} + echo " | ${pkg} = Not Available" >> ${package_list_native} else - if [ ! -z "${retval}" -a "${retval}" == "0" -a ! -z "${wanted_version}" ]; then - suffix=" (Outdated, want ${wanted_version})" - fi - - echo " | ${pkg} = ${pkg_versions_native[${x}]}${suffix}" >> ${package_list_native} + echo " | ${pkg} = ${pkg_versions_native[${x}]} ${native_suffix}" >> ${package_list_native} fi # Kolab if [ -z "${pkg_versions_kolab[${x}]}" ]; then if [ -z "${pkg_versions_native[${x}]}" ]; then - echo " | ${pkg} = Not Available${suffix}" >> ${package_list_kolab} - else - if [ ! -z "${retval}" -a "${retval}" == "0" -a ! -z "${wanted_version}" ]; then - echo " | ${pkg} = Outdated" >> ${package_list_kolab} - else - echo " | ${pkg} = Not Applicable${suffix}" >> ${package_list_kolab} - fi + echo " | ${pkg} = Not Available" >> ${package_list_kolab} fi else - if [ ! -z "${retval}" -a "${retval}" == "0" -a ! -z "${wanted_version}" ]; then - suffix=" (Outdated)" - fi - - echo " | ${pkg} = ${pkg_versions_kolab[${x}]}${suffix}" >> ${package_list_kolab} + echo " | ${pkg} = ${pkg_versions_kolab[${x}]} ${kolab_suffix}" >> ${package_list_kolab} fi let x++ |