summaryrefslogtreecommitdiff
path: root/testing/source
diff options
context:
space:
mode:
Diffstat (limited to 'testing/source')
-rwxr-xr-xtesting/source/vtown/deps/QtAV/QtAV.SlackBuild138
-rw-r--r--testing/source/vtown/deps/QtAV/QtAV.url1
-rw-r--r--testing/source/vtown/deps/QtAV/doinst.sh3
-rwxr-xr-xtesting/source/vtown/deps/QtAV/fetch-QtAV.sh52
-rw-r--r--testing/source/vtown/deps/QtAV/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/accountsservice/accountsservice.SlackBuild156
-rw-r--r--testing/source/vtown/deps/accountsservice/accountsservice.url1
-rw-r--r--testing/source/vtown/deps/accountsservice/slack-desc20
-rwxr-xr-xtesting/source/vtown/deps/cfitsio/cfitsio.SlackBuild140
-rw-r--r--testing/source/vtown/deps/cfitsio/cfitsio.url1
-rw-r--r--testing/source/vtown/deps/cfitsio/slack-desc19
-rw-r--r--testing/source/vtown/deps/cryfs/.circleci/config.yml612
-rw-r--r--testing/source/vtown/deps/cryfs/.clang-tidy60
-rw-r--r--testing/source/vtown/deps/cryfs/.travis.yml15
-rwxr-xr-xtesting/source/vtown/deps/cryfs/.travisci/build_and_test.sh50
-rwxr-xr-xtesting/source/vtown/deps/cryfs/.travisci/install.sh20
-rwxr-xr-xtesting/source/vtown/deps/cryfs/cryfs.SlackBuild138
-rw-r--r--testing/source/vtown/deps/cryfs/cryfs.url1
-rw-r--r--testing/source/vtown/deps/cryfs/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/cryptopp/cryptopp.SlackBuild125
-rw-r--r--testing/source/vtown/deps/cryptopp/cryptopp.url1
-rw-r--r--testing/source/vtown/deps/cryptopp/slack-desc19
-rw-r--r--testing/source/vtown/deps/dbus/dbus-1.12.x-allow_root_globally.diff18
-rw-r--r--testing/source/vtown/deps/dbus/dbus-enable-elogind.patch73
-rwxr-xr-xtesting/source/vtown/deps/dbus/dbus.SlackBuild164
-rw-r--r--testing/source/vtown/deps/dbus/dbus.url1
-rw-r--r--testing/source/vtown/deps/dbus/doinst.sh26
-rw-r--r--testing/source/vtown/deps/dbus/rc.messagebus81
-rw-r--r--testing/source/vtown/deps/dbus/slack-desc18
-rwxr-xr-xtesting/source/vtown/deps/dotconf/dotconf.SlackBuild129
-rw-r--r--testing/source/vtown/deps/dotconf/dotconf.url1
-rw-r--r--testing/source/vtown/deps/dotconf/slack-desc19
-rw-r--r--testing/source/vtown/deps/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch75
-rwxr-xr-xtesting/source/vtown/deps/dvdauthor/dvdauthor.SlackBuild148
-rw-r--r--testing/source/vtown/deps/dvdauthor/dvdauthor.url1
-rw-r--r--testing/source/vtown/deps/dvdauthor/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/eigen3/eigen3.SlackBuild108
-rw-r--r--testing/source/vtown/deps/eigen3/slack-desc19
-rw-r--r--testing/source/vtown/deps/elogind/doinst.sh48
-rw-r--r--testing/source/vtown/deps/elogind/elogind-polkit.patch121
-rwxr-xr-xtesting/source/vtown/deps/elogind/elogind.SlackBuild193
-rw-r--r--testing/source/vtown/deps/elogind/elogind.url1
-rw-r--r--testing/source/vtown/deps/elogind/rc.elogind65
-rw-r--r--testing/source/vtown/deps/elogind/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/frei0r-plugins/frei0r-plugins.SlackBuild128
-rw-r--r--testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.url1
-rw-r--r--testing/source/vtown/deps/frei0r-plugins/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/grantlee/grantlee.SlackBuild123
-rw-r--r--testing/source/vtown/deps/grantlee/grantlee.url1
-rw-r--r--testing/source/vtown/deps/grantlee/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/kdsoap/kdsoap.SlackBuild121
-rw-r--r--testing/source/vtown/deps/kdsoap/kdsoap.url1
-rw-r--r--testing/source/vtown/deps/kdsoap/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/lensfun/lensfun.SlackBuild131
-rw-r--r--testing/source/vtown/deps/lensfun/lensfun.url1
-rw-r--r--testing/source/vtown/deps/lensfun/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libappindicator/libappindicator.SlackBuild163
-rw-r--r--testing/source/vtown/deps/libappindicator/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libburn/libburn.SlackBuild143
-rw-r--r--testing/source/vtown/deps/libburn/libburn.url1
-rw-r--r--testing/source/vtown/deps/libburn/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.SlackBuild131
-rw-r--r--testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.url1
-rw-r--r--testing/source/vtown/deps/libdbusmenu-qt/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libdbusmenu/libdbusmenu.SlackBuild159
-rw-r--r--testing/source/vtown/deps/libdbusmenu/libdbusmenu_configure_valgrind.patch35
-rw-r--r--testing/source/vtown/deps/libdbusmenu/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libdmtx/libdmtx.SlackBuild143
-rw-r--r--testing/source/vtown/deps/libdmtx/libdmtx.url1
-rw-r--r--testing/source/vtown/deps/libdmtx/slack-desc19
-rw-r--r--testing/source/vtown/deps/libindicator/libindicator.LIBM.diff11
-rwxr-xr-xtesting/source/vtown/deps/libindicator/libindicator.SlackBuild159
-rw-r--r--testing/source/vtown/deps/libindicator/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libqalculate/libqalculate.SlackBuild145
-rw-r--r--testing/source/vtown/deps/libqalculate/libqalculate.url1
-rw-r--r--testing/source/vtown/deps/libqalculate/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/libsass/libsass.SlackBuild128
-rw-r--r--testing/source/vtown/deps/libsass/libsass.url1
-rw-r--r--testing/source/vtown/deps/libsass/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/mlt/mlt.SlackBuild153
-rw-r--r--testing/source/vtown/deps/mlt/mlt.deps4
-rw-r--r--testing/source/vtown/deps/mlt/mlt.url1
-rw-r--r--testing/source/vtown/deps/mlt/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/opencv/opencv.SlackBuild148
-rw-r--r--testing/source/vtown/deps/opencv/opencv.url2
-rw-r--r--testing/source/vtown/deps/opencv/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild127
-rw-r--r--testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.url1
-rw-r--r--testing/source/vtown/deps/phonon-backend-gstreamer/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/phonon/phonon.SlackBuild138
-rw-r--r--testing/source/vtown/deps/phonon/phonon.deps1
-rw-r--r--testing/source/vtown/deps/phonon/phonon.url1
-rw-r--r--testing/source/vtown/deps/phonon/slack-desc19
-rw-r--r--testing/source/vtown/deps/pipewire/doinst.sh15
-rwxr-xr-xtesting/source/vtown/deps/pipewire/pipewire.SlackBuild137
-rw-r--r--testing/source/vtown/deps/pipewire/pipewire.url1
-rw-r--r--testing/source/vtown/deps/pipewire/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/polkit-qt-1/polkit-qt-1.SlackBuild130
-rw-r--r--testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.url1
-rw-r--r--testing/source/vtown/deps/polkit-qt-1/slack-desc19
-rw-r--r--testing/source/vtown/deps/polkit/0001-configure-fix-elogind-support.patch29
-rw-r--r--testing/source/vtown/deps/polkit/10-org.freedesktop.NetworkManager.rules7
-rw-r--r--testing/source/vtown/deps/polkit/20-plugdev-group-mount-override.rules16
-rw-r--r--testing/source/vtown/deps/polkit/doinst.sh33
-rw-r--r--testing/source/vtown/deps/polkit/dont-set-wheel-group-as-admin.diff10
-rwxr-xr-xtesting/source/vtown/deps/polkit/polkit.SlackBuild195
-rw-r--r--testing/source/vtown/deps/polkit/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/qrencode/qrencode.SlackBuild144
-rw-r--r--testing/source/vtown/deps/qrencode/qrencode.url1
-rw-r--r--testing/source/vtown/deps/qrencode/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/qtkeychain/qtkeychain.SlackBuild124
-rw-r--r--testing/source/vtown/deps/qtkeychain/qtkeychain.url1
-rw-r--r--testing/source/vtown/deps/qtkeychain/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/quazip/quazip.SlackBuild122
-rw-r--r--testing/source/vtown/deps/quazip/quazip.url1
-rw-r--r--testing/source/vtown/deps/quazip/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/rttr/rttr.SlackBuild136
-rw-r--r--testing/source/vtown/deps/rttr/rttr.url1
-rw-r--r--testing/source/vtown/deps/rttr/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/sassc/sassc.SlackBuild128
-rw-r--r--testing/source/vtown/deps/sassc/sassc.url1
-rw-r--r--testing/source/vtown/deps/sassc/slack-desc19
-rw-r--r--testing/source/vtown/deps/speech-dispatcher/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/speech-dispatcher/speech-dispatcher.SlackBuild163
-rw-r--r--testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.url1
-rwxr-xr-xtesting/source/vtown/deps/vid.stab/fetch-vid.stab.sh52
-rw-r--r--testing/source/vtown/deps/vid.stab/slack-desc19
-rwxr-xr-xtesting/source/vtown/deps/vid.stab/vid.stab.SlackBuild127
-rw-r--r--testing/source/vtown/deps/vid.stab/vid.stab.url1
-rw-r--r--testing/source/vtown/kde/build/akonadi1
-rw-r--r--testing/source/vtown/kde/build/akonadi-calendar1
-rw-r--r--testing/source/vtown/kde/build/akonadi-calendar-tools1
-rw-r--r--testing/source/vtown/kde/build/akonadi-contacts1
-rw-r--r--testing/source/vtown/kde/build/akonadi-import-wizard1
-rw-r--r--testing/source/vtown/kde/build/akonadi-mime1
-rw-r--r--testing/source/vtown/kde/build/akonadi-notes1
-rw-r--r--testing/source/vtown/kde/build/akonadi-search1
-rw-r--r--testing/source/vtown/kde/build/akonadiconsole1
-rw-r--r--testing/source/vtown/kde/build/akregator1
-rw-r--r--testing/source/vtown/kde/build/alkimia1
-rw-r--r--testing/source/vtown/kde/build/analitza1
-rw-r--r--testing/source/vtown/kde/build/ark1
-rw-r--r--testing/source/vtown/kde/build/artikulate1
-rw-r--r--testing/source/vtown/kde/build/attica1
-rw-r--r--testing/source/vtown/kde/build/audiocd-kio1
-rw-r--r--testing/source/vtown/kde/build/baloo1
-rw-r--r--testing/source/vtown/kde/build/baloo-widgets1
-rw-r--r--testing/source/vtown/kde/build/blinken1
-rw-r--r--testing/source/vtown/kde/build/bluedevil1
-rw-r--r--testing/source/vtown/kde/build/bluez-qt1
-rw-r--r--testing/source/vtown/kde/build/bomber1
-rw-r--r--testing/source/vtown/kde/build/bovo1
-rw-r--r--testing/source/vtown/kde/build/breeze1
-rw-r--r--testing/source/vtown/kde/build/breeze-grub1
-rw-r--r--testing/source/vtown/kde/build/breeze-gtk1
-rw-r--r--testing/source/vtown/kde/build/breeze-icons1
-rw-r--r--testing/source/vtown/kde/build/calendarsupport1
-rw-r--r--testing/source/vtown/kde/build/calligra1
-rw-r--r--testing/source/vtown/kde/build/calligraplan1
-rw-r--r--testing/source/vtown/kde/build/cantor1
-rw-r--r--testing/source/vtown/kde/build/cervisia1
-rw-r--r--testing/source/vtown/kde/build/digikam1
-rw-r--r--testing/source/vtown/kde/build/discover1
-rw-r--r--testing/source/vtown/kde/build/dolphin1
-rw-r--r--testing/source/vtown/kde/build/dolphin-plugins1
-rw-r--r--testing/source/vtown/kde/build/dragon1
-rw-r--r--testing/source/vtown/kde/build/drkonqi1
-rw-r--r--testing/source/vtown/kde/build/elisa1
-rw-r--r--testing/source/vtown/kde/build/eventviews1
-rw-r--r--testing/source/vtown/kde/build/extra-cmake-modules1
-rw-r--r--testing/source/vtown/kde/build/falkon1
-rw-r--r--testing/source/vtown/kde/build/ffmpegthumbs1
-rw-r--r--testing/source/vtown/kde/build/filelight1
-rw-r--r--testing/source/vtown/kde/build/frameworkintegration1
-rw-r--r--testing/source/vtown/kde/build/granatier1
-rw-r--r--testing/source/vtown/kde/build/grantlee-editor1
-rw-r--r--testing/source/vtown/kde/build/grantleetheme1
-rw-r--r--testing/source/vtown/kde/build/gwenview1
-rw-r--r--testing/source/vtown/kde/build/incidenceeditor1
-rw-r--r--testing/source/vtown/kde/build/juk1
-rw-r--r--testing/source/vtown/kde/build/k3b1
-rw-r--r--testing/source/vtown/kde/build/kaccounts-integration1
-rw-r--r--testing/source/vtown/kde/build/kaccounts-providers1
-rw-r--r--testing/source/vtown/kde/build/kactivities1
-rw-r--r--testing/source/vtown/kde/build/kactivities-stats1
-rw-r--r--testing/source/vtown/kde/build/kactivitymanagerd1
-rw-r--r--testing/source/vtown/kde/build/kaddressbook1
-rw-r--r--testing/source/vtown/kde/build/kajongg1
-rw-r--r--testing/source/vtown/kde/build/kalarm1
-rw-r--r--testing/source/vtown/kde/build/kalarmcal1
-rw-r--r--testing/source/vtown/kde/build/kalgebra1
-rw-r--r--testing/source/vtown/kde/build/kalzium1
-rw-r--r--testing/source/vtown/kde/build/kamera1
-rw-r--r--testing/source/vtown/kde/build/kamoso1
-rw-r--r--testing/source/vtown/kde/build/kanagram1
-rw-r--r--testing/source/vtown/kde/build/kapidox1
-rw-r--r--testing/source/vtown/kde/build/kapman1
-rw-r--r--testing/source/vtown/kde/build/kapptemplate1
-rw-r--r--testing/source/vtown/kde/build/karchive1
-rw-r--r--testing/source/vtown/kde/build/kate1
-rw-r--r--testing/source/vtown/kde/build/katomic1
-rw-r--r--testing/source/vtown/kde/build/kaudiocreator1
-rw-r--r--testing/source/vtown/kde/build/kauth1
-rw-r--r--testing/source/vtown/kde/build/kbackup1
-rw-r--r--testing/source/vtown/kde/build/kblackbox1
-rw-r--r--testing/source/vtown/kde/build/kblocks1
-rw-r--r--testing/source/vtown/kde/build/kbookmarks1
-rw-r--r--testing/source/vtown/kde/build/kbounce1
-rw-r--r--testing/source/vtown/kde/build/kbreakout1
-rw-r--r--testing/source/vtown/kde/build/kbruch1
-rw-r--r--testing/source/vtown/kde/build/kcachegrind1
-rw-r--r--testing/source/vtown/kde/build/kcalc1
-rw-r--r--testing/source/vtown/kde/build/kcalcore1
-rw-r--r--testing/source/vtown/kde/build/kcalendarcore1
-rw-r--r--testing/source/vtown/kde/build/kcalutils1
-rw-r--r--testing/source/vtown/kde/build/kcharselect1
-rw-r--r--testing/source/vtown/kde/build/kcmutils1
-rw-r--r--testing/source/vtown/kde/build/kcodecs1
-rw-r--r--testing/source/vtown/kde/build/kcolorchooser1
-rw-r--r--testing/source/vtown/kde/build/kcompletion1
-rw-r--r--testing/source/vtown/kde/build/kconfig1
-rw-r--r--testing/source/vtown/kde/build/kconfigwidgets1
-rw-r--r--testing/source/vtown/kde/build/kcontacts1
-rw-r--r--testing/source/vtown/kde/build/kcoreaddons1
-rw-r--r--testing/source/vtown/kde/build/kcrash1
-rw-r--r--testing/source/vtown/kde/build/kcron1
-rw-r--r--testing/source/vtown/kde/build/kdav1
-rw-r--r--testing/source/vtown/kde/build/kdbusaddons1
-rw-r--r--testing/source/vtown/kde/build/kde-cli-tools1
-rw-r--r--testing/source/vtown/kde/build/kde-dev-scripts1
-rw-r--r--testing/source/vtown/kde/build/kde-dev-utils1
-rw-r--r--testing/source/vtown/kde/build/kde-gtk-config1
-rw-r--r--testing/source/vtown/kde/build/kde-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/kdeaccessibility1
-rw-r--r--testing/source/vtown/kde/build/kdebugsettings1
-rw-r--r--testing/source/vtown/kde/build/kdeclarative1
-rw-r--r--testing/source/vtown/kde/build/kdeconnect-kde1
-rw-r--r--testing/source/vtown/kde/build/kdecoration1
-rw-r--r--testing/source/vtown/kde/build/kded1
-rw-r--r--testing/source/vtown/kde/build/kdeedu1
-rw-r--r--testing/source/vtown/kde/build/kdeedu-data1
-rw-r--r--testing/source/vtown/kde/build/kdegraphics1
-rw-r--r--testing/source/vtown/kde/build/kdegraphics-mobipocket1
-rw-r--r--testing/source/vtown/kde/build/kdegraphics-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/kdelibs1
-rw-r--r--testing/source/vtown/kde/build/kdelibs4support1
-rw-r--r--testing/source/vtown/kde/build/kdenetwork1
-rw-r--r--testing/source/vtown/kde/build/kdenetwork-filesharing1
-rw-r--r--testing/source/vtown/kde/build/kdenlive1
-rw-r--r--testing/source/vtown/kde/build/kdepim1
-rw-r--r--testing/source/vtown/kde/build/kdepim-addons1
-rw-r--r--testing/source/vtown/kde/build/kdepim-apps-libs1
-rw-r--r--testing/source/vtown/kde/build/kdepim-runtime1
-rw-r--r--testing/source/vtown/kde/build/kdeplasma-addons1
-rw-r--r--testing/source/vtown/kde/build/kdesdk1
-rw-r--r--testing/source/vtown/kde/build/kdesdk-kioslaves1
-rw-r--r--testing/source/vtown/kde/build/kdesdk-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/kdesignerplugin1
-rw-r--r--testing/source/vtown/kde/build/kdesu1
-rw-r--r--testing/source/vtown/kde/build/kdev-php1
-rw-r--r--testing/source/vtown/kde/build/kdev-python1
-rw-r--r--testing/source/vtown/kde/build/kdevelop1
-rw-r--r--testing/source/vtown/kde/build/kdevelop-pg-qt1
-rw-r--r--testing/source/vtown/kde/build/kdevplatform1
-rw-r--r--testing/source/vtown/kde/build/kdewebdev1
-rw-r--r--testing/source/vtown/kde/build/kdewebkit1
-rw-r--r--testing/source/vtown/kde/build/kdf1
-rw-r--r--testing/source/vtown/kde/build/kdiagram1
-rw-r--r--testing/source/vtown/kde/build/kdialog1
-rw-r--r--testing/source/vtown/kde/build/kdiamond1
-rw-r--r--testing/source/vtown/kde/build/kdnssd1
-rw-r--r--testing/source/vtown/kde/build/kdoctools1
-rw-r--r--testing/source/vtown/kde/build/keditbookmarks1
-rw-r--r--testing/source/vtown/kde/build/kemoticons1
-rw-r--r--testing/source/vtown/kde/build/kfilemetadata1
-rw-r--r--testing/source/vtown/kde/build/kfind1
-rw-r--r--testing/source/vtown/kde/build/kfloppy1
-rw-r--r--testing/source/vtown/kde/build/kfourinline1
-rw-r--r--testing/source/vtown/kde/build/kgamma51
-rw-r--r--testing/source/vtown/kde/build/kgeography1
-rw-r--r--testing/source/vtown/kde/build/kget1
-rw-r--r--testing/source/vtown/kde/build/kglobalaccel1
-rw-r--r--testing/source/vtown/kde/build/kgoldrunner1
-rw-r--r--testing/source/vtown/kde/build/kgpg1
-rw-r--r--testing/source/vtown/kde/build/kguiaddons1
-rw-r--r--testing/source/vtown/kde/build/khangman1
-rw-r--r--testing/source/vtown/kde/build/khelpcenter1
-rw-r--r--testing/source/vtown/kde/build/kholidays1
-rw-r--r--testing/source/vtown/kde/build/khotkeys1
-rw-r--r--testing/source/vtown/kde/build/khtml1
-rw-r--r--testing/source/vtown/kde/build/ki18n1
-rw-r--r--testing/source/vtown/kde/build/kiconthemes1
-rw-r--r--testing/source/vtown/kde/build/kid31
-rw-r--r--testing/source/vtown/kde/build/kidentitymanagement1
-rw-r--r--testing/source/vtown/kde/build/kidletime1
-rw-r--r--testing/source/vtown/kde/build/kig1
-rw-r--r--testing/source/vtown/kde/build/kigo1
-rw-r--r--testing/source/vtown/kde/build/kile1
-rw-r--r--testing/source/vtown/kde/build/killbots1
-rw-r--r--testing/source/vtown/kde/build/kimageformats1
-rw-r--r--testing/source/vtown/kde/build/kimagemapeditor1
-rw-r--r--testing/source/vtown/kde/build/kimap1
-rw-r--r--testing/source/vtown/kde/build/kinfocenter1
-rw-r--r--testing/source/vtown/kde/build/kinit1
-rw-r--r--testing/source/vtown/kde/build/kio1
-rw-r--r--testing/source/vtown/kde/build/kio-extras1
-rw-r--r--testing/source/vtown/kde/build/kio-gdrive1
-rw-r--r--testing/source/vtown/kde/build/kipi-plugins1
-rw-r--r--testing/source/vtown/kde/build/kirigami-gallery1
-rw-r--r--testing/source/vtown/kde/build/kirigami21
-rw-r--r--testing/source/vtown/kde/build/kiriki1
-rw-r--r--testing/source/vtown/kde/build/kitemmodels1
-rw-r--r--testing/source/vtown/kde/build/kitemviews1
-rw-r--r--testing/source/vtown/kde/build/kiten1
-rw-r--r--testing/source/vtown/kde/build/kitinerary1
-rw-r--r--testing/source/vtown/kde/build/kjobwidgets1
-rw-r--r--testing/source/vtown/kde/build/kjots1
-rw-r--r--testing/source/vtown/kde/build/kjs1
-rw-r--r--testing/source/vtown/kde/build/kjsembed1
-rw-r--r--testing/source/vtown/kde/build/kjumpingcube1
-rw-r--r--testing/source/vtown/kde/build/kldap1
-rw-r--r--testing/source/vtown/kde/build/kleopatra1
-rw-r--r--testing/source/vtown/kde/build/klettres1
-rw-r--r--testing/source/vtown/kde/build/klickety1
-rw-r--r--testing/source/vtown/kde/build/klines1
-rw-r--r--testing/source/vtown/kde/build/kmag1
-rw-r--r--testing/source/vtown/kde/build/kmahjongg1
-rw-r--r--testing/source/vtown/kde/build/kmail1
-rw-r--r--testing/source/vtown/kde/build/kmail-account-wizard1
-rw-r--r--testing/source/vtown/kde/build/kmailtransport1
-rw-r--r--testing/source/vtown/kde/build/kmbox1
-rw-r--r--testing/source/vtown/kde/build/kmediaplayer1
-rw-r--r--testing/source/vtown/kde/build/kmenuedit1
-rw-r--r--testing/source/vtown/kde/build/kmime1
-rw-r--r--testing/source/vtown/kde/build/kmines1
-rw-r--r--testing/source/vtown/kde/build/kmix1
-rw-r--r--testing/source/vtown/kde/build/kmousetool1
-rw-r--r--testing/source/vtown/kde/build/kmouth1
-rw-r--r--testing/source/vtown/kde/build/kmplot1
-rw-r--r--testing/source/vtown/kde/build/kmymoney1
-rw-r--r--testing/source/vtown/kde/build/knavalbattle1
-rw-r--r--testing/source/vtown/kde/build/knetwalk1
-rw-r--r--testing/source/vtown/kde/build/knewstuff1
-rw-r--r--testing/source/vtown/kde/build/knights1
-rw-r--r--testing/source/vtown/kde/build/knotes1
-rw-r--r--testing/source/vtown/kde/build/knotifications1
-rw-r--r--testing/source/vtown/kde/build/knotifyconfig1
-rw-r--r--testing/source/vtown/kde/build/kolf1
-rw-r--r--testing/source/vtown/kde/build/kollision1
-rw-r--r--testing/source/vtown/kde/build/kolourpaint1
-rw-r--r--testing/source/vtown/kde/build/kompare1
-rw-r--r--testing/source/vtown/kde/build/konqueror1
-rw-r--r--testing/source/vtown/kde/build/konquest1
-rw-r--r--testing/source/vtown/kde/build/konsole1
-rw-r--r--testing/source/vtown/kde/build/kontact1
-rw-r--r--testing/source/vtown/kde/build/kontactinterface1
-rw-r--r--testing/source/vtown/kde/build/kopete1
-rw-r--r--testing/source/vtown/kde/build/korganizer1
-rw-r--r--testing/source/vtown/kde/build/kpackage1
-rw-r--r--testing/source/vtown/kde/build/kparts1
-rw-r--r--testing/source/vtown/kde/build/kpat1
-rw-r--r--testing/source/vtown/kde/build/kpeople1
-rw-r--r--testing/source/vtown/kde/build/kpeoplevcard1
-rw-r--r--testing/source/vtown/kde/build/kpimtextedit1
-rw-r--r--testing/source/vtown/kde/build/kpkpass1
-rw-r--r--testing/source/vtown/kde/build/kplotting1
-rw-r--r--testing/source/vtown/kde/build/kpmcore1
-rw-r--r--testing/source/vtown/kde/build/kpty1
-rw-r--r--testing/source/vtown/kde/build/kqtquickcharts1
-rw-r--r--testing/source/vtown/kde/build/kquickcharts1
-rw-r--r--testing/source/vtown/kde/build/krdc1
-rw-r--r--testing/source/vtown/kde/build/krename1
-rw-r--r--testing/source/vtown/kde/build/kreversi1
-rw-r--r--testing/source/vtown/kde/build/krfb1
-rw-r--r--testing/source/vtown/kde/build/krita1
-rw-r--r--testing/source/vtown/kde/build/kross1
-rw-r--r--testing/source/vtown/kde/build/kross-interpreters1
-rw-r--r--testing/source/vtown/kde/build/kruler1
-rw-r--r--testing/source/vtown/kde/build/krunner1
-rw-r--r--testing/source/vtown/kde/build/krusader1
-rw-r--r--testing/source/vtown/kde/build/kscreen1
-rw-r--r--testing/source/vtown/kde/build/kscreenlocker1
-rw-r--r--testing/source/vtown/kde/build/kservice1
-rw-r--r--testing/source/vtown/kde/build/kshisen1
-rw-r--r--testing/source/vtown/kde/build/ksirk1
-rw-r--r--testing/source/vtown/kde/build/ksmtp1
-rw-r--r--testing/source/vtown/kde/build/ksnakeduel1
-rw-r--r--testing/source/vtown/kde/build/kspaceduel1
-rw-r--r--testing/source/vtown/kde/build/ksquares1
-rw-r--r--testing/source/vtown/kde/build/ksshaskpass1
-rw-r--r--testing/source/vtown/kde/build/kstars1
-rw-r--r--testing/source/vtown/kde/build/ksudoku1
-rw-r--r--testing/source/vtown/kde/build/ksysguard1
-rw-r--r--testing/source/vtown/kde/build/ksystemlog1
-rw-r--r--testing/source/vtown/kde/build/kteatime1
-rw-r--r--testing/source/vtown/kde/build/ktexteditor1
-rw-r--r--testing/source/vtown/kde/build/ktextwidgets1
-rw-r--r--testing/source/vtown/kde/build/ktimer1
-rw-r--r--testing/source/vtown/kde/build/ktimetracker1
-rw-r--r--testing/source/vtown/kde/build/ktnef1
-rw-r--r--testing/source/vtown/kde/build/ktorrent1
-rw-r--r--testing/source/vtown/kde/build/ktouch1
-rw-r--r--testing/source/vtown/kde/build/ktp-accounts-kcm1
-rw-r--r--testing/source/vtown/kde/build/ktp-approver1
-rw-r--r--testing/source/vtown/kde/build/ktp-auth-handler1
-rw-r--r--testing/source/vtown/kde/build/ktp-call-ui1
-rw-r--r--testing/source/vtown/kde/build/ktp-common-internals1
-rw-r--r--testing/source/vtown/kde/build/ktp-contact-list1
-rw-r--r--testing/source/vtown/kde/build/ktp-contact-runner1
-rw-r--r--testing/source/vtown/kde/build/ktp-desktop-applets1
-rw-r--r--testing/source/vtown/kde/build/ktp-filetransfer-handler1
-rw-r--r--testing/source/vtown/kde/build/ktp-kded-module1
-rw-r--r--testing/source/vtown/kde/build/ktp-send-file1
-rw-r--r--testing/source/vtown/kde/build/ktp-text-ui1
-rw-r--r--testing/source/vtown/kde/build/ktuberling1
-rw-r--r--testing/source/vtown/kde/build/kturtle1
-rw-r--r--testing/source/vtown/kde/build/kubrick1
-rw-r--r--testing/source/vtown/kde/build/kunitconversion1
-rw-r--r--testing/source/vtown/kde/build/kuser1
-rw-r--r--testing/source/vtown/kde/build/kwallet1
-rw-r--r--testing/source/vtown/kde/build/kwallet-pam1
-rw-r--r--testing/source/vtown/kde/build/kwalletmanager1
-rw-r--r--testing/source/vtown/kde/build/kwave1
-rw-r--r--testing/source/vtown/kde/build/kwayland1
-rw-r--r--testing/source/vtown/kde/build/kwayland-integration1
-rw-r--r--testing/source/vtown/kde/build/kwayland-server1
-rw-r--r--testing/source/vtown/kde/build/kwebkitpart1
-rw-r--r--testing/source/vtown/kde/build/kwidgetsaddons1
-rw-r--r--testing/source/vtown/kde/build/kwin1
-rw-r--r--testing/source/vtown/kde/build/kwindowsystem1
-rw-r--r--testing/source/vtown/kde/build/kwordquiz1
-rw-r--r--testing/source/vtown/kde/build/kwrited1
-rw-r--r--testing/source/vtown/kde/build/kxmlgui1
-rw-r--r--testing/source/vtown/kde/build/kxmlrpcclient1
-rw-r--r--testing/source/vtown/kde/build/labplot1
-rw-r--r--testing/source/vtown/kde/build/latte-dock1
-rw-r--r--testing/source/vtown/kde/build/libgravatar1
-rw-r--r--testing/source/vtown/kde/build/libkcddb1
-rw-r--r--testing/source/vtown/kde/build/libkcompactdisc1
-rw-r--r--testing/source/vtown/kde/build/libkdcraw1
-rw-r--r--testing/source/vtown/kde/build/libkdegames1
-rw-r--r--testing/source/vtown/kde/build/libkdepim1
-rw-r--r--testing/source/vtown/kde/build/libkeduvocdocument1
-rw-r--r--testing/source/vtown/kde/build/libkexiv21
-rw-r--r--testing/source/vtown/kde/build/libkgapi1
-rw-r--r--testing/source/vtown/kde/build/libkgeomap1
-rw-r--r--testing/source/vtown/kde/build/libkipi1
-rw-r--r--testing/source/vtown/kde/build/libkleo1
-rw-r--r--testing/source/vtown/kde/build/libkmahjongg1
-rw-r--r--testing/source/vtown/kde/build/libkomparediff21
-rw-r--r--testing/source/vtown/kde/build/libksane1
-rw-r--r--testing/source/vtown/kde/build/libkscreen1
-rw-r--r--testing/source/vtown/kde/build/libksieve1
-rw-r--r--testing/source/vtown/kde/build/libksysguard1
-rw-r--r--testing/source/vtown/kde/build/libktorrent1
-rw-r--r--testing/source/vtown/kde/build/lokalize1
-rw-r--r--testing/source/vtown/kde/build/lskat1
-rw-r--r--testing/source/vtown/kde/build/mailcommon1
-rw-r--r--testing/source/vtown/kde/build/mailimporter1
-rw-r--r--testing/source/vtown/kde/build/marble1
-rw-r--r--testing/source/vtown/kde/build/mbox-importer1
-rw-r--r--testing/source/vtown/kde/build/messagelib1
-rw-r--r--testing/source/vtown/kde/build/milou1
-rw-r--r--testing/source/vtown/kde/build/minuet1
-rw-r--r--testing/source/vtown/kde/build/modemmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-calendar1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-calendar-tools1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-contacts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-import-wizard1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-mime1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-notes1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadi-search1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akonadiconsole1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/akregator1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/alkimia1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/analitza1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ark1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/artikulate1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/attica1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/audiocd-kio1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/baloo1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/baloo-widgets1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/blinken1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/bluedevil1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/bluez-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/bomber1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/bovo1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/breeze1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/breeze-grub1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/breeze-gtk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/breeze-icons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/calendarsupport1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/calligra1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/calligraplan1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/cantor1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/cervisia1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/digikam1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/discover1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/dolphin1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/dolphin-plugins1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/dragon1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/drkonqi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/elisa1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/eventviews1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/extra-cmake-modules1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/falkon1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ffmpegthumbs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/filelight1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/frameworkintegration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/granatier1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/grantlee-editor1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/grantleetheme1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/gwenview1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/incidenceeditor1
-rwxr-xr-xtesting/source/vtown/kde/build/native-build-number/increment.sh17
-rw-r--r--testing/source/vtown/kde/build/native-build-number/juk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/k3b1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kaccounts-integration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kaccounts-providers1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kactivities1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kactivities-stats1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kactivitymanagerd1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kaddressbook1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kajongg1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kalarm1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kalarmcal1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kalgebra1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kalzium1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kamera1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kamoso1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kanagram1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kapidox1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kapman1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kapptemplate1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/karchive1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kate1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/katomic1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kaudiocreator1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kauth1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kbackup1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kblackbox1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kblocks1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kbookmarks1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kbounce1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kbreakout1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kbruch1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcachegrind1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcalc1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcalcore1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcalendarcore1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcalutils1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcharselect1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcmutils1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcodecs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcolorchooser1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcompletion1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kconfig1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kconfigwidgets1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcontacts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcoreaddons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcrash1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kcron1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdav1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdbusaddons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kde-cli-tools1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kde-dev-scripts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kde-dev-utils1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kde-gtk-config1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kde-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeaccessibility1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeadmin1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdebase1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdebugsettings1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeclarative1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeconnect-kde1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdecoration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kded1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeedu1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeedu-data1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdegames1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdegraphics1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdegraphics-mobipocket1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdegraphics-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdelibs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdelibs4support1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdemultimedia1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdenetwork1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdenetwork-filesharing1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdenlive1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdepim1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdepim-addons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdepim-apps-libs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdepim-runtime1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeplasma-addons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdesdk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdesdk-kioslaves1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdesdk-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdesignerplugin1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdesu1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdetoys1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdeutils1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdev-php1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdev-python1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdevelop1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdevelop-pg-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdevplatform1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdewebdev1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdewebkit1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdf1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdiagram1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdialog1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdiamond1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdnssd1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kdoctools1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/keditbookmarks1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kemoticons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kfilemetadata1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kfind1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kfloppy1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kfourinline1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kgamma51
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kgeography1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kget1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kglobalaccel1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kgoldrunner1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kgpg1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kguiaddons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/khangman1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/khelpcenter1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kholidays1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/khotkeys1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/khtml1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ki18n1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kiconthemes1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kid31
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kidentitymanagement1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kidletime1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kig1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kigo1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kile1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/killbots1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kimageformats1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kimagemapeditor1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kimap1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kinfocenter1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kinit1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kio1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kio-extras1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kio-gdrive1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kipi-plugins1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kirigami-gallery1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kirigami21
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kiriki1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kitemmodels1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kitemviews1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kiten1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kitinerary1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kjobwidgets1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kjots1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kjs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kjsembed1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kjumpingcube1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kldap1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kleopatra1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/klettres1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/klickety1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/klines1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmag1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmahjongg1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmail1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmail-account-wizard1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmailtransport1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmbox1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmediaplayer1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmenuedit1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmime1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmines1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmix1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmousetool1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmouth1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmplot1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kmymoney1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knavalbattle1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knetwalk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knewstuff1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knights1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knotes1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knotifications1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/knotifyconfig1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kolf1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kollision1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kolourpaint1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kompare1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/konqueror1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/konquest1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/konsole1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kontact1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kontactinterface1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kopete1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/korganizer1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpackage1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kparts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpat1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpeople1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpeoplevcard1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpimtextedit1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpkpass1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kplotting1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpmcore1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kpty1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kqtquickcharts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kquickcharts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krdc1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krename1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kreversi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krfb1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krita1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kross1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kross-interpreters1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kruler1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krunner1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/krusader1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kscreen1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kscreenlocker1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kservice1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kshisen1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksirk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksmtp1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksnakeduel1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kspaceduel1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksquares1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksshaskpass1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kstars1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksudoku1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksysguard1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ksystemlog1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kteatime1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktexteditor1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktextwidgets1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktimer1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktimetracker1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktnef1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktorrent1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktouch1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-accounts-kcm1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-approver1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-auth-handler1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-call-ui1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-common-internals1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-contact-list1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-contact-runner1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-desktop-applets1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-filetransfer-handler1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-kded-module1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-send-file1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktp-text-ui1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/ktuberling1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kturtle1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kubrick1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kunitconversion1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kuser1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwallet1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwallet-pam1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwalletmanager1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwave1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwayland1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwayland-integration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwayland-server1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwebkitpart1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwidgetsaddons1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwin1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwindowsystem1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwordquiz1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kwrited1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kxmlgui1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/kxmlrpcclient1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/labplot1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/latte-dock1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libgravatar1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkcddb1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkcompactdisc1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkdcraw1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkdegames1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkdepim1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkeduvocdocument1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkexiv21
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkgapi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkgeomap1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkipi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkleo1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkmahjongg1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkomparediff21
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libksane1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libkscreen1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libksieve1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libksysguard1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/libktorrent1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/lokalize1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/lskat1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/mailcommon1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/mailimporter1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/marble1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/mbox-importer1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/messagelib1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/milou1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/minuet1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/modemmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/networkmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/okteta1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/okular1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/oxygen1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/oxygen-fonts1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/oxygen-gtk21
-rw-r--r--testing/source/vtown/kde/build/native-build-number/oxygen-icons51
-rw-r--r--testing/source/vtown/kde/build/native-build-number/palapeli1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/parley1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/partitionmanager1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/picmi1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/pim-data-exporter1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/pim-sieve-editor1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/pimcommon1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-browser-integration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-desktop1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-disks1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-framework1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-integration1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-nm1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-pa1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-sdk1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-vault1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-wayland-protocols1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-workspace1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/plasma-workspace-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/polkit-kde-agent-11
-rw-r--r--testing/source/vtown/kde/build/native-build-number/polkit-kde-kcmodules-framework1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/powerdevil1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/poxml1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/print-manager1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/prison1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/pulseaudio-qt1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/purpose1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/qqc2-desktop-style1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/rocs1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/sddm1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/sddm-kcm1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/signon-kwallet-extension1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/skanlite1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/solid1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/sonnet1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/spectacle1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/step1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/svgpart1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/sweeper1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/syndication1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/syntax-highlighting1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/systemsettings1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/threadweaver1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/umbrello1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/user-manager1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/wacomtablet1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/xdg-desktop-portal-kde1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/yakuake1
-rw-r--r--testing/source/vtown/kde/build/native-build-number/zeroconf-ioslave1
-rw-r--r--testing/source/vtown/kde/build/networkmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/okteta1
-rw-r--r--testing/source/vtown/kde/build/okular1
-rw-r--r--testing/source/vtown/kde/build/oxygen1
-rw-r--r--testing/source/vtown/kde/build/oxygen-fonts1
-rw-r--r--testing/source/vtown/kde/build/oxygen-gtk21
-rw-r--r--testing/source/vtown/kde/build/oxygen-icons51
-rw-r--r--testing/source/vtown/kde/build/palapeli1
-rw-r--r--testing/source/vtown/kde/build/parley1
-rw-r--r--testing/source/vtown/kde/build/partitionmanager1
-rw-r--r--testing/source/vtown/kde/build/picmi1
-rw-r--r--testing/source/vtown/kde/build/pim-data-exporter1
-rw-r--r--testing/source/vtown/kde/build/pim-sieve-editor1
-rw-r--r--testing/source/vtown/kde/build/pimcommon1
-rw-r--r--testing/source/vtown/kde/build/plasma-browser-integration1
-rw-r--r--testing/source/vtown/kde/build/plasma-desktop1
-rw-r--r--testing/source/vtown/kde/build/plasma-disks1
-rw-r--r--testing/source/vtown/kde/build/plasma-framework1
-rw-r--r--testing/source/vtown/kde/build/plasma-integration1
-rw-r--r--testing/source/vtown/kde/build/plasma-nm1
-rw-r--r--testing/source/vtown/kde/build/plasma-pa1
-rw-r--r--testing/source/vtown/kde/build/plasma-sdk1
-rw-r--r--testing/source/vtown/kde/build/plasma-vault1
-rw-r--r--testing/source/vtown/kde/build/plasma-wayland-protocols1
-rw-r--r--testing/source/vtown/kde/build/plasma-workspace1
-rw-r--r--testing/source/vtown/kde/build/plasma-workspace-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/polkit-kde-agent-11
-rw-r--r--testing/source/vtown/kde/build/powerdevil1
-rw-r--r--testing/source/vtown/kde/build/poxml1
-rw-r--r--testing/source/vtown/kde/build/print-manager1
-rw-r--r--testing/source/vtown/kde/build/prison1
-rw-r--r--testing/source/vtown/kde/build/pulseaudio-qt1
-rw-r--r--testing/source/vtown/kde/build/purpose1
-rw-r--r--testing/source/vtown/kde/build/qqc2-desktop-style1
-rw-r--r--testing/source/vtown/kde/build/rocs1
-rw-r--r--testing/source/vtown/kde/build/sddm1
-rw-r--r--testing/source/vtown/kde/build/sddm-kcm1
-rw-r--r--testing/source/vtown/kde/build/signon-kwallet-extension1
-rw-r--r--testing/source/vtown/kde/build/skanlite1
-rw-r--r--testing/source/vtown/kde/build/solid1
-rw-r--r--testing/source/vtown/kde/build/sonnet1
-rw-r--r--testing/source/vtown/kde/build/spectacle1
-rw-r--r--testing/source/vtown/kde/build/step1
-rw-r--r--testing/source/vtown/kde/build/svgpart1
-rw-r--r--testing/source/vtown/kde/build/sweeper1
-rw-r--r--testing/source/vtown/kde/build/syndication1
-rw-r--r--testing/source/vtown/kde/build/syntax-highlighting1
-rw-r--r--testing/source/vtown/kde/build/systemsettings1
-rw-r--r--testing/source/vtown/kde/build/threadweaver1
-rw-r--r--testing/source/vtown/kde/build/umbrello1
-rwxr-xr-xtesting/source/vtown/kde/build/uplift-builds.sh14
-rw-r--r--testing/source/vtown/kde/build/user-manager1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar-tools1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-contacts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-import-wizard1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-mime1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-notes1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadi-search1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akonadiconsole1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/akregator1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/alkimia1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/analitza1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ark1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/artikulate1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/attica1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/audiocd-kio1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/baloo1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/baloo-widgets1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/blinken1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/bluedevil1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/bluez-qt1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/bomber1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/bovo1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/breeze1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/breeze-grub1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/breeze-gtk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/breeze-icons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/calendarsupport1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/calligra1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/calligraplan1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/cantor1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/cervisia1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/digikam1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/discover1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/dolphin1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/dolphin-plugins1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/dragon1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/drkonqi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/elisa1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/eventviews1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/extra-cmake-modules1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/falkon1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ffmpegthumbs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/filelight1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/frameworkintegration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/granatier1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/grantlee-editor1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/grantleetheme1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/gwenview1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/incidenceeditor1
-rwxr-xr-xtesting/source/vtown/kde/build/vtown-build-number/increment.sh17
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/juk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/k3b1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kaccounts-integration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kaccounts-providers1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kactivities1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kactivities-stats1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kactivitymanagerd1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kaddressbook1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kajongg1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kalarm1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kalarmcal1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kalgebra1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kalzium1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kamera1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kamoso1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kanagram1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kapidox1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kapman1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kapptemplate1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/karchive1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kate1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/katomic1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kaudiocreator1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kauth1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kbackup1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kblackbox1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kblocks1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kbookmarks1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kbounce1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kbreakout1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kbruch1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcachegrind1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcalc1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcalcore1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcalendarcore1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcalutils1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcharselect1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcmutils1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcodecs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcolorchooser1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcompletion1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kconfig1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kconfigwidgets1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcontacts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcoreaddons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcrash1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kcron1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdav1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdbusaddons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kde-cli-tools1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kde-dev-scripts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kde-dev-utils1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kde-gtk-config1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kde-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeaccessibility1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeadmin1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdebase1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdebugsettings1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeclarative1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeconnect-kde1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdecoration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kded1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeedu1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeedu-data1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdegames1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdegraphics1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdegraphics-mobipocket1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdegraphics-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdelibs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdelibs4support1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdemultimedia1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdenetwork1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdenetwork-filesharing1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdenlive1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdepim1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdepim-addons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdepim-apps-libs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdepim-runtime1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeplasma-addons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdesdk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdesdk-kioslaves1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdesdk-thumbnailers1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdesignerplugin1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdesu1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdetoys1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdeutils1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdev-php1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdev-python1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdevelop1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdevelop-pg-qt1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdevplatform1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdewebdev1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdewebkit1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdf1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdiagram1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdialog1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdiamond1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdnssd1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kdoctools1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/keditbookmarks1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kemoticons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kfilemetadata1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kfind1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kfloppy1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kfourinline1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kgamma51
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kgeography1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kget1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kglobalaccel1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kgoldrunner1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kgpg1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kguiaddons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/khangman1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/khelpcenter1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kholidays1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/khotkeys1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/khtml1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ki18n1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kiconthemes1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kid31
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kidentitymanagement1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kidletime1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kig1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kigo1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kile1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/killbots1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kimageformats1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kimagemapeditor1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kimap1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kinfocenter1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kinit1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kio1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kio-extras1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kio-gdrive1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kipi-plugins1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kirigami-gallery1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kirigami21
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kiriki1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kitemmodels1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kitemviews1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kiten1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kitinerary1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kjobwidgets1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kjots1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kjs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kjsembed1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kjumpingcube1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kldap1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kleopatra1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/klettres1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/klickety1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/klines1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmag1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmahjongg1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmail1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmail-account-wizard1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmailtransport1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmbox1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmediaplayer1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmenuedit1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmime1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmines1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmix1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmousetool1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmouth1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmplot1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kmymoney1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knavalbattle1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knetwalk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knewstuff1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knights1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knotes1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knotifications1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/knotifyconfig1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kolf1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kollision1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kolourpaint1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kompare1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/konqueror1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/konquest1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/konsole1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kontact1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kontactinterface1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kopete1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/korganizer1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpackage1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kparts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpat1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpeople1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpeoplevcard1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpimtextedit1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpkpass1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kplotting1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpmcore1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kpty1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kqtquickcharts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kquickcharts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krdc1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krename1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kreversi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krfb1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krita1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kross1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kross-interpreters1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kruler1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krunner1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/krusader1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kscreen1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kscreenlocker1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kservice1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kshisen1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksirk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksmtp1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksnakeduel1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kspaceduel1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksquares1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksshaskpass1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kstars1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksudoku1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksysguard1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ksystemlog1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kteatime1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktexteditor1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktextwidgets1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktimer1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktimetracker1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktnef1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktorrent1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktouch1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-accounts-kcm1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-approver1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-auth-handler1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-call-ui1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-common-internals1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-contact-list1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-contact-runner1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-desktop-applets1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-filetransfer-handler1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-kded-module1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-send-file1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktp-text-ui1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/ktuberling1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kturtle1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kubrick1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kunitconversion1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kuser1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwallet1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwallet-pam1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwalletmanager1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwave1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwayland1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwayland-integration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwayland-server1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwebkitpart1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwidgetsaddons1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwin1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwindowsystem1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwordquiz1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kwrited1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kxmlgui1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/kxmlrpcclient1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/labplot1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/latte-dock1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libgravatar1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkcddb1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkcompactdisc1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkdcraw1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkdegames1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkdepim1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkeduvocdocument1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkexiv21
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkgapi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkgeomap1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkipi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkleo1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkmahjongg1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkomparediff21
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libksane1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libkscreen1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libksieve1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libksysguard1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/libktorrent1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/lokalize1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/lskat1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/mailcommon1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/mailimporter1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/marble1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/mbox-importer1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/messagelib1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/milou1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/minuet1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/modemmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/networkmanager-qt1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/okteta1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/okular1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/oxygen1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/oxygen-fonts1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/oxygen-gtk21
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/oxygen-icons51
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/palapeli1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/parley1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/partitionmanager1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/picmi1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/pim-data-exporter1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/pim-sieve-editor1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/pimcommon1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-browser-integration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-desktop1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-disks1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-framework1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-integration1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-nm1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-pa1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-sdk1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-vault1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-wayland-protocols1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-workspace1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/plasma-workspace-wallpapers1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/polkit-kde-agent-11
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/polkit-kde-kcmodules-framework1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/powerdevil1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/poxml1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/print-manager1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/prison1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/pulseaudio-qt1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/purpose1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/qqc2-desktop-style1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/rocs1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/sddm1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/sddm-kcm1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/signon-kwallet-extension1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/skanlite1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/solid1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/sonnet1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/spectacle1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/step1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/svgpart1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/sweeper1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/syndication1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/syntax-highlighting1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/systemsettings1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/threadweaver1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/umbrello1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/user-manager1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/wacomtablet1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/xdg-desktop-portal-kde1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/yakuake1
-rw-r--r--testing/source/vtown/kde/build/vtown-build-number/zeroconf-ioslave1
-rw-r--r--testing/source/vtown/kde/build/wacomtablet1
-rw-r--r--testing/source/vtown/kde/build/xdg-desktop-portal-kde1
-rw-r--r--testing/source/vtown/kde/build/yakuake1
-rw-r--r--testing/source/vtown/kde/build/zeroconf-ioslave1
-rw-r--r--testing/source/vtown/kde/cmake/alkimia26
-rw-r--r--testing/source/vtown/kde/cmake/analitza25
-rw-r--r--testing/source/vtown/kde/cmake/applications25
-rw-r--r--testing/source/vtown/kde/cmake/baloo24
-rw-r--r--testing/source/vtown/kde/cmake/calligra19
-rw-r--r--testing/source/vtown/kde/cmake/cmake23
-rw-r--r--testing/source/vtown/kde/cmake/digikam35
-rw-r--r--testing/source/vtown/kde/cmake/frameworkintegration27
-rw-r--r--testing/source/vtown/kde/cmake/frameworks22
-rw-r--r--testing/source/vtown/kde/cmake/gwenview24
-rw-r--r--testing/source/vtown/kde/cmake/k3b22
-rw-r--r--testing/source/vtown/kde/cmake/kajongg24
-rw-r--r--testing/source/vtown/kde/cmake/kde420
-rw-r--r--testing/source/vtown/kde/cmake/kdelibs18
-rw-r--r--testing/source/vtown/kde/cmake/kdepim23
-rw-r--r--testing/source/vtown/kde/cmake/kget23
-rw-r--r--testing/source/vtown/kde/cmake/kid322
-rw-r--r--testing/source/vtown/kde/cmake/kitinerary23
-rw-r--r--testing/source/vtown/kde/cmake/kjots23
-rw-r--r--testing/source/vtown/kde/cmake/kopete24
-rw-r--r--testing/source/vtown/kde/cmake/kpmcore24
-rw-r--r--testing/source/vtown/kde/cmake/krdc38
-rw-r--r--testing/source/vtown/kde/cmake/krita26
-rw-r--r--testing/source/vtown/kde/cmake/kross-interpreters24
-rw-r--r--testing/source/vtown/kde/cmake/krusader24
-rw-r--r--testing/source/vtown/kde/cmake/kscreenlocker29
-rw-r--r--testing/source/vtown/kde/cmake/kservice27
-rw-r--r--testing/source/vtown/kde/cmake/kwallet-pam21
-rw-r--r--testing/source/vtown/kde/cmake/kwave25
-rw-r--r--testing/source/vtown/kde/cmake/kwin29
-rw-r--r--testing/source/vtown/kde/cmake/marble54
-rw-r--r--testing/source/vtown/kde/cmake/messagelib23
-rw-r--r--testing/source/vtown/kde/cmake/partitionmanager24
-rw-r--r--testing/source/vtown/kde/cmake/plasma24
-rw-r--r--testing/source/vtown/kde/cmake/plasma-browser-integration24
-rw-r--r--testing/source/vtown/kde/cmake/sddm35
-rw-r--r--testing/source/vtown/kde/cmake/sddm-kcm26
-rw-r--r--testing/source/vtown/kde/cmake/solid28
-rw-r--r--testing/source/vtown/kde/cmake/xdg-desktop-portal-kde24
-rw-r--r--testing/source/vtown/kde/docs/k3b1
-rw-r--r--testing/source/vtown/kde/docs/kdepimlibs2
-rw-r--r--testing/source/vtown/kde/doinst.sh/blinken5
-rw-r--r--testing/source/vtown/kde/doinst.sh/bluedevil4
-rw-r--r--testing/source/vtown/kde/doinst.sh/cantor5
-rw-r--r--testing/source/vtown/kde/doinst.sh/gwenview5
-rw-r--r--testing/source/vtown/kde/doinst.sh/k3b5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kalgebra5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kalzium5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kamera5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kanagram5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kate5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kaudiocreator5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kbruch5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kcalc5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kcolorchooser5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdeaccessibility5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdeedu5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdegraphics5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdelibs9
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdenetwork5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdepim5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdepim-runtime5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdeplasma-addons5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdesdk5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdevelop5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdevplatform5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdewebdev5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kdf5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kgeography5
-rw-r--r--testing/source/vtown/kde/doinst.sh/khangman5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kig5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kinit7
-rw-r--r--testing/source/vtown/kde/doinst.sh/kiten5
-rw-r--r--testing/source/vtown/kde/doinst.sh/klettres5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kmag5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kmousetool5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kmouth5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kmplot5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kolourpaint5
-rw-r--r--testing/source/vtown/kde/doinst.sh/konsole5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kruler5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kscreenlocker5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kstars5
-rw-r--r--testing/source/vtown/kde/doinst.sh/ktorrent5
-rw-r--r--testing/source/vtown/kde/doinst.sh/ktouch5
-rw-r--r--testing/source/vtown/kde/doinst.sh/ktp-contact-list5
-rw-r--r--testing/source/vtown/kde/doinst.sh/ktp-text-ui5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kturtle5
-rw-r--r--testing/source/vtown/kde/doinst.sh/kwordquiz5
-rw-r--r--testing/source/vtown/kde/doinst.sh/marble5
-rw-r--r--testing/source/vtown/kde/doinst.sh/okular5
-rw-r--r--testing/source/vtown/kde/doinst.sh/oxygen-fonts13
-rw-r--r--testing/source/vtown/kde/doinst.sh/parley5
-rw-r--r--testing/source/vtown/kde/doinst.sh/powerdevil18
-rw-r--r--testing/source/vtown/kde/doinst.sh/rocs5
-rw-r--r--testing/source/vtown/kde/doinst.sh/sddm89
-rw-r--r--testing/source/vtown/kde/doinst.sh/skanlite5
-rw-r--r--testing/source/vtown/kde/doinst.sh/step5
-rwxr-xr-xtesting/source/vtown/kde/kde.SlackBuild569
-rw-r--r--testing/source/vtown/kde/kde.options68
-rw-r--r--testing/source/vtown/kde/make/katepart47
-rw-r--r--testing/source/vtown/kde/make/kdeconnect410
-rw-r--r--testing/source/vtown/kde/make/marble29
-rw-r--r--testing/source/vtown/kde/modules/applications193
-rw-r--r--testing/source/vtown/kde/modules/applications-extra31
-rw-r--r--testing/source/vtown/kde/modules/frameworks91
-rw-r--r--testing/source/vtown/kde/modules/kde41
-rw-r--r--testing/source/vtown/kde/modules/kdepim56
-rw-r--r--testing/source/vtown/kde/modules/plasma54
-rw-r--r--testing/source/vtown/kde/modules/plasma-extra8
-rw-r--r--testing/source/vtown/kde/modules/telepathy16
-rw-r--r--testing/source/vtown/kde/noarch9
-rw-r--r--testing/source/vtown/kde/nomake4
-rw-r--r--testing/source/vtown/kde/package-blacklist11
-rw-r--r--testing/source/vtown/kde/patch/README18
-rw-r--r--testing/source/vtown/kde/patch/baloo.patch2
-rw-r--r--testing/source/vtown/kde/patch/baloo/baloo_def_indexing_disabled.patch12
-rw-r--r--testing/source/vtown/kde/patch/calligraplan.patch2
-rw-r--r--testing/source/vtown/kde/patch/calligraplan/calligraplan.qt-5.15.patch10
-rw-r--r--testing/source/vtown/kde/patch/dolphin.patch2
-rw-r--r--testing/source/vtown/kde/patch/dolphin/dolphin_revert_noroot.patch23
-rw-r--r--testing/source/vtown/kde/patch/falkon.patch2
-rw-r--r--testing/source/vtown/kde/patch/falkon/falkon.qt-5.15.diff20
-rw-r--r--testing/source/vtown/kde/patch/kalgebra.patch4
-rw-r--r--testing/source/vtown/kde/patch/kalgebra/kalgebra_ncurses_linking.diff11
-rw-r--r--testing/source/vtown/kde/patch/kate.patch3
-rw-r--r--testing/source/vtown/kde/patch/kate/kate_runasroot.patch45
-rw-r--r--testing/source/vtown/kde/patch/kdeconnect-kde.patch2
-rw-r--r--testing/source/vtown/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff12
-rw-r--r--testing/source/vtown/kde/patch/kdelibs.patch26
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/coding-style-fixes.patch62
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kde4libs-4.14.26.diff11
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kdelibs-openssl-1.1.patch4007
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kdelibs.2c3762feddf7e66cf6b64d9058f625a715694a00.patch112
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kdelibs.docbook.patch11
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kdelibs.grantlee-qt4.include.path.patch11
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/kdelibs.upnp_conditional.patch15
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/return-application-icons-properly.patch56
-rw-r--r--testing/source/vtown/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch31
-rw-r--r--testing/source/vtown/kde/patch/kdelibs4support.patch2
-rw-r--r--testing/source/vtown/kde/patch/kdelibs4support/FindDocBookXML4.cmake.diff11
-rw-r--r--testing/source/vtown/kde/patch/kgpg.patch2
-rw-r--r--testing/source/vtown/kde/patch/kgpg/kgpg.only.autostart.in.plasma.diff9
-rw-r--r--testing/source/vtown/kde/patch/kinfocenter.patch2
-rw-r--r--testing/source/vtown/kde/patch/kinfocenter/kinfocenter_libpci.patch17
-rw-r--r--testing/source/vtown/kde/patch/krename.patch1
-rw-r--r--testing/source/vtown/kde/patch/krename/krename.taglib.diff191
-rw-r--r--testing/source/vtown/kde/patch/ktorrent.patch10
-rw-r--r--testing/source/vtown/kde/patch/ktorrent/geoip.datbin0 -> 1242574 bytes
-rw-r--r--testing/source/vtown/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff38
-rw-r--r--testing/source/vtown/kde/patch/ktorrent/ktorrent_systray.patch24
-rw-r--r--testing/source/vtown/kde/patch/ktorrent/ktorrent_taglib_linking.patch248
-rw-r--r--testing/source/vtown/kde/patch/milou.patch2
-rw-r--r--testing/source/vtown/kde/patch/milou/milou_krunner_include.diff11
-rw-r--r--testing/source/vtown/kde/patch/oxygen-gtk2.patch2
-rw-r--r--testing/source/vtown/kde/patch/oxygen-gtk2/oxygen-gtk2_KDEBUG_341181.patch115
-rw-r--r--testing/source/vtown/kde/patch/plasma-browser-integration.patch2
-rw-r--r--testing/source/vtown/kde/patch/plasma-browser-integration/plasma-browser-integration_KDEBUG-113461.patch11
-rw-r--r--testing/source/vtown/kde/patch/sddm.patch23
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_auth.diff25
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_avatars.patch33
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_ck2_revert.patch20
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_consolekit.diff9
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch183
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_qstring.patch88
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch88
-rw-r--r--testing/source/vtown/kde/patch/sddm/sddm_userxsession.diff13
-rw-r--r--testing/source/vtown/kde/plasma_checkout.sh146
-rw-r--r--testing/source/vtown/kde/post-install/akonadi4.post-install5
-rw-r--r--testing/source/vtown/kde/post-install/audiocd-kio4.post-install6
-rw-r--r--testing/source/vtown/kde/post-install/breeze-grub.post-install3
-rw-r--r--testing/source/vtown/kde/post-install/dolphin.post-install14
-rw-r--r--testing/source/vtown/kde/post-install/elisa.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/k3b.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/kauth.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/kdelibs.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/kdelibs4support.post-install5
-rw-r--r--testing/source/vtown/kde/post-install/kdepim.post-install10
-rw-r--r--testing/source/vtown/kde/post-install/kdepimlibs4.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/kdesu.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/kinfocenter.post-install7
-rw-r--r--testing/source/vtown/kde/post-install/kinfocenter/blueSW-128px.pngbin0 -> 29903 bytes
-rw-r--r--testing/source/vtown/kde/post-install/kinfocenter/kcm-about-distrorc.ex5
-rw-r--r--testing/source/vtown/kde/post-install/kinfocenter/slackware_traditional_website_logo.pngbin0 -> 5585 bytes
-rw-r--r--testing/source/vtown/kde/post-install/konsole.post-install13
-rw-r--r--testing/source/vtown/kde/post-install/konsolepart4.post-install5
-rw-r--r--testing/source/vtown/kde/post-install/kscreenlocker.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/kservice.post-install9
-rw-r--r--testing/source/vtown/kde/post-install/kservice/profile.d/kde.csh23
-rw-r--r--testing/source/vtown/kde/post-install/kservice/profile.d/kde.sh23
-rw-r--r--testing/source/vtown/kde/post-install/ktorrent.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/kwallet.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/kwalletmanager.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/libksysguard.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/nepomuk-core.post-install2
-rw-r--r--testing/source/vtown/kde/post-install/oktetapart4.post-install5
-rwxr-xr-xtesting/source/vtown/kde/post-install/oxygen-fonts.post-install5
-rw-r--r--testing/source/vtown/kde/post-install/plasma-desktop.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/plasma-workspace.post-install51
-rw-r--r--testing/source/vtown/kde/post-install/plasma-workspace/pam.d/kde10
-rw-r--r--testing/source/vtown/kde/post-install/plasma-workspace/scripts/startkwayland4
-rw-r--r--testing/source/vtown/kde/post-install/plasma-workspace/xinit/xinitrc.kde33
-rw-r--r--testing/source/vtown/kde/post-install/plasma-workspace/xsession/plasma-safe.desktop9
-rw-r--r--testing/source/vtown/kde/post-install/polkit-kde-kcmodules-framework.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/powerdevil.post-install30
-rw-r--r--testing/source/vtown/kde/post-install/powerdevil/10-enable-ck2-power.rules12
-rw-r--r--testing/source/vtown/kde/post-install/powerdevil/10-enable-elogind-power.rules12
-rw-r--r--testing/source/vtown/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules9
-rw-r--r--testing/source/vtown/kde/post-install/powerdevil/10-enable-upower-suspend.rules9
-rw-r--r--testing/source/vtown/kde/post-install/sddm-kcm.post-install4
-rw-r--r--testing/source/vtown/kde/post-install/sddm.post-install49
-rw-r--r--testing/source/vtown/kde/post-install/sddm/pam.d/sddm26
-rw-r--r--testing/source/vtown/kde/post-install/sddm/pam.d/sddm-autologin25
-rw-r--r--testing/source/vtown/kde/post-install/sddm/pam.d/sddm-greeter19
-rw-r--r--testing/source/vtown/kde/post-install/wicd-kde.post-install2
-rw-r--r--testing/source/vtown/kde/pre-install/README18
-rw-r--r--testing/source/vtown/kde/pre-install/alkimia.pre-install2
-rw-r--r--testing/source/vtown/kde/pre-install/kapidox.pre-install2
-rw-r--r--testing/source/vtown/kde/pre-install/kdeconnect-kde.pre-install2
-rw-r--r--testing/source/vtown/kde/pre-install/kdepimlibs4.pre-install9
-rw-r--r--testing/source/vtown/kde/pre-install/kdewebdev.pre-install6
-rw-r--r--testing/source/vtown/kde/pre-install/messagelib.pre-install3
-rw-r--r--testing/source/vtown/kde/pre-install/smokekde.pre-install7
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-calendar19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-calendar-tools19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-contacts19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-import-wizard19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-mime19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-notes19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadi-search19
-rw-r--r--testing/source/vtown/kde/slack-desc/akonadiconsole19
-rw-r--r--testing/source/vtown/kde/slack-desc/akregator19
-rw-r--r--testing/source/vtown/kde/slack-desc/alkimia19
-rw-r--r--testing/source/vtown/kde/slack-desc/analitza19
-rw-r--r--testing/source/vtown/kde/slack-desc/ark19
-rw-r--r--testing/source/vtown/kde/slack-desc/artikulate19
-rw-r--r--testing/source/vtown/kde/slack-desc/attica19
-rw-r--r--testing/source/vtown/kde/slack-desc/audiocd-kio19
-rw-r--r--testing/source/vtown/kde/slack-desc/baloo19
-rw-r--r--testing/source/vtown/kde/slack-desc/baloo-widgets19
-rw-r--r--testing/source/vtown/kde/slack-desc/blinken19
-rw-r--r--testing/source/vtown/kde/slack-desc/bluedevil19
-rw-r--r--testing/source/vtown/kde/slack-desc/bluez-qt19
-rw-r--r--testing/source/vtown/kde/slack-desc/bomber19
-rw-r--r--testing/source/vtown/kde/slack-desc/bovo19
-rw-r--r--testing/source/vtown/kde/slack-desc/breeze19
-rw-r--r--testing/source/vtown/kde/slack-desc/breeze-grub19
-rw-r--r--testing/source/vtown/kde/slack-desc/breeze-gtk19
-rw-r--r--testing/source/vtown/kde/slack-desc/breeze-icons19
-rw-r--r--testing/source/vtown/kde/slack-desc/calendarsupport19
-rw-r--r--testing/source/vtown/kde/slack-desc/calligra19
-rw-r--r--testing/source/vtown/kde/slack-desc/calligraplan19
-rw-r--r--testing/source/vtown/kde/slack-desc/cantor19
-rw-r--r--testing/source/vtown/kde/slack-desc/cervisia19
-rw-r--r--testing/source/vtown/kde/slack-desc/digikam19
-rw-r--r--testing/source/vtown/kde/slack-desc/discover19
-rw-r--r--testing/source/vtown/kde/slack-desc/dolphin19
-rw-r--r--testing/source/vtown/kde/slack-desc/dolphin-plugins19
-rw-r--r--testing/source/vtown/kde/slack-desc/dragon19
-rw-r--r--testing/source/vtown/kde/slack-desc/drkonqi19
-rw-r--r--testing/source/vtown/kde/slack-desc/elisa19
-rw-r--r--testing/source/vtown/kde/slack-desc/eventviews19
-rw-r--r--testing/source/vtown/kde/slack-desc/extra-cmake-modules19
-rw-r--r--testing/source/vtown/kde/slack-desc/falkon19
-rw-r--r--testing/source/vtown/kde/slack-desc/ffmpegthumbs19
-rw-r--r--testing/source/vtown/kde/slack-desc/filelight19
-rw-r--r--testing/source/vtown/kde/slack-desc/frameworkintegration19
-rw-r--r--testing/source/vtown/kde/slack-desc/granatier19
-rw-r--r--testing/source/vtown/kde/slack-desc/grantlee-editor19
-rw-r--r--testing/source/vtown/kde/slack-desc/grantleetheme19
-rw-r--r--testing/source/vtown/kde/slack-desc/gwenview19
-rw-r--r--testing/source/vtown/kde/slack-desc/incidenceeditor19
-rw-r--r--testing/source/vtown/kde/slack-desc/juk19
-rw-r--r--testing/source/vtown/kde/slack-desc/k3b19
-rw-r--r--testing/source/vtown/kde/slack-desc/kaccounts-integration19
-rw-r--r--testing/source/vtown/kde/slack-desc/kaccounts-providers19
-rw-r--r--testing/source/vtown/kde/slack-desc/kactivities19
-rw-r--r--testing/source/vtown/kde/slack-desc/kactivities-stats19
-rw-r--r--testing/source/vtown/kde/slack-desc/kactivitymanagerd19
-rw-r--r--testing/source/vtown/kde/slack-desc/kaddressbook19
-rw-r--r--testing/source/vtown/kde/slack-desc/kajongg19
-rw-r--r--testing/source/vtown/kde/slack-desc/kalarm19
-rw-r--r--testing/source/vtown/kde/slack-desc/kalarmcal19
-rw-r--r--testing/source/vtown/kde/slack-desc/kalgebra19
-rw-r--r--testing/source/vtown/kde/slack-desc/kalzium19
-rw-r--r--testing/source/vtown/kde/slack-desc/kamera19
-rw-r--r--testing/source/vtown/kde/slack-desc/kamoso19
-rw-r--r--testing/source/vtown/kde/slack-desc/kanagram19
-rw-r--r--testing/source/vtown/kde/slack-desc/kapidox19
-rw-r--r--testing/source/vtown/kde/slack-desc/kapman19
-rw-r--r--testing/source/vtown/kde/slack-desc/kapptemplate19
-rw-r--r--testing/source/vtown/kde/slack-desc/karchive19
-rw-r--r--testing/source/vtown/kde/slack-desc/kate19
-rw-r--r--testing/source/vtown/kde/slack-desc/katomic19
-rw-r--r--testing/source/vtown/kde/slack-desc/kaudiocreator19
-rw-r--r--testing/source/vtown/kde/slack-desc/kauth19
-rw-r--r--testing/source/vtown/kde/slack-desc/kbackup19
-rw-r--r--testing/source/vtown/kde/slack-desc/kblackbox19
-rw-r--r--testing/source/vtown/kde/slack-desc/kblocks19
-rw-r--r--testing/source/vtown/kde/slack-desc/kbookmarks19
-rw-r--r--testing/source/vtown/kde/slack-desc/kbounce19
-rw-r--r--testing/source/vtown/kde/slack-desc/kbreakout19
-rw-r--r--testing/source/vtown/kde/slack-desc/kbruch19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcachegrind19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcalc19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcalcore19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcalendarcore19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcalutils19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcharselect19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcmutils19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcodecs19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcolorchooser19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcompletion19
-rw-r--r--testing/source/vtown/kde/slack-desc/kconfig19
-rw-r--r--testing/source/vtown/kde/slack-desc/kconfigwidgets19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcontacts19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcoreaddons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcrash19
-rw-r--r--testing/source/vtown/kde/slack-desc/kcron19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdav19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdbusaddons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kde-cli-tools19
-rw-r--r--testing/source/vtown/kde/slack-desc/kde-dev-scripts19
-rw-r--r--testing/source/vtown/kde/slack-desc/kde-dev-utils19
-rw-r--r--testing/source/vtown/kde/slack-desc/kde-gtk-config19
-rw-r--r--testing/source/vtown/kde/slack-desc/kde-wallpapers19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeaccessibility19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdebugsettings19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeclarative19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeconnect-kde19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdecoration19
-rw-r--r--testing/source/vtown/kde/slack-desc/kded19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeedu19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeedu-data19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdegraphics19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdegraphics-mobipocket19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdegraphics-thumbnailers19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdelibs19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdelibs4support19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdenetwork19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdenetwork-filesharing19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdenlive19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdepim19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdepim-addons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdepim-apps-libs19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdepim-runtime19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdeplasma-addons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdesdk19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdesdk-kioslaves19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdesdk-thumbnailers19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdesignerplugin19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdesu19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdev-php19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdev-python19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdevelop19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdevelop-pg-qt19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdevplatform19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdewebdev19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdewebkit19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdf19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdiagram19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdialog19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdiamond19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdnssd19
-rw-r--r--testing/source/vtown/kde/slack-desc/kdoctools19
-rw-r--r--testing/source/vtown/kde/slack-desc/keditbookmarks19
-rw-r--r--testing/source/vtown/kde/slack-desc/kemoticons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kfilemetadata19
-rw-r--r--testing/source/vtown/kde/slack-desc/kfind19
-rw-r--r--testing/source/vtown/kde/slack-desc/kfloppy19
-rw-r--r--testing/source/vtown/kde/slack-desc/kfourinline19
-rw-r--r--testing/source/vtown/kde/slack-desc/kgamma519
-rw-r--r--testing/source/vtown/kde/slack-desc/kgeography19
-rw-r--r--testing/source/vtown/kde/slack-desc/kget19
-rw-r--r--testing/source/vtown/kde/slack-desc/kglobalaccel19
-rw-r--r--testing/source/vtown/kde/slack-desc/kgoldrunner19
-rw-r--r--testing/source/vtown/kde/slack-desc/kgpg19
-rw-r--r--testing/source/vtown/kde/slack-desc/kguiaddons19
-rw-r--r--testing/source/vtown/kde/slack-desc/khangman19
-rw-r--r--testing/source/vtown/kde/slack-desc/khelpcenter19
-rw-r--r--testing/source/vtown/kde/slack-desc/kholidays19
-rw-r--r--testing/source/vtown/kde/slack-desc/khotkeys19
-rw-r--r--testing/source/vtown/kde/slack-desc/khtml19
-rw-r--r--testing/source/vtown/kde/slack-desc/ki18n19
-rw-r--r--testing/source/vtown/kde/slack-desc/kiconthemes19
-rw-r--r--testing/source/vtown/kde/slack-desc/kid319
-rw-r--r--testing/source/vtown/kde/slack-desc/kidentitymanagement19
-rw-r--r--testing/source/vtown/kde/slack-desc/kidletime19
-rw-r--r--testing/source/vtown/kde/slack-desc/kig19
-rw-r--r--testing/source/vtown/kde/slack-desc/kigo19
-rw-r--r--testing/source/vtown/kde/slack-desc/kile19
-rw-r--r--testing/source/vtown/kde/slack-desc/killbots19
-rw-r--r--testing/source/vtown/kde/slack-desc/kimageformats19
-rw-r--r--testing/source/vtown/kde/slack-desc/kimagemapeditor19
-rw-r--r--testing/source/vtown/kde/slack-desc/kimap19
-rw-r--r--testing/source/vtown/kde/slack-desc/kinfocenter19
-rw-r--r--testing/source/vtown/kde/slack-desc/kinit19
-rw-r--r--testing/source/vtown/kde/slack-desc/kio19
-rw-r--r--testing/source/vtown/kde/slack-desc/kio-extras19
-rw-r--r--testing/source/vtown/kde/slack-desc/kio-gdrive19
-rw-r--r--testing/source/vtown/kde/slack-desc/kipi-plugins19
-rw-r--r--testing/source/vtown/kde/slack-desc/kirigami-gallery19
-rw-r--r--testing/source/vtown/kde/slack-desc/kirigami219
-rw-r--r--testing/source/vtown/kde/slack-desc/kiriki19
-rw-r--r--testing/source/vtown/kde/slack-desc/kitemmodels19
-rw-r--r--testing/source/vtown/kde/slack-desc/kitemviews19
-rw-r--r--testing/source/vtown/kde/slack-desc/kiten19
-rw-r--r--testing/source/vtown/kde/slack-desc/kitinerary19
-rw-r--r--testing/source/vtown/kde/slack-desc/kjobwidgets19
-rw-r--r--testing/source/vtown/kde/slack-desc/kjots19
-rw-r--r--testing/source/vtown/kde/slack-desc/kjs19
-rw-r--r--testing/source/vtown/kde/slack-desc/kjsembed19
-rw-r--r--testing/source/vtown/kde/slack-desc/kjumpingcube19
-rw-r--r--testing/source/vtown/kde/slack-desc/kldap19
-rw-r--r--testing/source/vtown/kde/slack-desc/kleopatra19
-rw-r--r--testing/source/vtown/kde/slack-desc/klettres19
-rw-r--r--testing/source/vtown/kde/slack-desc/klickety19
-rw-r--r--testing/source/vtown/kde/slack-desc/klines19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmag19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmahjongg19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmail19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmail-account-wizard19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmailtransport19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmbox19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmediaplayer19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmenuedit19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmime19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmines19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmix19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmousetool19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmouth19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmplot19
-rw-r--r--testing/source/vtown/kde/slack-desc/kmymoney19
-rw-r--r--testing/source/vtown/kde/slack-desc/knavalbattle19
-rw-r--r--testing/source/vtown/kde/slack-desc/knetwalk19
-rw-r--r--testing/source/vtown/kde/slack-desc/knewstuff19
-rw-r--r--testing/source/vtown/kde/slack-desc/knights19
-rw-r--r--testing/source/vtown/kde/slack-desc/knotes19
-rw-r--r--testing/source/vtown/kde/slack-desc/knotifications19
-rw-r--r--testing/source/vtown/kde/slack-desc/knotifyconfig19
-rw-r--r--testing/source/vtown/kde/slack-desc/kolf19
-rw-r--r--testing/source/vtown/kde/slack-desc/kollision19
-rw-r--r--testing/source/vtown/kde/slack-desc/kolourpaint19
-rw-r--r--testing/source/vtown/kde/slack-desc/kompare19
-rw-r--r--testing/source/vtown/kde/slack-desc/konqueror19
-rw-r--r--testing/source/vtown/kde/slack-desc/konquest19
-rw-r--r--testing/source/vtown/kde/slack-desc/konsole19
-rw-r--r--testing/source/vtown/kde/slack-desc/kontact19
-rw-r--r--testing/source/vtown/kde/slack-desc/kontactinterface19
-rw-r--r--testing/source/vtown/kde/slack-desc/kopete19
-rw-r--r--testing/source/vtown/kde/slack-desc/korganizer19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpackage19
-rw-r--r--testing/source/vtown/kde/slack-desc/kparts19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpat19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpeople19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpeoplevcard19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpimtextedit19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpkpass19
-rw-r--r--testing/source/vtown/kde/slack-desc/kplotting19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpmcore19
-rw-r--r--testing/source/vtown/kde/slack-desc/kpty19
-rw-r--r--testing/source/vtown/kde/slack-desc/kqtquickcharts19
-rw-r--r--testing/source/vtown/kde/slack-desc/kquickcharts19
-rw-r--r--testing/source/vtown/kde/slack-desc/krdc19
-rw-r--r--testing/source/vtown/kde/slack-desc/krename19
-rw-r--r--testing/source/vtown/kde/slack-desc/kreversi19
-rw-r--r--testing/source/vtown/kde/slack-desc/krfb19
-rw-r--r--testing/source/vtown/kde/slack-desc/krita19
-rw-r--r--testing/source/vtown/kde/slack-desc/kross19
-rw-r--r--testing/source/vtown/kde/slack-desc/kross-interpreters19
-rw-r--r--testing/source/vtown/kde/slack-desc/kruler19
-rw-r--r--testing/source/vtown/kde/slack-desc/krunner19
-rw-r--r--testing/source/vtown/kde/slack-desc/krusader19
-rw-r--r--testing/source/vtown/kde/slack-desc/kscreen19
-rw-r--r--testing/source/vtown/kde/slack-desc/kscreenlocker19
-rw-r--r--testing/source/vtown/kde/slack-desc/kservice19
-rw-r--r--testing/source/vtown/kde/slack-desc/kshisen19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksirk19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksmtp19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksnakeduel19
-rw-r--r--testing/source/vtown/kde/slack-desc/kspaceduel19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksquares19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksshaskpass19
-rw-r--r--testing/source/vtown/kde/slack-desc/kstars19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksudoku19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksysguard19
-rw-r--r--testing/source/vtown/kde/slack-desc/ksystemlog19
-rw-r--r--testing/source/vtown/kde/slack-desc/kteatime19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktexteditor19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktextwidgets19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktimer19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktimetracker19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktnef19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktorrent19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktouch19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-accounts-kcm19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-approver19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-auth-handler19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-call-ui19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-common-internals19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-contact-list19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-contact-runner19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-desktop-applets19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-filetransfer-handler19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-kded-module19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-send-file19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktp-text-ui19
-rw-r--r--testing/source/vtown/kde/slack-desc/ktuberling19
-rw-r--r--testing/source/vtown/kde/slack-desc/kturtle19
-rw-r--r--testing/source/vtown/kde/slack-desc/kubrick19
-rw-r--r--testing/source/vtown/kde/slack-desc/kunitconversion19
-rw-r--r--testing/source/vtown/kde/slack-desc/kuser19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwallet19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwallet-pam19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwalletmanager19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwave19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwayland19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwayland-integration19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwayland-server19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwebkitpart19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwidgetsaddons19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwin19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwindowsystem19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwordquiz19
-rw-r--r--testing/source/vtown/kde/slack-desc/kwrited19
-rw-r--r--testing/source/vtown/kde/slack-desc/kxmlgui19
-rw-r--r--testing/source/vtown/kde/slack-desc/kxmlrpcclient19
-rw-r--r--testing/source/vtown/kde/slack-desc/labplot19
-rw-r--r--testing/source/vtown/kde/slack-desc/latte-dock19
-rw-r--r--testing/source/vtown/kde/slack-desc/libgravatar19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkcddb19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkcompactdisc19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkdcraw19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkdegames19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkdepim19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkeduvocdocument19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkexiv219
-rw-r--r--testing/source/vtown/kde/slack-desc/libkgapi19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkgeomap19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkipi19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkleo19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkmahjongg19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkomparediff219
-rw-r--r--testing/source/vtown/kde/slack-desc/libksane19
-rw-r--r--testing/source/vtown/kde/slack-desc/libkscreen19
-rw-r--r--testing/source/vtown/kde/slack-desc/libksieve19
-rw-r--r--testing/source/vtown/kde/slack-desc/libksysguard19
-rw-r--r--testing/source/vtown/kde/slack-desc/libktorrent19
-rw-r--r--testing/source/vtown/kde/slack-desc/lokalize19
-rw-r--r--testing/source/vtown/kde/slack-desc/lskat19
-rw-r--r--testing/source/vtown/kde/slack-desc/mailcommon19
-rw-r--r--testing/source/vtown/kde/slack-desc/mailimporter19
-rwxr-xr-xtesting/source/vtown/kde/slack-desc/make_slack-desc.sh45
-rw-r--r--testing/source/vtown/kde/slack-desc/marble19
-rw-r--r--testing/source/vtown/kde/slack-desc/mbox-importer19
-rw-r--r--testing/source/vtown/kde/slack-desc/messagelib19
-rw-r--r--testing/source/vtown/kde/slack-desc/milou19
-rw-r--r--testing/source/vtown/kde/slack-desc/minuet19
-rw-r--r--testing/source/vtown/kde/slack-desc/modemmanager-qt19
-rw-r--r--testing/source/vtown/kde/slack-desc/networkmanager-qt19
-rw-r--r--testing/source/vtown/kde/slack-desc/okteta19
-rw-r--r--testing/source/vtown/kde/slack-desc/okular19
-rw-r--r--testing/source/vtown/kde/slack-desc/oxygen19
-rw-r--r--testing/source/vtown/kde/slack-desc/oxygen-fonts19
-rw-r--r--testing/source/vtown/kde/slack-desc/oxygen-gtk219
-rw-r--r--testing/source/vtown/kde/slack-desc/oxygen-icons519
-rw-r--r--testing/source/vtown/kde/slack-desc/palapeli19
-rw-r--r--testing/source/vtown/kde/slack-desc/parley19
-rw-r--r--testing/source/vtown/kde/slack-desc/partitionmanager19
-rw-r--r--testing/source/vtown/kde/slack-desc/picmi19
-rw-r--r--testing/source/vtown/kde/slack-desc/pim-data-exporter19
-rw-r--r--testing/source/vtown/kde/slack-desc/pim-sieve-editor19
-rw-r--r--testing/source/vtown/kde/slack-desc/pimcommon19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-browser-integration19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-desktop19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-disks19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-framework19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-integration19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-nm19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-pa19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-sdk19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-vault19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-wayland-protocols19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-workspace19
-rw-r--r--testing/source/vtown/kde/slack-desc/plasma-workspace-wallpapers19
-rw-r--r--testing/source/vtown/kde/slack-desc/polkit-kde-agent-119
-rw-r--r--testing/source/vtown/kde/slack-desc/powerdevil19
-rw-r--r--testing/source/vtown/kde/slack-desc/poxml19
-rw-r--r--testing/source/vtown/kde/slack-desc/print-manager19
-rw-r--r--testing/source/vtown/kde/slack-desc/prison19
-rw-r--r--testing/source/vtown/kde/slack-desc/pulseaudio-qt19
-rw-r--r--testing/source/vtown/kde/slack-desc/purpose19
-rw-r--r--testing/source/vtown/kde/slack-desc/qqc2-desktop-style19
-rw-r--r--testing/source/vtown/kde/slack-desc/rocs19
-rw-r--r--testing/source/vtown/kde/slack-desc/sddm19
-rw-r--r--testing/source/vtown/kde/slack-desc/sddm-kcm19
-rw-r--r--testing/source/vtown/kde/slack-desc/signon-kwallet-extension19
-rw-r--r--testing/source/vtown/kde/slack-desc/skanlite19
-rw-r--r--testing/source/vtown/kde/slack-desc/solid19
-rw-r--r--testing/source/vtown/kde/slack-desc/sonnet19
-rw-r--r--testing/source/vtown/kde/slack-desc/spectacle19
-rw-r--r--testing/source/vtown/kde/slack-desc/step19
-rw-r--r--testing/source/vtown/kde/slack-desc/svgpart19
-rw-r--r--testing/source/vtown/kde/slack-desc/sweeper19
-rw-r--r--testing/source/vtown/kde/slack-desc/syndication19
-rw-r--r--testing/source/vtown/kde/slack-desc/syntax-highlighting19
-rw-r--r--testing/source/vtown/kde/slack-desc/systemsettings19
-rw-r--r--testing/source/vtown/kde/slack-desc/threadweaver19
-rw-r--r--testing/source/vtown/kde/slack-desc/umbrello19
-rw-r--r--testing/source/vtown/kde/slack-desc/user-manager19
-rw-r--r--testing/source/vtown/kde/slack-desc/wacomtablet19
-rw-r--r--testing/source/vtown/kde/slack-desc/xdg-desktop-portal-kde19
-rw-r--r--testing/source/vtown/kde/slack-desc/yakuake19
-rw-r--r--testing/source/vtown/kde/slack-desc/zeroconf-ioslave19
-rwxr-xr-xtesting/source/vtown/kde/src/applications-extra/fetch-kjots.sh52
-rwxr-xr-xtesting/source/vtown/kde/src/applications-extra/fetch-krita.sh52
-rwxr-xr-xtesting/source/vtown/kde/src/plasma-extra/fetch-wacomtablet.sh52
1937 files changed, 25125 insertions, 0 deletions
diff --git a/testing/source/vtown/deps/QtAV/QtAV.SlackBuild b/testing/source/vtown/deps/QtAV/QtAV.SlackBuild
new file mode 100755
index 00000000..64f012ff
--- /dev/null
+++ b/testing/source/vtown/deps/QtAV/QtAV.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=QtAV
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export LDFLAGS="$SLKLDFLAGS"
+
+qmake-qt5 INSTALL_PREFIX=/usr "CONFIG+=no-tests no_rpath recheck"
+make $NUMJOBS || make || exit 1
+make INSTALL_ROOT=$PKG install || exit 1
+
+# Create symlinks for the binaries; these are referenced in *.desktop:
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/Player .
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/QMLPlayer .
+)
+
+# Fix documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mv $PKG/usr/share/doc/* $PKG/usr/doc/$PKGNAM-$VERSION/
+rmdir $PKG/usr/share/doc
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/QtAV/QtAV.url b/testing/source/vtown/deps/QtAV/QtAV.url
new file mode 100644
index 00000000..8927fd5b
--- /dev/null
+++ b/testing/source/vtown/deps/QtAV/QtAV.url
@@ -0,0 +1 @@
+https://github.com/wang-bin/QtAV
diff --git a/testing/source/vtown/deps/QtAV/doinst.sh b/testing/source/vtown/deps/QtAV/doinst.sh
new file mode 100644
index 00000000..5fb28930
--- /dev/null
+++ b/testing/source/vtown/deps/QtAV/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/testing/source/vtown/deps/QtAV/fetch-QtAV.sh b/testing/source/vtown/deps/QtAV/fetch-QtAV.sh
new file mode 100755
index 00000000..d802d7ad
--- /dev/null
+++ b/testing/source/vtown/deps/QtAV/fetch-QtAV.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=QtAV
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/wang-bin/QtAV
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/testing/source/vtown/deps/QtAV/slack-desc b/testing/source/vtown/deps/QtAV/slack-desc
new file mode 100644
index 00000000..95f8483f
--- /dev/null
+++ b/testing/source/vtown/deps/QtAV/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+QtAV: QtAV (multimedia playback framework)
+QtAV:
+QtAV: QtAV is a multimedia playback framework based on Qt and FFmpeg. Some
+QtAV: components in QtAV are designed to be extensible.
+QtAV:
+QtAV: Homepage: http://qtav.org
+QtAV:
+QtAV:
+QtAV:
+QtAV:
+QtAV:
diff --git a/testing/source/vtown/deps/accountsservice/accountsservice.SlackBuild b/testing/source/vtown/deps/accountsservice/accountsservice.SlackBuild
new file mode 100755
index 00000000..53402fd1
--- /dev/null
+++ b/testing/source/vtown/deps/accountsservice/accountsservice.SlackBuild
@@ -0,0 +1,156 @@
+#!/bin/bash
+
+# Copyright 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=accountsservice
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -D admin_group=wheel \
+ -D docbook=false \
+ -D gtk_doc=true \
+ -D elogind=true \
+ -D systemd=false \
+ -D systemdsystemunitdir=no \
+ -D user_heuristics=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/accountsservice/accountsservice.url b/testing/source/vtown/deps/accountsservice/accountsservice.url
new file mode 100644
index 00000000..73889e63
--- /dev/null
+++ b/testing/source/vtown/deps/accountsservice/accountsservice.url
@@ -0,0 +1 @@
+https://www.freedesktop.org/software/accountsservice
diff --git a/testing/source/vtown/deps/accountsservice/slack-desc b/testing/source/vtown/deps/accountsservice/slack-desc
new file mode 100644
index 00000000..e11fb6e8
--- /dev/null
+++ b/testing/source/vtown/deps/accountsservice/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+accountsservice: accountsservice (D-Bus interface for user account query)
+accountsservice:
+accountsservice: AccountsService is a D-Bus service for accessing the list of user
+accountsservice: accounts and information attached to those accounts.
+accountsservice:
+accountsservice: Homepage: https://www.freedesktop.org/wiki/Software/AccountsService/
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+
diff --git a/testing/source/vtown/deps/cfitsio/cfitsio.SlackBuild b/testing/source/vtown/deps/cfitsio/cfitsio.SlackBuild
new file mode 100755
index 00000000..626bdb7a
--- /dev/null
+++ b/testing/source/vtown/deps/cfitsio/cfitsio.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+# Copyright 2015, 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cfitsio
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS shared || make || exit 1
+make $NUMJOBS utils || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Remove the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcfitsio.a
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ License.* README* docs/*.doc docs/changes.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a changes.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r changes.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat changes.txt | head -n 1000 > $DOCSDIR/changes.txt
+ touch -r changes.txt $DOCSDIR/changes.txt
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/cfitsio/cfitsio.url b/testing/source/vtown/deps/cfitsio/cfitsio.url
new file mode 100644
index 00000000..e56983a5
--- /dev/null
+++ b/testing/source/vtown/deps/cfitsio/cfitsio.url
@@ -0,0 +1 @@
+http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/
diff --git a/testing/source/vtown/deps/cfitsio/slack-desc b/testing/source/vtown/deps/cfitsio/slack-desc
new file mode 100644
index 00000000..35f96972
--- /dev/null
+++ b/testing/source/vtown/deps/cfitsio/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cfitsio: cfitsio (FITS file subroutine library)
+cfitsio:
+cfitsio: cfitsio is a library of ANSI C routines for reading and writing FITS
+cfitsio: format data files. A set of Fortran-callable wrapper routines is also
+cfitsio: included.
+cfitsio:
+cfitsio: Homepage: http://heasarc.gsfc.nasa.gov/fitsio
+cfitsio:
+cfitsio:
+cfitsio:
+cfitsio:
diff --git a/testing/source/vtown/deps/cryfs/.circleci/config.yml b/testing/source/vtown/deps/cryfs/.circleci/config.yml
new file mode 100644
index 00000000..a06f7149
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.circleci/config.yml
@@ -0,0 +1,612 @@
+version: 2.0
+
+references:
+ container_config: &container_config
+ machine: true
+ cache_init: &cache_init
+ run:
+ name: Initialize Cache
+ command: |
+ echo "${APT_COMPILER_PACKAGE}_${BUILD_TOOLSET}_${CXX}_${CC}_${BUILD_TYPE}_${CXXFLAGS}" > /tmp/_build_env_vars
+ echo Build env vars used for cache keys:
+ cat /tmp/_build_env_vars
+ container_setup_pre: &container_setup_pre
+ restore_cache:
+ keys:
+ # Find the most recent cache from any branch
+ - v4_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ container_setup_post: &container_setup_post
+ save_cache:
+ # Add _aptcache_contents to cache key so that it is re-uploaded each time the cache changes.
+ key: v4_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ checksum "/tmp/_aptcache_contents" }}
+ paths:
+ - /tmp/aptcache
+ container_setup: &container_setup
+ run:
+ name: Setup Environment
+ command: |
+ if [ -d "/tmp/aptcache" ]; then
+ echo Using packages from apt cache
+ sudo cp -R /tmp/aptcache/* /var/cache/apt/archives/
+ else
+ echo No apt cache found
+ fi
+
+ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
+ sudo touch /etc/apt/sources.list.d/clang.list
+ sudo chmod o+w /etc/apt/sources.list.d/clang.list
+ cat > /etc/apt/sources.list.d/clang.list << EOF
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main
+ EOF
+ sudo chmod o-w /etc/apt/sources.list.d/clang.list
+
+ DEBIAN_FRONTEND=noninteractive sudo apt-get update -qq
+ DEBIAN_FRONTEND=noninteractive sudo apt-get install -y git ccache $APT_COMPILER_PACKAGE cmake3 make libcurl4-openssl-dev libssl-dev libfuse-dev python
+ # Use /dev/urandom when /dev/random is accessed to use less entropy
+ sudo cp -a /dev/urandom /dev/random
+
+ if [ "${BUILD_TOOLSET}" = "clang" ]; then
+ # They aren't set automatically unfortunately
+ sudo ln -s /usr/bin/$CC /usr/bin/clang
+ sudo ln -s /usr/bin/$CXX /usr/bin/clang++
+ sudo ln -s /usr/bin/clang-tidy-8 /usr/bin/clang-tidy
+ sudo ln -s /usr/bin/run-clang-tidy-8.py /usr/bin/run-clang-tidy.py
+
+ # Need a c++14 compliant STL for clang
+ sudo apt-get install -y g++-5
+ sudo apt-get remove g++-4.8 gcc-4.8
+ fi
+
+ # Setup ccache
+ sudo ln -s /usr/bin/ccache /usr/local/bin/$CC
+ sudo ln -s /usr/bin/ccache /usr/local/bin/$CXX
+ sudo mkdir /ccache_data
+ sudo chown circleci:circleci /ccache_data
+ echo 'export CCACHE_COMPILERCHECK=content' >> $BASH_ENV
+ echo 'export CCACHE_COMPRESS=1' >> $BASH_ENV
+ echo 'export CCACHE_DIR=/ccache_data' >> $BASH_ENV
+ echo 'export CCACHE_SLOPPINESS=include_file_mtime' >> $BASH_ENV
+
+ sudo mkdir -p /tmp/aptcache
+ sudo cp -R /var/cache/apt/archives/* /tmp/aptcache/
+ ls /tmp/aptcache > /tmp/_aptcache_contents
+
+ echo
+ echo System Info:
+ cat /etc/issue
+ uname -a
+ cmake --version
+ /usr/local/bin/$CC --version
+ /usr/local/bin/$CXX --version
+ upgrade_boost_pre: &upgrade_boost_pre
+ restore_cache:
+ keys:
+ # Find the most recent cache from any branch
+ - v4_upgrade_boost_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ upgrade_boost_post: &upgrade_boost_post
+ save_cache:
+ key: v4_upgrade_boost_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ paths:
+ - /tmp/boost_1_65_1
+ upgrade_boost: &upgrade_boost
+ run:
+ name: Upgrade Boost
+ command: |
+ # Detect number of CPU cores
+ export NUMCORES=`nproc`
+ echo Using $NUMCORES cores
+ # Download and prepare boost (only if not already present from cache)
+ if [ ! -d "/tmp/boost_1_65_1" ]; then
+ echo "Didn't find boost in cache. Downloading and building."
+ wget -O /tmp/boost.tar.bz2 https://sourceforge.net/projects/boost/files/boost/1.65.1/boost_1_65_1.tar.bz2/download
+ if [ $(sha512sum /tmp/boost.tar.bz2 | awk '{print $1;}') == "a9e6866d3bb3e7c198f442ff09f5322f58064dca79bc420f2f0168eb63964226dfbc4f034a5a5e5958281fdf7518a1b057c894fbda0b61fced59c1661bf30f1a" ]; then
+ echo Correct sha512sum
+ else
+ echo Wrong sha512sum
+ sha512sum boost.tar.bz2
+ exit 1
+ fi
+ echo Extracting...
+ tar -xf /tmp/boost.tar.bz2 -C /tmp
+ rm -rf boost.tar.bz2
+ cd /tmp/boost_1_65_1
+ ./bootstrap.sh --with-toolset=${BUILD_TOOLSET} --with-libraries=filesystem,thread,chrono,program_options
+ cd ..
+ else
+ echo Found boost in cache. Use cache and build.
+ fi
+ # Compile and install boost (if cached, this should be fast)
+ cd /tmp/boost_1_65_1
+ sudo ./b2 toolset=${BUILD_TOOLSET} link=static cxxflags=-fPIC -d0 -j$NUMCORES install
+ build_pre: &build_pre
+ restore_cache:
+ keys:
+ # Find most recent cache from any revision on the same branch (cache keys are prefix matched)
+ # CIRCLE_PR_NUMBER is only set if this is a pull request.
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}
+ # Fallback to less specific caches if the one above wasn't found
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ build_post: &build_post
+ save_cache:
+ key: v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}_{{ .Revision }}
+ paths:
+ - /ccache_data
+ build: &build
+ run:
+ name: Build
+ command: |
+ export NUMCORES=`nproc` && if [ ! -n "$NUMCORES" ]; then export NUMCORES=`sysctl -n hw.ncpu`; fi
+ echo Using $NUMCORES cores
+ # Use ccache
+ export CXX=/usr/local/bin/$CXX
+ export CC=/usr/local/bin/$CC
+ ccache --max-size=512M
+ ccache --show-stats
+
+ # Disable OpenMP if it is clang, because Ubuntu 14.04 doesn't have the libomp-dev package needed to support OpenMP for clang.
+ if [[ ${APT_COMPILER_PACKAGE} == clang* ]]; then
+ OPENMP_PARAMS="-DDISABLE_OPENMP=ON"
+ else
+ OPENMP_PARAMS=""
+ fi
+
+ # Build
+ mkdir cmake
+ cd cmake
+ cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OPENMP_PARAMS} ${CMAKE_FLAGS}
+ make -j$NUMCORES
+
+ ccache --show-stats
+ test: &test
+ run:
+ name: Test
+ no_output_timeout: 120m
+ command: |
+ if "${RUN_TESTS}"; then
+ cd cmake
+ ./test/gitversion/gitversion-test ${GTEST_ARGS}
+ ./test/cpp-utils/cpp-utils-test ${GTEST_ARGS}
+ if [ ! "$DISABLE_BROKEN_ASAN_TESTS" = true ] ; then ./test/fspp/fspp-test ${GTEST_ARGS} ; fi
+ ./test/parallelaccessstore/parallelaccessstore-test ${GTEST_ARGS}
+ ./test/blockstore/blockstore-test ${GTEST_ARGS}
+ ./test/blobstore/blobstore-test ${GTEST_ARGS}
+ ./test/cryfs/cryfs-test ${GTEST_ARGS}
+ ./test/cryfs-cli/cryfs-cli-test ${GTEST_ARGS}
+ fi
+ job_definition: &job_definition
+ <<: *container_config
+ steps:
+ - <<: *cache_init
+ - <<: *container_setup_pre
+ - <<: *container_setup
+ - <<: *container_setup_post
+ - <<: *upgrade_boost_pre
+ - <<: *upgrade_boost
+ - <<: *upgrade_boost_post
+ - checkout
+ - <<: *build_pre
+ - <<: *build
+ - <<: *build_post
+ - <<: *test
+ enable_for_tags: &enable_for_tags
+ filters:
+ tags:
+ only: /.*/
+
+jobs:
+ gcc_5_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-5
+ CXX: g++-5
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-5"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_5_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-5
+ CXX: g++-5
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-5"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_6_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-6
+ CXX: g++-6
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-6"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_6_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-6
+ CXX: g++-6
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-6"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_7_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-7
+ CXX: g++-7
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-7"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_7_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-7
+ CXX: g++-7
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-7"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_8_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-8
+ CXX: g++-8
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-8"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_8_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-8
+ CXX: g++-8
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-8"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_9_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-9
+ CXX: g++-9
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-9"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_9_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-9
+ CXX: g++-9
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-9"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_4_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-4.0
+ CXX: clang++-4.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-4.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_4_release:
+ <<: *job_definition
+ environment:
+ CC: clang-4.0
+ CXX: clang++-4.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-4.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_5_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-5.0
+ CXX: clang++-5.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-5.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_5_release:
+ <<: *job_definition
+ environment:
+ CC: clang-5.0
+ CXX: clang++-5.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-5.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_6_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-6.0
+ CXX: clang++-6.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-6.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_6_release:
+ <<: *job_definition
+ environment:
+ CC: clang-6.0
+ CXX: clang++-6.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-6.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_7_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-7
+ CXX: clang++-7
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-7
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_7_release:
+ <<: *job_definition
+ environment:
+ CC: clang-7
+ CXX: clang++-7
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-7
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_8_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_8_release:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_werror:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: "-DUSE_WERROR=on"
+ RUN_TESTS: false
+ gcc_werror:
+ <<: *job_definition
+ environment:
+ CC: gcc-9
+ CXX: g++-9
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-9"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: "-DUSE_WERROR=on"
+ RUN_TESTS: false
+ no_compatibility:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-DCRYFS_NO_COMPATIBILITY"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ address_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-O2 -fsanitize=address -fno-omit-frame-pointer -fno-common -fsanitize-address-use-after-scope"
+ BUILD_TYPE: "Debug"
+ ASAN_OPTIONS: "detect_leaks=1 check_initialization_order=1 detect_stack_use_after_return=1 detect_invalid_pointer_pairs=1 atexit=1"
+ DISABLE_BROKEN_ASAN_TESTS: true
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ ub_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-O2 -fno-sanitize-recover=undefined,nullability,implicit-conversion,unsigned-integer-overflow -fno-omit-frame-pointer -fno-common"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ thread_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ OMP_NUM_THREADS: "1"
+ CXXFLAGS: "-O2 -fsanitize=thread -fno-omit-frame-pointer"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*:SignalCatcherTest.*_thenDies:SignalHandlerTest.*_thenDies:SignalHandlerTest.givenMultipleSigIntHandlers_whenRaising_thenCatchesCorrectSignal:CliTest_Setup.*:CliTest_IntegrityCheck.*:*/CliTest_WrongEnvironment.*:CliTest_Unmount.*"
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_tidy:
+ <<: *container_config
+ steps:
+ - <<: *cache_init
+ - <<: *container_setup_pre
+ - <<: *container_setup
+ - <<: *container_setup_post
+ - <<: *upgrade_boost_pre
+ - <<: *upgrade_boost
+ - <<: *upgrade_boost_post
+ - checkout
+ - run:
+ name: clang-tidy
+ command: |
+ # realpath, jq are needed for run-clang-tidy.sh, g++ is needed for pyyaml
+ sudo apt-get install realpath g++ jq
+ pip install pyyaml
+ mkdir cmake
+ cd cmake
+ if ! ../run-clang-tidy.sh -fix ; then
+ git diff > /tmp/clang-tidy-fixes
+ exit 1
+ fi
+ - store_artifacts:
+ path: /tmp/clang-tidy-fixes
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: "clang-8 clang-tidy-8"
+
+workflows:
+ version: 2
+
+ build_and_test:
+ jobs:
+ - gcc_5_debug:
+ <<: *enable_for_tags
+ - gcc_5_release:
+ <<: *enable_for_tags
+ - gcc_6_debug:
+ <<: *enable_for_tags
+ - gcc_6_release:
+ <<: *enable_for_tags
+ - gcc_7_debug:
+ <<: *enable_for_tags
+ - gcc_7_release:
+ <<: *enable_for_tags
+ - gcc_8_debug:
+ <<: *enable_for_tags
+ - gcc_8_release:
+ <<: *enable_for_tags
+ - gcc_9_debug:
+ <<: *enable_for_tags
+ - gcc_9_release:
+ <<: *enable_for_tags
+ - clang_4_debug:
+ <<: *enable_for_tags
+ - clang_4_release:
+ <<: *enable_for_tags
+ - clang_5_debug:
+ <<: *enable_for_tags
+ - clang_5_release:
+ <<: *enable_for_tags
+ - clang_6_debug:
+ <<: *enable_for_tags
+ - clang_6_release:
+ <<: *enable_for_tags
+ - clang_7_debug:
+ <<: *enable_for_tags
+ - clang_7_release:
+ <<: *enable_for_tags
+ - clang_8_debug:
+ <<: *enable_for_tags
+ - clang_8_release:
+ <<: *enable_for_tags
+ - clang_werror:
+ <<: *enable_for_tags
+ - gcc_werror:
+ <<: *enable_for_tags
+ - no_compatibility:
+ <<: *enable_for_tags
+ - address_sanitizer:
+ <<: *enable_for_tags
+ - ub_sanitizer:
+ <<: *enable_for_tags
+ - thread_sanitizer:
+ <<: *enable_for_tags
+ - clang_tidy:
+ <<: *enable_for_tags
diff --git a/testing/source/vtown/deps/cryfs/.clang-tidy b/testing/source/vtown/deps/cryfs/.clang-tidy
new file mode 100644
index 00000000..b9569c1d
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.clang-tidy
@@ -0,0 +1,60 @@
+---
+# TODO Enable (some of) the explicitly disabled checks. Possibly needs helper types from gsl library or similar to enable full cppcoreguidelines.
+# TODO Enable more checks (google-*, hicpp-*, llvm-*, modernize-*, mpi-*, performance-*, readability-*)
+# TODO Maybe just enable * and disable a list instead?
+Checks: |
+ clang-diagnostic-*,
+ clang-analyzer-*,
+ bugprone-*,
+ cert-*,
+ cppcoreguidelines-*,
+ misc-*,
+ boost-use-to-string,
+ -cert-env33-c,
+ -cert-err58-cpp,
+ -cert-err60-cpp,
+ -bugprone-macro-parentheses,
+ -bugprone-exception-escape,
+ -cppcoreguidelines-owning-memory,
+ -cppcoreguidelines-no-malloc,
+ -cppcoreguidelines-pro-type-const-cast,
+ -cppcoreguidelines-pro-bounds-pointer-arithmetic,
+ -cppcoreguidelines-pro-type-reinterpret-cast,
+ -cppcoreguidelines-special-member-functions,
+ -cppcoreguidelines-pro-type-cstyle-cast,
+ -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
+ -cppcoreguidelines-pro-type-vararg,
+ -cppcoreguidelines-avoid-goto,
+ -cppcoreguidelines-avoid-magic-numbers,
+ -cppcoreguidelines-macro-usage,
+ -cppcoreguidelines-non-private-member-variables-in-classes,
+ -clang-analyzer-optin.cplusplus.VirtualCall,
+ -clang-analyzer-cplusplus.NewDeleteLeaks,
+ -misc-macro-parentheses,
+ -misc-non-private-member-variables-in-classes,
+ -misc-unused-raii
+WarningsAsErrors: '*'
+HeaderFilterRegex: '/src/|/test/'
+CheckOptions:
+ - key: google-readability-braces-around-statements.ShortStatementLines
+ value: '1'
+ - key: google-readability-function-size.StatementThreshold
+ value: '800'
+ - key: google-readability-namespace-comments.ShortNamespaceLines
+ value: '10'
+ - key: google-readability-namespace-comments.SpacesBeforeComments
+ value: '2'
+ - key: modernize-loop-convert.MaxCopySize
+ value: '16'
+ - key: modernize-loop-convert.MinConfidence
+ value: reasonable
+ - key: modernize-loop-convert.NamingStyle
+ value: CamelCase
+ - key: modernize-pass-by-value.IncludeStyle
+ value: llvm
+ - key: modernize-replace-auto-ptr.IncludeStyle
+ value: llvm
+ - key: modernize-use-nullptr.NullMacros
+ value: 'NULL'
+...
+
diff --git a/testing/source/vtown/deps/cryfs/.travis.yml b/testing/source/vtown/deps/cryfs/.travis.yml
new file mode 100644
index 00000000..703006d3
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.travis.yml
@@ -0,0 +1,15 @@
+language: cpp
+sudo: required
+os: osx
+compiler:
+# - gcc
+- clang
+env:
+ - BUILD_TARGET=Debug
+ - BUILD_TARGET=Release
+ - BUILD_TARGET=RelWithDebInfo
+install:
+- .travisci/install.sh
+script:
+- .travisci/build_and_test.sh
+cache: ccache
diff --git a/testing/source/vtown/deps/cryfs/.travisci/build_and_test.sh b/testing/source/vtown/deps/cryfs/.travisci/build_and_test.sh
new file mode 100755
index 00000000..deb90903
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.travisci/build_and_test.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+set -ev
+
+# If using gcc on mac, actually use it ("gcc" just links to clang, but "gcc-4.8" is gcc, https://github.com/travis-ci/travis-ci/issues/2423)
+# Note: This must be here and not in install.sh, because environment variables can't be passed between scripts.
+if [ "${CXX}" == "g++" ]; then
+ echo Switch to actual g++ and not just the AppleClang symlink
+ export CXX="g++-7" CC="gcc-7"
+else
+ echo Do not switch to actual g++ because we are not g++
+fi
+
+# Setup ccache
+export PATH="/usr/local/opt/ccache/libexec:$PATH"
+export CCACHE_COMPILERCHECK=content
+export CCACHE_COMPRESS=1
+export CCACHE_SLOPPINESS=include_file_mtime
+ccache --max-size=512M
+ccache --show-stats
+
+# Detect number of CPU cores
+export NUMCORES=`sysctl -n hw.ncpu`
+echo Using $NUMCORES cores
+
+echo Using CXX compiler $CXX and C compiler $CC
+
+# Setup target directory
+mkdir cmake
+cd cmake
+cmake --version
+
+# Build
+echo Build target: ${BUILD_TARGET}
+cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TARGET}
+make -j$NUMCORES
+
+ccache --show-stats
+
+# Test
+./test/gitversion/gitversion-test
+./test/cpp-utils/cpp-utils-test
+./test/parallelaccessstore/parallelaccessstore-test
+./test/blockstore/blockstore-test
+./test/blobstore/blobstore-test
+./test/cryfs/cryfs-test
+
+# TODO Also run once fixed
+# ./test/fspp/fspp-test
+# ./test/cryfs-cli/cryfs-cli-test
diff --git a/testing/source/vtown/deps/cryfs/.travisci/install.sh b/testing/source/vtown/deps/cryfs/.travisci/install.sh
new file mode 100755
index 00000000..9057a75b
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.travisci/install.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set -e
+
+# Install newer GCC if we're running on GCC
+if [ "${CXX}" == "g++" ]; then
+ # We need to uninstall oclint because it creates a /usr/local/include/c++ symlink that clashes with the gcc5 package
+ # see https://github.com/Homebrew/homebrew-core/issues/21172
+ brew cask uninstall oclint
+ brew install gcc@7
+fi
+
+brew cask install osxfuse
+brew install libomp
+
+# By default, travis only fetches the newest 50 commits. We need more in case we're further from the last version tag, so the build doesn't fail because it can't generate the version number.
+git fetch --unshallow --tags
+
+# Setup ccache
+brew install ccache
diff --git a/testing/source/vtown/deps/cryfs/cryfs.SlackBuild b/testing/source/vtown/deps/cryfs/cryfs.SlackBuild
new file mode 100755
index 00000000..eccc2d20
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/cryfs.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cryfs
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Oddly, cryfs expects a static boost, so we'll need to hit it with the LART:
+export LDFLAGS="$SLKLDFLAGS -lboost_thread -lboost_program_options -lboost_filesystem -lboost_chrono -lcryptopp -lfuse"
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DBoost_INCLUDE_DIRS=/usr/include/boost \
+ -DBoost_USE_STATIC_LIBS=OFF \
+ -DCRYFS_UPDATE_CHECKS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ # When compiling against a shared boost, these fail to install properly without help:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+ install -m0755 ./src/cryfs-cli/libcryfs-cli.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-cli.so
+ install -m0755 ./src/cryfs-unmount/libcryfs-unmount.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-unmount.so
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog* README* LICENSE* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/cryfs/cryfs.url b/testing/source/vtown/deps/cryfs/cryfs.url
new file mode 100644
index 00000000..e1bf0c48
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/cryfs.url
@@ -0,0 +1 @@
+https://github.com/cryfs/cryfs
diff --git a/testing/source/vtown/deps/cryfs/slack-desc b/testing/source/vtown/deps/cryfs/slack-desc
new file mode 100644
index 00000000..8dd66bdb
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cryfs: cryfs (cryptographic filesystem)
+cryfs:
+cryfs: CryFS encrypts your files, so you can safely store them anywhere. It
+cryfs: works well together with cloud services.
+cryfs:
+cryfs: Homepage: https://www.cryfs.org
+cryfs:
+cryfs:
+cryfs:
+cryfs:
+cryfs:
diff --git a/testing/source/vtown/deps/cryptopp/cryptopp.SlackBuild b/testing/source/vtown/deps/cryptopp/cryptopp.SlackBuild
new file mode 100755
index 00000000..309a1589
--- /dev/null
+++ b/testing/source/vtown/deps/cryptopp/cryptopp.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/sh
+
+# Copyright 2014, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cryptopp
+VERSION=${VERSION:-8.2.0}
+SRCVER=$(echo $VERSION | tr -d '.')
+BUILD=${BUILD:-1_vtown_1}
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+# Extract the sources:
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+mkdir -p ${PKGNAM}-${VERSION}
+unzip -a ${CWD}/${PKGNAM}${SRCVER}.zip -d ${PKGNAM}-${VERSION} || exit 1
+cd ${PKGNAM}-${VERSION} || exit 1
+
+# Fix bogus permissions:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Cater to 64-bit Slackware:
+sed -i -e "s,(PREFIX)/lib,(PREFIX)/lib${LIBDIRSUFFIX},g" GNUmakefile
+
+# Compile and install:
+make all dynamic libcryptopp.pc $NUMJOBS \
+ CXXFLAGS="${SLKCFLAGS} -DNDEBUG" LDFLAGS="${LDFLAGS}"
+make install-lib PREFIX=$PKG/usr
+
+# Dump the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcryptopp.a
+
+# Fix the installed pkg-config file:
+sed \
+ -i $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/libcryptopp.pc \
+ -e "s,/usr/local,/usr,g"
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a *.txt $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Strip binaries (if any):
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
diff --git a/testing/source/vtown/deps/cryptopp/cryptopp.url b/testing/source/vtown/deps/cryptopp/cryptopp.url
new file mode 100644
index 00000000..1bc3357d
--- /dev/null
+++ b/testing/source/vtown/deps/cryptopp/cryptopp.url
@@ -0,0 +1 @@
+https://www.cryptopp.com/cryptopp820.zip
diff --git a/testing/source/vtown/deps/cryptopp/slack-desc b/testing/source/vtown/deps/cryptopp/slack-desc
new file mode 100644
index 00000000..11da183c
--- /dev/null
+++ b/testing/source/vtown/deps/cryptopp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cryptopp: cryptopp (library of cryptographic schemes)
+cryptopp:
+cryptopp: Crypto++ Library is a free C++ class library of cryptographic schemes.
+cryptopp: See http://www.cryptopp.com/ for a list of supported algorithms. One
+cryptopp: purpose of Crypto++ is to act as a repository of public domain (not
+cryptopp: copyrighted) source code. Although the library is copyrighted as a
+cryptopp: compilation, the individual files in it are in the public domain.
+cryptopp:
+cryptopp: Homepage: http://www.cryptopp.com/
+cryptopp:
+cryptopp:
diff --git a/testing/source/vtown/deps/dbus/dbus-1.12.x-allow_root_globally.diff b/testing/source/vtown/deps/dbus/dbus-1.12.x-allow_root_globally.diff
new file mode 100644
index 00000000..2ff5a535
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/dbus-1.12.x-allow_root_globally.diff
@@ -0,0 +1,18 @@
+diff -Nur dbus-1.12.0.orig/bus/system.conf.in dbus-1.12.0/bus/system.conf.in
+--- dbus-1.12.0.orig/bus/system.conf.in 2017-10-30 07:26:18.000000000 -0500
++++ dbus-1.12.0/bus/system.conf.in 2017-10-31 00:17:34.989634085 -0500
+@@ -125,6 +125,14 @@
+ <!-- <limit name="max_match_rules_per_connection">512</limit> -->
+ <!-- <limit name="max_replies_per_connection">128</limit> -->
+
++ <!-- Allow root to do anything over the messagebus.
++ Don't whine about "security" - anyone with root privileges
++ can edit this file anyway, so -ENOHOLE here. -->
++ <policy user="root">
++ <allow send_destination="*"/>
++ <allow send_interface="*"/>
++ </policy>
++
+ <!-- Config files are placed here that among other things, punch
+ holes in the above policy for specific services. -->
+ <includedir>system.d</includedir>
diff --git a/testing/source/vtown/deps/dbus/dbus-enable-elogind.patch b/testing/source/vtown/deps/dbus/dbus-enable-elogind.patch
new file mode 100644
index 00000000..5cb5d649
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/dbus-enable-elogind.patch
@@ -0,0 +1,73 @@
+--- a/dbus/dbus-userdb-util.c 2015-09-30 16:48:40.000000000 +0200
++++ b/dbus/dbus-userdb-util.c 2016-11-03 11:09:42.550520587 +0100
+@@ -32,6 +32,9 @@
+ #if HAVE_SYSTEMD
+ #include <systemd/sd-login.h>
+ #endif
++#if HAVE_ELOGIND
++#include <elogind/sd-login.h>
++#endif
+
+ /**
+ * @addtogroup DBusInternalsUtils
+@@ -54,7 +57,7 @@
+ const DBusUserInfo *info;
+ dbus_bool_t result = FALSE;
+
+-#ifdef HAVE_SYSTEMD
++#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND)
+ /* check if we have logind */
+ if (access ("/run/systemd/seats/", F_OK) >= 0)
+ {
+--- a/configure.ac 2016-11-03 11:13:58.286528265 +0100
++++ b/configure.ac 2016-11-03 11:22:11.210543063 +0100
+@@ -185,6 +185,7 @@
+ AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
+ AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto)
+ AC_ARG_ENABLE(launchd, AS_HELP_STRING([--enable-launchd],[build with launchd auto-launch support]),enable_launchd=$enableval,enable_launchd=auto)
++AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[build with elogind user seat support]),enable_elogind=$enableval,enable_elogind=auto)
+ AC_ARG_ENABLE(systemd, AS_HELP_STRING([--enable-systemd],[build with systemd at_console support]),enable_systemd=$enableval,enable_systemd=auto)
+
+ AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
+@@ -1184,6 +1185,24 @@
+
+ AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
+
++dnl elogind detection
++if test x$enable_elogind = xno ; then
++ have_elogind=no;
++else
++ PKG_CHECK_MODULES([ELOGIND],
++ [libelogind >= 209],
++ [have_elogind=yes],
++ [have_elogind=no])
++fi
++
++if test x$have_elogind = xyes; then
++ AC_DEFINE(HAVE_ELOGIND,1,[Have elogind])
++fi
++
++if test x$enable_elogind = xyes -a x$have_elogind != xyes ; then
++ AC_MSG_ERROR([Explicitly requested elogind support, but libelogind not found])
++fi
++
+ dnl systemd detection
+ if test x$enable_systemd = xno ; then
+ have_systemd=no;
+@@ -1290,7 +1309,7 @@
+ fi
+
+ #### Set up final flags
+-LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS"
++LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS $ELOGIND_LIBS"
+ AC_SUBST([LIBDBUS_LIBS])
+
+ ### X11 detection
+@@ -1949,6 +1968,7 @@
+ Building AppArmor support: ${have_apparmor}
+ Building inotify support: ${have_inotify}
+ Building kqueue support: ${have_kqueue}
++ Building elogind support: ${have_elogind}
+ Building systemd support: ${have_systemd}
+ Building X11 code: ${have_x11}
+ Building Doxygen docs: ${enable_doxygen_docs}
diff --git a/testing/source/vtown/deps/dbus/dbus.SlackBuild b/testing/source/vtown/deps/dbus/dbus.SlackBuild
new file mode 100755
index 00000000..9fac890f
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/dbus.SlackBuild
@@ -0,0 +1,164 @@
+#!/bin/bash
+
+# Copyright 2007-2010 Robby Workman, Northport, Alabama, USA
+# Copyright 2007-2020 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=dbus
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-2_vtown_1}
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/dbus-1.12.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/dbus-enable-elogind.patch.gz | patch -p1 --verbose || exit 1
+
+NOCONFIGURE=1 ./autogen.sh || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-doxygen-docs \
+ --disable-apparmor \
+ --disable-selinux \
+ --enable-shared=yes \
+ --enable-static=no \
+ --enable-inotify \
+ --enable-user-session \
+ --enable-x11-autolaunch \
+ --enable-elogind \
+ --disable-systemd \
+ --without-systemdsystemunitdir \
+ --with-system-pid-file=/var/run/dbus/dbus.pid \
+ --with-system-socket=/var/run/dbus/system_bus_socket \
+ --with-console-auth-dir=/var/run/console \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Install a custom init script for dbus - the included one is not good for us
+mkdir -p $PKG/etc/rc.d
+zcat $CWD/rc.messagebus.gz > $PKG/etc/rc.d/rc.messagebus.new
+chmod 0755 $PKG/etc/rc.d/rc.messagebus.new
+
+# Fix some directory ownership
+chown messagebus $PKG/var/lib/dbus
+
+# Add documentation
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* doc/*.{txt,html,dtd} \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+find $PKG/usr/doc/$PKGNAM-$VERSION -type f -exec chmod 0644 {} \+
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/dbus/dbus.url b/testing/source/vtown/deps/dbus/dbus.url
new file mode 100644
index 00000000..ab5a193a
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/dbus.url
@@ -0,0 +1 @@
+http://dbus.freedesktop.org/releases/dbus/
diff --git a/testing/source/vtown/deps/dbus/doinst.sh b/testing/source/vtown/deps/dbus/doinst.sh
new file mode 100644
index 00000000..dcefd1ff
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/doinst.sh
@@ -0,0 +1,26 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.messagebus.new:
+if [ -e etc/rc.d/rc.messagebus ]; then
+ cp -a etc/rc.d/rc.messagebus etc/rc.d/rc.messagebus.new.incoming
+ cat etc/rc.d/rc.messagebus.new > etc/rc.d/rc.messagebus.new.incoming
+ mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new
+fi
+
+#config etc/rc.d/rc.messagebus.new
+# No, just install the thing. Leaving it as .new will only lead to problems.
+if [ -r etc/rc.d/rc.messagebus.new ]; then
+ mv etc/rc.d/rc.messagebus.new etc/rc.d/rc.messagebus
+fi
+
diff --git a/testing/source/vtown/deps/dbus/rc.messagebus b/testing/source/vtown/deps/dbus/rc.messagebus
new file mode 100644
index 00000000..9a1ffce9
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/rc.messagebus
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+# messagebus: The D-BUS systemwide message bus
+#
+# description: This is a daemon which broadcasts notifications of system events \
+# and other messages. See http://www.freedesktop.org/software/dbus/
+#
+# processname: dbus-daemon
+
+# This is a modified version of the rc.messagebus script distributed with the
+# dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project
+# for most of the work involved --Robby Workman <rworkman@slackware.com>
+
+
+PIDFILE=/var/run/dbus/dbus.pid
+
+start() {
+ mkdir -p $(dirname $PIDFILE)
+ if ! ps -u messagebus -c | grep -wq dbus-daemon; then
+ rm -f $(dirname $PIDFILE)/*
+ if [ -x /usr/bin/dbus-uuidgen -a -x /usr/bin/dbus-daemon ] ; then
+ echo "Starting system message bus: /usr/bin/dbus-uuidgen --ensure ; /usr/bin/dbus-daemon --system"
+ /usr/bin/dbus-uuidgen --ensure
+ /usr/bin/dbus-daemon --system 1> /dev/null
+ fi
+ fi
+}
+
+stop() {
+ if [ -e "$PIDFILE" ]; then
+ echo "Stopping system message bus..."
+ pid=$(cat $PIDFILE)
+ kill $pid 1> /dev/null 2> /dev/null
+ # Just in case:
+ killall dbus-daemon 1> /dev/null 2> /dev/null
+ rm -f $PIDFILE
+ fi
+}
+
+reload() {
+ echo "Reloading system message bus configuration..."
+ if [ -e "$PIDFILE" ]; then
+ pid=$(cat $PIDFILE)
+ kill -HUP $pid
+ else
+ killall -HUP dbus-daemon
+ fi
+}
+
+status() {
+ if ps -u messagebus -c | grep -wq dbus-daemon; then
+ echo "System dbus-daemon is running."
+ else
+ echo "System dbus-daemon is stopped."
+ fi
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ echo "You may need to restart your Window Manager to reconnect to the system dbus."
+ ;;
+ reload)
+ reload
+ ;;
+ status)
+ status
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|restart|reload|status}"
+ ;;
+esac
+
diff --git a/testing/source/vtown/deps/dbus/slack-desc b/testing/source/vtown/deps/dbus/slack-desc
new file mode 100644
index 00000000..524723dd
--- /dev/null
+++ b/testing/source/vtown/deps/dbus/slack-desc
@@ -0,0 +1,18 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+ |-----handy-ruler------------------------------------------------------|
+dbus: dbus (D-Bus message bus system)
+dbus:
+dbus: D-Bus supplies both a system daemon (for events such as "new hardware
+dbus: device added" or "printer queue changed") and a per user login
+dbus: session daemon (for general IPC needs among user applications).
+dbus: Also, the message bus is built on top of a general one-to-one message
+dbus: passing framework, which can be used by any two apps to communicate
+dbus: directly (without going through the message bus daemon).
+dbus:
+dbus: Homepage: https://dbus.freedesktop.org/
+dbus:
diff --git a/testing/source/vtown/deps/dotconf/dotconf.SlackBuild b/testing/source/vtown/deps/dotconf/dotconf.SlackBuild
new file mode 100755
index 00000000..686934c8
--- /dev/null
+++ b/testing/source/vtown/deps/dotconf/dotconf.SlackBuild
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=dotconf
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ autoreconf -vif
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# This library is currently used for nothing in Slackware except for
+# speech-dispatcher and hasn't seen a release in a decade. This quantity
+# of included examples seems excessive.
+rm -rf $PKG/usr/doc/$PKGNAM-$VERSION/examples
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/dotconf/dotconf.url b/testing/source/vtown/deps/dotconf/dotconf.url
new file mode 100644
index 00000000..17e18ef7
--- /dev/null
+++ b/testing/source/vtown/deps/dotconf/dotconf.url
@@ -0,0 +1 @@
+https://github.com/williamh/dotconf/
diff --git a/testing/source/vtown/deps/dotconf/slack-desc b/testing/source/vtown/deps/dotconf/slack-desc
new file mode 100644
index 00000000..b79dc103
--- /dev/null
+++ b/testing/source/vtown/deps/dotconf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dotconf: dotconf (configuration file parser)
+dotconf:
+dotconf: Dot.conf is a lightweight and simple configuration file parser that
+dotconf: contains many features.
+dotconf:
+dotconf: Homepage: https://github.com/williamh/dotconf/
+dotconf:
+dotconf:
+dotconf:
+dotconf:
+dotconf:
diff --git a/testing/source/vtown/deps/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch b/testing/source/vtown/deps/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
new file mode 100644
index 00000000..0f6bed43
--- /dev/null
+++ b/testing/source/vtown/deps/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
@@ -0,0 +1,75 @@
+--- dvdauthor/src/subgen-image.c 2014-01-21 00:12:37.000000000 +0100
++++ dvdauthor/src/subgen-image.c 2017-11-27 20:26:53.682914041 +0100
+@@ -30,7 +30,7 @@
+
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+ #include <stdarg.h>
+-#include <magick/api.h>
++#include <MagickWand/MagickWand.h>
+ #else
+ #include <png.h>
+ #endif
+@@ -176,18 +176,18 @@
+ {
+ Image *im;
+ ImageInfo *ii;
+- ExceptionInfo ei;
++ ExceptionInfo *ei;
+ int x,y;
+ unsigned long magickver;
+ unsigned char amask;
+
+- GetExceptionInfo(&ei);
++ ei = AcquireExceptionInfo();
+ ii=CloneImageInfo(NULL);
+ strcpy(ii->filename,s->fname);
+- im=ReadImage(ii,&ei);
++ im=ReadImage(ii,ei);
+
+ if( !im ) {
+- MagickError(ei.severity,"Unable to load file",ii->filename);
++ MagickError(ei->severity,"Unable to load file",ii->filename);
+ return -1;
+ }
+
+@@ -202,10 +202,10 @@
+ for( y=0; y<im->rows; y++ ) {
+ char pdata[MAXX*4];
+
+- if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,&ei)) {
+- fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei.reason,ei.description);
+- CatchException(&ei);
+- MagickError(ei.severity,ei.reason,ei.description);
++ if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,ei)) {
++ fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei->reason,ei->description);
++ CatchException(ei);
++ MagickError(ei->severity,ei->reason,ei->description);
+ DestroyImage(im);
+ return -1;
+ }
+@@ -219,7 +219,7 @@
+ }
+ }
+ DestroyImage(im);
+- DestroyExceptionInfo(&ei);
++ DestroyExceptionInfo(ei);
+ fprintf(stderr,"INFO: Picture %s had %d colors\n",s->fname,s->numpal);
+
+ return 0;
+@@ -1098,13 +1098,13 @@
+ void image_init()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- InitializeMagick(NULL);
++ MagickCoreGenesis("", MagickFalse);
+ #endif
+ }
+
+ void image_shutdown()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- DestroyMagick();
++ MagickCoreTerminus();
+ #endif
+ }
+
diff --git a/testing/source/vtown/deps/dvdauthor/dvdauthor.SlackBuild b/testing/source/vtown/deps/dvdauthor/dvdauthor.SlackBuild
new file mode 100755
index 00000000..6171ab68
--- /dev/null
+++ b/testing/source/vtown/deps/dvdauthor/dvdauthor.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=dvdauthor
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Make it compile with imagemagick 7.x:
+zcat $CWD/dvdauthor-0.7.2_imagemagick7.patch.gz | patch -p1 --verbose || exit 1
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ ./bootstrap
+ else
+ autoreconf -vif
+ ./bootstrap
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/dvdauthor/dvdauthor.url b/testing/source/vtown/deps/dvdauthor/dvdauthor.url
new file mode 100644
index 00000000..d08d8782
--- /dev/null
+++ b/testing/source/vtown/deps/dvdauthor/dvdauthor.url
@@ -0,0 +1 @@
+https://github.com/ldo/dvdauthor
diff --git a/testing/source/vtown/deps/dvdauthor/slack-desc b/testing/source/vtown/deps/dvdauthor/slack-desc
new file mode 100644
index 00000000..01b9f550
--- /dev/null
+++ b/testing/source/vtown/deps/dvdauthor/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dvdauthor: dvdauthor (tools to author a DVD)
+dvdauthor:
+dvdauthor: dvdauthor is a program that will generate a DVD movie from a valid
+dvdauthor: MPEG2 stream. The resulting movie should play in a standard DVD
+dvdauthor: player.
+dvdauthor:
+dvdauthor: Homepage: http://dvdauthor.sf.net
+dvdauthor:
+dvdauthor:
+dvdauthor:
+dvdauthor:
diff --git a/testing/source/vtown/deps/eigen3/eigen3.SlackBuild b/testing/source/vtown/deps/eigen3/eigen3.SlackBuild
new file mode 100755
index 00000000..9dd8fa35
--- /dev/null
+++ b/testing/source/vtown/deps/eigen3/eigen3.SlackBuild
@@ -0,0 +1,108 @@
+#!/bin/bash
+
+# Copyright 2014, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2014 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=eigen
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i586 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "${PKGNAM}3-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $PKG $TMP
+cd $TMP
+rm -rf eigen-$VERSION
+tar xvf $CWD/eigen-$VERSION.tar.?z || exit 1
+cd eigen-$VERSION || exit 1
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+mkdir -p build
+cd build
+ QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
+ PATH=$QTDIR/bin:$PATH \
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ .. || exit 1
+ make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/eigen3-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/eigen3/slack-desc b/testing/source/vtown/deps/eigen3/slack-desc
new file mode 100644
index 00000000..8c4398f8
--- /dev/null
+++ b/testing/source/vtown/deps/eigen3/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+eigen3: eigen3 (C++ math library)
+eigen3:
+eigen3: Eigen is a C++ template library for linear algebra: matrices, vectors,
+eigen3: numerical solvers, and related algorithms.
+eigen3:
+eigen3: Homepage: http://eigen.tuxfamily.org
+eigen3:
+eigen3:
+eigen3:
+eigen3:
+eigen3:
diff --git a/testing/source/vtown/deps/elogind/doinst.sh b/testing/source/vtown/deps/elogind/doinst.sh
new file mode 100644
index 00000000..dc85465c
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/doinst.sh
@@ -0,0 +1,48 @@
+# Handle the incoming configuration files:
+config() {
+ for infile in $1; do
+ NEW="$infile"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+ done
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+#
+# Preserve permissions while moving into place:
+config etc/elogind/logind.conf.new
+preserve_perms etc/rc.d/rc.elogind.new
+
+if pgrep -f elogind-daemon | grep -q 'elogind-daemon'; then
+ echo "Reloading elogind-daemon..."
+ pkill -HUP -f elogind-daemon
+fi
+
+## Now taken care of in Slackware's /etc/rc.d/rc.M:
+##
+## Update rc.local so that elogind will be functional after boot:
+#if ! grep "rc.elogind" etc/rc.d/rc.local 1>/dev/null 2>/dev/null ; then
+# cat <<_EOM_ >> etc/rc.d/rc.local
+#
+#if [ -x /etc/rc.d/rc.elogind ]; then
+# # Create runtime for elogind (standalone logind extracted from systemd):
+# /etc/rc.d/rc.elogind start
+#fi
+#_EOM_
+#fi
diff --git a/testing/source/vtown/deps/elogind/elogind-polkit.patch b/testing/source/vtown/deps/elogind/elogind-polkit.patch
new file mode 100644
index 00000000..4d91b981
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/elogind-polkit.patch
@@ -0,0 +1,121 @@
+Update org.freedesktop.login1.conf
+This mirrors an upstream change opening up all of logind's bus calls to
+unprivileged users via polkit.
+
+See systemd/systemd#471.
+Closes #3.
+
+diff -uar a/src/login/org.freedesktop.login1.conf b/src/login/org.freedesktop.login1.conf
+--- a/src/login/org.freedesktop.login1.conf
++++ b/src/login/org.freedesktop.login1.conf
+@@ -90,6 +90,42 @@
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Manager"
++ send_member="LockSession"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="UnlockSession"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="LockSessions"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="UnlockSessions"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="KillSession"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="KillUser"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="TerminateSession"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="TerminateUser"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
++ send_member="TerminateSeat"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
+ send_member="PowerOff"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ @@ -130,6 +166,10 @@
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Manager"
++ send_member="SetWallMessage"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Manager"
+ send_member="AttachDevice"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ @@ -138,6 +178,10 @@
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Seat"
++ send_member="Terminate"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Seat"
+ send_member="ActivateSession"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ @@ -154,14 +198,30 @@
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Session"
++ send_member="Terminate"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Session"
+ send_member="Activate"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Session"
++ send_member="Lock"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Session"
++ send_member="Unlock"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Session"
+ send_member="SetIdleHint"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ send_interface="org.freedesktop.login1.Session"
++ send_member="Kill"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.Session"
+ send_member="TakeControl"/>
+
+ <allow send_destination="org.freedesktop.login1"
+ @@ -180,6 +240,14 @@
+ send_interface="org.freedesktop.login1.Session"
+ send_member="PauseDeviceComplete"/>
+
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.User"
++ send_member="Terminate"/>
++
++ <allow send_destination="org.freedesktop.login1"
++ send_interface="org.freedesktop.login1.User"
++ send_member="Kill"/>
++
+ <allow receive_sender="org.freedesktop.login1"/>
+ </policy>
+
diff --git a/testing/source/vtown/deps/elogind/elogind.SlackBuild b/testing/source/vtown/deps/elogind/elogind.SlackBuild
new file mode 100755
index 00000000..abe6fefb
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/elogind.SlackBuild
@@ -0,0 +1,193 @@
+#!/bin/bash
+
+# Copyright 2016, 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=elogind
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Our nobody user has UIDNumber 99, not 65534:
+sed -e "s/65534/99/g" -i $(grep -lr 65534 .)
+
+# Launch elogind when called via DBus and make sure its rundir exists
+# (in Slackware, /run is mounted as a tmpfs):
+sed -i src/login/org.freedesktop.login1.service.in \
+ -e "s,/bin/false,/lib${LIBDIRSUFFIX}/elogind,"
+
+# Merge a pull request for an upstream fix:
+zcat $CWD/elogind-polkit.patch.gz | patch -p1 --verbose || exit 1
+
+# Thanks to Widya Walesa:
+# Slackware still using cgroup v1 or legacy mode. Check the outcome of:
+# [ $(stat -fc %T /sys/fs/cgroup/) = "cgroup2fs" ] && echo "unified" \
+# || ( [ -e /sys/fs/cgroup/unified/ ] && echo "hybrid" || echo "legacy")
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson \
+ --buildtype release \
+ --prefix /usr \
+ --libdir /usr/lib${LIBDIRSUFFIX} \
+ -Drootlibdir="/lib${LIBDIRSUFFIX}" \
+ -Drootlibexecdir="/lib${LIBDIRSUFFIX}/elogind" \
+ -Dudevrulesdir="/etc/udev/rules.d" \
+ -Ddocdir="/usr/doc/$PKGNAM-$VERSION" \
+ -Dhtmldir="/usr/doc/$PKGNAM-$VERSION/html" \
+ -Dmandir="/usr/man" \
+ -Dman=true \
+ -Dhtml=false \
+ -Dbashcompletiondir="/usr/share/bash-completion/completions" \
+ -Dnobody-group=nogroup \
+ -Dpam=true \
+ -Dpamlibdir="/lib${LIBDIRSUFFIX}/security" \
+ -Dpamconfdir="/etc/pam.d" \
+ -Dacl=true \
+ -Dsmack=false \
+ -Dutmp=true \
+ -Ddefault-hierarchy=legacy \
+ -Dcgroup-controller=elogind \
+ -Dhalt-path=/sbin/halt \
+ -Dpoweroff-path=/sbin/poweroff \
+ -Dreboot-path=/sbin/reboot \
+ -Ddefault-kill-user-processes=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Create symlinks for elogind binaries to /usr/bin/:
+mkdir -p $PKG/usr/bin
+ln -sf /bin/elogind-inhibit $PKG/usr/bin/elogind-inhibit
+ln -sf /bin/loginctl $PKG/usr/bin/loginctl
+
+# Make sure we do not overwrite the user's customizations:
+mv -i $PKG/etc/elogind/logind.conf{,.new}
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add an rc script:
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.elogind \
+ | sed -e "s/@LIBDIRSUFFIX@/${LIBDIRSUFFIX}/g" \
+ > $PKG/etc/rc.d/rc.elogind.new
+chmod 755 $PKG/etc/rc.d/rc.elogind.new
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/elogind/elogind.url b/testing/source/vtown/deps/elogind/elogind.url
new file mode 100644
index 00000000..b8940789
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/elogind.url
@@ -0,0 +1 @@
+https://github.com/elogind/elogind
diff --git a/testing/source/vtown/deps/elogind/rc.elogind b/testing/source/vtown/deps/elogind/rc.elogind
new file mode 100644
index 00000000..62884784
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/rc.elogind
@@ -0,0 +1,65 @@
+#!/bin/bash
+#
+# /etc/rc.d/rc.elogind
+# Initializes the elogind service on Slackware.
+# There is no need to explicitly start a daemon; this will be taken
+# care of automatically by dbus when that starts.
+#
+# Author:
+# Eric Hameleers <alien@slackware.com> 2016
+# Widya Walesa 2020
+#
+# Description:
+# We use elogind (standalone subset extracted from systemd) instead of
+# systemd itself; so we need to initialize a systemd-like state.
+#
+# Note:
+# Slackware has a tmpfs mounted on /run (see rc.S).
+#
+
+start_elogind() {
+ if [ -x /lib@LIBDIRSUFFIX@/elogind/elogind ]; then
+ if [ ! -d /run/user ]; then
+ mkdir -p /run/user
+ fi
+ if [ ! -d /run/systemd ]; then
+ mkdir -p /run/elogind /sys/fs/cgroup/elogind
+ ( cd /run; rm -rf systemd; ln -sf elogind systemd; )
+ ( cd /sys/fs/cgroup; rm -rf systemd; ln -sf elogind systemd; )
+ fi
+ if pgrep -l -F /run/elogind.pid 2>/dev/null | grep -q elogind; then
+ echo "Elogind is already running"
+ else
+ echo -n "Starting elogind: "
+ rm -f /run/elogind.pid
+ /lib@LIBDIRSUFFIX@/elogind/elogind --daemon
+ echo "/lib@LIBDIRSUFFIX@/elogind/elogind --daemon"
+ fi
+ fi
+}
+
+stop_elogind() {
+ if pgrep -l -F /run/elogind.pid 2>/dev/null | grep -q elogind; then
+ echo -n "Stopping elogind: "
+ pkill -F /run/elogind.pid 2>/dev/null
+ echo "DONE"
+ else
+ echo "Elogind is not running"
+ fi
+}
+
+case "$1" in
+ start)
+ start_elogind
+ ;;
+ stop)
+ stop_elogind
+ ;;
+ restart)
+ stop_elogind
+ sleep 1
+ start_elogind
+ ;;
+ *)
+ echo "Usage: $0 start|stop|restart"
+esac
diff --git a/testing/source/vtown/deps/elogind/slack-desc b/testing/source/vtown/deps/elogind/slack-desc
new file mode 100644
index 00000000..507776d5
--- /dev/null
+++ b/testing/source/vtown/deps/elogind/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+elogind: elogind (logind extracted from systemd)
+elogind:
+elogind: elogind is the systemd project's logind, extracted to a standalone
+elogind: package.
+elogind:
+elogind: Homepage: https://github.com/elogind/elogind
+elogind:
+elogind:
+elogind:
+elogind:
+elogind:
diff --git a/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.SlackBuild b/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.SlackBuild
new file mode 100755
index 00000000..90c011a7
--- /dev/null
+++ b/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=frei0r-plugins
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DWITHOUT_OPENCV=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* NEWS* *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.url b/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.url
new file mode 100644
index 00000000..df2f24ca
--- /dev/null
+++ b/testing/source/vtown/deps/frei0r-plugins/frei0r-plugins.url
@@ -0,0 +1 @@
+https://files.dyne.org/frei0r
diff --git a/testing/source/vtown/deps/frei0r-plugins/slack-desc b/testing/source/vtown/deps/frei0r-plugins/slack-desc
new file mode 100644
index 00000000..d7fe4b3c
--- /dev/null
+++ b/testing/source/vtown/deps/frei0r-plugins/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+frei0r-plugins: frei0r-plugins (API for video effects)
+frei0r-plugins:
+frei0r-plugins: Frei0r is a minimalistic plugin API for video effects. The main
+frei0r-plugins: emphasis is on simplicity for an API that will round up the most
+frei0r-plugins: common video effects into simple filters, sources, and mixers that can
+frei0r-plugins: be controlled by parameters. Its goal is that these simple effects can
+frei0r-plugins: be shared between many applications, avoiding their reimplementation
+frei0r-plugins: by different projects.
+frei0r-plugins:
+frei0r-plugins: Homepage: http://frei0r.dyne.org
+frei0r-plugins:
diff --git a/testing/source/vtown/deps/grantlee/grantlee.SlackBuild b/testing/source/vtown/deps/grantlee/grantlee.SlackBuild
new file mode 100755
index 00000000..64790513
--- /dev/null
+++ b/testing/source/vtown/deps/grantlee/grantlee.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+# Copyright 2015, 2016, 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=grantlee
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ cp -a AUTHORS* CHANGELOG* COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a CHANGELOG, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGELOG ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/CHANGELOG
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/grantlee/grantlee.url b/testing/source/vtown/deps/grantlee/grantlee.url
new file mode 100644
index 00000000..e78ca6f5
--- /dev/null
+++ b/testing/source/vtown/deps/grantlee/grantlee.url
@@ -0,0 +1 @@
+https://github.com/steveire/grantlee
diff --git a/testing/source/vtown/deps/grantlee/slack-desc b/testing/source/vtown/deps/grantlee/slack-desc
new file mode 100644
index 00000000..13666026
--- /dev/null
+++ b/testing/source/vtown/deps/grantlee/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+grantlee: grantlee (string template engine for Qt)
+grantlee:
+grantlee: Grantlee is a plugin based String Template system written with the Qt
+grantlee: framework. The goals of the project are to make it easier for
+grantlee: application developers to separate the structure of documents from the
+grantlee: data they contain, opening the door for theming.
+grantlee:
+grantlee: Homepage: https://github.com/steveire/grantlee
+grantlee:
+grantlee:
+grantlee:
diff --git a/testing/source/vtown/deps/kdsoap/kdsoap.SlackBuild b/testing/source/vtown/deps/kdsoap/kdsoap.SlackBuild
new file mode 100755
index 00000000..af6ab221
--- /dev/null
+++ b/testing/source/vtown/deps/kdsoap/kdsoap.SlackBuild
@@ -0,0 +1,121 @@
+#!/bin/bash
+
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=kdsoap
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PKGNAM-$VERSION \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* README.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/kdsoap/kdsoap.url b/testing/source/vtown/deps/kdsoap/kdsoap.url
new file mode 100644
index 00000000..dc0f8926
--- /dev/null
+++ b/testing/source/vtown/deps/kdsoap/kdsoap.url
@@ -0,0 +1 @@
+https://github.com/KDAB/KDSoap
diff --git a/testing/source/vtown/deps/kdsoap/slack-desc b/testing/source/vtown/deps/kdsoap/slack-desc
new file mode 100644
index 00000000..f272d0a9
--- /dev/null
+++ b/testing/source/vtown/deps/kdsoap/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdsoap: kdsoap (Qt-based client/server SOAP component)
+kdsoap:
+kdsoap: KD SOAP is a tool for creating client applications for web services.
+kdsoap: It also provides the means to create web services without the need for
+kdsoap: any further component such as a dedicated web server. It makes it
+kdsoap: possible to interact with applications which have APIs that can be
+kdsoap: exported as SOAP objects. The web service then provides a machine-
+kdsoap: accessible interface to its functionality via HTTP.
+kdsoap:
+kdsoap: Homepage:
+kdsoap: https://www.kdab.com/development-resources/qt-tools/kd-soap/
diff --git a/testing/source/vtown/deps/lensfun/lensfun.SlackBuild b/testing/source/vtown/deps/lensfun/lensfun.SlackBuild
new file mode 100755
index 00000000..6ba81173
--- /dev/null
+++ b/testing/source/vtown/deps/lensfun/lensfun.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/bash
+
+# Copyright 2009, 2010, 2012, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=lensfun
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_LENSTOOL=ON \
+ -DBUILD_FOR_SSE=ON \
+ -DBUILD_FOR_SSE2=ON \
+ -DBUILD_TESTS=OFF \
+ -DINSTALL_HELPER_SCRIPTS=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/lensfun/lensfun.url b/testing/source/vtown/deps/lensfun/lensfun.url
new file mode 100644
index 00000000..913b9f39
--- /dev/null
+++ b/testing/source/vtown/deps/lensfun/lensfun.url
@@ -0,0 +1 @@
+https://github.com/lensfun/lensfun
diff --git a/testing/source/vtown/deps/lensfun/slack-desc b/testing/source/vtown/deps/lensfun/slack-desc
new file mode 100644
index 00000000..e39b450f
--- /dev/null
+++ b/testing/source/vtown/deps/lensfun/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lensfun: lensfun (photographic lens info database)
+lensfun:
+lensfun: lensfun is a library that provide a open source database of
+lensfun: photographic lenses and their characteristics also provides a set of
+lensfun: algorithms for correcting images based on detailed knowledge of lens
+lensfun: properties and calibration data.
+lensfun:
+lensfun: Homepage: http://lensfun.sourceforge.net
+lensfun:
+lensfun:
+lensfun:
diff --git a/testing/source/vtown/deps/libappindicator/libappindicator.SlackBuild b/testing/source/vtown/deps/libappindicator/libappindicator.SlackBuild
new file mode 100755
index 00000000..79ffe9ba
--- /dev/null
+++ b/testing/source/vtown/deps/libappindicator/libappindicator.SlackBuild
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libappindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+for file in bindings/python/Makefile.in bindings/python/Makefile.am example/Makefile.in example/Makefile.am src/Makefile.in src/Makefile.am tests/Makefile.in tests/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ $* \
+ --build=$ARCH-slackware-linux || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libappindicator/slack-desc b/testing/source/vtown/deps/libappindicator/slack-desc
new file mode 100644
index 00000000..895eb5f4
--- /dev/null
+++ b/testing/source/vtown/deps/libappindicator/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libappindicator: libappindicator (Plasma 5 systray support for GTK apps)
+libappindicator:
+libappindicator: A library to allow applications to export a menu into the system tray.
+libappindicator: Based on KSNI, it also works in KDE and will fallback to generic
+libappindicator: systray support (xembed) if none of those are available.
+libappindicator:
+libappindicator: Homepage: https://launchpad.net/libappindicator
+libappindicator:
+libappindicator:
+libappindicator:
+libappindicator:
diff --git a/testing/source/vtown/deps/libburn/libburn.SlackBuild b/testing/source/vtown/deps/libburn/libburn.SlackBuild
new file mode 100755
index 00000000..54eb66df
--- /dev/null
+++ b/testing/source/vtown/deps/libburn/libburn.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2017, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libburn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* CONTRIBUTORS* COPYING* COPYRIGHT* ChangeLog NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libburn/libburn.url b/testing/source/vtown/deps/libburn/libburn.url
new file mode 100644
index 00000000..02c4e769
--- /dev/null
+++ b/testing/source/vtown/deps/libburn/libburn.url
@@ -0,0 +1 @@
+http://files.libburnia-project.org/releases/
diff --git a/testing/source/vtown/deps/libburn/slack-desc b/testing/source/vtown/deps/libburn/slack-desc
new file mode 100644
index 00000000..6c68d4a5
--- /dev/null
+++ b/testing/source/vtown/deps/libburn/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libburn: libburn (optical media writing library)
+libburn:
+libburn: libburn is a library for writing preformatted data onto optical media
+libburn: such as CD, DVD and BD (Blu-Ray). Libburn also offers a facility for
+libburn: reading data blocks from optical drives without using the normal block
+libburn: device I/O.
+libburn:
+libburn: Homepage: https://dev.lovelyhq.com/libburnia/libburn
+libburn:
+libburn:
+libburn:
diff --git a/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.SlackBuild b/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
new file mode 100755
index 00000000..5bfec23b
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/bash
+
+# Copyright 2010, 2011, 2012, 2014, 2015, 2017, 2020 Eric Hameleers, Eindhoven, The Netherlands
+# Copyright 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This project has moved to https://launchpad.net/libdbusmenu-qt
+# Get the latest code with:
+# bzr branch lp:libdbusmenu-qt
+#
+# Get version number from
+# grep dbusmenu_qt_VERSION dbusmenu-qt/CMakeLists.txt
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libdbusmenu-qt
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z | rev | cut -f 4- -d . | cut -f 1 -d _ | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/${PKGNAM}_${VERSION}.orig.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 \
+ PATH=$QTDIR/bin:$PATH \
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DUSE_QT4:BOOL=FALSE \
+ -DUSE_QT5:BOOL=TRUE \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Don't package API docs:
+rm -rf $PKG/usr/share/doc
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.url b/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.url
new file mode 100644
index 00000000..57ed56db
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu-qt/libdbusmenu-qt.url
@@ -0,0 +1 @@
+http://archive.ubuntu.com/ubuntu/pool/main/libd/libdbusmenu-qt/
diff --git a/testing/source/vtown/deps/libdbusmenu-qt/slack-desc b/testing/source/vtown/deps/libdbusmenu-qt/slack-desc
new file mode 100644
index 00000000..508d674c
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu-qt/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libdbusmenu-qt: libdbusmenu-qt (Qt implementation of the DBusMenu spec)
+libdbusmenu-qt:
+libdbusmenu-qt: This library provides a Qt implementation of the DBusMenu protocol.
+libdbusmenu-qt: The DBusMenu protocol makes it possible for applications to export
+libdbusmenu-qt: and import their menus over DBus.
+libdbusmenu-qt:
+libdbusmenu-qt: Homepage: https://launchpad.net/libdbusmenu-qt
+libdbusmenu-qt:
+libdbusmenu-qt:
+libdbusmenu-qt:
+libdbusmenu-qt:
diff --git a/testing/source/vtown/deps/libdbusmenu/libdbusmenu.SlackBuild b/testing/source/vtown/deps/libdbusmenu/libdbusmenu.SlackBuild
new file mode 100755
index 00000000..cda28240
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu/libdbusmenu.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015, 2018 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libdbusmenu
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/libdbusmenu_configure_valgrind.patch.gz | patch -p1 --verbose || exit 1
+
+for file in libdbusmenu-glib/Makefile.in libdbusmenu-glib/Makefile.am libdbusmenu-gtk/Makefile.in libdbusmenu-gtk/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/testapp/Makefile.in tools/testapp/Makefile.am tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --disable-tests \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libdbusmenu/libdbusmenu_configure_valgrind.patch b/testing/source/vtown/deps/libdbusmenu/libdbusmenu_configure_valgrind.patch
new file mode 100644
index 00000000..a5787781
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu/libdbusmenu_configure_valgrind.patch
@@ -0,0 +1,35 @@
+From 4b79b41a25cc1e2c4355738b4bed6c73b919ffee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 6 Aug 2017 17:55:45 +0200
+Subject: [PATCH] configure: Fix HAVE_VALGRIND not being defined when tests are
+ disabled
+
+If --disable-tests is used, configure fails with the following error:
+
+ configure: error: conditional "HAVE_VALGRIND" was never defined.
+ Usually this means the macro was only invoked conditionally.
+
+This is because AM_CONDITIONAL for it is called inside the 'if' for
+tests being enabled. Move it just below that block to ensure that it's
+defined unconditionally.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ace54d1..cbd38a6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,8 +120,8 @@ PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION
+ [have_tests=yes]
+ )
+ PKG_CHECK_MODULES(DBUSMENUTESTSVALGRIND, valgrind, have_valgrind=yes, have_valgrind=no)
+-AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+ ])
++AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+
+ AC_SUBST(DBUSMENUTESTS_CFLAGS)
+ AC_SUBST(DBUSMENUTESTS_LIBS)
+--
+2.14.0
+
diff --git a/testing/source/vtown/deps/libdbusmenu/slack-desc b/testing/source/vtown/deps/libdbusmenu/slack-desc
new file mode 100644
index 00000000..9bc6ed9f
--- /dev/null
+++ b/testing/source/vtown/deps/libdbusmenu/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libdbusmenu: libdbusmenu (GTK DBusMenu protocol)
+libdbusmenu:
+libdbusmenu: A small library that was created by pulling out some common code out
+libdbusmenu: of indicator-applet. It passes a menu structure across DBus so that a
+libdbusmenu: program can create a menu without worrying about how it is displayed
+libdbusmenu: on the other side of the bus.
+libdbusmenu:
+libdbusmenu: Homepage: https://launchpad.net/libdbusmenu
+libdbusmenu:
+libdbusmenu:
+libdbusmenu:
diff --git a/testing/source/vtown/deps/libdmtx/libdmtx.SlackBuild b/testing/source/vtown/deps/libdmtx/libdmtx.SlackBuild
new file mode 100755
index 00000000..c13e1e8b
--- /dev/null
+++ b/testing/source/vtown/deps/libdmtx/libdmtx.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libdmtx
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* KNOWNBUG* LICENSE* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libdmtx/libdmtx.url b/testing/source/vtown/deps/libdmtx/libdmtx.url
new file mode 100644
index 00000000..b2baaf77
--- /dev/null
+++ b/testing/source/vtown/deps/libdmtx/libdmtx.url
@@ -0,0 +1 @@
+https://github.com/dmtx/libdmtx
diff --git a/testing/source/vtown/deps/libdmtx/slack-desc b/testing/source/vtown/deps/libdmtx/slack-desc
new file mode 100644
index 00000000..3846d4de
--- /dev/null
+++ b/testing/source/vtown/deps/libdmtx/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libdmtx: libdmtx (Data Matrix barcode library)
+libdmtx:
+libdmtx: libdmtx is a library that enables programs to read and write Data
+libdmtx: Matrix barcodes of the modern ECC200 variety. The utility programs
+libdmtx: dmtxread and dmtxwrite also provide a command line interface for
+libdmtx: libdmtx, and serve as a good reference for developers writing their
+libdmtx: own libdmtx-enabled programs.
+libdmtx:
+libdmtx: Homepage: https://github.com/dmtx/libdmtx
+libdmtx:
+libdmtx:
diff --git a/testing/source/vtown/deps/libindicator/libindicator.LIBM.diff b/testing/source/vtown/deps/libindicator/libindicator.LIBM.diff
new file mode 100644
index 00000000..fae77e3a
--- /dev/null
+++ b/testing/source/vtown/deps/libindicator/libindicator.LIBM.diff
@@ -0,0 +1,11 @@
+--- ./configure.ac.orig 2012-09-19 10:38:40.047378393 -0500
++++ ./configure.ac 2020-10-10 13:41:31.782774168 -0500
+@@ -66,7 +66,7 @@
+ AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
+
+ LT_LIB_M
+-LIBINDICATOR_LIBS+="$LIBM"
++LIBINDICATOR_LIBS+=" $LIBM"
+
+ ##############################
+ # Custom Junk
diff --git a/testing/source/vtown/deps/libindicator/libindicator.SlackBuild b/testing/source/vtown/deps/libindicator/libindicator.SlackBuild
new file mode 100755
index 00000000..c212e634
--- /dev/null
+++ b/testing/source/vtown/deps/libindicator/libindicator.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/libindicator.LIBM.diff.gz | patch -p1 --verbose || exit 1
+
+for file in libindicator/Makefile.in libindicator/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libindicator/slack-desc b/testing/source/vtown/deps/libindicator/slack-desc
new file mode 100644
index 00000000..e28015fa
--- /dev/null
+++ b/testing/source/vtown/deps/libindicator/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libindicator: libindicator (support functions for indicators)
+libindicator:
+libindicator: A set of symbols and convenience functions that all indicators would
+libindicator: like to use.
+libindicator:
+libindicator: Homepage: https://launchpad.net/libindicator
+libindicator:
+libindicator:
+libindicator:
+libindicator:
+libindicator:
diff --git a/testing/source/vtown/deps/libqalculate/libqalculate.SlackBuild b/testing/source/vtown/deps/libqalculate/libqalculate.SlackBuild
new file mode 100755
index 00000000..6ee78cca
--- /dev/null
+++ b/testing/source/vtown/deps/libqalculate/libqalculate.SlackBuild
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libqalculate
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --with-libcurl \
+ --with-icu \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libqalculate/libqalculate.url b/testing/source/vtown/deps/libqalculate/libqalculate.url
new file mode 100644
index 00000000..718016a1
--- /dev/null
+++ b/testing/source/vtown/deps/libqalculate/libqalculate.url
@@ -0,0 +1 @@
+https://github.com/Qalculate/libqalculate
diff --git a/testing/source/vtown/deps/libqalculate/slack-desc b/testing/source/vtown/deps/libqalculate/slack-desc
new file mode 100644
index 00000000..b01a3e8f
--- /dev/null
+++ b/testing/source/vtown/deps/libqalculate/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libqalculate: libqalculate (multi-purpose calculator library)
+libqalculate:
+libqalculate: Qalculate! is a multi-purpose desktop calculator. It is small and
+libqalculate: simple to use but with much power and versatility underneath. Features
+libqalculate: include customizable functions, units, arbitrary precision, and
+libqalculate: plotting. This package includes the library and a command-line
+libqalculate: interface.
+libqalculate:
+libqalculate: Homepage: http://qalculate.github.io/
+libqalculate:
+libqalculate:
diff --git a/testing/source/vtown/deps/libsass/libsass.SlackBuild b/testing/source/vtown/deps/libsass/libsass.SlackBuild
new file mode 100755
index 00000000..b2564e60
--- /dev/null
+++ b/testing/source/vtown/deps/libsass/libsass.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libsass
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* LICENSE* *.md \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/libsass/libsass.url b/testing/source/vtown/deps/libsass/libsass.url
new file mode 100644
index 00000000..dcecdede
--- /dev/null
+++ b/testing/source/vtown/deps/libsass/libsass.url
@@ -0,0 +1 @@
+https://github.com/sass/libsass
diff --git a/testing/source/vtown/deps/libsass/slack-desc b/testing/source/vtown/deps/libsass/slack-desc
new file mode 100644
index 00000000..04fb9aeb
--- /dev/null
+++ b/testing/source/vtown/deps/libsass/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libsass: libsass (Sass library for C/C++)
+libsass:
+libsass: This is a library implementing Sass (a CSS pre-processor) in C/C++.
+libsass: It is used by SassC, which is the official lightweight CLI tool built
+libsass: by the same people as LibSass.
+libsass:
+libsass: Homepage: https://libsass.org
+libsass:
+libsass:
+libsass:
+libsass:
diff --git a/testing/source/vtown/deps/mlt/mlt.SlackBuild b/testing/source/vtown/deps/mlt/mlt.SlackBuild
new file mode 100755
index 00000000..96f3f9e0
--- /dev/null
+++ b/testing/source/vtown/deps/mlt/mlt.SlackBuild
@@ -0,0 +1,153 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=mlt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+PYTHONSITEPKG=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --avformat-swscale \
+ --disable-debug \
+ --enable-gpl \
+ --enable-gpl3 \
+ --enable-motion-est \
+ --enable-opencv \
+ --enable-qt \
+ --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \
+ --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \
+ --swig-languages="python" \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install the extensions we enabled:
+install -D -m0755 src/swig/python/_mlt.so $PKG/$PYTHONSITEPKG/_mlt.so
+install -D -m0755 src/swig/python/mlt_wrap.o $PKG/$PYTHONSITEPKG/mlt_wrap.o
+install -D -m0755 src/swig/python/mlt.py $PKG/$PYTHONSITEPKG/mlt.py
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* GPL* NEWS* README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/mlt/mlt.deps b/testing/source/vtown/deps/mlt/mlt.deps
new file mode 100644
index 00000000..9c0527b3
--- /dev/null
+++ b/testing/source/vtown/deps/mlt/mlt.deps
@@ -0,0 +1,4 @@
+frei0r-plugins
+opencv
+qt5
+vid.stab
diff --git a/testing/source/vtown/deps/mlt/mlt.url b/testing/source/vtown/deps/mlt/mlt.url
new file mode 100644
index 00000000..e2907785
--- /dev/null
+++ b/testing/source/vtown/deps/mlt/mlt.url
@@ -0,0 +1 @@
+https://github.com/mltframework/mlt
diff --git a/testing/source/vtown/deps/mlt/slack-desc b/testing/source/vtown/deps/mlt/slack-desc
new file mode 100644
index 00000000..debc9002
--- /dev/null
+++ b/testing/source/vtown/deps/mlt/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mlt: mlt (open source multimedia framework)
+mlt:
+mlt: MLT is an open source multimedia framework, designed and developed for
+mlt: television broadcasting. It provides a toolkit for broadcasters, video
+mlt: editors, media players, transcoders, web streamers, and many more
+mlt: types of applications. The functionality of the system is provided via
+mlt: an assortment of ready to use tools, XML authoring components, and an
+mlt: extensible plug-in based API.
+mlt:
+mlt: Homepage: http://www.mltframework.org/
+mlt:
diff --git a/testing/source/vtown/deps/opencv/opencv.SlackBuild b/testing/source/vtown/deps/opencv/opencv.SlackBuild
new file mode 100755
index 00000000..7f7ef951
--- /dev/null
+++ b/testing/source/vtown/deps/opencv/opencv.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2015, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=opencv
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+tar xvf $CWD/${PKGNAM}_contrib-${VERSION}.tar.?z || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_MAN_DIR=man \
+ -DINSTALL_DOC_DIR=doc/$PKGNAM-$VERSION \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
+ -DBUILD_CUDA_STUBS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ -DBUILD_PERF_TESTS=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_WITH_DEBUG_INFO=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DWITH_CUDA=OFF \
+ -DWITH_FFMPEG=ON \
+ -DWITH_GDAL=OFF \
+ -DWITH_IPP=OFF \
+ -DWITH_OPENGL=ON \
+ -DWITH_OPENMP=ON \
+ -DWITH_QT=ON \
+ -DWITH_XINE=ON \
+ -DOPENCV_ENABLE_NONFREE=ON \
+ -DOPENCV_EXTRA_MODULES_PATH=../${PKGNAM}_contrib-$VERSION/modules \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_JNI_INSTALL_PATH=lib${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# COMMENTED OUT as mlt finds opencv4.pc just fine.
+# Add a symlink to opencv.pc to make eg. mlt find it:
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf opencv4.pc opencv.pc )
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+mv $PKG/usr/share/licenses $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/opencv/opencv.url b/testing/source/vtown/deps/opencv/opencv.url
new file mode 100644
index 00000000..db4af844
--- /dev/null
+++ b/testing/source/vtown/deps/opencv/opencv.url
@@ -0,0 +1,2 @@
+https://github.com/Itseez/opencv
+https://github.com/Itseez/opencv_contrib
diff --git a/testing/source/vtown/deps/opencv/slack-desc b/testing/source/vtown/deps/opencv/slack-desc
new file mode 100644
index 00000000..930e8d93
--- /dev/null
+++ b/testing/source/vtown/deps/opencv/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+opencv: OpenCV (Open Source Computer Vision)
+opencv:
+opencv: OpenCV is a collection of algorithms and sample code for various
+opencv: computer vision problems.
+opencv:
+opencv: Homepage: http://opencv.willowgarage.com
+opencv:
+opencv:
+opencv:
+opencv:
+opencv:
diff --git a/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild b/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
new file mode 100755
index 00000000..94f5cd7b
--- /dev/null
+++ b/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+# Copyright 2011, 2012, 2014, 2015, 2016, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=phonon-backend-gstreamer
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* gstreamer/lgpl-* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.url b/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.url
new file mode 100644
index 00000000..6d6621d7
--- /dev/null
+++ b/testing/source/vtown/deps/phonon-backend-gstreamer/phonon-backend-gstreamer.url
@@ -0,0 +1 @@
+http://download.kde.org/stable/phonon/phonon-backend-gstreamer/
diff --git a/testing/source/vtown/deps/phonon-backend-gstreamer/slack-desc b/testing/source/vtown/deps/phonon-backend-gstreamer/slack-desc
new file mode 100644
index 00000000..bb76521f
--- /dev/null
+++ b/testing/source/vtown/deps/phonon-backend-gstreamer/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+phonon-backend-gstreamer: phonon-backend-gstreamer (gstreamer backend for phonon)
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: This package provides an additional gstreamer backend for the phonon
+phonon-backend-gstreamer: multimedia framework used in KDE.
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: Homepage: https://invent.kde.org/libraries/phonon-gstreamer
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
diff --git a/testing/source/vtown/deps/phonon/phonon.SlackBuild b/testing/source/vtown/deps/phonon/phonon.SlackBuild
new file mode 100755
index 00000000..9adade3c
--- /dev/null
+++ b/testing/source/vtown/deps/phonon/phonon.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/sh
+
+# Copyright 2008 Robby Workman, Northport, Alabama, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=phonon
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# Configure for ALSA only if PulseAudio is not installed:
+if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then
+ TAG="_alsa"
+ PULSEAUDIO=OFF
+else
+ PULSEAUDIO=ON
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Qt5 is the only supported version as of 4.11.0:
+mkdir build-qt5
+cd build-qt5
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT:BOOL=ON \
+ -DPHONON_QT_PLUGIN_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins/designer \
+ -DWITH_QZeitgeist=BOOL:OFF \
+ -DWITH_PulseAudio=BOOL:${PULSEAUDIO} \
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
+ ..
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a doc/{BUGS,IDEAS,TODO} $PKG/usr/doc/$PKGNAM-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz
diff --git a/testing/source/vtown/deps/phonon/phonon.deps b/testing/source/vtown/deps/phonon/phonon.deps
new file mode 100644
index 00000000..bc90dbd9
--- /dev/null
+++ b/testing/source/vtown/deps/phonon/phonon.deps
@@ -0,0 +1 @@
+extra-cmake-modules
diff --git a/testing/source/vtown/deps/phonon/phonon.url b/testing/source/vtown/deps/phonon/phonon.url
new file mode 100644
index 00000000..f0620e58
--- /dev/null
+++ b/testing/source/vtown/deps/phonon/phonon.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/phonon/
diff --git a/testing/source/vtown/deps/phonon/slack-desc b/testing/source/vtown/deps/phonon/slack-desc
new file mode 100644
index 00000000..253c95ad
--- /dev/null
+++ b/testing/source/vtown/deps/phonon/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+phonon: phonon (multimedia framework for KDE)
+phonon:
+phonon: Phonon is the multimedia API provided by Qt and is the standard
+phonon: abstraction for handling multimedia streams within the KDE Software
+phonon: Compilation. Phonon provides an API for multimedia using various
+phonon: backends (e.g. GStreamer or VLC) to handle the lower level I/O.
+phonon:
+phonon: Homepage: http://phonon.kde.org
+phonon:
+phonon:
+phonon:
diff --git a/testing/source/vtown/deps/pipewire/doinst.sh b/testing/source/vtown/deps/pipewire/doinst.sh
new file mode 100644
index 00000000..50765972
--- /dev/null
+++ b/testing/source/vtown/deps/pipewire/doinst.sh
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/pipewire/pipewire.conf.new
+
diff --git a/testing/source/vtown/deps/pipewire/pipewire.SlackBuild b/testing/source/vtown/deps/pipewire/pipewire.SlackBuild
new file mode 100755
index 00000000..7b7d2a6d
--- /dev/null
+++ b/testing/source/vtown/deps/pipewire/pipewire.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=pipewire
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Djack=false \
+ -Dpipewire-jack=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Do not clobber custom configurations:
+mv $PKG/etc/pipewire/pipewire.conf{,.new}
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CODE_OF_CONDUCT* COPYING* INSTALL* LICENSE* NEWS* PROTOCOL* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/pipewire/pipewire.url b/testing/source/vtown/deps/pipewire/pipewire.url
new file mode 100644
index 00000000..c9f6477e
--- /dev/null
+++ b/testing/source/vtown/deps/pipewire/pipewire.url
@@ -0,0 +1 @@
+https://gitlab.freedesktop.org/pipewire/pipewire
diff --git a/testing/source/vtown/deps/pipewire/slack-desc b/testing/source/vtown/deps/pipewire/slack-desc
new file mode 100644
index 00000000..180d5602
--- /dev/null
+++ b/testing/source/vtown/deps/pipewire/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+pipewire: pipewire (multimedia processing)
+pipewire:
+pipewire: PipeWire is a project that aims to greatly improve handling of audio
+pipewire: and video under Linux. It provides a low-latency, graph based
+pipewire: processing engine on top of audio and video devices that can be used
+pipewire: to support the use cases currently handled by both pulseaudio and
+pipewire: JACK. PipeWire was designed with a powerful security model
+pipewire: particularly suited for containerized applications.
+pipewire:
+pipewire: Homepage: https://pipewire.org/
+pipewire:
diff --git a/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.SlackBuild b/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.SlackBuild
new file mode 100755
index 00000000..b388a0cf
--- /dev/null
+++ b/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/bash
+
+# Copyright 2009, 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=polkit-qt-1
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.url b/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.url
new file mode 100644
index 00000000..5f88bb43
--- /dev/null
+++ b/testing/source/vtown/deps/polkit-qt-1/polkit-qt-1.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/polkit-qt-1
diff --git a/testing/source/vtown/deps/polkit-qt-1/slack-desc b/testing/source/vtown/deps/polkit-qt-1/slack-desc
new file mode 100644
index 00000000..f1fdd088
--- /dev/null
+++ b/testing/source/vtown/deps/polkit-qt-1/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+polkit-qt-1: polkit-qt-1 (Qt polkit API wrapper)
+polkit-qt-1:
+polkit-qt-1: polkit-qt-1 aims to make it easy for Qt developers to take advantage
+polkit-qt-1: of the polkit API. It is a convenience wrapper around QAction and
+polkit-qt-1: QAbstractButton that lets you integrate those two components easily
+polkit-qt-1: with polkit.
+polkit-qt-1:
+polkit-qt-1: Homepage: https://projects.kde.org/projects/kdesupport/polkit-qt-1/
+polkit-qt-1:
+polkit-qt-1:
+polkit-qt-1:
diff --git a/testing/source/vtown/deps/polkit/0001-configure-fix-elogind-support.patch b/testing/source/vtown/deps/polkit/0001-configure-fix-elogind-support.patch
new file mode 100644
index 00000000..4c40bd9b
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/0001-configure-fix-elogind-support.patch
@@ -0,0 +1,29 @@
+From 08bb656496cd3d6213bbe9473f63f2d4a110da6e Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <cogitri@exherbo.org>
+Date: Wed, 11 Apr 2018 13:14:14 +0200
+Subject: [PATCH] configure: fix elogind support
+
+HAVE_LIBSYSTEMD is used to determine which source files to use.
+We have to check if either have_libsystemd or have_libelogind is
+true, as both of these need the source files which are used when
+HAVE_LIBSYSTEMD is true.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 36df239..da47ecb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -221,7 +221,7 @@ AS_IF([test "x$cross_compiling" != "xyes" ], [
+
+ AC_SUBST(LIBSYSTEMD_CFLAGS)
+ AC_SUBST(LIBSYSTEMD_LIBS)
+-AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes"], [Using libsystemd])
++AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes" || test "$have_libelogind" = "yes" ], [Using libsystemd])
+
+ dnl ---------------------------------------------------------------------------
+ dnl - systemd unit / service files
+--
+2.17.0
+
diff --git a/testing/source/vtown/deps/polkit/10-org.freedesktop.NetworkManager.rules b/testing/source/vtown/deps/polkit/10-org.freedesktop.NetworkManager.rules
new file mode 100644
index 00000000..9d6557b3
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/10-org.freedesktop.NetworkManager.rules
@@ -0,0 +1,7 @@
+polkit.addRule(function(action, subject) {
+ if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 &&
+ subject.isInGroup("netdev")) {
+ return polkit.Result.YES;
+ }
+});
+
diff --git a/testing/source/vtown/deps/polkit/20-plugdev-group-mount-override.rules b/testing/source/vtown/deps/polkit/20-plugdev-group-mount-override.rules
new file mode 100644
index 00000000..c47a66cf
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/20-plugdev-group-mount-override.rules
@@ -0,0 +1,16 @@
+/* http://udisks.freedesktop.org/docs/latest/udisks-polkit-actions.html */
+
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.udisks2.filesystem-mount" &&
+ subject.isInGroup("plugdev")) {
+ return polkit.Result.YES;
+ }
+});
+
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.udisks2.eject-media" &&
+ subject.isInGroup("plugdev")) {
+ return polkit.Result.YES;
+ }
+});
+
diff --git a/testing/source/vtown/deps/polkit/doinst.sh b/testing/source/vtown/deps/polkit/doinst.sh
new file mode 100644
index 00000000..ebcfef74
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/doinst.sh
@@ -0,0 +1,33 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/polkit-1/rules.d/20-plugdev-group-mount-override.rules.new
+config etc/polkit-1/rules.d/10-org.freedesktop.NetworkManager.rules.new
+if [ -r etc/pam.d/polkit-1.new ]; then
+ config etc/pam.d/polkit-1.new
+fi
+
+# Make sure the polkitd user and group exist:
+if ! grep -q "^polkitd:" etc/passwd ; then
+ echo "polkitd:x:87:87:PolicyKit daemon owner:/var/lib/polkit:/bin/false" >> etc/passwd
+fi
+if ! grep -q "^polkitd:" etc/group ; then
+ echo "polkitd:x:87:" >> etc/group
+fi
+
+# Remove obsolete rules:
+rm -f etc/polkit-1/localauthority/50-local.d/*.pkla{,.new}
+rm -f etc/polkit-1/rules.d/*.pkla{,.new}
+
+# Remove obsolete directory:
+rmdir etc/polkit-1/localauthority/50-local.d 2> /dev/null
+rmdir etc/polkit-1/localauthority 2> /dev/null
+
diff --git a/testing/source/vtown/deps/polkit/dont-set-wheel-group-as-admin.diff b/testing/source/vtown/deps/polkit/dont-set-wheel-group-as-admin.diff
new file mode 100644
index 00000000..6a86ac28
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/dont-set-wheel-group-as-admin.diff
@@ -0,0 +1,10 @@
+diff -Nur polkit-0.112.orig/src/polkitbackend/50-default.rules polkit-0.112/src/polkitbackend/50-default.rules
+--- polkit-0.112.orig/src/polkitbackend/50-default.rules 2013-04-29 12:28:57.000000000 -0500
++++ polkit-0.112/src/polkitbackend/50-default.rules 2015-01-01 23:32:40.154400050 -0600
+@@ -8,5 +8,5 @@
+ // about configuring polkit.
+
+ polkit.addAdminRule(function(action, subject) {
+- return ["unix-group:wheel"];
++ return ["unix-user:root"];
+ });
diff --git a/testing/source/vtown/deps/polkit/polkit.SlackBuild b/testing/source/vtown/deps/polkit/polkit.SlackBuild
new file mode 100755
index 00000000..511a0e30
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/polkit.SlackBuild
@@ -0,0 +1,195 @@
+#!/bin/bash
+
+# Copyright 2009, 2011, 2015 Robby Workman, Northport, Alabama, USA
+# Copyright 2010 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2011, 2012, 2013, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=polkit
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/dont-set-wheel-group-as-admin.diff.gz | patch -p1 || exit 1
+
+# https://gitlab.freedesktop.org/polkit/polkit/-/issues/29
+zcat $CWD/0001-configure-fix-elogind-support.patch.gz | patch -p1 || exit 1
+
+# If we get here and don't have a polkitd user/group, add one.
+# Otherwise a few directories in the package will have wrong permissions.
+if ! grep -q "^polkitd:" /etc/passwd ; then
+ groupadd -fg 87 polkitd
+ useradd -c "PolicyKit daemon owner" -d /var/lib/polkit -u 87 -g polkitd -s /bin/false polkitd
+fi
+
+# Choose correct options depending on whether PAM is installed:
+if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
+ PAM_OPTIONS="--with-authfw=pam --with-pam-module-dir=/lib${LIBDIRSUFFIX}/security"
+ unset SHADOW_OPTIONS
+else
+ unset PAM_OPTIONS
+ SHADOW_OPTIONS="--with-authfw=shadow"
+fi
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
+LIBELOGIND_CFLAGS="$(pkg-config --cflags libelogind)" \
+LIBELOGIND_LIBS="$(pkg-config --libs libelogind)" \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-man-pages \
+ --enable-gtk-doc \
+ --mandir=/usr/man \
+ --disable-static \
+ --disable-examples \
+ --enable-introspection \
+ --enable-libsystemd-login=no \
+ --enable-libelogind=yes \
+ $PAM_OPTIONS \
+ $SHADOW_OPTIONS \
+ --enable-verbose-mode \
+ --with-os-type=Slackware \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Create homedir for polkit. This is mentioned in /etc/passwd, but isn't
+# actually used for anything later. Perms don't matter.
+mkdir -p $PKG/var/lib/polkit
+
+# Add default policy files for udisks2 and NetworkManager events:
+cat $CWD/10-org.freedesktop.NetworkManager.rules > $PKG/etc/polkit-1/rules.d/10-org.freedesktop.NetworkManager.rules.new
+cat $CWD/20-plugdev-group-mount-override.rules > $PKG/etc/polkit-1/rules.d/20-plugdev-group-mount-override.rules.new
+
+if [ ! -z "$PAM_OPTIONS" ]; then
+ # Make the PAM file .new:
+ mv $PKG/etc/pam.d/polkit-1 $PKG/etc/pam.d/polkit-1.new
+fi
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING HACKING INSTALL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+( cd $PKG/usr/doc/$PKGNAM-$VERSION; ln -s ../../share/gtk-doc/html/polkit-1 html )
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/polkit/slack-desc b/testing/source/vtown/deps/polkit/slack-desc
new file mode 100644
index 00000000..5eb518d6
--- /dev/null
+++ b/testing/source/vtown/deps/polkit/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+polkit: polkit (authentication framework)
+polkit:
+polkit: PolicyKit is an application-level toolkit for defining and handling
+polkit: the policy that allows unprivileged processes to speak to privileged
+polkit: processes. PolicyKit is specifically targeting applications in rich
+polkit: desktop environments on multi-user UNIX-like operating systems.
+polkit:
+polkit: Homepage: http://www.freedesktop.org/wiki/Software/polkit
+polkit:
+polkit:
+polkit:
diff --git a/testing/source/vtown/deps/qrencode/qrencode.SlackBuild b/testing/source/vtown/deps/qrencode/qrencode.SlackBuild
new file mode 100755
index 00000000..76293e42
--- /dev/null
+++ b/testing/source/vtown/deps/qrencode/qrencode.SlackBuild
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Copyright 2014, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qrencode
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --without-tests \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog COPYING* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/qrencode/qrencode.url b/testing/source/vtown/deps/qrencode/qrencode.url
new file mode 100644
index 00000000..fb85876b
--- /dev/null
+++ b/testing/source/vtown/deps/qrencode/qrencode.url
@@ -0,0 +1 @@
+http://fukuchi.org/works/qrencode
diff --git a/testing/source/vtown/deps/qrencode/slack-desc b/testing/source/vtown/deps/qrencode/slack-desc
new file mode 100644
index 00000000..ec109565
--- /dev/null
+++ b/testing/source/vtown/deps/qrencode/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+qrencode: qrencode (QR Code encoding library)
+qrencode:
+qrencode: Libqrencode is a library for encoding data in a QR Code symbol, a kind
+qrencode: of 2D symbology that can be scanned by handy terminals such as a
+qrencode: mobile phone camera. The capacity of QR Code is up to 7000 digits or
+qrencode: 4000 characters, and has high robustness.
+qrencode:
+qrencode: Homepage: http://fukuchi.org/works/qrencode
+qrencode:
+qrencode:
+qrencode:
diff --git a/testing/source/vtown/deps/qtkeychain/qtkeychain.SlackBuild b/testing/source/vtown/deps/qtkeychain/qtkeychain.SlackBuild
new file mode 100755
index 00000000..1d1175af
--- /dev/null
+++ b/testing/source/vtown/deps/qtkeychain/qtkeychain.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qtkeychain
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* ChangeLog* ReadMe* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/qtkeychain/qtkeychain.url b/testing/source/vtown/deps/qtkeychain/qtkeychain.url
new file mode 100644
index 00000000..7fcebc24
--- /dev/null
+++ b/testing/source/vtown/deps/qtkeychain/qtkeychain.url
@@ -0,0 +1 @@
+https://github.com/frankosterfeld/qtkeychain
diff --git a/testing/source/vtown/deps/qtkeychain/slack-desc b/testing/source/vtown/deps/qtkeychain/slack-desc
new file mode 100644
index 00000000..8bc91eca
--- /dev/null
+++ b/testing/source/vtown/deps/qtkeychain/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qtkeychain: qtkeychain (Qt password storage API)
+qtkeychain:
+qtkeychain: QtKeychain is a Qt API to store passwords and other secret data
+qtkeychain: securely. If running, GNOME Keyring is used, otherwise qtkeychain
+qtkeychain: tries to use KWallet (via D-Bus), if available.
+qtkeychain:
+qtkeychain: Homepage: https://github.com/frankosterfeld/qtkeychain
+qtkeychain:
+qtkeychain:
+qtkeychain:
+qtkeychain:
diff --git a/testing/source/vtown/deps/quazip/quazip.SlackBuild b/testing/source/vtown/deps/quazip/quazip.SlackBuild
new file mode 100755
index 00000000..b3db636a
--- /dev/null
+++ b/testing/source/vtown/deps/quazip/quazip.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=quazip
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Don't ship static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CONTRIBUTING* COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/quazip/quazip.url b/testing/source/vtown/deps/quazip/quazip.url
new file mode 100644
index 00000000..11f0b1e6
--- /dev/null
+++ b/testing/source/vtown/deps/quazip/quazip.url
@@ -0,0 +1 @@
+https://github.com/stachenov/quazip
diff --git a/testing/source/vtown/deps/quazip/slack-desc b/testing/source/vtown/deps/quazip/slack-desc
new file mode 100644
index 00000000..439c1c0b
--- /dev/null
+++ b/testing/source/vtown/deps/quazip/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+quazip: quazip (C++ wrapper for the Gilles Vollant's ZIP/UNZIP C package)
+quazip:
+quazip: Minizip is a simple C library for creating, appending and reading
+quazip: ZIP archives. One thing Qt can't do out-of-the-box is write and read
+quazip: ZIP archives.
+quazip: QuaZIP is a simple C++ wrapper around Minizip. With QuaZIP, both
+quazip: ZIP files and files inside ZIP archives can be accessed with
+quazip: QIODevice API.
+quazip:
+quazip: See also: https://stachenov.github.io/quazip/
+quazip:
diff --git a/testing/source/vtown/deps/rttr/rttr.SlackBuild b/testing/source/vtown/deps/rttr/rttr.SlackBuild
new file mode 100755
index 00000000..7380b1dc
--- /dev/null
+++ b/testing/source/vtown/deps/rttr/rttr.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=rttr
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -f 2 -d -)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION-src.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Fix incorrect file permissions after install,
+# see https://github.com/rttrorg/rttr/pull/228:
+sed -e 's/PERMISSIONS OWNER_READ//' \
+ -i CMake/*.cmake doc/CMakeLists.txt
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_UNIT_TESTS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ *.md *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/rttr/rttr.url b/testing/source/vtown/deps/rttr/rttr.url
new file mode 100644
index 00000000..7d4f5863
--- /dev/null
+++ b/testing/source/vtown/deps/rttr/rttr.url
@@ -0,0 +1 @@
+https://www.rttr.org/download
diff --git a/testing/source/vtown/deps/rttr/slack-desc b/testing/source/vtown/deps/rttr/slack-desc
new file mode 100644
index 00000000..36154eb8
--- /dev/null
+++ b/testing/source/vtown/deps/rttr/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rttr: rttr (C++ Reflection library)
+rttr:
+rttr: RTTR stands for Run Time Type Reflection. It describes the ability of
+rttr: a computer program to introspect and modify an object at runtime. The
+rttr: goal of this project is to provide an easy and intuitive way to use
+rttr: reflection in C++.
+rttr:
+rttr: Homepage: http://www.rttr.org/
+rttr:
+rttr:
+rttr:
diff --git a/testing/source/vtown/deps/sassc/sassc.SlackBuild b/testing/source/vtown/deps/sassc/sassc.SlackBuild
new file mode 100755
index 00000000..5bddb6a4
--- /dev/null
+++ b/testing/source/vtown/deps/sassc/sassc.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=sassc
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* Readme* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/sassc/sassc.url b/testing/source/vtown/deps/sassc/sassc.url
new file mode 100644
index 00000000..7fc72dc1
--- /dev/null
+++ b/testing/source/vtown/deps/sassc/sassc.url
@@ -0,0 +1 @@
+https://github.com/sass/sassc
diff --git a/testing/source/vtown/deps/sassc/slack-desc b/testing/source/vtown/deps/sassc/slack-desc
new file mode 100644
index 00000000..7d9aa060
--- /dev/null
+++ b/testing/source/vtown/deps/sassc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+sassc: sassc (Sass CSS preprocessor)
+sassc:
+sassc: SassC is a wrapper around libsass used to generate a useful command-
+sassc: line Sass implementation. Sass is a CSS pre-processor language to add
+sassc: on exciting new features to CSS.
+sassc:
+sassc: Homepage: https://libsass.org
+sassc:
+sassc:
+sassc:
+sassc:
diff --git a/testing/source/vtown/deps/speech-dispatcher/slack-desc b/testing/source/vtown/deps/speech-dispatcher/slack-desc
new file mode 100644
index 00000000..2e837b06
--- /dev/null
+++ b/testing/source/vtown/deps/speech-dispatcher/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+speech-dispatcher: speech-dispatcher (device independent speech synthesizer)
+speech-dispatcher:
+speech-dispatcher: Speech Dispatcher project provides a high-level device independent
+speech-dispatcher: layer for access to speech synthesis through a simple, stable and well
+speech-dispatcher: documented interface.
+speech-dispatcher:
+speech-dispatcher: Homepage: http://devel.freebsoft.org/speechd/
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
diff --git a/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.SlackBuild b/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.SlackBuild
new file mode 100755
index 00000000..e3bb02ba
--- /dev/null
+++ b/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.SlackBuild
@@ -0,0 +1,163 @@
+#!/bin/sh
+
+# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019, 2020 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=speech-dispatcher
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz"
+ exit 0
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+
+# Disabled due to bug: https://bugs.archlinux.org/task/35700
+sed -i "s/cicero //g" configure.ac
+sed -i "s/sd_cicero//g" src/modules/Makefile.am
+
+autoreconf -vif || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$TARGET || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ ANNOUNCE AUTHORS BUGS COPYING* README* TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Compress info pages and remove the package's dir file:
+if [ -d $PKG/usr/info ]; then
+ rm -f $PKG/usr/info/dir
+ gzip -9f $PKG/usr/info/*.info*
+fi
+
+# Add this to the doinst.sh:
+mkdir -p $PKG/install
+cat <<EOT >> $PKG/install/doinst.sh
+# Install info files:
+for INFOFILE in usr/info/*.info.gz ; do
+ chroot . install-info /${INFOFILE} /usr/info/dir 2> /dev/null
+done
+EOT
+
+# Strip binaries (if any):
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Ensure that custom .conf files are not overwritten:
+mkdir -p $PKG/install
+cat << "EOT" > $PKG/install/doinst.sh
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+EOT
+
+cd $PKG
+ for CONFF in $(find etc/${PKGNAM} -type f) ; do
+ mv ${CONFF} ${CONFF}.new
+ echo "config ${CONFF}.new" >> $PKG/install/doinst.sh
+ done
+cd -
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.url b/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.url
new file mode 100644
index 00000000..7be076c1
--- /dev/null
+++ b/testing/source/vtown/deps/speech-dispatcher/speech-dispatcher.url
@@ -0,0 +1 @@
+http://devel.freebsoft.org/pub/projects/speechd/
diff --git a/testing/source/vtown/deps/vid.stab/fetch-vid.stab.sh b/testing/source/vtown/deps/vid.stab/fetch-vid.stab.sh
new file mode 100755
index 00000000..04becb61
--- /dev/null
+++ b/testing/source/vtown/deps/vid.stab/fetch-vid.stab.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=vid.stab
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/georgmartius/vid.stab.git
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/testing/source/vtown/deps/vid.stab/slack-desc b/testing/source/vtown/deps/vid.stab/slack-desc
new file mode 100644
index 00000000..54a2d04d
--- /dev/null
+++ b/testing/source/vtown/deps/vid.stab/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+vid.stab: vid.stab (video stabilization library)
+vid.stab:
+vid.stab: Vidstab is a video stabilization library. A video acquired using a
+vid.stab: hand-held camera or a camera mounted on a vehicle typically suffers
+vid.stab: from undesirable shakes and jitters. Activities such as surfing,
+vid.stab: skiing, riding, and walking while shooting videos are especially prone
+vid.stab: to erratic camera shakes. Vidstab targets these video contents to help
+vid.stab: create smoother and more stable videos.
+vid.stab:
+vid.stab: Homepage: http://public.hronopik.de/vid.stab/
+vid.stab:
diff --git a/testing/source/vtown/deps/vid.stab/vid.stab.SlackBuild b/testing/source/vtown/deps/vid.stab/vid.stab.SlackBuild
new file mode 100755
index 00000000..2029e92d
--- /dev/null
+++ b/testing/source/vtown/deps/vid.stab/vid.stab.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=vid.stab
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_vtown_1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DUSE_OMP=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ Changelog Install LICENSE* README* Todo* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/vtown/deps/vid.stab/vid.stab.url b/testing/source/vtown/deps/vid.stab/vid.stab.url
new file mode 100644
index 00000000..b98ec60e
--- /dev/null
+++ b/testing/source/vtown/deps/vid.stab/vid.stab.url
@@ -0,0 +1 @@
+https://github.com/georgmartius/vid.stab.git
diff --git a/testing/source/vtown/kde/build/akonadi b/testing/source/vtown/kde/build/akonadi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-calendar b/testing/source/vtown/kde/build/akonadi-calendar
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-calendar
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-calendar-tools b/testing/source/vtown/kde/build/akonadi-calendar-tools
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-calendar-tools
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-contacts b/testing/source/vtown/kde/build/akonadi-contacts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-contacts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-import-wizard b/testing/source/vtown/kde/build/akonadi-import-wizard
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-import-wizard
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-mime b/testing/source/vtown/kde/build/akonadi-mime
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-mime
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-notes b/testing/source/vtown/kde/build/akonadi-notes
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-notes
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadi-search b/testing/source/vtown/kde/build/akonadi-search
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadi-search
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akonadiconsole b/testing/source/vtown/kde/build/akonadiconsole
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akonadiconsole
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/akregator b/testing/source/vtown/kde/build/akregator
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/akregator
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/alkimia b/testing/source/vtown/kde/build/alkimia
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/alkimia
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/analitza b/testing/source/vtown/kde/build/analitza
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/analitza
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ark b/testing/source/vtown/kde/build/ark
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ark
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/artikulate b/testing/source/vtown/kde/build/artikulate
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/artikulate
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/attica b/testing/source/vtown/kde/build/attica
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/attica
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/audiocd-kio b/testing/source/vtown/kde/build/audiocd-kio
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/audiocd-kio
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/baloo b/testing/source/vtown/kde/build/baloo
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/baloo
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/baloo-widgets b/testing/source/vtown/kde/build/baloo-widgets
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/baloo-widgets
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/blinken b/testing/source/vtown/kde/build/blinken
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/blinken
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/bluedevil b/testing/source/vtown/kde/build/bluedevil
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/bluedevil
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/bluez-qt b/testing/source/vtown/kde/build/bluez-qt
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/bluez-qt
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/bomber b/testing/source/vtown/kde/build/bomber
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/bomber
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/bovo b/testing/source/vtown/kde/build/bovo
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/bovo
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/breeze b/testing/source/vtown/kde/build/breeze
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/breeze
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/breeze-grub b/testing/source/vtown/kde/build/breeze-grub
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/breeze-grub
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/breeze-gtk b/testing/source/vtown/kde/build/breeze-gtk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/breeze-gtk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/breeze-icons b/testing/source/vtown/kde/build/breeze-icons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/breeze-icons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/calendarsupport b/testing/source/vtown/kde/build/calendarsupport
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/calendarsupport
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/calligra b/testing/source/vtown/kde/build/calligra
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/calligra
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/calligraplan b/testing/source/vtown/kde/build/calligraplan
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/calligraplan
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/cantor b/testing/source/vtown/kde/build/cantor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/cantor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/cervisia b/testing/source/vtown/kde/build/cervisia
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/cervisia
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/digikam b/testing/source/vtown/kde/build/digikam
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/digikam
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/discover b/testing/source/vtown/kde/build/discover
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/discover
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/dolphin b/testing/source/vtown/kde/build/dolphin
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/dolphin
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/dolphin-plugins b/testing/source/vtown/kde/build/dolphin-plugins
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/dolphin-plugins
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/dragon b/testing/source/vtown/kde/build/dragon
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/dragon
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/drkonqi b/testing/source/vtown/kde/build/drkonqi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/drkonqi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/elisa b/testing/source/vtown/kde/build/elisa
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/elisa
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/eventviews b/testing/source/vtown/kde/build/eventviews
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/eventviews
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/extra-cmake-modules b/testing/source/vtown/kde/build/extra-cmake-modules
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/extra-cmake-modules
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/falkon b/testing/source/vtown/kde/build/falkon
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/falkon
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ffmpegthumbs b/testing/source/vtown/kde/build/ffmpegthumbs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ffmpegthumbs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/filelight b/testing/source/vtown/kde/build/filelight
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/filelight
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/frameworkintegration b/testing/source/vtown/kde/build/frameworkintegration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/frameworkintegration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/granatier b/testing/source/vtown/kde/build/granatier
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/granatier
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/grantlee-editor b/testing/source/vtown/kde/build/grantlee-editor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/grantlee-editor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/grantleetheme b/testing/source/vtown/kde/build/grantleetheme
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/grantleetheme
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/gwenview b/testing/source/vtown/kde/build/gwenview
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/gwenview
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/incidenceeditor b/testing/source/vtown/kde/build/incidenceeditor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/incidenceeditor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/juk b/testing/source/vtown/kde/build/juk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/juk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/k3b b/testing/source/vtown/kde/build/k3b
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/k3b
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kaccounts-integration b/testing/source/vtown/kde/build/kaccounts-integration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kaccounts-integration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kaccounts-providers b/testing/source/vtown/kde/build/kaccounts-providers
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kaccounts-providers
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kactivities b/testing/source/vtown/kde/build/kactivities
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kactivities
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kactivities-stats b/testing/source/vtown/kde/build/kactivities-stats
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kactivities-stats
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kactivitymanagerd b/testing/source/vtown/kde/build/kactivitymanagerd
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kactivitymanagerd
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kaddressbook b/testing/source/vtown/kde/build/kaddressbook
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kaddressbook
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kajongg b/testing/source/vtown/kde/build/kajongg
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kajongg
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kalarm b/testing/source/vtown/kde/build/kalarm
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kalarm
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kalarmcal b/testing/source/vtown/kde/build/kalarmcal
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kalarmcal
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kalgebra b/testing/source/vtown/kde/build/kalgebra
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kalgebra
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kalzium b/testing/source/vtown/kde/build/kalzium
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kalzium
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kamera b/testing/source/vtown/kde/build/kamera
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kamera
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kamoso b/testing/source/vtown/kde/build/kamoso
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kamoso
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kanagram b/testing/source/vtown/kde/build/kanagram
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kanagram
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kapidox b/testing/source/vtown/kde/build/kapidox
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kapidox
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kapman b/testing/source/vtown/kde/build/kapman
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kapman
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kapptemplate b/testing/source/vtown/kde/build/kapptemplate
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kapptemplate
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/karchive b/testing/source/vtown/kde/build/karchive
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/karchive
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kate b/testing/source/vtown/kde/build/kate
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kate
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/katomic b/testing/source/vtown/kde/build/katomic
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/katomic
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kaudiocreator b/testing/source/vtown/kde/build/kaudiocreator
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kaudiocreator
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kauth b/testing/source/vtown/kde/build/kauth
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kauth
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kbackup b/testing/source/vtown/kde/build/kbackup
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kbackup
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kblackbox b/testing/source/vtown/kde/build/kblackbox
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kblackbox
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kblocks b/testing/source/vtown/kde/build/kblocks
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kblocks
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kbookmarks b/testing/source/vtown/kde/build/kbookmarks
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kbookmarks
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kbounce b/testing/source/vtown/kde/build/kbounce
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kbounce
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kbreakout b/testing/source/vtown/kde/build/kbreakout
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kbreakout
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kbruch b/testing/source/vtown/kde/build/kbruch
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kbruch
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcachegrind b/testing/source/vtown/kde/build/kcachegrind
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcachegrind
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcalc b/testing/source/vtown/kde/build/kcalc
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcalc
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcalcore b/testing/source/vtown/kde/build/kcalcore
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcalcore
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcalendarcore b/testing/source/vtown/kde/build/kcalendarcore
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcalendarcore
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcalutils b/testing/source/vtown/kde/build/kcalutils
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcalutils
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcharselect b/testing/source/vtown/kde/build/kcharselect
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcharselect
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcmutils b/testing/source/vtown/kde/build/kcmutils
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcmutils
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcodecs b/testing/source/vtown/kde/build/kcodecs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcodecs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcolorchooser b/testing/source/vtown/kde/build/kcolorchooser
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcolorchooser
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcompletion b/testing/source/vtown/kde/build/kcompletion
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcompletion
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kconfig b/testing/source/vtown/kde/build/kconfig
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kconfig
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kconfigwidgets b/testing/source/vtown/kde/build/kconfigwidgets
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kconfigwidgets
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcontacts b/testing/source/vtown/kde/build/kcontacts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcontacts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcoreaddons b/testing/source/vtown/kde/build/kcoreaddons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcoreaddons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcrash b/testing/source/vtown/kde/build/kcrash
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcrash
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kcron b/testing/source/vtown/kde/build/kcron
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kcron
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdav b/testing/source/vtown/kde/build/kdav
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdav
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdbusaddons b/testing/source/vtown/kde/build/kdbusaddons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdbusaddons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kde-cli-tools b/testing/source/vtown/kde/build/kde-cli-tools
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kde-cli-tools
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kde-dev-scripts b/testing/source/vtown/kde/build/kde-dev-scripts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kde-dev-scripts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kde-dev-utils b/testing/source/vtown/kde/build/kde-dev-utils
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kde-dev-utils
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kde-gtk-config b/testing/source/vtown/kde/build/kde-gtk-config
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kde-gtk-config
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kde-wallpapers b/testing/source/vtown/kde/build/kde-wallpapers
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kde-wallpapers
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeaccessibility b/testing/source/vtown/kde/build/kdeaccessibility
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeaccessibility
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdebugsettings b/testing/source/vtown/kde/build/kdebugsettings
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdebugsettings
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeclarative b/testing/source/vtown/kde/build/kdeclarative
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeclarative
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeconnect-kde b/testing/source/vtown/kde/build/kdeconnect-kde
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeconnect-kde
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdecoration b/testing/source/vtown/kde/build/kdecoration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdecoration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kded b/testing/source/vtown/kde/build/kded
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kded
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeedu b/testing/source/vtown/kde/build/kdeedu
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeedu
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeedu-data b/testing/source/vtown/kde/build/kdeedu-data
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeedu-data
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdegraphics b/testing/source/vtown/kde/build/kdegraphics
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdegraphics
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdegraphics-mobipocket b/testing/source/vtown/kde/build/kdegraphics-mobipocket
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdegraphics-mobipocket
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdegraphics-thumbnailers b/testing/source/vtown/kde/build/kdegraphics-thumbnailers
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdegraphics-thumbnailers
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdelibs b/testing/source/vtown/kde/build/kdelibs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdelibs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdelibs4support b/testing/source/vtown/kde/build/kdelibs4support
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdelibs4support
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdenetwork b/testing/source/vtown/kde/build/kdenetwork
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdenetwork
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdenetwork-filesharing b/testing/source/vtown/kde/build/kdenetwork-filesharing
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdenetwork-filesharing
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdenlive b/testing/source/vtown/kde/build/kdenlive
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdenlive
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdepim b/testing/source/vtown/kde/build/kdepim
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdepim
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdepim-addons b/testing/source/vtown/kde/build/kdepim-addons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdepim-addons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdepim-apps-libs b/testing/source/vtown/kde/build/kdepim-apps-libs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdepim-apps-libs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdepim-runtime b/testing/source/vtown/kde/build/kdepim-runtime
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdepim-runtime
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdeplasma-addons b/testing/source/vtown/kde/build/kdeplasma-addons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdeplasma-addons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdesdk b/testing/source/vtown/kde/build/kdesdk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdesdk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdesdk-kioslaves b/testing/source/vtown/kde/build/kdesdk-kioslaves
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdesdk-kioslaves
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdesdk-thumbnailers b/testing/source/vtown/kde/build/kdesdk-thumbnailers
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdesdk-thumbnailers
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdesignerplugin b/testing/source/vtown/kde/build/kdesignerplugin
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdesignerplugin
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdesu b/testing/source/vtown/kde/build/kdesu
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdesu
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdev-php b/testing/source/vtown/kde/build/kdev-php
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdev-php
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdev-python b/testing/source/vtown/kde/build/kdev-python
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdev-python
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdevelop b/testing/source/vtown/kde/build/kdevelop
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdevelop
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdevelop-pg-qt b/testing/source/vtown/kde/build/kdevelop-pg-qt
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdevelop-pg-qt
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdevplatform b/testing/source/vtown/kde/build/kdevplatform
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdevplatform
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdewebdev b/testing/source/vtown/kde/build/kdewebdev
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdewebdev
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdewebkit b/testing/source/vtown/kde/build/kdewebkit
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdewebkit
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdf b/testing/source/vtown/kde/build/kdf
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdf
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdiagram b/testing/source/vtown/kde/build/kdiagram
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdiagram
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdialog b/testing/source/vtown/kde/build/kdialog
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdialog
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdiamond b/testing/source/vtown/kde/build/kdiamond
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdiamond
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdnssd b/testing/source/vtown/kde/build/kdnssd
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdnssd
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kdoctools b/testing/source/vtown/kde/build/kdoctools
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kdoctools
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/keditbookmarks b/testing/source/vtown/kde/build/keditbookmarks
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/keditbookmarks
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kemoticons b/testing/source/vtown/kde/build/kemoticons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kemoticons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kfilemetadata b/testing/source/vtown/kde/build/kfilemetadata
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kfilemetadata
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kfind b/testing/source/vtown/kde/build/kfind
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kfind
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kfloppy b/testing/source/vtown/kde/build/kfloppy
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kfloppy
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kfourinline b/testing/source/vtown/kde/build/kfourinline
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kfourinline
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kgamma5 b/testing/source/vtown/kde/build/kgamma5
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kgamma5
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kgeography b/testing/source/vtown/kde/build/kgeography
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kgeography
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kget b/testing/source/vtown/kde/build/kget
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kget
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kglobalaccel b/testing/source/vtown/kde/build/kglobalaccel
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kglobalaccel
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kgoldrunner b/testing/source/vtown/kde/build/kgoldrunner
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kgoldrunner
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kgpg b/testing/source/vtown/kde/build/kgpg
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kgpg
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kguiaddons b/testing/source/vtown/kde/build/kguiaddons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kguiaddons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/khangman b/testing/source/vtown/kde/build/khangman
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/khangman
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/khelpcenter b/testing/source/vtown/kde/build/khelpcenter
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/khelpcenter
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kholidays b/testing/source/vtown/kde/build/kholidays
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kholidays
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/khotkeys b/testing/source/vtown/kde/build/khotkeys
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/khotkeys
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/khtml b/testing/source/vtown/kde/build/khtml
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/khtml
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ki18n b/testing/source/vtown/kde/build/ki18n
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ki18n
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kiconthemes b/testing/source/vtown/kde/build/kiconthemes
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kiconthemes
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kid3 b/testing/source/vtown/kde/build/kid3
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kid3
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kidentitymanagement b/testing/source/vtown/kde/build/kidentitymanagement
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kidentitymanagement
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kidletime b/testing/source/vtown/kde/build/kidletime
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kidletime
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kig b/testing/source/vtown/kde/build/kig
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kig
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kigo b/testing/source/vtown/kde/build/kigo
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kigo
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kile b/testing/source/vtown/kde/build/kile
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kile
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/killbots b/testing/source/vtown/kde/build/killbots
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/killbots
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kimageformats b/testing/source/vtown/kde/build/kimageformats
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kimageformats
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kimagemapeditor b/testing/source/vtown/kde/build/kimagemapeditor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kimagemapeditor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kimap b/testing/source/vtown/kde/build/kimap
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kimap
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kinfocenter b/testing/source/vtown/kde/build/kinfocenter
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kinfocenter
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kinit b/testing/source/vtown/kde/build/kinit
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kinit
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kio b/testing/source/vtown/kde/build/kio
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kio
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kio-extras b/testing/source/vtown/kde/build/kio-extras
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kio-extras
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kio-gdrive b/testing/source/vtown/kde/build/kio-gdrive
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kio-gdrive
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kipi-plugins b/testing/source/vtown/kde/build/kipi-plugins
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kipi-plugins
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kirigami-gallery b/testing/source/vtown/kde/build/kirigami-gallery
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kirigami-gallery
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kirigami2 b/testing/source/vtown/kde/build/kirigami2
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kirigami2
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kiriki b/testing/source/vtown/kde/build/kiriki
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kiriki
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kitemmodels b/testing/source/vtown/kde/build/kitemmodels
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kitemmodels
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kitemviews b/testing/source/vtown/kde/build/kitemviews
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kitemviews
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kiten b/testing/source/vtown/kde/build/kiten
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kiten
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kitinerary b/testing/source/vtown/kde/build/kitinerary
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kitinerary
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kjobwidgets b/testing/source/vtown/kde/build/kjobwidgets
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kjobwidgets
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kjots b/testing/source/vtown/kde/build/kjots
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kjots
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kjs b/testing/source/vtown/kde/build/kjs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kjs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kjsembed b/testing/source/vtown/kde/build/kjsembed
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kjsembed
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kjumpingcube b/testing/source/vtown/kde/build/kjumpingcube
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kjumpingcube
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kldap b/testing/source/vtown/kde/build/kldap
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kldap
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kleopatra b/testing/source/vtown/kde/build/kleopatra
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kleopatra
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/klettres b/testing/source/vtown/kde/build/klettres
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/klettres
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/klickety b/testing/source/vtown/kde/build/klickety
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/klickety
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/klines b/testing/source/vtown/kde/build/klines
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/klines
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmag b/testing/source/vtown/kde/build/kmag
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmag
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmahjongg b/testing/source/vtown/kde/build/kmahjongg
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmahjongg
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmail b/testing/source/vtown/kde/build/kmail
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmail
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmail-account-wizard b/testing/source/vtown/kde/build/kmail-account-wizard
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmail-account-wizard
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmailtransport b/testing/source/vtown/kde/build/kmailtransport
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmailtransport
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmbox b/testing/source/vtown/kde/build/kmbox
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmbox
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmediaplayer b/testing/source/vtown/kde/build/kmediaplayer
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmediaplayer
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmenuedit b/testing/source/vtown/kde/build/kmenuedit
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmenuedit
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmime b/testing/source/vtown/kde/build/kmime
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmime
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmines b/testing/source/vtown/kde/build/kmines
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmines
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmix b/testing/source/vtown/kde/build/kmix
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmix
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmousetool b/testing/source/vtown/kde/build/kmousetool
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmousetool
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmouth b/testing/source/vtown/kde/build/kmouth
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmouth
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmplot b/testing/source/vtown/kde/build/kmplot
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmplot
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kmymoney b/testing/source/vtown/kde/build/kmymoney
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kmymoney
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knavalbattle b/testing/source/vtown/kde/build/knavalbattle
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knavalbattle
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knetwalk b/testing/source/vtown/kde/build/knetwalk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knetwalk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knewstuff b/testing/source/vtown/kde/build/knewstuff
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knewstuff
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knights b/testing/source/vtown/kde/build/knights
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knights
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knotes b/testing/source/vtown/kde/build/knotes
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knotes
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knotifications b/testing/source/vtown/kde/build/knotifications
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knotifications
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/knotifyconfig b/testing/source/vtown/kde/build/knotifyconfig
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/knotifyconfig
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kolf b/testing/source/vtown/kde/build/kolf
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kolf
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kollision b/testing/source/vtown/kde/build/kollision
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kollision
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kolourpaint b/testing/source/vtown/kde/build/kolourpaint
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kolourpaint
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kompare b/testing/source/vtown/kde/build/kompare
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kompare
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/konqueror b/testing/source/vtown/kde/build/konqueror
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/konqueror
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/konquest b/testing/source/vtown/kde/build/konquest
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/konquest
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/konsole b/testing/source/vtown/kde/build/konsole
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/konsole
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kontact b/testing/source/vtown/kde/build/kontact
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kontact
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kontactinterface b/testing/source/vtown/kde/build/kontactinterface
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kontactinterface
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kopete b/testing/source/vtown/kde/build/kopete
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kopete
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/korganizer b/testing/source/vtown/kde/build/korganizer
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/korganizer
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpackage b/testing/source/vtown/kde/build/kpackage
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpackage
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kparts b/testing/source/vtown/kde/build/kparts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kparts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpat b/testing/source/vtown/kde/build/kpat
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpat
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpeople b/testing/source/vtown/kde/build/kpeople
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpeople
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpeoplevcard b/testing/source/vtown/kde/build/kpeoplevcard
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpeoplevcard
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpimtextedit b/testing/source/vtown/kde/build/kpimtextedit
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpimtextedit
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpkpass b/testing/source/vtown/kde/build/kpkpass
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpkpass
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kplotting b/testing/source/vtown/kde/build/kplotting
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kplotting
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpmcore b/testing/source/vtown/kde/build/kpmcore
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpmcore
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kpty b/testing/source/vtown/kde/build/kpty
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kpty
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kqtquickcharts b/testing/source/vtown/kde/build/kqtquickcharts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kqtquickcharts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kquickcharts b/testing/source/vtown/kde/build/kquickcharts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kquickcharts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krdc b/testing/source/vtown/kde/build/krdc
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krdc
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krename b/testing/source/vtown/kde/build/krename
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krename
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kreversi b/testing/source/vtown/kde/build/kreversi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kreversi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krfb b/testing/source/vtown/kde/build/krfb
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krfb
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krita b/testing/source/vtown/kde/build/krita
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krita
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kross b/testing/source/vtown/kde/build/kross
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kross
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kross-interpreters b/testing/source/vtown/kde/build/kross-interpreters
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kross-interpreters
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kruler b/testing/source/vtown/kde/build/kruler
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kruler
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krunner b/testing/source/vtown/kde/build/krunner
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krunner
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/krusader b/testing/source/vtown/kde/build/krusader
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/krusader
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kscreen b/testing/source/vtown/kde/build/kscreen
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kscreen
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kscreenlocker b/testing/source/vtown/kde/build/kscreenlocker
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kscreenlocker
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kservice b/testing/source/vtown/kde/build/kservice
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kservice
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kshisen b/testing/source/vtown/kde/build/kshisen
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kshisen
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksirk b/testing/source/vtown/kde/build/ksirk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksirk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksmtp b/testing/source/vtown/kde/build/ksmtp
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksmtp
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksnakeduel b/testing/source/vtown/kde/build/ksnakeduel
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksnakeduel
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kspaceduel b/testing/source/vtown/kde/build/kspaceduel
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kspaceduel
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksquares b/testing/source/vtown/kde/build/ksquares
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksquares
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksshaskpass b/testing/source/vtown/kde/build/ksshaskpass
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksshaskpass
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kstars b/testing/source/vtown/kde/build/kstars
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kstars
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksudoku b/testing/source/vtown/kde/build/ksudoku
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksudoku
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksysguard b/testing/source/vtown/kde/build/ksysguard
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksysguard
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ksystemlog b/testing/source/vtown/kde/build/ksystemlog
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ksystemlog
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kteatime b/testing/source/vtown/kde/build/kteatime
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kteatime
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktexteditor b/testing/source/vtown/kde/build/ktexteditor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktexteditor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktextwidgets b/testing/source/vtown/kde/build/ktextwidgets
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktextwidgets
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktimer b/testing/source/vtown/kde/build/ktimer
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktimer
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktimetracker b/testing/source/vtown/kde/build/ktimetracker
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktimetracker
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktnef b/testing/source/vtown/kde/build/ktnef
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktnef
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktorrent b/testing/source/vtown/kde/build/ktorrent
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktorrent
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktouch b/testing/source/vtown/kde/build/ktouch
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktouch
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-accounts-kcm b/testing/source/vtown/kde/build/ktp-accounts-kcm
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-accounts-kcm
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-approver b/testing/source/vtown/kde/build/ktp-approver
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-approver
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-auth-handler b/testing/source/vtown/kde/build/ktp-auth-handler
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-auth-handler
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-call-ui b/testing/source/vtown/kde/build/ktp-call-ui
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-call-ui
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-common-internals b/testing/source/vtown/kde/build/ktp-common-internals
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-common-internals
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-contact-list b/testing/source/vtown/kde/build/ktp-contact-list
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-contact-list
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-contact-runner b/testing/source/vtown/kde/build/ktp-contact-runner
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-contact-runner
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-desktop-applets b/testing/source/vtown/kde/build/ktp-desktop-applets
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-desktop-applets
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-filetransfer-handler b/testing/source/vtown/kde/build/ktp-filetransfer-handler
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-filetransfer-handler
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-kded-module b/testing/source/vtown/kde/build/ktp-kded-module
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-kded-module
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-send-file b/testing/source/vtown/kde/build/ktp-send-file
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-send-file
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktp-text-ui b/testing/source/vtown/kde/build/ktp-text-ui
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktp-text-ui
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/ktuberling b/testing/source/vtown/kde/build/ktuberling
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/ktuberling
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kturtle b/testing/source/vtown/kde/build/kturtle
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kturtle
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kubrick b/testing/source/vtown/kde/build/kubrick
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kubrick
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kunitconversion b/testing/source/vtown/kde/build/kunitconversion
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kunitconversion
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kuser b/testing/source/vtown/kde/build/kuser
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kuser
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwallet b/testing/source/vtown/kde/build/kwallet
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwallet
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwallet-pam b/testing/source/vtown/kde/build/kwallet-pam
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwallet-pam
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwalletmanager b/testing/source/vtown/kde/build/kwalletmanager
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwalletmanager
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwave b/testing/source/vtown/kde/build/kwave
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwave
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwayland b/testing/source/vtown/kde/build/kwayland
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwayland
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwayland-integration b/testing/source/vtown/kde/build/kwayland-integration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwayland-integration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwayland-server b/testing/source/vtown/kde/build/kwayland-server
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwayland-server
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwebkitpart b/testing/source/vtown/kde/build/kwebkitpart
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwebkitpart
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwidgetsaddons b/testing/source/vtown/kde/build/kwidgetsaddons
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwidgetsaddons
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwin b/testing/source/vtown/kde/build/kwin
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwin
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwindowsystem b/testing/source/vtown/kde/build/kwindowsystem
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwindowsystem
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwordquiz b/testing/source/vtown/kde/build/kwordquiz
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwordquiz
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kwrited b/testing/source/vtown/kde/build/kwrited
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kwrited
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kxmlgui b/testing/source/vtown/kde/build/kxmlgui
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kxmlgui
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/kxmlrpcclient b/testing/source/vtown/kde/build/kxmlrpcclient
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/kxmlrpcclient
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/labplot b/testing/source/vtown/kde/build/labplot
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/labplot
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/latte-dock b/testing/source/vtown/kde/build/latte-dock
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/latte-dock
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libgravatar b/testing/source/vtown/kde/build/libgravatar
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libgravatar
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkcddb b/testing/source/vtown/kde/build/libkcddb
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkcddb
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkcompactdisc b/testing/source/vtown/kde/build/libkcompactdisc
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkcompactdisc
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkdcraw b/testing/source/vtown/kde/build/libkdcraw
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkdcraw
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkdegames b/testing/source/vtown/kde/build/libkdegames
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkdegames
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkdepim b/testing/source/vtown/kde/build/libkdepim
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkdepim
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkeduvocdocument b/testing/source/vtown/kde/build/libkeduvocdocument
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkeduvocdocument
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkexiv2 b/testing/source/vtown/kde/build/libkexiv2
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkexiv2
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkgapi b/testing/source/vtown/kde/build/libkgapi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkgapi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkgeomap b/testing/source/vtown/kde/build/libkgeomap
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkgeomap
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkipi b/testing/source/vtown/kde/build/libkipi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkipi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkleo b/testing/source/vtown/kde/build/libkleo
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkleo
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkmahjongg b/testing/source/vtown/kde/build/libkmahjongg
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkmahjongg
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkomparediff2 b/testing/source/vtown/kde/build/libkomparediff2
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkomparediff2
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libksane b/testing/source/vtown/kde/build/libksane
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libksane
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libkscreen b/testing/source/vtown/kde/build/libkscreen
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libkscreen
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libksieve b/testing/source/vtown/kde/build/libksieve
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libksieve
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libksysguard b/testing/source/vtown/kde/build/libksysguard
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libksysguard
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/libktorrent b/testing/source/vtown/kde/build/libktorrent
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/libktorrent
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/lokalize b/testing/source/vtown/kde/build/lokalize
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/lokalize
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/lskat b/testing/source/vtown/kde/build/lskat
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/lskat
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/mailcommon b/testing/source/vtown/kde/build/mailcommon
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/mailcommon
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/mailimporter b/testing/source/vtown/kde/build/mailimporter
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/mailimporter
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/marble b/testing/source/vtown/kde/build/marble
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/marble
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/mbox-importer b/testing/source/vtown/kde/build/mbox-importer
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/mbox-importer
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/messagelib b/testing/source/vtown/kde/build/messagelib
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/messagelib
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/milou b/testing/source/vtown/kde/build/milou
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/milou
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/minuet b/testing/source/vtown/kde/build/minuet
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/minuet
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/modemmanager-qt b/testing/source/vtown/kde/build/modemmanager-qt
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/modemmanager-qt
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi b/testing/source/vtown/kde/build/native-build-number/akonadi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-calendar b/testing/source/vtown/kde/build/native-build-number/akonadi-calendar
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-calendar
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-calendar-tools b/testing/source/vtown/kde/build/native-build-number/akonadi-calendar-tools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-calendar-tools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-contacts b/testing/source/vtown/kde/build/native-build-number/akonadi-contacts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-contacts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-import-wizard b/testing/source/vtown/kde/build/native-build-number/akonadi-import-wizard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-import-wizard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-mime b/testing/source/vtown/kde/build/native-build-number/akonadi-mime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-mime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-notes b/testing/source/vtown/kde/build/native-build-number/akonadi-notes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-notes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadi-search b/testing/source/vtown/kde/build/native-build-number/akonadi-search
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadi-search
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akonadiconsole b/testing/source/vtown/kde/build/native-build-number/akonadiconsole
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akonadiconsole
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/akregator b/testing/source/vtown/kde/build/native-build-number/akregator
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/akregator
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/alkimia b/testing/source/vtown/kde/build/native-build-number/alkimia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/alkimia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/analitza b/testing/source/vtown/kde/build/native-build-number/analitza
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/analitza
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ark b/testing/source/vtown/kde/build/native-build-number/ark
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ark
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/artikulate b/testing/source/vtown/kde/build/native-build-number/artikulate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/artikulate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/attica b/testing/source/vtown/kde/build/native-build-number/attica
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/attica
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/audiocd-kio b/testing/source/vtown/kde/build/native-build-number/audiocd-kio
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/audiocd-kio
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/baloo b/testing/source/vtown/kde/build/native-build-number/baloo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/baloo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/baloo-widgets b/testing/source/vtown/kde/build/native-build-number/baloo-widgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/baloo-widgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/blinken b/testing/source/vtown/kde/build/native-build-number/blinken
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/blinken
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/bluedevil b/testing/source/vtown/kde/build/native-build-number/bluedevil
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/bluedevil
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/bluez-qt b/testing/source/vtown/kde/build/native-build-number/bluez-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/bluez-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/bomber b/testing/source/vtown/kde/build/native-build-number/bomber
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/bomber
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/bovo b/testing/source/vtown/kde/build/native-build-number/bovo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/bovo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/breeze b/testing/source/vtown/kde/build/native-build-number/breeze
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/breeze
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/breeze-grub b/testing/source/vtown/kde/build/native-build-number/breeze-grub
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/breeze-grub
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/breeze-gtk b/testing/source/vtown/kde/build/native-build-number/breeze-gtk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/breeze-gtk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/breeze-icons b/testing/source/vtown/kde/build/native-build-number/breeze-icons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/breeze-icons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/calendarsupport b/testing/source/vtown/kde/build/native-build-number/calendarsupport
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/calendarsupport
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/calligra b/testing/source/vtown/kde/build/native-build-number/calligra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/calligra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/calligraplan b/testing/source/vtown/kde/build/native-build-number/calligraplan
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/calligraplan
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/cantor b/testing/source/vtown/kde/build/native-build-number/cantor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/cantor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/cervisia b/testing/source/vtown/kde/build/native-build-number/cervisia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/cervisia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/digikam b/testing/source/vtown/kde/build/native-build-number/digikam
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/digikam
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/discover b/testing/source/vtown/kde/build/native-build-number/discover
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/discover
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/dolphin b/testing/source/vtown/kde/build/native-build-number/dolphin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/dolphin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/dolphin-plugins b/testing/source/vtown/kde/build/native-build-number/dolphin-plugins
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/dolphin-plugins
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/dragon b/testing/source/vtown/kde/build/native-build-number/dragon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/dragon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/drkonqi b/testing/source/vtown/kde/build/native-build-number/drkonqi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/drkonqi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/elisa b/testing/source/vtown/kde/build/native-build-number/elisa
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/elisa
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/eventviews b/testing/source/vtown/kde/build/native-build-number/eventviews
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/eventviews
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/extra-cmake-modules b/testing/source/vtown/kde/build/native-build-number/extra-cmake-modules
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/extra-cmake-modules
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/falkon b/testing/source/vtown/kde/build/native-build-number/falkon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/falkon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ffmpegthumbs b/testing/source/vtown/kde/build/native-build-number/ffmpegthumbs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ffmpegthumbs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/filelight b/testing/source/vtown/kde/build/native-build-number/filelight
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/filelight
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/frameworkintegration b/testing/source/vtown/kde/build/native-build-number/frameworkintegration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/frameworkintegration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/granatier b/testing/source/vtown/kde/build/native-build-number/granatier
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/granatier
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/grantlee-editor b/testing/source/vtown/kde/build/native-build-number/grantlee-editor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/grantlee-editor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/grantleetheme b/testing/source/vtown/kde/build/native-build-number/grantleetheme
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/grantleetheme
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/gwenview b/testing/source/vtown/kde/build/native-build-number/gwenview
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/gwenview
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/incidenceeditor b/testing/source/vtown/kde/build/native-build-number/incidenceeditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/incidenceeditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/increment.sh b/testing/source/vtown/kde/build/native-build-number/increment.sh
new file mode 100755
index 00000000..6de5d0da
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/testing/source/vtown/kde/build/native-build-number/juk b/testing/source/vtown/kde/build/native-build-number/juk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/juk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/k3b b/testing/source/vtown/kde/build/native-build-number/k3b
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/k3b
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kaccounts-integration b/testing/source/vtown/kde/build/native-build-number/kaccounts-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kaccounts-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kaccounts-providers b/testing/source/vtown/kde/build/native-build-number/kaccounts-providers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kaccounts-providers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kactivities b/testing/source/vtown/kde/build/native-build-number/kactivities
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kactivities
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kactivities-stats b/testing/source/vtown/kde/build/native-build-number/kactivities-stats
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kactivities-stats
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kactivitymanagerd b/testing/source/vtown/kde/build/native-build-number/kactivitymanagerd
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kactivitymanagerd
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kaddressbook b/testing/source/vtown/kde/build/native-build-number/kaddressbook
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kaddressbook
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kajongg b/testing/source/vtown/kde/build/native-build-number/kajongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kajongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kalarm b/testing/source/vtown/kde/build/native-build-number/kalarm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kalarm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kalarmcal b/testing/source/vtown/kde/build/native-build-number/kalarmcal
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kalarmcal
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kalgebra b/testing/source/vtown/kde/build/native-build-number/kalgebra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kalgebra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kalzium b/testing/source/vtown/kde/build/native-build-number/kalzium
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kalzium
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kamera b/testing/source/vtown/kde/build/native-build-number/kamera
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kamera
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kamoso b/testing/source/vtown/kde/build/native-build-number/kamoso
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kamoso
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kanagram b/testing/source/vtown/kde/build/native-build-number/kanagram
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kanagram
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kapidox b/testing/source/vtown/kde/build/native-build-number/kapidox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kapidox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kapman b/testing/source/vtown/kde/build/native-build-number/kapman
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kapman
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kapptemplate b/testing/source/vtown/kde/build/native-build-number/kapptemplate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kapptemplate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/karchive b/testing/source/vtown/kde/build/native-build-number/karchive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/karchive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kate b/testing/source/vtown/kde/build/native-build-number/kate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/katomic b/testing/source/vtown/kde/build/native-build-number/katomic
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/katomic
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kaudiocreator b/testing/source/vtown/kde/build/native-build-number/kaudiocreator
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kaudiocreator
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kauth b/testing/source/vtown/kde/build/native-build-number/kauth
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kauth
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kbackup b/testing/source/vtown/kde/build/native-build-number/kbackup
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kbackup
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kblackbox b/testing/source/vtown/kde/build/native-build-number/kblackbox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kblackbox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kblocks b/testing/source/vtown/kde/build/native-build-number/kblocks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kblocks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kbookmarks b/testing/source/vtown/kde/build/native-build-number/kbookmarks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kbookmarks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kbounce b/testing/source/vtown/kde/build/native-build-number/kbounce
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kbounce
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kbreakout b/testing/source/vtown/kde/build/native-build-number/kbreakout
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kbreakout
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kbruch b/testing/source/vtown/kde/build/native-build-number/kbruch
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kbruch
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcachegrind b/testing/source/vtown/kde/build/native-build-number/kcachegrind
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcachegrind
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcalc b/testing/source/vtown/kde/build/native-build-number/kcalc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcalc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcalcore b/testing/source/vtown/kde/build/native-build-number/kcalcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcalcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcalendarcore b/testing/source/vtown/kde/build/native-build-number/kcalendarcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcalendarcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcalutils b/testing/source/vtown/kde/build/native-build-number/kcalutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcalutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcharselect b/testing/source/vtown/kde/build/native-build-number/kcharselect
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcharselect
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcmutils b/testing/source/vtown/kde/build/native-build-number/kcmutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcmutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcodecs b/testing/source/vtown/kde/build/native-build-number/kcodecs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcodecs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcolorchooser b/testing/source/vtown/kde/build/native-build-number/kcolorchooser
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcolorchooser
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcompletion b/testing/source/vtown/kde/build/native-build-number/kcompletion
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcompletion
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kconfig b/testing/source/vtown/kde/build/native-build-number/kconfig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kconfig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kconfigwidgets b/testing/source/vtown/kde/build/native-build-number/kconfigwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kconfigwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcontacts b/testing/source/vtown/kde/build/native-build-number/kcontacts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcontacts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcoreaddons b/testing/source/vtown/kde/build/native-build-number/kcoreaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcoreaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcrash b/testing/source/vtown/kde/build/native-build-number/kcrash
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcrash
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kcron b/testing/source/vtown/kde/build/native-build-number/kcron
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kcron
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdav b/testing/source/vtown/kde/build/native-build-number/kdav
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdav
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdbusaddons b/testing/source/vtown/kde/build/native-build-number/kdbusaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdbusaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kde-cli-tools b/testing/source/vtown/kde/build/native-build-number/kde-cli-tools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kde-cli-tools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kde-dev-scripts b/testing/source/vtown/kde/build/native-build-number/kde-dev-scripts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kde-dev-scripts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kde-dev-utils b/testing/source/vtown/kde/build/native-build-number/kde-dev-utils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kde-dev-utils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kde-gtk-config b/testing/source/vtown/kde/build/native-build-number/kde-gtk-config
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kde-gtk-config
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kde-wallpapers b/testing/source/vtown/kde/build/native-build-number/kde-wallpapers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kde-wallpapers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeaccessibility b/testing/source/vtown/kde/build/native-build-number/kdeaccessibility
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeaccessibility
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeadmin b/testing/source/vtown/kde/build/native-build-number/kdeadmin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeadmin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdebase b/testing/source/vtown/kde/build/native-build-number/kdebase
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdebase
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdebugsettings b/testing/source/vtown/kde/build/native-build-number/kdebugsettings
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdebugsettings
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeclarative b/testing/source/vtown/kde/build/native-build-number/kdeclarative
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeclarative
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeconnect-kde b/testing/source/vtown/kde/build/native-build-number/kdeconnect-kde
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeconnect-kde
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdecoration b/testing/source/vtown/kde/build/native-build-number/kdecoration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdecoration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kded b/testing/source/vtown/kde/build/native-build-number/kded
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kded
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeedu b/testing/source/vtown/kde/build/native-build-number/kdeedu
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeedu
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeedu-data b/testing/source/vtown/kde/build/native-build-number/kdeedu-data
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeedu-data
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdegames b/testing/source/vtown/kde/build/native-build-number/kdegames
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdegames
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdegraphics b/testing/source/vtown/kde/build/native-build-number/kdegraphics
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdegraphics
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdegraphics-mobipocket b/testing/source/vtown/kde/build/native-build-number/kdegraphics-mobipocket
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdegraphics-mobipocket
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdegraphics-thumbnailers b/testing/source/vtown/kde/build/native-build-number/kdegraphics-thumbnailers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdegraphics-thumbnailers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdelibs b/testing/source/vtown/kde/build/native-build-number/kdelibs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdelibs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdelibs4support b/testing/source/vtown/kde/build/native-build-number/kdelibs4support
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdelibs4support
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdemultimedia b/testing/source/vtown/kde/build/native-build-number/kdemultimedia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdemultimedia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdenetwork b/testing/source/vtown/kde/build/native-build-number/kdenetwork
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdenetwork
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdenetwork-filesharing b/testing/source/vtown/kde/build/native-build-number/kdenetwork-filesharing
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdenetwork-filesharing
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdenlive b/testing/source/vtown/kde/build/native-build-number/kdenlive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdenlive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdepim b/testing/source/vtown/kde/build/native-build-number/kdepim
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdepim
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdepim-addons b/testing/source/vtown/kde/build/native-build-number/kdepim-addons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdepim-addons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdepim-apps-libs b/testing/source/vtown/kde/build/native-build-number/kdepim-apps-libs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdepim-apps-libs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdepim-runtime b/testing/source/vtown/kde/build/native-build-number/kdepim-runtime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdepim-runtime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeplasma-addons b/testing/source/vtown/kde/build/native-build-number/kdeplasma-addons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeplasma-addons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdesdk b/testing/source/vtown/kde/build/native-build-number/kdesdk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdesdk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdesdk-kioslaves b/testing/source/vtown/kde/build/native-build-number/kdesdk-kioslaves
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdesdk-kioslaves
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdesdk-thumbnailers b/testing/source/vtown/kde/build/native-build-number/kdesdk-thumbnailers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdesdk-thumbnailers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdesignerplugin b/testing/source/vtown/kde/build/native-build-number/kdesignerplugin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdesignerplugin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdesu b/testing/source/vtown/kde/build/native-build-number/kdesu
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdesu
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdetoys b/testing/source/vtown/kde/build/native-build-number/kdetoys
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdetoys
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdeutils b/testing/source/vtown/kde/build/native-build-number/kdeutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdeutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdev-php b/testing/source/vtown/kde/build/native-build-number/kdev-php
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdev-php
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdev-python b/testing/source/vtown/kde/build/native-build-number/kdev-python
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdev-python
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdevelop b/testing/source/vtown/kde/build/native-build-number/kdevelop
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdevelop
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdevelop-pg-qt b/testing/source/vtown/kde/build/native-build-number/kdevelop-pg-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdevelop-pg-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdevplatform b/testing/source/vtown/kde/build/native-build-number/kdevplatform
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdevplatform
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdewebdev b/testing/source/vtown/kde/build/native-build-number/kdewebdev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdewebdev
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdewebkit b/testing/source/vtown/kde/build/native-build-number/kdewebkit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdewebkit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdf b/testing/source/vtown/kde/build/native-build-number/kdf
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdf
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdiagram b/testing/source/vtown/kde/build/native-build-number/kdiagram
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdiagram
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdialog b/testing/source/vtown/kde/build/native-build-number/kdialog
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdialog
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdiamond b/testing/source/vtown/kde/build/native-build-number/kdiamond
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdiamond
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdnssd b/testing/source/vtown/kde/build/native-build-number/kdnssd
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdnssd
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kdoctools b/testing/source/vtown/kde/build/native-build-number/kdoctools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kdoctools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/keditbookmarks b/testing/source/vtown/kde/build/native-build-number/keditbookmarks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/keditbookmarks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kemoticons b/testing/source/vtown/kde/build/native-build-number/kemoticons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kemoticons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kfilemetadata b/testing/source/vtown/kde/build/native-build-number/kfilemetadata
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kfilemetadata
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kfind b/testing/source/vtown/kde/build/native-build-number/kfind
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kfind
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kfloppy b/testing/source/vtown/kde/build/native-build-number/kfloppy
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kfloppy
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kfourinline b/testing/source/vtown/kde/build/native-build-number/kfourinline
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kfourinline
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kgamma5 b/testing/source/vtown/kde/build/native-build-number/kgamma5
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kgamma5
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kgeography b/testing/source/vtown/kde/build/native-build-number/kgeography
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kgeography
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kget b/testing/source/vtown/kde/build/native-build-number/kget
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kget
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kglobalaccel b/testing/source/vtown/kde/build/native-build-number/kglobalaccel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kglobalaccel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kgoldrunner b/testing/source/vtown/kde/build/native-build-number/kgoldrunner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kgoldrunner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kgpg b/testing/source/vtown/kde/build/native-build-number/kgpg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kgpg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kguiaddons b/testing/source/vtown/kde/build/native-build-number/kguiaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kguiaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/khangman b/testing/source/vtown/kde/build/native-build-number/khangman
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/khangman
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/khelpcenter b/testing/source/vtown/kde/build/native-build-number/khelpcenter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/khelpcenter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kholidays b/testing/source/vtown/kde/build/native-build-number/kholidays
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kholidays
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/khotkeys b/testing/source/vtown/kde/build/native-build-number/khotkeys
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/khotkeys
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/khtml b/testing/source/vtown/kde/build/native-build-number/khtml
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/khtml
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ki18n b/testing/source/vtown/kde/build/native-build-number/ki18n
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ki18n
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kiconthemes b/testing/source/vtown/kde/build/native-build-number/kiconthemes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kiconthemes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kid3 b/testing/source/vtown/kde/build/native-build-number/kid3
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kid3
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kidentitymanagement b/testing/source/vtown/kde/build/native-build-number/kidentitymanagement
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kidentitymanagement
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kidletime b/testing/source/vtown/kde/build/native-build-number/kidletime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kidletime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kig b/testing/source/vtown/kde/build/native-build-number/kig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kigo b/testing/source/vtown/kde/build/native-build-number/kigo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kigo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kile b/testing/source/vtown/kde/build/native-build-number/kile
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kile
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/killbots b/testing/source/vtown/kde/build/native-build-number/killbots
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/killbots
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kimageformats b/testing/source/vtown/kde/build/native-build-number/kimageformats
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kimageformats
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kimagemapeditor b/testing/source/vtown/kde/build/native-build-number/kimagemapeditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kimagemapeditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kimap b/testing/source/vtown/kde/build/native-build-number/kimap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kimap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kinfocenter b/testing/source/vtown/kde/build/native-build-number/kinfocenter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kinfocenter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kinit b/testing/source/vtown/kde/build/native-build-number/kinit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kinit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kio b/testing/source/vtown/kde/build/native-build-number/kio
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kio
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kio-extras b/testing/source/vtown/kde/build/native-build-number/kio-extras
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kio-extras
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kio-gdrive b/testing/source/vtown/kde/build/native-build-number/kio-gdrive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kio-gdrive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kipi-plugins b/testing/source/vtown/kde/build/native-build-number/kipi-plugins
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kipi-plugins
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kirigami-gallery b/testing/source/vtown/kde/build/native-build-number/kirigami-gallery
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kirigami-gallery
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kirigami2 b/testing/source/vtown/kde/build/native-build-number/kirigami2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kirigami2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kiriki b/testing/source/vtown/kde/build/native-build-number/kiriki
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kiriki
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kitemmodels b/testing/source/vtown/kde/build/native-build-number/kitemmodels
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kitemmodels
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kitemviews b/testing/source/vtown/kde/build/native-build-number/kitemviews
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kitemviews
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kiten b/testing/source/vtown/kde/build/native-build-number/kiten
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kiten
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kitinerary b/testing/source/vtown/kde/build/native-build-number/kitinerary
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kitinerary
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kjobwidgets b/testing/source/vtown/kde/build/native-build-number/kjobwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kjobwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kjots b/testing/source/vtown/kde/build/native-build-number/kjots
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kjots
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kjs b/testing/source/vtown/kde/build/native-build-number/kjs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kjs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kjsembed b/testing/source/vtown/kde/build/native-build-number/kjsembed
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kjsembed
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kjumpingcube b/testing/source/vtown/kde/build/native-build-number/kjumpingcube
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kjumpingcube
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kldap b/testing/source/vtown/kde/build/native-build-number/kldap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kldap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kleopatra b/testing/source/vtown/kde/build/native-build-number/kleopatra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kleopatra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/klettres b/testing/source/vtown/kde/build/native-build-number/klettres
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/klettres
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/klickety b/testing/source/vtown/kde/build/native-build-number/klickety
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/klickety
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/klines b/testing/source/vtown/kde/build/native-build-number/klines
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/klines
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmag b/testing/source/vtown/kde/build/native-build-number/kmag
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmag
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmahjongg b/testing/source/vtown/kde/build/native-build-number/kmahjongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmahjongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmail b/testing/source/vtown/kde/build/native-build-number/kmail
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmail
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmail-account-wizard b/testing/source/vtown/kde/build/native-build-number/kmail-account-wizard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmail-account-wizard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmailtransport b/testing/source/vtown/kde/build/native-build-number/kmailtransport
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmailtransport
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmbox b/testing/source/vtown/kde/build/native-build-number/kmbox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmbox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmediaplayer b/testing/source/vtown/kde/build/native-build-number/kmediaplayer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmediaplayer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmenuedit b/testing/source/vtown/kde/build/native-build-number/kmenuedit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmenuedit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmime b/testing/source/vtown/kde/build/native-build-number/kmime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmines b/testing/source/vtown/kde/build/native-build-number/kmines
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmines
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmix b/testing/source/vtown/kde/build/native-build-number/kmix
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmix
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmousetool b/testing/source/vtown/kde/build/native-build-number/kmousetool
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmousetool
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmouth b/testing/source/vtown/kde/build/native-build-number/kmouth
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmouth
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmplot b/testing/source/vtown/kde/build/native-build-number/kmplot
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmplot
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kmymoney b/testing/source/vtown/kde/build/native-build-number/kmymoney
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kmymoney
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knavalbattle b/testing/source/vtown/kde/build/native-build-number/knavalbattle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knavalbattle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knetwalk b/testing/source/vtown/kde/build/native-build-number/knetwalk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knetwalk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knewstuff b/testing/source/vtown/kde/build/native-build-number/knewstuff
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knewstuff
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knights b/testing/source/vtown/kde/build/native-build-number/knights
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knights
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knotes b/testing/source/vtown/kde/build/native-build-number/knotes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knotes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knotifications b/testing/source/vtown/kde/build/native-build-number/knotifications
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knotifications
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/knotifyconfig b/testing/source/vtown/kde/build/native-build-number/knotifyconfig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/knotifyconfig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kolf b/testing/source/vtown/kde/build/native-build-number/kolf
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kolf
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kollision b/testing/source/vtown/kde/build/native-build-number/kollision
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kollision
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kolourpaint b/testing/source/vtown/kde/build/native-build-number/kolourpaint
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kolourpaint
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kompare b/testing/source/vtown/kde/build/native-build-number/kompare
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kompare
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/konqueror b/testing/source/vtown/kde/build/native-build-number/konqueror
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/konqueror
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/konquest b/testing/source/vtown/kde/build/native-build-number/konquest
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/konquest
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/konsole b/testing/source/vtown/kde/build/native-build-number/konsole
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/konsole
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kontact b/testing/source/vtown/kde/build/native-build-number/kontact
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kontact
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kontactinterface b/testing/source/vtown/kde/build/native-build-number/kontactinterface
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kontactinterface
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kopete b/testing/source/vtown/kde/build/native-build-number/kopete
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kopete
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/korganizer b/testing/source/vtown/kde/build/native-build-number/korganizer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/korganizer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpackage b/testing/source/vtown/kde/build/native-build-number/kpackage
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpackage
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kparts b/testing/source/vtown/kde/build/native-build-number/kparts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kparts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpat b/testing/source/vtown/kde/build/native-build-number/kpat
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpat
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpeople b/testing/source/vtown/kde/build/native-build-number/kpeople
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpeople
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpeoplevcard b/testing/source/vtown/kde/build/native-build-number/kpeoplevcard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpeoplevcard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpimtextedit b/testing/source/vtown/kde/build/native-build-number/kpimtextedit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpimtextedit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpkpass b/testing/source/vtown/kde/build/native-build-number/kpkpass
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpkpass
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kplotting b/testing/source/vtown/kde/build/native-build-number/kplotting
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kplotting
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpmcore b/testing/source/vtown/kde/build/native-build-number/kpmcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpmcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kpty b/testing/source/vtown/kde/build/native-build-number/kpty
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kpty
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kqtquickcharts b/testing/source/vtown/kde/build/native-build-number/kqtquickcharts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kqtquickcharts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kquickcharts b/testing/source/vtown/kde/build/native-build-number/kquickcharts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kquickcharts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krdc b/testing/source/vtown/kde/build/native-build-number/krdc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krdc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krename b/testing/source/vtown/kde/build/native-build-number/krename
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krename
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kreversi b/testing/source/vtown/kde/build/native-build-number/kreversi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kreversi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krfb b/testing/source/vtown/kde/build/native-build-number/krfb
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krfb
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krita b/testing/source/vtown/kde/build/native-build-number/krita
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krita
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kross b/testing/source/vtown/kde/build/native-build-number/kross
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kross
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kross-interpreters b/testing/source/vtown/kde/build/native-build-number/kross-interpreters
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kross-interpreters
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kruler b/testing/source/vtown/kde/build/native-build-number/kruler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kruler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krunner b/testing/source/vtown/kde/build/native-build-number/krunner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krunner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/krusader b/testing/source/vtown/kde/build/native-build-number/krusader
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/krusader
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kscreen b/testing/source/vtown/kde/build/native-build-number/kscreen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kscreen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kscreenlocker b/testing/source/vtown/kde/build/native-build-number/kscreenlocker
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kscreenlocker
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kservice b/testing/source/vtown/kde/build/native-build-number/kservice
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kservice
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kshisen b/testing/source/vtown/kde/build/native-build-number/kshisen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kshisen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksirk b/testing/source/vtown/kde/build/native-build-number/ksirk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksirk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksmtp b/testing/source/vtown/kde/build/native-build-number/ksmtp
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksmtp
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksnakeduel b/testing/source/vtown/kde/build/native-build-number/ksnakeduel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksnakeduel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kspaceduel b/testing/source/vtown/kde/build/native-build-number/kspaceduel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kspaceduel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksquares b/testing/source/vtown/kde/build/native-build-number/ksquares
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksquares
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksshaskpass b/testing/source/vtown/kde/build/native-build-number/ksshaskpass
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksshaskpass
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kstars b/testing/source/vtown/kde/build/native-build-number/kstars
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kstars
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksudoku b/testing/source/vtown/kde/build/native-build-number/ksudoku
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksudoku
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksysguard b/testing/source/vtown/kde/build/native-build-number/ksysguard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksysguard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ksystemlog b/testing/source/vtown/kde/build/native-build-number/ksystemlog
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ksystemlog
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kteatime b/testing/source/vtown/kde/build/native-build-number/kteatime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kteatime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktexteditor b/testing/source/vtown/kde/build/native-build-number/ktexteditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktexteditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktextwidgets b/testing/source/vtown/kde/build/native-build-number/ktextwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktextwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktimer b/testing/source/vtown/kde/build/native-build-number/ktimer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktimer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktimetracker b/testing/source/vtown/kde/build/native-build-number/ktimetracker
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktimetracker
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktnef b/testing/source/vtown/kde/build/native-build-number/ktnef
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktnef
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktorrent b/testing/source/vtown/kde/build/native-build-number/ktorrent
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktorrent
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktouch b/testing/source/vtown/kde/build/native-build-number/ktouch
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktouch
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-accounts-kcm b/testing/source/vtown/kde/build/native-build-number/ktp-accounts-kcm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-accounts-kcm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-approver b/testing/source/vtown/kde/build/native-build-number/ktp-approver
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-approver
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-auth-handler b/testing/source/vtown/kde/build/native-build-number/ktp-auth-handler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-auth-handler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-call-ui b/testing/source/vtown/kde/build/native-build-number/ktp-call-ui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-call-ui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-common-internals b/testing/source/vtown/kde/build/native-build-number/ktp-common-internals
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-common-internals
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-contact-list b/testing/source/vtown/kde/build/native-build-number/ktp-contact-list
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-contact-list
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-contact-runner b/testing/source/vtown/kde/build/native-build-number/ktp-contact-runner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-contact-runner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-desktop-applets b/testing/source/vtown/kde/build/native-build-number/ktp-desktop-applets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-desktop-applets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-filetransfer-handler b/testing/source/vtown/kde/build/native-build-number/ktp-filetransfer-handler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-filetransfer-handler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-kded-module b/testing/source/vtown/kde/build/native-build-number/ktp-kded-module
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-kded-module
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-send-file b/testing/source/vtown/kde/build/native-build-number/ktp-send-file
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-send-file
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktp-text-ui b/testing/source/vtown/kde/build/native-build-number/ktp-text-ui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktp-text-ui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/ktuberling b/testing/source/vtown/kde/build/native-build-number/ktuberling
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/ktuberling
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kturtle b/testing/source/vtown/kde/build/native-build-number/kturtle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kturtle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kubrick b/testing/source/vtown/kde/build/native-build-number/kubrick
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kubrick
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kunitconversion b/testing/source/vtown/kde/build/native-build-number/kunitconversion
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kunitconversion
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kuser b/testing/source/vtown/kde/build/native-build-number/kuser
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kuser
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwallet b/testing/source/vtown/kde/build/native-build-number/kwallet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwallet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwallet-pam b/testing/source/vtown/kde/build/native-build-number/kwallet-pam
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwallet-pam
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwalletmanager b/testing/source/vtown/kde/build/native-build-number/kwalletmanager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwalletmanager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwave b/testing/source/vtown/kde/build/native-build-number/kwave
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwave
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwayland b/testing/source/vtown/kde/build/native-build-number/kwayland
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwayland
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwayland-integration b/testing/source/vtown/kde/build/native-build-number/kwayland-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwayland-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwayland-server b/testing/source/vtown/kde/build/native-build-number/kwayland-server
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwayland-server
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwebkitpart b/testing/source/vtown/kde/build/native-build-number/kwebkitpart
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwebkitpart
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwidgetsaddons b/testing/source/vtown/kde/build/native-build-number/kwidgetsaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwidgetsaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwin b/testing/source/vtown/kde/build/native-build-number/kwin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwindowsystem b/testing/source/vtown/kde/build/native-build-number/kwindowsystem
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwindowsystem
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwordquiz b/testing/source/vtown/kde/build/native-build-number/kwordquiz
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwordquiz
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kwrited b/testing/source/vtown/kde/build/native-build-number/kwrited
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kwrited
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kxmlgui b/testing/source/vtown/kde/build/native-build-number/kxmlgui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kxmlgui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/kxmlrpcclient b/testing/source/vtown/kde/build/native-build-number/kxmlrpcclient
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/kxmlrpcclient
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/labplot b/testing/source/vtown/kde/build/native-build-number/labplot
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/labplot
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/latte-dock b/testing/source/vtown/kde/build/native-build-number/latte-dock
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/latte-dock
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libgravatar b/testing/source/vtown/kde/build/native-build-number/libgravatar
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libgravatar
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkcddb b/testing/source/vtown/kde/build/native-build-number/libkcddb
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkcddb
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkcompactdisc b/testing/source/vtown/kde/build/native-build-number/libkcompactdisc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkcompactdisc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkdcraw b/testing/source/vtown/kde/build/native-build-number/libkdcraw
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkdcraw
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkdegames b/testing/source/vtown/kde/build/native-build-number/libkdegames
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkdegames
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkdepim b/testing/source/vtown/kde/build/native-build-number/libkdepim
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkdepim
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkeduvocdocument b/testing/source/vtown/kde/build/native-build-number/libkeduvocdocument
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkeduvocdocument
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkexiv2 b/testing/source/vtown/kde/build/native-build-number/libkexiv2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkexiv2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkgapi b/testing/source/vtown/kde/build/native-build-number/libkgapi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkgapi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkgeomap b/testing/source/vtown/kde/build/native-build-number/libkgeomap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkgeomap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkipi b/testing/source/vtown/kde/build/native-build-number/libkipi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkipi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkleo b/testing/source/vtown/kde/build/native-build-number/libkleo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkleo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkmahjongg b/testing/source/vtown/kde/build/native-build-number/libkmahjongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkmahjongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkomparediff2 b/testing/source/vtown/kde/build/native-build-number/libkomparediff2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkomparediff2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libksane b/testing/source/vtown/kde/build/native-build-number/libksane
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libksane
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libkscreen b/testing/source/vtown/kde/build/native-build-number/libkscreen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libkscreen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libksieve b/testing/source/vtown/kde/build/native-build-number/libksieve
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libksieve
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libksysguard b/testing/source/vtown/kde/build/native-build-number/libksysguard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libksysguard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/libktorrent b/testing/source/vtown/kde/build/native-build-number/libktorrent
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/libktorrent
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/lokalize b/testing/source/vtown/kde/build/native-build-number/lokalize
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/lokalize
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/lskat b/testing/source/vtown/kde/build/native-build-number/lskat
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/lskat
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/mailcommon b/testing/source/vtown/kde/build/native-build-number/mailcommon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/mailcommon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/mailimporter b/testing/source/vtown/kde/build/native-build-number/mailimporter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/mailimporter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/marble b/testing/source/vtown/kde/build/native-build-number/marble
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/marble
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/mbox-importer b/testing/source/vtown/kde/build/native-build-number/mbox-importer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/mbox-importer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/messagelib b/testing/source/vtown/kde/build/native-build-number/messagelib
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/messagelib
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/milou b/testing/source/vtown/kde/build/native-build-number/milou
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/milou
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/minuet b/testing/source/vtown/kde/build/native-build-number/minuet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/minuet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/modemmanager-qt b/testing/source/vtown/kde/build/native-build-number/modemmanager-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/modemmanager-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/networkmanager-qt b/testing/source/vtown/kde/build/native-build-number/networkmanager-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/networkmanager-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/okteta b/testing/source/vtown/kde/build/native-build-number/okteta
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/okteta
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/okular b/testing/source/vtown/kde/build/native-build-number/okular
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/okular
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/oxygen b/testing/source/vtown/kde/build/native-build-number/oxygen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/oxygen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/oxygen-fonts b/testing/source/vtown/kde/build/native-build-number/oxygen-fonts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/oxygen-fonts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/oxygen-gtk2 b/testing/source/vtown/kde/build/native-build-number/oxygen-gtk2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/oxygen-gtk2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/oxygen-icons5 b/testing/source/vtown/kde/build/native-build-number/oxygen-icons5
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/oxygen-icons5
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/palapeli b/testing/source/vtown/kde/build/native-build-number/palapeli
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/palapeli
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/parley b/testing/source/vtown/kde/build/native-build-number/parley
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/parley
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/partitionmanager b/testing/source/vtown/kde/build/native-build-number/partitionmanager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/partitionmanager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/picmi b/testing/source/vtown/kde/build/native-build-number/picmi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/picmi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/pim-data-exporter b/testing/source/vtown/kde/build/native-build-number/pim-data-exporter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/pim-data-exporter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/pim-sieve-editor b/testing/source/vtown/kde/build/native-build-number/pim-sieve-editor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/pim-sieve-editor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/pimcommon b/testing/source/vtown/kde/build/native-build-number/pimcommon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/pimcommon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-browser-integration b/testing/source/vtown/kde/build/native-build-number/plasma-browser-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-browser-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-desktop b/testing/source/vtown/kde/build/native-build-number/plasma-desktop
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-desktop
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-disks b/testing/source/vtown/kde/build/native-build-number/plasma-disks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-disks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-framework b/testing/source/vtown/kde/build/native-build-number/plasma-framework
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-framework
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-integration b/testing/source/vtown/kde/build/native-build-number/plasma-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-nm b/testing/source/vtown/kde/build/native-build-number/plasma-nm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-nm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-pa b/testing/source/vtown/kde/build/native-build-number/plasma-pa
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-pa
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-sdk b/testing/source/vtown/kde/build/native-build-number/plasma-sdk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-sdk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-vault b/testing/source/vtown/kde/build/native-build-number/plasma-vault
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-vault
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-wayland-protocols b/testing/source/vtown/kde/build/native-build-number/plasma-wayland-protocols
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-wayland-protocols
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-workspace b/testing/source/vtown/kde/build/native-build-number/plasma-workspace
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-workspace
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/plasma-workspace-wallpapers b/testing/source/vtown/kde/build/native-build-number/plasma-workspace-wallpapers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/plasma-workspace-wallpapers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/polkit-kde-agent-1 b/testing/source/vtown/kde/build/native-build-number/polkit-kde-agent-1
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/polkit-kde-agent-1
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/polkit-kde-kcmodules-framework b/testing/source/vtown/kde/build/native-build-number/polkit-kde-kcmodules-framework
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/polkit-kde-kcmodules-framework
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/powerdevil b/testing/source/vtown/kde/build/native-build-number/powerdevil
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/powerdevil
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/poxml b/testing/source/vtown/kde/build/native-build-number/poxml
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/poxml
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/print-manager b/testing/source/vtown/kde/build/native-build-number/print-manager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/print-manager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/prison b/testing/source/vtown/kde/build/native-build-number/prison
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/prison
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/pulseaudio-qt b/testing/source/vtown/kde/build/native-build-number/pulseaudio-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/pulseaudio-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/purpose b/testing/source/vtown/kde/build/native-build-number/purpose
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/purpose
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/qqc2-desktop-style b/testing/source/vtown/kde/build/native-build-number/qqc2-desktop-style
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/qqc2-desktop-style
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/rocs b/testing/source/vtown/kde/build/native-build-number/rocs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/rocs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/sddm b/testing/source/vtown/kde/build/native-build-number/sddm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/sddm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/sddm-kcm b/testing/source/vtown/kde/build/native-build-number/sddm-kcm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/sddm-kcm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/signon-kwallet-extension b/testing/source/vtown/kde/build/native-build-number/signon-kwallet-extension
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/signon-kwallet-extension
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/skanlite b/testing/source/vtown/kde/build/native-build-number/skanlite
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/skanlite
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/solid b/testing/source/vtown/kde/build/native-build-number/solid
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/solid
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/sonnet b/testing/source/vtown/kde/build/native-build-number/sonnet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/sonnet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/spectacle b/testing/source/vtown/kde/build/native-build-number/spectacle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/spectacle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/step b/testing/source/vtown/kde/build/native-build-number/step
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/step
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/svgpart b/testing/source/vtown/kde/build/native-build-number/svgpart
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/svgpart
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/sweeper b/testing/source/vtown/kde/build/native-build-number/sweeper
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/sweeper
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/syndication b/testing/source/vtown/kde/build/native-build-number/syndication
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/syndication
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/syntax-highlighting b/testing/source/vtown/kde/build/native-build-number/syntax-highlighting
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/syntax-highlighting
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/systemsettings b/testing/source/vtown/kde/build/native-build-number/systemsettings
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/systemsettings
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/threadweaver b/testing/source/vtown/kde/build/native-build-number/threadweaver
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/threadweaver
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/umbrello b/testing/source/vtown/kde/build/native-build-number/umbrello
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/umbrello
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/user-manager b/testing/source/vtown/kde/build/native-build-number/user-manager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/user-manager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/wacomtablet b/testing/source/vtown/kde/build/native-build-number/wacomtablet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/wacomtablet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/xdg-desktop-portal-kde b/testing/source/vtown/kde/build/native-build-number/xdg-desktop-portal-kde
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/xdg-desktop-portal-kde
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/yakuake b/testing/source/vtown/kde/build/native-build-number/yakuake
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/yakuake
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/native-build-number/zeroconf-ioslave b/testing/source/vtown/kde/build/native-build-number/zeroconf-ioslave
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/native-build-number/zeroconf-ioslave
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/networkmanager-qt b/testing/source/vtown/kde/build/networkmanager-qt
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/networkmanager-qt
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/okteta b/testing/source/vtown/kde/build/okteta
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/okteta
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/okular b/testing/source/vtown/kde/build/okular
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/okular
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/oxygen b/testing/source/vtown/kde/build/oxygen
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/oxygen
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/oxygen-fonts b/testing/source/vtown/kde/build/oxygen-fonts
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/oxygen-fonts
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/oxygen-gtk2 b/testing/source/vtown/kde/build/oxygen-gtk2
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/oxygen-gtk2
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/oxygen-icons5 b/testing/source/vtown/kde/build/oxygen-icons5
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/oxygen-icons5
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/palapeli b/testing/source/vtown/kde/build/palapeli
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/palapeli
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/parley b/testing/source/vtown/kde/build/parley
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/parley
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/partitionmanager b/testing/source/vtown/kde/build/partitionmanager
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/partitionmanager
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/picmi b/testing/source/vtown/kde/build/picmi
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/picmi
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/pim-data-exporter b/testing/source/vtown/kde/build/pim-data-exporter
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/pim-data-exporter
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/pim-sieve-editor b/testing/source/vtown/kde/build/pim-sieve-editor
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/pim-sieve-editor
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/pimcommon b/testing/source/vtown/kde/build/pimcommon
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/pimcommon
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-browser-integration b/testing/source/vtown/kde/build/plasma-browser-integration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-browser-integration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-desktop b/testing/source/vtown/kde/build/plasma-desktop
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-desktop
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-disks b/testing/source/vtown/kde/build/plasma-disks
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-disks
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-framework b/testing/source/vtown/kde/build/plasma-framework
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-framework
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-integration b/testing/source/vtown/kde/build/plasma-integration
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-integration
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-nm b/testing/source/vtown/kde/build/plasma-nm
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-nm
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-pa b/testing/source/vtown/kde/build/plasma-pa
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-pa
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-sdk b/testing/source/vtown/kde/build/plasma-sdk
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-sdk
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-vault b/testing/source/vtown/kde/build/plasma-vault
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-vault
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-wayland-protocols b/testing/source/vtown/kde/build/plasma-wayland-protocols
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-wayland-protocols
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-workspace b/testing/source/vtown/kde/build/plasma-workspace
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-workspace
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/plasma-workspace-wallpapers b/testing/source/vtown/kde/build/plasma-workspace-wallpapers
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/plasma-workspace-wallpapers
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/polkit-kde-agent-1 b/testing/source/vtown/kde/build/polkit-kde-agent-1
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/polkit-kde-agent-1
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/powerdevil b/testing/source/vtown/kde/build/powerdevil
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/powerdevil
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/poxml b/testing/source/vtown/kde/build/poxml
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/poxml
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/print-manager b/testing/source/vtown/kde/build/print-manager
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/print-manager
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/prison b/testing/source/vtown/kde/build/prison
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/prison
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/pulseaudio-qt b/testing/source/vtown/kde/build/pulseaudio-qt
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/pulseaudio-qt
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/purpose b/testing/source/vtown/kde/build/purpose
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/purpose
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/qqc2-desktop-style b/testing/source/vtown/kde/build/qqc2-desktop-style
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/qqc2-desktop-style
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/rocs b/testing/source/vtown/kde/build/rocs
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/rocs
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/sddm b/testing/source/vtown/kde/build/sddm
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/sddm
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/sddm-kcm b/testing/source/vtown/kde/build/sddm-kcm
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/sddm-kcm
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/signon-kwallet-extension b/testing/source/vtown/kde/build/signon-kwallet-extension
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/signon-kwallet-extension
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/skanlite b/testing/source/vtown/kde/build/skanlite
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/skanlite
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/solid b/testing/source/vtown/kde/build/solid
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/solid
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/sonnet b/testing/source/vtown/kde/build/sonnet
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/sonnet
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/spectacle b/testing/source/vtown/kde/build/spectacle
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/spectacle
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/step b/testing/source/vtown/kde/build/step
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/step
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/svgpart b/testing/source/vtown/kde/build/svgpart
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/svgpart
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/sweeper b/testing/source/vtown/kde/build/sweeper
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/sweeper
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/syndication b/testing/source/vtown/kde/build/syndication
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/syndication
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/syntax-highlighting b/testing/source/vtown/kde/build/syntax-highlighting
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/syntax-highlighting
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/systemsettings b/testing/source/vtown/kde/build/systemsettings
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/systemsettings
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/threadweaver b/testing/source/vtown/kde/build/threadweaver
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/threadweaver
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/umbrello b/testing/source/vtown/kde/build/umbrello
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/umbrello
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/uplift-builds.sh b/testing/source/vtown/kde/build/uplift-builds.sh
new file mode 100755
index 00000000..508e9263
--- /dev/null
+++ b/testing/source/vtown/kde/build/uplift-builds.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+# Update the combined build numbers from the native and vtown build numbers.
+for native in native-build-number/* ; do
+ BUILDFILE=$(basename $native)
+ if [ "$BUILDFILE" = "increment.sh" ]; then
+ continue
+ fi
+ OLDCONTENTS=$(cat $BUILDFILE 2> /dev/null)
+ NEWCONTENTS="$(cat $native)_vtown_$(cat vtown-build-number/$(basename $native))"
+ if [ ! "$OLDCONTENTS" = "$NEWCONTENTS" ]; then
+ echo "Uplifting $BUILDFILE"
+ echo $NEWCONTENTS > $BUILDFILE
+ fi
+done
diff --git a/testing/source/vtown/kde/build/user-manager b/testing/source/vtown/kde/build/user-manager
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/user-manager
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi b/testing/source/vtown/kde/build/vtown-build-number/akonadi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar b/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar-tools b/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar-tools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-calendar-tools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-contacts b/testing/source/vtown/kde/build/vtown-build-number/akonadi-contacts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-contacts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-import-wizard b/testing/source/vtown/kde/build/vtown-build-number/akonadi-import-wizard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-import-wizard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-mime b/testing/source/vtown/kde/build/vtown-build-number/akonadi-mime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-mime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-notes b/testing/source/vtown/kde/build/vtown-build-number/akonadi-notes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-notes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadi-search b/testing/source/vtown/kde/build/vtown-build-number/akonadi-search
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadi-search
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akonadiconsole b/testing/source/vtown/kde/build/vtown-build-number/akonadiconsole
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akonadiconsole
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/akregator b/testing/source/vtown/kde/build/vtown-build-number/akregator
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/akregator
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/alkimia b/testing/source/vtown/kde/build/vtown-build-number/alkimia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/alkimia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/analitza b/testing/source/vtown/kde/build/vtown-build-number/analitza
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/analitza
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ark b/testing/source/vtown/kde/build/vtown-build-number/ark
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ark
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/artikulate b/testing/source/vtown/kde/build/vtown-build-number/artikulate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/artikulate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/attica b/testing/source/vtown/kde/build/vtown-build-number/attica
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/attica
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/audiocd-kio b/testing/source/vtown/kde/build/vtown-build-number/audiocd-kio
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/audiocd-kio
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/baloo b/testing/source/vtown/kde/build/vtown-build-number/baloo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/baloo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/baloo-widgets b/testing/source/vtown/kde/build/vtown-build-number/baloo-widgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/baloo-widgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/blinken b/testing/source/vtown/kde/build/vtown-build-number/blinken
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/blinken
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/bluedevil b/testing/source/vtown/kde/build/vtown-build-number/bluedevil
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/bluedevil
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/bluez-qt b/testing/source/vtown/kde/build/vtown-build-number/bluez-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/bluez-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/bomber b/testing/source/vtown/kde/build/vtown-build-number/bomber
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/bomber
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/bovo b/testing/source/vtown/kde/build/vtown-build-number/bovo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/bovo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/breeze b/testing/source/vtown/kde/build/vtown-build-number/breeze
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/breeze
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/breeze-grub b/testing/source/vtown/kde/build/vtown-build-number/breeze-grub
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/breeze-grub
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/breeze-gtk b/testing/source/vtown/kde/build/vtown-build-number/breeze-gtk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/breeze-gtk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/breeze-icons b/testing/source/vtown/kde/build/vtown-build-number/breeze-icons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/breeze-icons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/calendarsupport b/testing/source/vtown/kde/build/vtown-build-number/calendarsupport
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/calendarsupport
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/calligra b/testing/source/vtown/kde/build/vtown-build-number/calligra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/calligra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/calligraplan b/testing/source/vtown/kde/build/vtown-build-number/calligraplan
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/calligraplan
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/cantor b/testing/source/vtown/kde/build/vtown-build-number/cantor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/cantor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/cervisia b/testing/source/vtown/kde/build/vtown-build-number/cervisia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/cervisia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/digikam b/testing/source/vtown/kde/build/vtown-build-number/digikam
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/digikam
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/discover b/testing/source/vtown/kde/build/vtown-build-number/discover
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/discover
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/dolphin b/testing/source/vtown/kde/build/vtown-build-number/dolphin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/dolphin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/dolphin-plugins b/testing/source/vtown/kde/build/vtown-build-number/dolphin-plugins
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/dolphin-plugins
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/dragon b/testing/source/vtown/kde/build/vtown-build-number/dragon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/dragon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/drkonqi b/testing/source/vtown/kde/build/vtown-build-number/drkonqi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/drkonqi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/elisa b/testing/source/vtown/kde/build/vtown-build-number/elisa
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/elisa
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/eventviews b/testing/source/vtown/kde/build/vtown-build-number/eventviews
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/eventviews
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/extra-cmake-modules b/testing/source/vtown/kde/build/vtown-build-number/extra-cmake-modules
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/extra-cmake-modules
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/falkon b/testing/source/vtown/kde/build/vtown-build-number/falkon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/falkon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ffmpegthumbs b/testing/source/vtown/kde/build/vtown-build-number/ffmpegthumbs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ffmpegthumbs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/filelight b/testing/source/vtown/kde/build/vtown-build-number/filelight
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/filelight
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/frameworkintegration b/testing/source/vtown/kde/build/vtown-build-number/frameworkintegration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/frameworkintegration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/granatier b/testing/source/vtown/kde/build/vtown-build-number/granatier
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/granatier
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/grantlee-editor b/testing/source/vtown/kde/build/vtown-build-number/grantlee-editor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/grantlee-editor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/grantleetheme b/testing/source/vtown/kde/build/vtown-build-number/grantleetheme
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/grantleetheme
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/gwenview b/testing/source/vtown/kde/build/vtown-build-number/gwenview
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/gwenview
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/incidenceeditor b/testing/source/vtown/kde/build/vtown-build-number/incidenceeditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/incidenceeditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/increment.sh b/testing/source/vtown/kde/build/vtown-build-number/increment.sh
new file mode 100755
index 00000000..6de5d0da
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/testing/source/vtown/kde/build/vtown-build-number/juk b/testing/source/vtown/kde/build/vtown-build-number/juk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/juk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/k3b b/testing/source/vtown/kde/build/vtown-build-number/k3b
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/k3b
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kaccounts-integration b/testing/source/vtown/kde/build/vtown-build-number/kaccounts-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kaccounts-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kaccounts-providers b/testing/source/vtown/kde/build/vtown-build-number/kaccounts-providers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kaccounts-providers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kactivities b/testing/source/vtown/kde/build/vtown-build-number/kactivities
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kactivities
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kactivities-stats b/testing/source/vtown/kde/build/vtown-build-number/kactivities-stats
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kactivities-stats
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kactivitymanagerd b/testing/source/vtown/kde/build/vtown-build-number/kactivitymanagerd
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kactivitymanagerd
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kaddressbook b/testing/source/vtown/kde/build/vtown-build-number/kaddressbook
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kaddressbook
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kajongg b/testing/source/vtown/kde/build/vtown-build-number/kajongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kajongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kalarm b/testing/source/vtown/kde/build/vtown-build-number/kalarm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kalarm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kalarmcal b/testing/source/vtown/kde/build/vtown-build-number/kalarmcal
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kalarmcal
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kalgebra b/testing/source/vtown/kde/build/vtown-build-number/kalgebra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kalgebra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kalzium b/testing/source/vtown/kde/build/vtown-build-number/kalzium
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kalzium
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kamera b/testing/source/vtown/kde/build/vtown-build-number/kamera
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kamera
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kamoso b/testing/source/vtown/kde/build/vtown-build-number/kamoso
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kamoso
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kanagram b/testing/source/vtown/kde/build/vtown-build-number/kanagram
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kanagram
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kapidox b/testing/source/vtown/kde/build/vtown-build-number/kapidox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kapidox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kapman b/testing/source/vtown/kde/build/vtown-build-number/kapman
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kapman
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kapptemplate b/testing/source/vtown/kde/build/vtown-build-number/kapptemplate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kapptemplate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/karchive b/testing/source/vtown/kde/build/vtown-build-number/karchive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/karchive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kate b/testing/source/vtown/kde/build/vtown-build-number/kate
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kate
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/katomic b/testing/source/vtown/kde/build/vtown-build-number/katomic
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/katomic
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kaudiocreator b/testing/source/vtown/kde/build/vtown-build-number/kaudiocreator
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kaudiocreator
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kauth b/testing/source/vtown/kde/build/vtown-build-number/kauth
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kauth
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kbackup b/testing/source/vtown/kde/build/vtown-build-number/kbackup
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kbackup
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kblackbox b/testing/source/vtown/kde/build/vtown-build-number/kblackbox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kblackbox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kblocks b/testing/source/vtown/kde/build/vtown-build-number/kblocks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kblocks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kbookmarks b/testing/source/vtown/kde/build/vtown-build-number/kbookmarks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kbookmarks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kbounce b/testing/source/vtown/kde/build/vtown-build-number/kbounce
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kbounce
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kbreakout b/testing/source/vtown/kde/build/vtown-build-number/kbreakout
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kbreakout
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kbruch b/testing/source/vtown/kde/build/vtown-build-number/kbruch
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kbruch
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcachegrind b/testing/source/vtown/kde/build/vtown-build-number/kcachegrind
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcachegrind
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcalc b/testing/source/vtown/kde/build/vtown-build-number/kcalc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcalc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcalcore b/testing/source/vtown/kde/build/vtown-build-number/kcalcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcalcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcalendarcore b/testing/source/vtown/kde/build/vtown-build-number/kcalendarcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcalendarcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcalutils b/testing/source/vtown/kde/build/vtown-build-number/kcalutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcalutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcharselect b/testing/source/vtown/kde/build/vtown-build-number/kcharselect
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcharselect
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcmutils b/testing/source/vtown/kde/build/vtown-build-number/kcmutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcmutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcodecs b/testing/source/vtown/kde/build/vtown-build-number/kcodecs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcodecs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcolorchooser b/testing/source/vtown/kde/build/vtown-build-number/kcolorchooser
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcolorchooser
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcompletion b/testing/source/vtown/kde/build/vtown-build-number/kcompletion
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcompletion
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kconfig b/testing/source/vtown/kde/build/vtown-build-number/kconfig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kconfig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kconfigwidgets b/testing/source/vtown/kde/build/vtown-build-number/kconfigwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kconfigwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcontacts b/testing/source/vtown/kde/build/vtown-build-number/kcontacts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcontacts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcoreaddons b/testing/source/vtown/kde/build/vtown-build-number/kcoreaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcoreaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcrash b/testing/source/vtown/kde/build/vtown-build-number/kcrash
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcrash
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kcron b/testing/source/vtown/kde/build/vtown-build-number/kcron
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kcron
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdav b/testing/source/vtown/kde/build/vtown-build-number/kdav
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdav
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdbusaddons b/testing/source/vtown/kde/build/vtown-build-number/kdbusaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdbusaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kde-cli-tools b/testing/source/vtown/kde/build/vtown-build-number/kde-cli-tools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kde-cli-tools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kde-dev-scripts b/testing/source/vtown/kde/build/vtown-build-number/kde-dev-scripts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kde-dev-scripts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kde-dev-utils b/testing/source/vtown/kde/build/vtown-build-number/kde-dev-utils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kde-dev-utils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kde-gtk-config b/testing/source/vtown/kde/build/vtown-build-number/kde-gtk-config
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kde-gtk-config
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kde-wallpapers b/testing/source/vtown/kde/build/vtown-build-number/kde-wallpapers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kde-wallpapers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeaccessibility b/testing/source/vtown/kde/build/vtown-build-number/kdeaccessibility
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeaccessibility
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeadmin b/testing/source/vtown/kde/build/vtown-build-number/kdeadmin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeadmin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdebase b/testing/source/vtown/kde/build/vtown-build-number/kdebase
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdebase
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdebugsettings b/testing/source/vtown/kde/build/vtown-build-number/kdebugsettings
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdebugsettings
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeclarative b/testing/source/vtown/kde/build/vtown-build-number/kdeclarative
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeclarative
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeconnect-kde b/testing/source/vtown/kde/build/vtown-build-number/kdeconnect-kde
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeconnect-kde
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdecoration b/testing/source/vtown/kde/build/vtown-build-number/kdecoration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdecoration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kded b/testing/source/vtown/kde/build/vtown-build-number/kded
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kded
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeedu b/testing/source/vtown/kde/build/vtown-build-number/kdeedu
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeedu
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeedu-data b/testing/source/vtown/kde/build/vtown-build-number/kdeedu-data
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeedu-data
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdegames b/testing/source/vtown/kde/build/vtown-build-number/kdegames
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdegames
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdegraphics b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-mobipocket b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-mobipocket
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-mobipocket
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-thumbnailers b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-thumbnailers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdegraphics-thumbnailers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdelibs b/testing/source/vtown/kde/build/vtown-build-number/kdelibs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdelibs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdelibs4support b/testing/source/vtown/kde/build/vtown-build-number/kdelibs4support
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdelibs4support
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdemultimedia b/testing/source/vtown/kde/build/vtown-build-number/kdemultimedia
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdemultimedia
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdenetwork b/testing/source/vtown/kde/build/vtown-build-number/kdenetwork
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdenetwork
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdenetwork-filesharing b/testing/source/vtown/kde/build/vtown-build-number/kdenetwork-filesharing
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdenetwork-filesharing
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdenlive b/testing/source/vtown/kde/build/vtown-build-number/kdenlive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdenlive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdepim b/testing/source/vtown/kde/build/vtown-build-number/kdepim
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdepim
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdepim-addons b/testing/source/vtown/kde/build/vtown-build-number/kdepim-addons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdepim-addons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdepim-apps-libs b/testing/source/vtown/kde/build/vtown-build-number/kdepim-apps-libs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdepim-apps-libs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdepim-runtime b/testing/source/vtown/kde/build/vtown-build-number/kdepim-runtime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdepim-runtime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeplasma-addons b/testing/source/vtown/kde/build/vtown-build-number/kdeplasma-addons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeplasma-addons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdesdk b/testing/source/vtown/kde/build/vtown-build-number/kdesdk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdesdk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdesdk-kioslaves b/testing/source/vtown/kde/build/vtown-build-number/kdesdk-kioslaves
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdesdk-kioslaves
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdesdk-thumbnailers b/testing/source/vtown/kde/build/vtown-build-number/kdesdk-thumbnailers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdesdk-thumbnailers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdesignerplugin b/testing/source/vtown/kde/build/vtown-build-number/kdesignerplugin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdesignerplugin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdesu b/testing/source/vtown/kde/build/vtown-build-number/kdesu
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdesu
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdetoys b/testing/source/vtown/kde/build/vtown-build-number/kdetoys
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdetoys
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdeutils b/testing/source/vtown/kde/build/vtown-build-number/kdeutils
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdeutils
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdev-php b/testing/source/vtown/kde/build/vtown-build-number/kdev-php
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdev-php
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdev-python b/testing/source/vtown/kde/build/vtown-build-number/kdev-python
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdev-python
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdevelop b/testing/source/vtown/kde/build/vtown-build-number/kdevelop
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdevelop
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdevelop-pg-qt b/testing/source/vtown/kde/build/vtown-build-number/kdevelop-pg-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdevelop-pg-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdevplatform b/testing/source/vtown/kde/build/vtown-build-number/kdevplatform
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdevplatform
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdewebdev b/testing/source/vtown/kde/build/vtown-build-number/kdewebdev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdewebdev
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdewebkit b/testing/source/vtown/kde/build/vtown-build-number/kdewebkit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdewebkit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdf b/testing/source/vtown/kde/build/vtown-build-number/kdf
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdf
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdiagram b/testing/source/vtown/kde/build/vtown-build-number/kdiagram
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdiagram
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdialog b/testing/source/vtown/kde/build/vtown-build-number/kdialog
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdialog
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdiamond b/testing/source/vtown/kde/build/vtown-build-number/kdiamond
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdiamond
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdnssd b/testing/source/vtown/kde/build/vtown-build-number/kdnssd
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdnssd
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kdoctools b/testing/source/vtown/kde/build/vtown-build-number/kdoctools
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kdoctools
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/keditbookmarks b/testing/source/vtown/kde/build/vtown-build-number/keditbookmarks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/keditbookmarks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kemoticons b/testing/source/vtown/kde/build/vtown-build-number/kemoticons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kemoticons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kfilemetadata b/testing/source/vtown/kde/build/vtown-build-number/kfilemetadata
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kfilemetadata
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kfind b/testing/source/vtown/kde/build/vtown-build-number/kfind
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kfind
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kfloppy b/testing/source/vtown/kde/build/vtown-build-number/kfloppy
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kfloppy
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kfourinline b/testing/source/vtown/kde/build/vtown-build-number/kfourinline
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kfourinline
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kgamma5 b/testing/source/vtown/kde/build/vtown-build-number/kgamma5
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kgamma5
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kgeography b/testing/source/vtown/kde/build/vtown-build-number/kgeography
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kgeography
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kget b/testing/source/vtown/kde/build/vtown-build-number/kget
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kget
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kglobalaccel b/testing/source/vtown/kde/build/vtown-build-number/kglobalaccel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kglobalaccel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kgoldrunner b/testing/source/vtown/kde/build/vtown-build-number/kgoldrunner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kgoldrunner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kgpg b/testing/source/vtown/kde/build/vtown-build-number/kgpg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kgpg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kguiaddons b/testing/source/vtown/kde/build/vtown-build-number/kguiaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kguiaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/khangman b/testing/source/vtown/kde/build/vtown-build-number/khangman
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/khangman
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/khelpcenter b/testing/source/vtown/kde/build/vtown-build-number/khelpcenter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/khelpcenter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kholidays b/testing/source/vtown/kde/build/vtown-build-number/kholidays
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kholidays
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/khotkeys b/testing/source/vtown/kde/build/vtown-build-number/khotkeys
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/khotkeys
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/khtml b/testing/source/vtown/kde/build/vtown-build-number/khtml
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/khtml
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ki18n b/testing/source/vtown/kde/build/vtown-build-number/ki18n
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ki18n
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kiconthemes b/testing/source/vtown/kde/build/vtown-build-number/kiconthemes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kiconthemes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kid3 b/testing/source/vtown/kde/build/vtown-build-number/kid3
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kid3
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kidentitymanagement b/testing/source/vtown/kde/build/vtown-build-number/kidentitymanagement
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kidentitymanagement
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kidletime b/testing/source/vtown/kde/build/vtown-build-number/kidletime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kidletime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kig b/testing/source/vtown/kde/build/vtown-build-number/kig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kigo b/testing/source/vtown/kde/build/vtown-build-number/kigo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kigo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kile b/testing/source/vtown/kde/build/vtown-build-number/kile
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kile
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/killbots b/testing/source/vtown/kde/build/vtown-build-number/killbots
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/killbots
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kimageformats b/testing/source/vtown/kde/build/vtown-build-number/kimageformats
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kimageformats
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kimagemapeditor b/testing/source/vtown/kde/build/vtown-build-number/kimagemapeditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kimagemapeditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kimap b/testing/source/vtown/kde/build/vtown-build-number/kimap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kimap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kinfocenter b/testing/source/vtown/kde/build/vtown-build-number/kinfocenter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kinfocenter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kinit b/testing/source/vtown/kde/build/vtown-build-number/kinit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kinit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kio b/testing/source/vtown/kde/build/vtown-build-number/kio
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kio
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kio-extras b/testing/source/vtown/kde/build/vtown-build-number/kio-extras
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kio-extras
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kio-gdrive b/testing/source/vtown/kde/build/vtown-build-number/kio-gdrive
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kio-gdrive
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kipi-plugins b/testing/source/vtown/kde/build/vtown-build-number/kipi-plugins
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kipi-plugins
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kirigami-gallery b/testing/source/vtown/kde/build/vtown-build-number/kirigami-gallery
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kirigami-gallery
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kirigami2 b/testing/source/vtown/kde/build/vtown-build-number/kirigami2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kirigami2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kiriki b/testing/source/vtown/kde/build/vtown-build-number/kiriki
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kiriki
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kitemmodels b/testing/source/vtown/kde/build/vtown-build-number/kitemmodels
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kitemmodels
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kitemviews b/testing/source/vtown/kde/build/vtown-build-number/kitemviews
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kitemviews
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kiten b/testing/source/vtown/kde/build/vtown-build-number/kiten
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kiten
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kitinerary b/testing/source/vtown/kde/build/vtown-build-number/kitinerary
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kitinerary
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kjobwidgets b/testing/source/vtown/kde/build/vtown-build-number/kjobwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kjobwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kjots b/testing/source/vtown/kde/build/vtown-build-number/kjots
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kjots
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kjs b/testing/source/vtown/kde/build/vtown-build-number/kjs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kjs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kjsembed b/testing/source/vtown/kde/build/vtown-build-number/kjsembed
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kjsembed
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kjumpingcube b/testing/source/vtown/kde/build/vtown-build-number/kjumpingcube
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kjumpingcube
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kldap b/testing/source/vtown/kde/build/vtown-build-number/kldap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kldap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kleopatra b/testing/source/vtown/kde/build/vtown-build-number/kleopatra
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kleopatra
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/klettres b/testing/source/vtown/kde/build/vtown-build-number/klettres
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/klettres
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/klickety b/testing/source/vtown/kde/build/vtown-build-number/klickety
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/klickety
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/klines b/testing/source/vtown/kde/build/vtown-build-number/klines
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/klines
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmag b/testing/source/vtown/kde/build/vtown-build-number/kmag
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmag
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmahjongg b/testing/source/vtown/kde/build/vtown-build-number/kmahjongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmahjongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmail b/testing/source/vtown/kde/build/vtown-build-number/kmail
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmail
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmail-account-wizard b/testing/source/vtown/kde/build/vtown-build-number/kmail-account-wizard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmail-account-wizard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmailtransport b/testing/source/vtown/kde/build/vtown-build-number/kmailtransport
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmailtransport
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmbox b/testing/source/vtown/kde/build/vtown-build-number/kmbox
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmbox
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmediaplayer b/testing/source/vtown/kde/build/vtown-build-number/kmediaplayer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmediaplayer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmenuedit b/testing/source/vtown/kde/build/vtown-build-number/kmenuedit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmenuedit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmime b/testing/source/vtown/kde/build/vtown-build-number/kmime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmines b/testing/source/vtown/kde/build/vtown-build-number/kmines
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmines
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmix b/testing/source/vtown/kde/build/vtown-build-number/kmix
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmix
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmousetool b/testing/source/vtown/kde/build/vtown-build-number/kmousetool
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmousetool
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmouth b/testing/source/vtown/kde/build/vtown-build-number/kmouth
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmouth
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmplot b/testing/source/vtown/kde/build/vtown-build-number/kmplot
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmplot
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kmymoney b/testing/source/vtown/kde/build/vtown-build-number/kmymoney
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kmymoney
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knavalbattle b/testing/source/vtown/kde/build/vtown-build-number/knavalbattle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knavalbattle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knetwalk b/testing/source/vtown/kde/build/vtown-build-number/knetwalk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knetwalk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knewstuff b/testing/source/vtown/kde/build/vtown-build-number/knewstuff
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knewstuff
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knights b/testing/source/vtown/kde/build/vtown-build-number/knights
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knights
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knotes b/testing/source/vtown/kde/build/vtown-build-number/knotes
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knotes
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knotifications b/testing/source/vtown/kde/build/vtown-build-number/knotifications
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knotifications
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/knotifyconfig b/testing/source/vtown/kde/build/vtown-build-number/knotifyconfig
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/knotifyconfig
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kolf b/testing/source/vtown/kde/build/vtown-build-number/kolf
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kolf
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kollision b/testing/source/vtown/kde/build/vtown-build-number/kollision
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kollision
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kolourpaint b/testing/source/vtown/kde/build/vtown-build-number/kolourpaint
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kolourpaint
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kompare b/testing/source/vtown/kde/build/vtown-build-number/kompare
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kompare
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/konqueror b/testing/source/vtown/kde/build/vtown-build-number/konqueror
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/konqueror
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/konquest b/testing/source/vtown/kde/build/vtown-build-number/konquest
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/konquest
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/konsole b/testing/source/vtown/kde/build/vtown-build-number/konsole
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/konsole
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kontact b/testing/source/vtown/kde/build/vtown-build-number/kontact
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kontact
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kontactinterface b/testing/source/vtown/kde/build/vtown-build-number/kontactinterface
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kontactinterface
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kopete b/testing/source/vtown/kde/build/vtown-build-number/kopete
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kopete
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/korganizer b/testing/source/vtown/kde/build/vtown-build-number/korganizer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/korganizer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpackage b/testing/source/vtown/kde/build/vtown-build-number/kpackage
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpackage
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kparts b/testing/source/vtown/kde/build/vtown-build-number/kparts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kparts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpat b/testing/source/vtown/kde/build/vtown-build-number/kpat
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpat
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpeople b/testing/source/vtown/kde/build/vtown-build-number/kpeople
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpeople
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpeoplevcard b/testing/source/vtown/kde/build/vtown-build-number/kpeoplevcard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpeoplevcard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpimtextedit b/testing/source/vtown/kde/build/vtown-build-number/kpimtextedit
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpimtextedit
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpkpass b/testing/source/vtown/kde/build/vtown-build-number/kpkpass
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpkpass
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kplotting b/testing/source/vtown/kde/build/vtown-build-number/kplotting
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kplotting
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpmcore b/testing/source/vtown/kde/build/vtown-build-number/kpmcore
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpmcore
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kpty b/testing/source/vtown/kde/build/vtown-build-number/kpty
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kpty
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kqtquickcharts b/testing/source/vtown/kde/build/vtown-build-number/kqtquickcharts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kqtquickcharts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kquickcharts b/testing/source/vtown/kde/build/vtown-build-number/kquickcharts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kquickcharts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krdc b/testing/source/vtown/kde/build/vtown-build-number/krdc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krdc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krename b/testing/source/vtown/kde/build/vtown-build-number/krename
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krename
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kreversi b/testing/source/vtown/kde/build/vtown-build-number/kreversi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kreversi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krfb b/testing/source/vtown/kde/build/vtown-build-number/krfb
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krfb
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krita b/testing/source/vtown/kde/build/vtown-build-number/krita
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krita
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kross b/testing/source/vtown/kde/build/vtown-build-number/kross
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kross
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kross-interpreters b/testing/source/vtown/kde/build/vtown-build-number/kross-interpreters
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kross-interpreters
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kruler b/testing/source/vtown/kde/build/vtown-build-number/kruler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kruler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krunner b/testing/source/vtown/kde/build/vtown-build-number/krunner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krunner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/krusader b/testing/source/vtown/kde/build/vtown-build-number/krusader
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/krusader
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kscreen b/testing/source/vtown/kde/build/vtown-build-number/kscreen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kscreen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kscreenlocker b/testing/source/vtown/kde/build/vtown-build-number/kscreenlocker
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kscreenlocker
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kservice b/testing/source/vtown/kde/build/vtown-build-number/kservice
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kservice
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kshisen b/testing/source/vtown/kde/build/vtown-build-number/kshisen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kshisen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksirk b/testing/source/vtown/kde/build/vtown-build-number/ksirk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksirk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksmtp b/testing/source/vtown/kde/build/vtown-build-number/ksmtp
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksmtp
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksnakeduel b/testing/source/vtown/kde/build/vtown-build-number/ksnakeduel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksnakeduel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kspaceduel b/testing/source/vtown/kde/build/vtown-build-number/kspaceduel
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kspaceduel
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksquares b/testing/source/vtown/kde/build/vtown-build-number/ksquares
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksquares
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksshaskpass b/testing/source/vtown/kde/build/vtown-build-number/ksshaskpass
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksshaskpass
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kstars b/testing/source/vtown/kde/build/vtown-build-number/kstars
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kstars
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksudoku b/testing/source/vtown/kde/build/vtown-build-number/ksudoku
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksudoku
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksysguard b/testing/source/vtown/kde/build/vtown-build-number/ksysguard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksysguard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ksystemlog b/testing/source/vtown/kde/build/vtown-build-number/ksystemlog
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ksystemlog
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kteatime b/testing/source/vtown/kde/build/vtown-build-number/kteatime
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kteatime
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktexteditor b/testing/source/vtown/kde/build/vtown-build-number/ktexteditor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktexteditor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktextwidgets b/testing/source/vtown/kde/build/vtown-build-number/ktextwidgets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktextwidgets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktimer b/testing/source/vtown/kde/build/vtown-build-number/ktimer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktimer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktimetracker b/testing/source/vtown/kde/build/vtown-build-number/ktimetracker
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktimetracker
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktnef b/testing/source/vtown/kde/build/vtown-build-number/ktnef
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktnef
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktorrent b/testing/source/vtown/kde/build/vtown-build-number/ktorrent
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktorrent
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktouch b/testing/source/vtown/kde/build/vtown-build-number/ktouch
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktouch
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-accounts-kcm b/testing/source/vtown/kde/build/vtown-build-number/ktp-accounts-kcm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-accounts-kcm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-approver b/testing/source/vtown/kde/build/vtown-build-number/ktp-approver
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-approver
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-auth-handler b/testing/source/vtown/kde/build/vtown-build-number/ktp-auth-handler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-auth-handler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-call-ui b/testing/source/vtown/kde/build/vtown-build-number/ktp-call-ui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-call-ui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-common-internals b/testing/source/vtown/kde/build/vtown-build-number/ktp-common-internals
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-common-internals
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-list b/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-list
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-list
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-runner b/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-runner
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-contact-runner
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-desktop-applets b/testing/source/vtown/kde/build/vtown-build-number/ktp-desktop-applets
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-desktop-applets
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-filetransfer-handler b/testing/source/vtown/kde/build/vtown-build-number/ktp-filetransfer-handler
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-filetransfer-handler
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-kded-module b/testing/source/vtown/kde/build/vtown-build-number/ktp-kded-module
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-kded-module
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-send-file b/testing/source/vtown/kde/build/vtown-build-number/ktp-send-file
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-send-file
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktp-text-ui b/testing/source/vtown/kde/build/vtown-build-number/ktp-text-ui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktp-text-ui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/ktuberling b/testing/source/vtown/kde/build/vtown-build-number/ktuberling
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/ktuberling
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kturtle b/testing/source/vtown/kde/build/vtown-build-number/kturtle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kturtle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kubrick b/testing/source/vtown/kde/build/vtown-build-number/kubrick
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kubrick
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kunitconversion b/testing/source/vtown/kde/build/vtown-build-number/kunitconversion
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kunitconversion
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kuser b/testing/source/vtown/kde/build/vtown-build-number/kuser
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kuser
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwallet b/testing/source/vtown/kde/build/vtown-build-number/kwallet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwallet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwallet-pam b/testing/source/vtown/kde/build/vtown-build-number/kwallet-pam
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwallet-pam
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwalletmanager b/testing/source/vtown/kde/build/vtown-build-number/kwalletmanager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwalletmanager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwave b/testing/source/vtown/kde/build/vtown-build-number/kwave
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwave
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwayland b/testing/source/vtown/kde/build/vtown-build-number/kwayland
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwayland
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwayland-integration b/testing/source/vtown/kde/build/vtown-build-number/kwayland-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwayland-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwayland-server b/testing/source/vtown/kde/build/vtown-build-number/kwayland-server
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwayland-server
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwebkitpart b/testing/source/vtown/kde/build/vtown-build-number/kwebkitpart
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwebkitpart
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwidgetsaddons b/testing/source/vtown/kde/build/vtown-build-number/kwidgetsaddons
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwidgetsaddons
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwin b/testing/source/vtown/kde/build/vtown-build-number/kwin
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwin
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwindowsystem b/testing/source/vtown/kde/build/vtown-build-number/kwindowsystem
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwindowsystem
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwordquiz b/testing/source/vtown/kde/build/vtown-build-number/kwordquiz
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwordquiz
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kwrited b/testing/source/vtown/kde/build/vtown-build-number/kwrited
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kwrited
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kxmlgui b/testing/source/vtown/kde/build/vtown-build-number/kxmlgui
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kxmlgui
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/kxmlrpcclient b/testing/source/vtown/kde/build/vtown-build-number/kxmlrpcclient
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/kxmlrpcclient
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/labplot b/testing/source/vtown/kde/build/vtown-build-number/labplot
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/labplot
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/latte-dock b/testing/source/vtown/kde/build/vtown-build-number/latte-dock
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/latte-dock
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libgravatar b/testing/source/vtown/kde/build/vtown-build-number/libgravatar
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libgravatar
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkcddb b/testing/source/vtown/kde/build/vtown-build-number/libkcddb
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkcddb
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkcompactdisc b/testing/source/vtown/kde/build/vtown-build-number/libkcompactdisc
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkcompactdisc
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkdcraw b/testing/source/vtown/kde/build/vtown-build-number/libkdcraw
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkdcraw
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkdegames b/testing/source/vtown/kde/build/vtown-build-number/libkdegames
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkdegames
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkdepim b/testing/source/vtown/kde/build/vtown-build-number/libkdepim
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkdepim
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkeduvocdocument b/testing/source/vtown/kde/build/vtown-build-number/libkeduvocdocument
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkeduvocdocument
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkexiv2 b/testing/source/vtown/kde/build/vtown-build-number/libkexiv2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkexiv2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkgapi b/testing/source/vtown/kde/build/vtown-build-number/libkgapi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkgapi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkgeomap b/testing/source/vtown/kde/build/vtown-build-number/libkgeomap
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkgeomap
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkipi b/testing/source/vtown/kde/build/vtown-build-number/libkipi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkipi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkleo b/testing/source/vtown/kde/build/vtown-build-number/libkleo
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkleo
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkmahjongg b/testing/source/vtown/kde/build/vtown-build-number/libkmahjongg
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkmahjongg
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkomparediff2 b/testing/source/vtown/kde/build/vtown-build-number/libkomparediff2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkomparediff2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libksane b/testing/source/vtown/kde/build/vtown-build-number/libksane
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libksane
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libkscreen b/testing/source/vtown/kde/build/vtown-build-number/libkscreen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libkscreen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libksieve b/testing/source/vtown/kde/build/vtown-build-number/libksieve
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libksieve
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libksysguard b/testing/source/vtown/kde/build/vtown-build-number/libksysguard
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libksysguard
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/libktorrent b/testing/source/vtown/kde/build/vtown-build-number/libktorrent
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/libktorrent
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/lokalize b/testing/source/vtown/kde/build/vtown-build-number/lokalize
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/lokalize
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/lskat b/testing/source/vtown/kde/build/vtown-build-number/lskat
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/lskat
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/mailcommon b/testing/source/vtown/kde/build/vtown-build-number/mailcommon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/mailcommon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/mailimporter b/testing/source/vtown/kde/build/vtown-build-number/mailimporter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/mailimporter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/marble b/testing/source/vtown/kde/build/vtown-build-number/marble
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/marble
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/mbox-importer b/testing/source/vtown/kde/build/vtown-build-number/mbox-importer
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/mbox-importer
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/messagelib b/testing/source/vtown/kde/build/vtown-build-number/messagelib
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/messagelib
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/milou b/testing/source/vtown/kde/build/vtown-build-number/milou
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/milou
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/minuet b/testing/source/vtown/kde/build/vtown-build-number/minuet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/minuet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/modemmanager-qt b/testing/source/vtown/kde/build/vtown-build-number/modemmanager-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/modemmanager-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/networkmanager-qt b/testing/source/vtown/kde/build/vtown-build-number/networkmanager-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/networkmanager-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/okteta b/testing/source/vtown/kde/build/vtown-build-number/okteta
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/okteta
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/okular b/testing/source/vtown/kde/build/vtown-build-number/okular
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/okular
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/oxygen b/testing/source/vtown/kde/build/vtown-build-number/oxygen
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/oxygen
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/oxygen-fonts b/testing/source/vtown/kde/build/vtown-build-number/oxygen-fonts
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/oxygen-fonts
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/oxygen-gtk2 b/testing/source/vtown/kde/build/vtown-build-number/oxygen-gtk2
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/oxygen-gtk2
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/oxygen-icons5 b/testing/source/vtown/kde/build/vtown-build-number/oxygen-icons5
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/oxygen-icons5
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/palapeli b/testing/source/vtown/kde/build/vtown-build-number/palapeli
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/palapeli
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/parley b/testing/source/vtown/kde/build/vtown-build-number/parley
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/parley
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/partitionmanager b/testing/source/vtown/kde/build/vtown-build-number/partitionmanager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/partitionmanager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/picmi b/testing/source/vtown/kde/build/vtown-build-number/picmi
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/picmi
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/pim-data-exporter b/testing/source/vtown/kde/build/vtown-build-number/pim-data-exporter
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/pim-data-exporter
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/pim-sieve-editor b/testing/source/vtown/kde/build/vtown-build-number/pim-sieve-editor
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/pim-sieve-editor
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/pimcommon b/testing/source/vtown/kde/build/vtown-build-number/pimcommon
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/pimcommon
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-browser-integration b/testing/source/vtown/kde/build/vtown-build-number/plasma-browser-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-browser-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-desktop b/testing/source/vtown/kde/build/vtown-build-number/plasma-desktop
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-desktop
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-disks b/testing/source/vtown/kde/build/vtown-build-number/plasma-disks
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-disks
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-framework b/testing/source/vtown/kde/build/vtown-build-number/plasma-framework
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-framework
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-integration b/testing/source/vtown/kde/build/vtown-build-number/plasma-integration
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-integration
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-nm b/testing/source/vtown/kde/build/vtown-build-number/plasma-nm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-nm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-pa b/testing/source/vtown/kde/build/vtown-build-number/plasma-pa
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-pa
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-sdk b/testing/source/vtown/kde/build/vtown-build-number/plasma-sdk
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-sdk
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-vault b/testing/source/vtown/kde/build/vtown-build-number/plasma-vault
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-vault
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-wayland-protocols b/testing/source/vtown/kde/build/vtown-build-number/plasma-wayland-protocols
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-wayland-protocols
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace b/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace-wallpapers b/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace-wallpapers
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/plasma-workspace-wallpapers
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-agent-1 b/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-agent-1
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-agent-1
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-kcmodules-framework b/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-kcmodules-framework
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/polkit-kde-kcmodules-framework
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/powerdevil b/testing/source/vtown/kde/build/vtown-build-number/powerdevil
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/powerdevil
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/poxml b/testing/source/vtown/kde/build/vtown-build-number/poxml
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/poxml
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/print-manager b/testing/source/vtown/kde/build/vtown-build-number/print-manager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/print-manager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/prison b/testing/source/vtown/kde/build/vtown-build-number/prison
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/prison
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/pulseaudio-qt b/testing/source/vtown/kde/build/vtown-build-number/pulseaudio-qt
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/pulseaudio-qt
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/purpose b/testing/source/vtown/kde/build/vtown-build-number/purpose
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/purpose
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/qqc2-desktop-style b/testing/source/vtown/kde/build/vtown-build-number/qqc2-desktop-style
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/qqc2-desktop-style
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/rocs b/testing/source/vtown/kde/build/vtown-build-number/rocs
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/rocs
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/sddm b/testing/source/vtown/kde/build/vtown-build-number/sddm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/sddm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/sddm-kcm b/testing/source/vtown/kde/build/vtown-build-number/sddm-kcm
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/sddm-kcm
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/signon-kwallet-extension b/testing/source/vtown/kde/build/vtown-build-number/signon-kwallet-extension
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/signon-kwallet-extension
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/skanlite b/testing/source/vtown/kde/build/vtown-build-number/skanlite
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/skanlite
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/solid b/testing/source/vtown/kde/build/vtown-build-number/solid
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/solid
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/sonnet b/testing/source/vtown/kde/build/vtown-build-number/sonnet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/sonnet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/spectacle b/testing/source/vtown/kde/build/vtown-build-number/spectacle
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/spectacle
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/step b/testing/source/vtown/kde/build/vtown-build-number/step
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/step
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/svgpart b/testing/source/vtown/kde/build/vtown-build-number/svgpart
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/svgpart
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/sweeper b/testing/source/vtown/kde/build/vtown-build-number/sweeper
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/sweeper
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/syndication b/testing/source/vtown/kde/build/vtown-build-number/syndication
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/syndication
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/syntax-highlighting b/testing/source/vtown/kde/build/vtown-build-number/syntax-highlighting
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/syntax-highlighting
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/systemsettings b/testing/source/vtown/kde/build/vtown-build-number/systemsettings
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/systemsettings
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/threadweaver b/testing/source/vtown/kde/build/vtown-build-number/threadweaver
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/threadweaver
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/umbrello b/testing/source/vtown/kde/build/vtown-build-number/umbrello
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/umbrello
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/user-manager b/testing/source/vtown/kde/build/vtown-build-number/user-manager
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/user-manager
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/wacomtablet b/testing/source/vtown/kde/build/vtown-build-number/wacomtablet
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/wacomtablet
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/xdg-desktop-portal-kde b/testing/source/vtown/kde/build/vtown-build-number/xdg-desktop-portal-kde
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/xdg-desktop-portal-kde
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/yakuake b/testing/source/vtown/kde/build/vtown-build-number/yakuake
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/yakuake
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/vtown-build-number/zeroconf-ioslave b/testing/source/vtown/kde/build/vtown-build-number/zeroconf-ioslave
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/testing/source/vtown/kde/build/vtown-build-number/zeroconf-ioslave
@@ -0,0 +1 @@
+1
diff --git a/testing/source/vtown/kde/build/wacomtablet b/testing/source/vtown/kde/build/wacomtablet
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/wacomtablet
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/xdg-desktop-portal-kde b/testing/source/vtown/kde/build/xdg-desktop-portal-kde
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/xdg-desktop-portal-kde
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/yakuake b/testing/source/vtown/kde/build/yakuake
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/yakuake
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/build/zeroconf-ioslave b/testing/source/vtown/kde/build/zeroconf-ioslave
new file mode 100644
index 00000000..2739e2ea
--- /dev/null
+++ b/testing/source/vtown/kde/build/zeroconf-ioslave
@@ -0,0 +1 @@
+1_vtown_1
diff --git a/testing/source/vtown/kde/cmake/alkimia b/testing/source/vtown/kde/cmake/alkimia
new file mode 100644
index 00000000..aa5eaf68
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/alkimia
@@ -0,0 +1,26 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_BINARY_DIR=/usr \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DAPPDATA_INSTALL_DIR=/usr/share \
+ -DDATA_INSTALL_DIR=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/analitza b/testing/source/vtown/kde/cmake/analitza
new file mode 100644
index 00000000..995170e7
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/analitza
@@ -0,0 +1,25 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="-ltermcap" \
+ -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="-ltermcap" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/applications b/testing/source/vtown/kde/cmake/applications
new file mode 100644
index 00000000..ea4fc848
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/applications
@@ -0,0 +1,25 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_APIDOC=OFF \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_unittests=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/baloo b/testing/source/vtown/kde/cmake/baloo
new file mode 100644
index 00000000..35943a87
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/baloo
@@ -0,0 +1,24 @@
+# Change "-DKDEPIM_SUPPORT_BUILD=FALSE" to "-DKDEPIM_SUPPORT_BUILD=TRUE"
+# if we have a kdepimlibs-framework package.
+
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DBUILD_TESTING=OFF \
+ -DKDEPIM_SUPPORT_BUILD=FALSE \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/calligra b/testing/source/vtown/kde/cmake/calligra
new file mode 100644
index 00000000..87a381ca
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/calligra
@@ -0,0 +1,19 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DIHAVEPATCHEDQT:BOOL=ON \
+ -DOPENJPEG_INCLUDE_DIR=/usr/include/openmj2-2.1 \
+ -DOPENJPEG_NAMES=openmj2 \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/cmake b/testing/source/vtown/kde/cmake/cmake
new file mode 100644
index 00000000..d52f2db7
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/cmake
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/digikam b/testing/source/vtown/kde/cmake/digikam
new file mode 100644
index 00000000..2a44c815
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/digikam
@@ -0,0 +1,35 @@
+# https://bugs.kde.org/show_bug.cgi?id=377597 :
+# Don't try to compile documentation translations for the moment.
+# Only the English handbook compiles fine.
+# Use cmake option "-DDIGIKAMSC_COMPILE_DOC=OFF"
+
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c++11" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DENABLE_AKONADICONTACTSUPPORT=ON \
+ -DENABLE_APPSTYLES=ON \
+ -DENABLE_KFILEMETADATASUPPORT=ON \
+ -DENABLE_MEDIAPLAYER=ON \
+ -DENABLE_MYSQLSUPPORT=ON \
+ -DENABLE_OPENCV3=ON \
+ -DENABLE_QWEBENGINE=ON \
+ -DOpenGL_GL_PREFERENCE=GLVND \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/frameworkintegration b/testing/source/vtown/kde/cmake/frameworkintegration
new file mode 100644
index 00000000..10e42ff0
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/frameworkintegration
@@ -0,0 +1,27 @@
+# Workaround a bug in Qt 5.5.0 which makes OwnCloud crash when interacting
+# with the systray menu (and possibly other applications too)
+# by adding "-fno-strict-aliasing" to CFLAGS and CXXFLAGS
+# See also http://bugzilla.redhat.com/1255902
+# and https://bugreports.qt.io/browse/QTBUG-47863
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -fno-strict-aliasing" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -fno-strict-aliasing" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fno-strict-aliasing" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -fno-strict-aliasing" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/frameworks b/testing/source/vtown/kde/cmake/frameworks
new file mode 100644
index 00000000..5dc9d4ff
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/frameworks
@@ -0,0 +1,22 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/gwenview b/testing/source/vtown/kde/cmake/gwenview
new file mode 100644
index 00000000..372a12c8
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/gwenview
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DGWENVIEW_SEMANTICINFO_BACKEND="Baloo" \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/k3b b/testing/source/vtown/kde/cmake/k3b
new file mode 100644
index 00000000..1db8970c
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/k3b
@@ -0,0 +1,22 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DBUILD_TESTING:BOOL=OFF \
+ -DK3B_ENABLE_HAL_SUPPORT:BOOL=OFF \
+ -DK3B_ENABLE_PERMISSION_HELPER:BOOL=ON \
+ -DKDE_INSTALL_LIBEXECDIR=/usr/lib$LIBDIRSUFFIX/kauth \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kajongg b/testing/source/vtown/kde/cmake/kajongg
new file mode 100644
index 00000000..907f021f
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kajongg
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DINSTALL_KAJONGG=TRUE \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kde4 b/testing/source/vtown/kde/cmake/kde4
new file mode 100644
index 00000000..ad52f43b
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kde4
@@ -0,0 +1,20 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE4_ENABLE_FINAL="ON" \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kdelibs b/testing/source/vtown/kde/cmake/kdelibs
new file mode 100644
index 00000000..7052faf5
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kdelibs
@@ -0,0 +1,18 @@
+mkdir -p build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DWITH_HAL=OFF \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fpermissive" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -fpermissive" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_DISTRIBUTION_TEXT="volkerdi@slackware.com" \
+ -DWITH_SOLID_UDISKS2=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kdepim b/testing/source/vtown/kde/cmake/kdepim
new file mode 100644
index 00000000..16afbe71
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kdepim
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kget b/testing/source/vtown/kde/cmake/kget
new file mode 100644
index 00000000..f1107b0d
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kget
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DWITH_NepomukCore=OFF \
+ -DWITH_NepomukWidgets=OFF \
+ -DWITH_KDE4Workspace=OFF \
+ -DWITH_QGpgme=OFF \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kid3 b/testing/source/vtown/kde/cmake/kid3
new file mode 100644
index 00000000..f893d911
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kid3
@@ -0,0 +1,22 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DWITH_APPS="Qt;CLI;KDE" \
+ -DWITH_CHROMAPRINT=OFF \
+ -DWITH_DOCDIR=share/kid3/doc \
+ -DWITH_FFMPEG=ON \
+ -DWITH_GSTREAMER_VERSION="1.0" \
+ -DWITH_LIBDIR=lib$LIBDIRSUFFIX \
+ -DWITH_MANDIR=man \
+ -DWITH_NO_MANCOMPRESS=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kitinerary b/testing/source/vtown/kde/cmake/kitinerary
new file mode 100644
index 00000000..26bec90f
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kitinerary
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS -fpermissive" \
+ -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/grantlee-qt5 $SLKCFLAGS -fpermissive" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kjots b/testing/source/vtown/kde/cmake/kjots
new file mode 100644
index 00000000..eb1da8e7
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kjots
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-I/usr/include/KF5/KTextWidgets $SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kopete b/testing/source/vtown/kde/cmake/kopete
new file mode 100644
index 00000000..3b8c6b16
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kopete
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DWITH_wlm:BOOL=OFF \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kpmcore b/testing/source/vtown/kde/cmake/kpmcore
new file mode 100644
index 00000000..86a37f9a
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kpmcore
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DENABLE_UDISKS2=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/krdc b/testing/source/vtown/kde/cmake/krdc
new file mode 100644
index 00000000..3f694d16
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/krdc
@@ -0,0 +1,38 @@
+# Since xfreerdp is a runtime dependency, krdc should not be looking for it
+# and disabling support for RDP if the binary is not found at compile-time...
+if which xfreerdp 1>/dev/null 2>&1 ; then
+ AB_REMOVE_KLUDGE=0
+else
+ AB_REMOVE_KLUDGE=1
+ touch /usr/local/bin/xfreerdp
+ chmod 755 /usr/local/bin/xfreerdp
+fi
+
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
+# Cleanup:
+if [ $AB_REMOVE_KLUDGE -eq 1 ]; then
+ rm -f /usr/local/bin/xfreerdp
+fi
+unset AB_REMOVE_KLUDGE
diff --git a/testing/source/vtown/kde/cmake/krita b/testing/source/vtown/kde/cmake/krita
new file mode 100644
index 00000000..da7d063f
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/krita
@@ -0,0 +1,26 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DPACKAGERS_BUILD=ON \
+ -DUSE_QT_XCB=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kross-interpreters b/testing/source/vtown/kde/cmake/kross-interpreters
new file mode 100644
index 00000000..2fac2b13
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kross-interpreters
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DBUILD_ruby:BOOL=OFF \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/krusader b/testing/source/vtown/kde/cmake/krusader
new file mode 100644
index 00000000..85364ffe
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/krusader
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DKDESU_PATH=/usr/lib${LIBDIRSUFFIX}/kf5/kdesu \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kscreenlocker b/testing/source/vtown/kde/cmake/kscreenlocker
new file mode 100644
index 00000000..e505309b
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kscreenlocker
@@ -0,0 +1,29 @@
+if [ "$SLACKPAM" == "no" ]; then
+ DO_SLACKPAM="-DHAVE_SHADOW=TRUE -DPAM_REQUIRED=OFF"
+else
+ DO_SLACKPAM=""
+fi
+
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $DO_SLACKPAM \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kservice b/testing/source/vtown/kde/cmake/kservice
new file mode 100644
index 00000000..41418458
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kservice
@@ -0,0 +1,27 @@
+#
+# Need to append "-std=c99" to the # CMAKE_C_FLAGS, because of a bug in
+# flex-2.6.0 which generates a C code # with C++-style comments.
+# The bug has been fixed in flex 2.6.1 which is not part of Slackware.
+#
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=c99" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c99" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DAPPLICATIONS_MENU_NAME="kf5-applications.menu" \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kwallet-pam b/testing/source/vtown/kde/cmake/kwallet-pam
new file mode 100644
index 00000000..641a4927
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kwallet-pam
@@ -0,0 +1,21 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DCMAKE_INSTALL_PREFIX=/ \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kwave b/testing/source/vtown/kde/cmake/kwave
new file mode 100644
index 00000000..037bcd1f
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kwave
@@ -0,0 +1,25 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DWITH_MP3=ON \
+ -DWITH_OGG_OPUS=OFF \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/kwin b/testing/source/vtown/kde/cmake/kwin
new file mode 100644
index 00000000..7f5014a3
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/kwin
@@ -0,0 +1,29 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DHAVE_SHADOW=TRUE \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
+# Nasty hack to fix something I could not fix in Qt5 package...
+# 9729: /usr/include/c++/9.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
+# 9733: make[2]: *** [plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/build.make:63: plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/KWinQpaPlugin_autogen/mocs_compilation.cpp.o] Error 1
+sed -i ./plugins/qpa/CMakeFiles/KWinQpaPlugin.dir/flags.make \
+ -e "s/isystem/I/g"
diff --git a/testing/source/vtown/kde/cmake/marble b/testing/source/vtown/kde/cmake/marble
new file mode 100644
index 00000000..8778f2c9
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/marble
@@ -0,0 +1,54 @@
+function marble_configure()
+{
+ cmake \
+ $* \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DBUILD_TESTING=OFF \
+ ..
+}
+
+# Configure the Qt5 support first:
+mkdir cmake-build_qt5
+cd cmake-build_qt5
+marble_configure \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQT_PLUGINS_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca
+
+#
+#cd -
+#
+## Add Qt4 support (needed by libkgeomap):
+#mkdir cmake-build_qt4
+#cd cmake-build_qt4
+#QT5DIR="" \
+#QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
+#marble_configure \
+# -DQT_MOC_EXECUTABLE=/usr/lib${LIBDIRSUFFIX}/qt/bin/moc \
+# -DQT_QMAKE_EXECUTABLE=/usr/lib${LIBDIRSUFFIX}/qt/bin/qmake \
+# -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt/plugins \
+# -DQT_PLUGINS_DIR=lib$LIBDIRSUFFIX/qt/plugins \
+# -DMARBLE_PLUGIN_PATH=/usr/lib${LIBDIRSUFFIX}/marble4/plugins \
+# -DQT5BUILD=OFF \
+# -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON \
+# -DCMAKE_DISABLE_FIND_PACKAGE_KF5=ON \
+# -DBUILD_MARBLE_TESTS=OFF \
+# -DBUILD_MARBLE_APPS=OFF
+#
+## make can pick up from here, and first build the Qt4, then Qt5 stuff.
+#
diff --git a/testing/source/vtown/kde/cmake/messagelib b/testing/source/vtown/kde/cmake/messagelib
new file mode 100644
index 00000000..cfb13542
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/messagelib
@@ -0,0 +1,23 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -std=c++11" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c++11" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/partitionmanager b/testing/source/vtown/kde/cmake/partitionmanager
new file mode 100644
index 00000000..86a37f9a
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/partitionmanager
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DENABLE_UDISKS2=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/plasma b/testing/source/vtown/kde/cmake/plasma
new file mode 100644
index 00000000..03067eef
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/plasma
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DHAVE_SHADOW=TRUE \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/plasma-browser-integration b/testing/source/vtown/kde/cmake/plasma-browser-integration
new file mode 100644
index 00000000..6e8d7d8c
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/plasma-browser-integration
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DINSTALL_CHROME_MANIFEST=ON \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/sddm b/testing/source/vtown/kde/cmake/sddm
new file mode 100644
index 00000000..c8979fc4
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/sddm
@@ -0,0 +1,35 @@
+if [ "$SLACKPAM" == "no" ]; then
+ DO_SLACKPAM="-DENABLE_PAM:BOOL=OFF"
+else
+ DO_SLACKPAM="-DENABLE_PAM:BOOL=ON"
+fi
+
+if [ "$SLKELOGIND" == "no" ]; then
+ DO_SLKELOGIND=""
+else
+ DO_SLKELOGIND=" \
+ -DNO_SYSTEMD:BOOL=TRUE \
+ -DUSE_ELOGIND:BOOL=TRUE \
+ "
+fi
+
+mkdir -p cmake-build
+cd cmake-build
+ cmake \
+ $DO_SLACKPAM \
+ $DO_SLKELOGIND \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_FULL_MANDIR=/usr/man \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_MAN_PAGES:BOOL=TRUE \
+ -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" \
+ -DUSE_QT4:BOOL=FALSE \
+ -DUSE_QT5:BOOL=TRUE \
+ -DENABLE_JOURNALD:BOOL=FALSE \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/sddm-kcm b/testing/source/vtown/kde/cmake/sddm-kcm
new file mode 100644
index 00000000..2c7f3ed0
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/sddm-kcm
@@ -0,0 +1,26 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DHAVE_SHADOW=TRUE \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ -DSDDM_CONFIG_DIR=/etc/sddm.conf.d \
+ -DSDDM_CONFIG_FILE=/etc/sddm.conf \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/solid b/testing/source/vtown/kde/cmake/solid
new file mode 100644
index 00000000..7983cf15
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/solid
@@ -0,0 +1,28 @@
+#
+# Separate cmake file for solid is needed to append "-std=c99" to the
+# CMAKE_C_FLAGS, because of a bug in flex-2.6.0 which generates a C code
+# with C++-style comments. The bug has been fixed in flex 2.6.1 which
+# is not yet a part of Slackware.
+#
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -std=c99" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS -std=c99" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -Dlconvert_executable=/usr/lib$LIBDIRSUFFIX/qt5/bin/lconvert \
+ ..
+
diff --git a/testing/source/vtown/kde/cmake/xdg-desktop-portal-kde b/testing/source/vtown/kde/cmake/xdg-desktop-portal-kde
new file mode 100644
index 00000000..78b9a7ce
--- /dev/null
+++ b/testing/source/vtown/kde/cmake/xdg-desktop-portal-kde
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DKDE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_LIBEXECDIR=lib$LIBDIRSUFFIX \
+ -DKDE_INSTALL_MANDIR=/usr/man \
+ -DKDE_INSTALL_QTPLUGINDIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DKDE_INSTALL_QMLDIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_SYSCONFDIR=/etc/kde \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DENABLE_PIPEWIRE=OFF \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/testing/source/vtown/kde/docs/k3b b/testing/source/vtown/kde/docs/k3b
new file mode 100644
index 00000000..b12b9431
--- /dev/null
+++ b/testing/source/vtown/kde/docs/k3b
@@ -0,0 +1 @@
+COPYING* ChangeLog FAQ.txt INSTALL.txt PERMISSIONS.txt README.txt Release\ How\ To.txt
diff --git a/testing/source/vtown/kde/docs/kdepimlibs b/testing/source/vtown/kde/docs/kdepimlibs
new file mode 100644
index 00000000..88e3194a
--- /dev/null
+++ b/testing/source/vtown/kde/docs/kdepimlibs
@@ -0,0 +1,2 @@
+COPYING* DEBUG HACKING MAINTAINERS PLAN POLICIES README*
+
diff --git a/testing/source/vtown/kde/doinst.sh/blinken b/testing/source/vtown/kde/doinst.sh/blinken
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/blinken
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/bluedevil b/testing/source/vtown/kde/doinst.sh/bluedevil
new file mode 100644
index 00000000..85ff4d86
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/bluedevil
@@ -0,0 +1,4 @@
+#!/bin/sh
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
diff --git a/testing/source/vtown/kde/doinst.sh/cantor b/testing/source/vtown/kde/doinst.sh/cantor
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/cantor
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/gwenview b/testing/source/vtown/kde/doinst.sh/gwenview
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/gwenview
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/k3b b/testing/source/vtown/kde/doinst.sh/k3b
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/k3b
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kalgebra b/testing/source/vtown/kde/doinst.sh/kalgebra
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kalgebra
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kalzium b/testing/source/vtown/kde/doinst.sh/kalzium
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kalzium
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kamera b/testing/source/vtown/kde/doinst.sh/kamera
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kamera
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kanagram b/testing/source/vtown/kde/doinst.sh/kanagram
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kanagram
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kate b/testing/source/vtown/kde/doinst.sh/kate
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kate
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kaudiocreator b/testing/source/vtown/kde/doinst.sh/kaudiocreator
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kaudiocreator
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kbruch b/testing/source/vtown/kde/doinst.sh/kbruch
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kbruch
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kcalc b/testing/source/vtown/kde/doinst.sh/kcalc
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kcalc
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kcolorchooser b/testing/source/vtown/kde/doinst.sh/kcolorchooser
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kcolorchooser
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdeaccessibility b/testing/source/vtown/kde/doinst.sh/kdeaccessibility
new file mode 100644
index 00000000..22d4849b
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdeaccessibility
@@ -0,0 +1,5 @@
+
+if [ -x usr/bin/update-desktop-database ]; then
+ usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdeedu b/testing/source/vtown/kde/doinst.sh/kdeedu
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdeedu
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdegraphics b/testing/source/vtown/kde/doinst.sh/kdegraphics
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdegraphics
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdelibs b/testing/source/vtown/kde/doinst.sh/kdelibs
new file mode 100644
index 00000000..d7006c70
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdelibs
@@ -0,0 +1,9 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+ /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdenetwork b/testing/source/vtown/kde/doinst.sh/kdenetwork
new file mode 100644
index 00000000..22d4849b
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdenetwork
@@ -0,0 +1,5 @@
+
+if [ -x usr/bin/update-desktop-database ]; then
+ usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdepim b/testing/source/vtown/kde/doinst.sh/kdepim
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdepim
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdepim-runtime b/testing/source/vtown/kde/doinst.sh/kdepim-runtime
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdepim-runtime
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdeplasma-addons b/testing/source/vtown/kde/doinst.sh/kdeplasma-addons
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdeplasma-addons
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdesdk b/testing/source/vtown/kde/doinst.sh/kdesdk
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdesdk
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdevelop b/testing/source/vtown/kde/doinst.sh/kdevelop
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdevelop
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdevplatform b/testing/source/vtown/kde/doinst.sh/kdevplatform
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdevplatform
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdewebdev b/testing/source/vtown/kde/doinst.sh/kdewebdev
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdewebdev
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kdf b/testing/source/vtown/kde/doinst.sh/kdf
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kdf
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kgeography b/testing/source/vtown/kde/doinst.sh/kgeography
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kgeography
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/khangman b/testing/source/vtown/kde/doinst.sh/khangman
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/khangman
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kig b/testing/source/vtown/kde/doinst.sh/kig
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kig
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kinit b/testing/source/vtown/kde/doinst.sh/kinit
new file mode 100644
index 00000000..27e18004
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kinit
@@ -0,0 +1,7 @@
+# Re-run the 'setcap' command which fails during package buikding
+# (because of a mising DESTDIR?):
+if [ -f usr/lib64/kf5/start_kdeinit ]; then
+ /sbin/setcap CAP_SYS_RESOURCE=+ep usr/lib64/kf5/start_kdeinit
+elif [ -f usr/lib/kf5/start_kdeinit ]; then
+ /sbin/setcap CAP_SYS_RESOURCE=+ep usr/lib/kf5/start_kdeinit
+fi
diff --git a/testing/source/vtown/kde/doinst.sh/kiten b/testing/source/vtown/kde/doinst.sh/kiten
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kiten
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/klettres b/testing/source/vtown/kde/doinst.sh/klettres
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/klettres
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kmag b/testing/source/vtown/kde/doinst.sh/kmag
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kmag
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kmousetool b/testing/source/vtown/kde/doinst.sh/kmousetool
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kmousetool
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kmouth b/testing/source/vtown/kde/doinst.sh/kmouth
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kmouth
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kmplot b/testing/source/vtown/kde/doinst.sh/kmplot
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kmplot
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kolourpaint b/testing/source/vtown/kde/doinst.sh/kolourpaint
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kolourpaint
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/konsole b/testing/source/vtown/kde/doinst.sh/konsole
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/konsole
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kruler b/testing/source/vtown/kde/doinst.sh/kruler
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kruler
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kscreenlocker b/testing/source/vtown/kde/doinst.sh/kscreenlocker
new file mode 100644
index 00000000..77beeaf1
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kscreenlocker
@@ -0,0 +1,5 @@
+# Send SIGTERM to any running kscreenlocker_greet after installing
+# kcheckpass. This will trigger a restart of kscreenlocker_greet
+# which prevents deadlock when migrating Plasma 5.9 -> 5.10.
+# See email to distributions@kde.org by Martin Graesslin on Wed, 08 Mar 2017.
+killall -TERM kscreenlocker_greet 1>/dev/null 2>/dev/null
diff --git a/testing/source/vtown/kde/doinst.sh/kstars b/testing/source/vtown/kde/doinst.sh/kstars
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kstars
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/ktorrent b/testing/source/vtown/kde/doinst.sh/ktorrent
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/ktorrent
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/ktouch b/testing/source/vtown/kde/doinst.sh/ktouch
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/ktouch
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/ktp-contact-list b/testing/source/vtown/kde/doinst.sh/ktp-contact-list
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/ktp-contact-list
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/ktp-text-ui b/testing/source/vtown/kde/doinst.sh/ktp-text-ui
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/ktp-text-ui
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kturtle b/testing/source/vtown/kde/doinst.sh/kturtle
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kturtle
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/kwordquiz b/testing/source/vtown/kde/doinst.sh/kwordquiz
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/kwordquiz
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/marble b/testing/source/vtown/kde/doinst.sh/marble
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/marble
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/okular b/testing/source/vtown/kde/doinst.sh/okular
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/okular
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/oxygen-fonts b/testing/source/vtown/kde/doinst.sh/oxygen-fonts
new file mode 100644
index 00000000..c4bc3b75
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/oxygen-fonts
@@ -0,0 +1,13 @@
+
+# There's no need to chroot and do this during initial
+# install, since there is a post-install script that
+# does the same thing, saving time.
+# Update X font indexes and the font cache:
+if [ -x /usr/bin/mkfontdir ]; then
+ /usr/bin/mkfontscale /usr/share/fonts/TTF
+ /usr/bin/mkfontdir /usr/share/fonts/TTF
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache /usr/share/fonts/TTF
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/parley b/testing/source/vtown/kde/doinst.sh/parley
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/parley
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/powerdevil b/testing/source/vtown/kde/doinst.sh/powerdevil
new file mode 100644
index 00000000..8745d629
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/powerdevil
@@ -0,0 +1,18 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Move over the new policy files:
+config etc/polkit-1/rules.d/10-enable-upower-suspend.rules.new
+config etc/polkit-1/rules.d/10-enable-session-power.rules.new
+config etc/polkit-1/rules.d/10-enable-powerdevil-discrete-gpu.rules.new 2>/dev/null
+
diff --git a/testing/source/vtown/kde/doinst.sh/rocs b/testing/source/vtown/kde/doinst.sh/rocs
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/rocs
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/sddm b/testing/source/vtown/kde/doinst.sh/sddm
new file mode 100644
index 00000000..09a1ccfb
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/sddm
@@ -0,0 +1,89 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Create the daemon account and homedirectory otherwise SDDM won't start:
+sddmuid=64
+sddmgid=64
+sddmhome=/var/lib/sddm
+
+if ! chroot . getent group sddm > /dev/null; then
+ chroot . groupadd -g $sddmgid sddm
+ res=$?
+ if [ $res -ne 0 ]; then
+cat <<EOT
+A group with GID $sddmgid already exists!
+You'll have add a 'sddm' group manually. Run this command (as root):
+ groupadd -g GID sddm
+and select a free value for GID that is below 500 (check /etc/group)"
+Then, run an "upgradepkg --reinstall" of this sddm-qt5 package so that it can run the rest of the install script.
+EOT
+ fi
+fi
+if ! chroot . getent passwd sddm > /dev/null; then
+ chroot . useradd -c "SDDM Daemon Owner" -d $sddmhome -u $sddmuid \
+ -g sddm -s /bin/false sddm
+ res=$?
+ if [ $res -ne 0 ]; then
+ cat <<EOT
+Could not create 'sddm' user account.
+Does an account with UID $sddmuid already exist?
+You'll have add a 'sddm' user manually. Run these commands (as root):
+ useradd -c "SDDM Daemon Owner" -d $sddmhome -u UID -g sddm -s /bin/false sddm
+ passwd -l sddm
+and select a free value for UID that is below 500 (check /etc/passwd)
+Then, run an "upgradepkg --reinstall" of this sddm-qt5 package so that it can run the rest of the install script.
+EOT
+ fi
+fi
+
+# Without a homedirectory, sddm will not start:
+chroot . mkdir -p $sddmhome
+chroot . chown -R ${sddmuid}:${sddmgid} $sddmhome 1>/dev/null
+
+# Execute this regardless of the pre-existence of the sddm account:
+chroot . usermod -d $sddmhome sddm 1>/dev/null
+chroot . passwd -l sddm 1>/dev/null
+chroot . gpasswd -a sddm video 1>/dev/null
+
+# Generate a new configuration file if it does not exist:
+chroot . sddm --example-config > etc/sddm.conf.new
+
+if ! grep -q "Current=breeze" etc/sddm.conf.new ; then
+ # Set the KDE5 theme 'breeze' as default, integrates better with Plasma 5:
+ sed -i -e "/\[Theme\]/,/^\[/s/^Current.*/Current=breeze/" etc/sddm.conf.new
+fi
+
+if ! grep -q "MinimumVT=7" etc/sddm.conf.new ; then
+ # SDDM follows the systemd convention of starting the first graphical session
+ # on tty1. We prefer the old convention where tty1 through tty6
+ # are reserved for text consoles:
+ cat <<EOT >> etc/sddm.conf.new
+
+[XDisplay]
+MinimumVT=7
+EOT
+fi
+
+# Move over the new confguration file if needed:
+if [ -f etc/sddm.conf.new ]; then
+ config etc/sddm.conf.new
+fi
+# And our defaults file:
+config etc/default/sddm.new
+
+# Also the session scripts:
+config usr/share/sddm/scripts/Xsession.new
+config usr/share/sddm/scripts/Xsetup.new
+config usr/share/sddm/scripts/Xstop.new
+config usr/share/sddm/scripts/wayland-session.new
+
diff --git a/testing/source/vtown/kde/doinst.sh/skanlite b/testing/source/vtown/kde/doinst.sh/skanlite
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/skanlite
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/doinst.sh/step b/testing/source/vtown/kde/doinst.sh/step
new file mode 100644
index 00000000..e376b59a
--- /dev/null
+++ b/testing/source/vtown/kde/doinst.sh/step
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/testing/source/vtown/kde/kde.SlackBuild b/testing/source/vtown/kde/kde.SlackBuild
new file mode 100755
index 00000000..632eb0bb
--- /dev/null
+++ b/testing/source/vtown/kde/kde.SlackBuild
@@ -0,0 +1,569 @@
+#!/bin/sh
+# Copyright 2011, 2012, 2017, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Adapted by Eric Hameleers <alien@slackware.com> from the modular x.org build.
+
+# To build only a single package group, specify it as $1, like:
+# ./kde.SlackBuild frameworks
+# To build only a single package, specify both the group name
+# and the name of the package, like:
+# ./kde.SlackBuild applications:dolphin
+# To build multiple packages in a module, separate the package names with comma:
+# ./kde.SlackBuild plasma:powerdevil,bluedevil
+# To build a package *and* all the remaining packages following it
+# in the modules file, end the package name with a comma:
+# ./kde.SlackBuild plasma:breeze,kwin,
+
+# ----------------------------------------------------------------------------
+
+CLEANUP=${CLEANUP:-"yes"} # clean up build directory after successful build.
+UPGRADE=${UPGRADE:-"yes"} # upgrade package after successful build.
+PRECHECK=${PRECHECK:-"no"} # don't let the script check the available sources.
+CHECKOUT=${CHECKOUT:-"no"} # don't let the script checkout missing sources.
+GRACETME=${GRACETME:-"10"} # grace time to change your mind before build starts.
+SKIPBUILT=${SKIPBUILT:-"no"} # skip building already built packages.
+
+KDEGITURI="git://anongit.kde.org"
+
+pkgbase() {
+ PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
+ case $PKGEXT in
+ 'gz' )
+ PKGRETURN=$(basename $1 .tar.gz)
+ ;;
+ 'bz2' )
+ PKGRETURN=$(basename $1 .tar.bz2)
+ ;;
+ 'lzma' )
+ PKGRETURN=$(basename $1 .tar.lzma)
+ ;;
+ 'lz' )
+ PKGRETURN=$(basename $1 .tar.lz)
+ ;;
+ 'xz' )
+ PKGRETURN=$(basename $1 .tar.xz)
+ ;;
+ *)
+ PKGRETURN=$(basename $1)
+ ;;
+ esac
+ echo $PKGRETURN
+}
+
+# Set initial variables:
+cd $(dirname $0) ; CWD=$(pwd)
+
+if [ -z "$TMP" ]; then
+ TMP=/tmp
+ # Old default output directory. If $TMP wasn't predefined, we'll default to
+ # using it unless a different value is provided:
+ SLACK_KDE_BUILD_DIR=${SLACK_KDE_BUILD_DIR:-/tmp/kde_build}
+else
+ # $TMP already set. We'll also use it for the output directory unless
+ # a different value is provided:
+ SLACK_KDE_BUILD_DIR=${SLACK_KDE_BUILD_DIR:-$TMP}
+fi
+mkdir -p $TMP $SLACK_KDE_BUILD_DIR
+
+# Set up a few useful functions:
+
+extract_archive() {
+ # Find the archive first:
+ local src_archive=$(find $CWD/src -name ${1})
+ if [ $(tar -tf $src_archive |grep -o '^[^/]\+' |sort -u |wc -l) -eq 1 ];
+ then
+ # Archive contains one toplevel directory, good. Make sure that
+ # this directory ends up as '$(pkgbase $1)':
+ tar -xf $src_archive || return 1
+ local topdir="$(tar -tf $src_archive |grep -o '^[^/]\+' |sort -u)"
+ if [ "${topdir}" != "$(pkgbase $1)" ]; then
+ mv ${topdir} $(pkgbase $1)
+ fi
+ else
+ # No toplevel directory found, so we create one first:
+ mkdir -p $(pkgbase $1)
+ tar -C $(pkgbase $1) -xf $src_archive || return 1
+ fi
+}
+
+fix_perms() {
+ target_dir=$1
+ [ -z "$target_dir" ] && target_dir='.'
+
+ chown -R root:root $target_dir
+ find $target_dir \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+}
+
+strip_binaries() {
+ target_dir=$1
+ [ -z "$target_dir" ] && target_dir='.'
+
+ find $target_dir | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find $target_dir | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find $target_dir | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+ # Also strip rpaths:
+ for file in $(find $target_dir | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do
+ if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then
+ patchelf --remove-rpath $file
+ fi
+ done
+}
+
+process_man_pages() {
+ # Compress and if needed symlink the man pages:
+ if [ -d usr/man ]; then
+ ( cd usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+ fi
+}
+
+process_info_pages() {
+ # Compress info pages and purge "dir" file from the package:
+ if [ -d usr/info ]; then
+ ( cd usr/info
+ rm -f dir
+ gzip -9 *
+ )
+ fi
+}
+
+no_usr_share_doc() {
+ # If there are docs, move them:
+ if [ -d usr/share/doc ]; then
+ mkdir -p usr/doc
+ mv usr/share/doc/* usr/doc
+ rmdir usr/share/doc
+ fi
+}
+
+precheck() {
+ # See if the sources we have match the module components we want to build:
+ RETVAL=0
+
+ for SRCFILE in $(find $CWD/src -name "*.tar.?z*" |grep -vE ".asc$|.sig$") ; do
+ # Check if the source tarball is mentioned in pkgsrc/
+ # meaning its package will get a different name:
+ ###################################################################
+ # USE OF THIS FEATURE SHOULD BE RESERVED FOR CASES WHERE THERE IS #
+ # A VERY GOOD RATIONALE - KEEPING UPSTREAM NAMES IS PREFERRED #
+ ###################################################################
+ PKGSRC=$(echo $SRCFILE |rev |cut -f2- -d- |cut -f1,2 -d/ |rev)
+ PKGBASE=$(basename $(grep -lw $PKGSRC $CWD/pkgsrc/*) 2>/dev/null)
+ if [ -z "$PKGBASE" ]; then
+ PKGBASE=$(echo $(basename $SRCFILE) |rev |cut -f2- -d- |rev)
+ fi
+ # We now have the package base name and we can start looking:
+ PKGTGT=$(grep -w ${PKGBASE}$ modules/*)
+ if [ -n "$(echo $PKGTGT |cut -d: -f2- |grep "^ *#")" ]; then
+ echo "Source file '$(basename $SRCFILE)' is commented out: ($PKGTGT) !"
+ elif cat package-blacklist |grep -v "^ *#" |grep -wq ${PKGBASE}$ ; then
+ echo "Source file '$(basename $SRCFILE)' is on the package-blacklist ($PKGBASE) !"
+ elif ! cat modules/* |grep -v "^ *#" |grep -wq ${PKGBASE}$ ; then
+ echo "Source file '$(basename $SRCFILE)' is not mentioned in 'modules' ($PKGBASE) !"
+ RETVAL=1
+ fi
+ done
+
+ # Do we have duplicate package names?
+ PKGDUP="$(cat $CWD/modules/* |grep -v "^ *#" |grep -v "^$" |sort |uniq -d)"
+ if [ -n "$PKGDUP" ] ; then
+ echo "Multiply-defined package names: '$(echo $PKGDUP)'"
+ RETVAL=1
+ fi
+ unset PKGDUP
+
+ for MODPKG in $(cat $CWD/modules/* | grep -v "^ *#") ; do
+ # First find out if the pkg source is different from the actual pkg name:
+ if [ -f $CWD/pkgsrc/$MODPKG ]; then
+ MODBASE=$(basename $(cat $CWD/pkgsrc/$MODPKG))
+ MODLOC=$(dirname $(cat $CWD/pkgsrc/$MODPKG))/
+ else
+ MODBASE=$MODPKG
+ MODLOC=""
+ fi
+ MODSRC="$(find $CWD/src/$MODLOC -name $MODBASE-*.tar.* |grep -vE ".asc$|.sig$" |grep -E "$MODBASE-[^-]+.tar.*$|$MODBASE-[0-9].+.tar.*$")"
+ if [ -z "$MODSRC" ] ; then
+ echo "Module '$MODPKG' does not have a matching source tarball ($MODLOC$MODBASE)!"
+ if [ "$CHECKOUT" = "yes" -o "$CHECKOUT" = "YES" ]; then
+ echo "Checking out KDE component at branch '$VERSION'."
+ git archive --format=tar --prefix ${MODBASE}-${VERSION}/ --remote ${KDEGITURI}/${MODBASE}.git v${VERSION} | xz -c > $CWD/src/${MODLOC}/${MODBASE}-${VERSION}.tar.xz
+ RETVAL=$?
+ if [ $RETVAL -ne 0 ]; then
+ echo "Error while checking out '$MODPKG' ($MODLOC/$MODBASE) !"
+ mv $CWD/src/$MODLOC/${MODBASE}-${VERSION}.tar.xz $CWD/src/$MODLOC/${MODBASE}-${VERSION}.tar.xz.failed
+ fi
+ else
+ RETVAL=1
+ fi
+ fi
+ # A missing slack-desc counts as fatal:
+ if [ -z "$(find $CWD/slack-desc -name ${MODPKG})" ] ; then
+ echo "Module '$MODPKG' does not have a slack-desc file !"
+ RETVAL=1
+ fi
+ done
+
+ if [ $RETVAL -eq 0 ]; then
+ echo "Check complete, build starts in ${GRACETME} seconds.."
+ sleep ${GRACETME}
+ else
+ echo "Precheck failed with error code '$RETVAL'."
+ exit 1
+ fi
+}
+
+# Support function builds one complete module (like 'frameworks'), or
+# exactly one package which is part of a module (like 'okular'):
+build_mod_pkg () {
+ kde_module=$1
+ kde_pkg=$2
+
+ cd $CWD/modules
+
+ # See if $kde_module is a module name like "frameworks":
+ if [ ! -z "$kde_module" ]; then
+ if [ ! -f "$kde_module" ]; then
+ echo "** '${kde_module}' is not an existing module."
+ return
+ fi
+ fi
+ PKG=${SLACK_KDE_BUILD_DIR}/${kde_module}/package-${kde_module}
+ rm -rf $PKG
+ mkdir -p $PKG
+ ( for PKGNAME in $(cat $kde_module |grep -v "^$" |grep -v "^ *#") ; do
+ if grep -wq "^${PKGNAME}$" ${CWD}/package-blacklist ; then
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "** '${PKGNAME}' is on the package blacklist."
+ fi
+ continue
+ fi
+ # Find the full source filename - yeah ugly, but I had two goals:
+ # 1- source tarball can be in a random subdirectory of src/
+ # 2- differentiate between e.g. 'kdepim' and 'kdepim-runtime'
+ if [ -f $CWD/pkgsrc/$PKGNAME ]; then
+ PKGSRC=$(basename $(cat $CWD/pkgsrc/$PKGNAME))
+ PKGLOC=$(dirname $(cat $CWD/pkgsrc/$PKGNAME))
+ else
+ PKGSRC=$PKGNAME
+ PKGLOC=""
+ fi
+ kde_src=$(basename $(find $CWD/src/$PKGLOC -name "$PKGSRC-*.tar.?z*" |grep -vE ".asc$|.sig$" |grep -E "$PKGSRC-[^-]+.tar.*$|$PKGSRC-[0-9].+.tar.*$") 2>/dev/null)
+ if [ "x$kde_src" = "x" ]; then
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "** Did not find '$PKGSRC' in src"
+ fi
+ continue
+ fi
+ # Reset $PKGARCH to its initial value:
+ PKGARCH=$ARCH
+ # Perhaps $PKGARCH should be something different:
+ if grep -wq "^${PKGNAME}$" ${CWD}/noarch ; then
+ PKGARCH=noarch
+ fi
+ cd $SLACK_KDE_BUILD_DIR/${kde_module}
+ # If $kde_pkg is set, we only want to build one package:
+ if [ ! -z "$kde_pkg" ]; then
+ if [ "$kde_pkg" = "$PKGNAME" ]; then
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+ else
+ continue
+ fi
+ else
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo
+ echo "Building from source ${kde_src}"
+ echo
+ fi
+ fi
+
+ # Set $PKG to a private dir for the modular package build:
+ PKG=$SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME
+ rm -rf $PKG
+ mkdir -p $PKG
+
+ # Let's figure out the version number on the modular package:
+ MODULAR_PACKAGE_VERSION=$(echo $kde_src | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
+ # If this variable is passed to the script, nothing will be built.
+ # Instead, a list of packages to be built will be output.
+ if [ ! -z "$PRINT_PACKAGE_NAME" ]; then
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ echo "${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
+ continue
+ fi
+
+ # If requested, skip packages that are already in the output directory:
+ if [ "$SKIPBUILT" = "yes" ]; then
+ # Construct the package name:
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ TESTPKGNAME="${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz"
+ if [ -r ${SLACK_KDE_BUILD_DIR}/${kde_module}/$TESTPKGNAME -o -r ${SLACK_KDE_BUILD_DIR}/$TESTPKGNAME ]; then
+ echo "** Skipping already built package $TESTPKGNAME."
+ continue
+ fi
+ fi
+
+ rm -rf $(pkgbase $kde_src)
+ extract_archive $kde_src || exit 1
+ cd $(pkgbase $kde_src) || exit 1
+
+ fix_perms
+
+ # If any patches are needed, call this script to apply them:
+ if [ -r $CWD/patch/${PKGNAME}.patch ]; then
+ . $CWD/patch/${PKGNAME}.patch || exit 1
+ fi
+
+ # If there's any pre-install things to do, do them:
+ if [ -r $CWD/pre-install/${PKGNAME}.pre-install ]; then
+ . $CWD/pre-install/${PKGNAME}.pre-install
+ fi
+
+ if ! grep -wq "^${PKGNAME}$" ${CWD}/nomake ; then
+ # Run cmake, using custom cmake script if needed:
+ if [ -r $CWD/cmake/${PKGNAME} ]; then
+ . $CWD/cmake/${PKGNAME}
+ elif [ -r $CWD/cmake/${kde_module} ]; then
+ . $CWD/cmake/${kde_module}
+ else
+ # This is the default configure script:
+ . $CWD/cmake/cmake
+ fi
+
+ # Run make, using custom make script if needed:
+ if [ -r $CWD/make/${PKGNAME} ]; then
+ . $CWD/make/${PKGNAME}
+ elif [ -r $CWD/make/${kde_module} ]; then
+ . $CWD/make/${kde_module}
+ else
+ # This is the default make && make install routine:
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ fi
+ fi
+
+ # Back to source toplevel builddir, since cmake may have run in a subdir:
+ cd $SLACK_KDE_BUILD_DIR/${kde_module}/$(pkgbase $kde_src)
+
+ mkdir -p $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ # Use specific documentation files if available, else use a default set:
+ if [ -r $CWD/docs/${PKGNAME} ]; then
+ cp -a $(cat $CWD/docs/${PKGNAME}) \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ else
+ cp -a \
+ AUTHORS* CONTRIBUTING* COPYING* HACKING* \
+ INSTALL* MAINTAINERS README* NEWS* TODO* \
+ $PKG/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION}
+ # If there's a ChangeLog, installing at least part of the recent
+ # history is useful, but don't let it get totally out of control:
+ if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+ fi
+ fi
+
+ # Get rid of zero-length junk files:
+ find $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION -type f -size 0 -exec rm --verbose "{}" \+
+ rmdir --verbose $PKG/usr/doc/${PKGNAME}-$MODULAR_PACKAGE_VERSION 2> /dev/null
+
+ # Strip binaries if needed:
+ if [ ! -r $CWD/nostrip/${PKGNAME} ]; then
+ strip_binaries $PKG
+ fi
+
+ # If there's any special post-install things to do, do them:
+ if [ -r $CWD/post-install/${PKGNAME}.post-install ]; then
+ . $CWD/post-install/${PKGNAME}.post-install
+ fi
+
+ # If this package requires some doinst.sh material, add it here:
+ if [ -r $CWD/doinst.sh/${PKGNAME} ]; then
+ mkdir -p $PKG/install
+ cat $CWD/doinst.sh/${PKGNAME} \
+ | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+ >> $PKG/install/doinst.sh
+ fi
+
+ # If this is a modular package, build it here:
+ if [ -d $SLACK_KDE_BUILD_DIR/${kde_module}/package-$PKGNAME ]; then
+ cd $PKG
+ process_man_pages
+ process_info_pages
+ no_usr_share_doc
+ mkdir -p $PKG/install
+ if [ -r $CWD/slack-desc/${PKGNAME} ]; then
+ cat $CWD/slack-desc/${PKGNAME} > $PKG/install/slack-desc
+ else
+ touch $PKG/install/slack-desc-missing
+ fi
+ if [ -r $CWD/build/${PKGNAME} ]; then
+ MODBUILD=$(cat $CWD/build/${PKGNAME})
+ else
+ MODBUILD=$BUILD
+ fi
+ if [ -r $CWD/makepkg/${PKGNAME} ]; then
+ BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
+ else
+ /sbin/makepkg -l y -c n ${SLACK_KDE_BUILD_DIR}/${kde_module}/${PKGNAME}-$(echo $MODULAR_PACKAGE_VERSION |tr - _)-${PKGARCH}-${MODBUILD}.txz
+ fi
+ # We will continue with the fresh packages installed:
+ if [ "$UPGRADE" = "yes" -o "$UPGRADE" = "YES" ]; then
+ upgradepkg --install-new --reinstall ${SLACK_KDE_BUILD_DIR}/${kde_module}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ # Keep MIME database current:
+ /usr/bin/update-mime-database /usr/share/mime 1>/dev/null 2>/dev/null &
+ fi
+ fi
+
+ done
+
+ )
+}
+
+# Process the module queue. Format is:
+# module[:subpackage[,subpackage]] [module...]
+deterministic_build() {
+ RET=0
+ for ENTRY in $1 ; do
+ KDE_MOD=$(echo "$ENTRY": | cut -f1 -d:)
+ KDE_PKGS=$(echo "$ENTRY": | cut -f2 -d:)
+ if [ -z "$KDE_PKGS" ]; then
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "** SlackBuild building '$KDE_MOD'"
+ fi
+ build_mod_pkg $KDE_MOD
+ let RET=$RET+$?
+ else
+ if [ "${KDE_PKGS: -1}" = "," ]; then
+ # Last character is a ','. Expand the list with all subsequent packages.
+ START_PKG=$(echo $KDE_PKGS |rev |cut -d, -f2 |rev)
+ MOD_LIST=$(cat modules/$KDE_MOD |grep -v "^ *#" |grep -v "^$" |tr '\n' ',')
+ KDE_PKGS="${KDE_PKGS}${MOD_LIST/#?*,${START_PKG},/}"
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "** SlackBuild expanding '$ENTRY' to '$KDE_MOD:$KDE_PKGS'"
+ fi
+ fi
+ for KDE_PKG in $(echo $KDE_PKGS |tr ',' ' ') ; do
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "** SlackBuild building '$KDE_MOD:$KDE_PKG'"
+ fi
+ build_mod_pkg $KDE_MOD $KDE_PKG
+ let RET=$RET+$?
+ done
+ fi
+ done
+
+ return $RET
+}
+
+# MAIN PART #
+
+# Import the build configuration options for as far as they are not already set:
+[ -r ./kde.options ] && . ./kde.options
+
+# This avoids compiling a version number into KDE's .la files:
+QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 ; export QTDIR
+
+# Get the KDE environment variables:
+[ -d post-install/kservice ] && eval $(sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" ./post-install/kservice/profile.d/kde.sh)
+
+# Build/install libkdiagram before compiling kdepim:
+# Build/install libktorrent before compiling kget:
+KDEMODS=" \
+ kde4 \
+ frameworks \
+ applications-extra:kdiagram \
+ kdepim \
+ plasma-extra:plasma-wayland-protocols \
+ plasma \
+ plasma-extra \
+ applications-extra:libktorrent \
+ applications \
+ applications-extra \
+ applications:umbrello \
+ "
+ #telepathy \
+
+# Allow for specification of individual packages to be built:
+if [ -z "$1" ]; then
+ MODQUEUE=$KDEMODS
+else
+ MODQUEUE="$*"
+fi
+
+# If requested, check if
+# sources, module definitions and slack-desc are complete and matching:
+if [ "$PRECHECK" = "yes" -o "$PRECHECK" = "YES" ]; then
+ precheck
+fi
+
+# And finally, start working!
+for module in \
+ $MODQUEUE ;
+do
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "SlackBuild processing module '$module'"
+ fi
+ deterministic_build $module
+ if [ $? = 0 ]; then
+ # Move the created packages up into the KDE build directory:
+ mv ${SLACK_KDE_BUILD_DIR}/$(echo $module |cut -f1 -d:)/*.t?z ${SLACK_KDE_BUILD_DIR}/ 2> /dev/null
+ if [ "$CLEANUP" = "yes" -o "$CLEANUP" = "YES" ]; then
+ # Clean out package and build directories:
+ rm -rf ${SLACK_KDE_BUILD_DIR}/$(echo $module |cut -f1 -d:)
+ fi
+ else
+ if [ -z "$PRINT_PACKAGE_NAME" ]; then
+ echo "${module} failed to build."
+ fi
+ exit 1
+ fi
+ cd - > /dev/null
+done
+
+exit 0
+
+
diff --git a/testing/source/vtown/kde/kde.options b/testing/source/vtown/kde/kde.options
new file mode 100644
index 00000000..4435ead7
--- /dev/null
+++ b/testing/source/vtown/kde/kde.options
@@ -0,0 +1,68 @@
+# Set default arch/build. A default version is not needed since
+# package versions are determined by their source tarvall.
+
+[ -z $BUILD ] && export BUILD=1
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+[ -z $PKGARCH ] && export PKGARCH=$ARCH
+
+# Use this as CFLAGS and CXXFLAGS:
+if [ -z "$SLKCFLAGS" ]; then
+ if [ "$ARCH" = "i486" ]; then
+ export SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "i586" ]; then
+ export SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "s390" ]; then
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "x86_64" ]; then
+ export SLKCFLAGS="-O2 -fPIC"
+ export LIBDIRSUFFIX="64"
+ elif [ "$ARCH" = "arm" ]; then
+ export SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "armel" ]; then
+ export SLKCFLAGS="-O2 -march=armv4t"
+ export LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "armv7hl" ]; then
+ export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ export LIBDIRSUFFIX=""
+ else
+ export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+ fi
+fi
+
+# Use this to set the number of parallel make jobs:
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+export NUMJOBS
+
+# Additional cmake flags that are spanned across the KDE modules
+# Do not use "final build" unless we build an actual release.
+export KDE_OPT_ARGS=" -Wno-dev -DBUILD_TESTING=OFF -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" "
+
+# Choose correct options depending on whether PAM is installed:
+if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
+ SLACKPAM=${SLACKPAM:-"yes"}
+else
+ SLACKPAM=${SLACKPAM:-"no"}
+fi
+
+# Choose correct options depending on whether elogind is installed:
+if [ -L /lib${LIBDIRSUFFIX}/libelogind.so.? ]; then
+ SLKELOGIND=${SLKELOGIND:-"yes"}
+else
+ SLKELOGIND=${SLKELOGIND:-"no"}
+fi
diff --git a/testing/source/vtown/kde/make/katepart4 b/testing/source/vtown/kde/make/katepart4
new file mode 100644
index 00000000..fff707ab
--- /dev/null
+++ b/testing/source/vtown/kde/make/katepart4
@@ -0,0 +1,7 @@
+make $NUMJOBS || make || exit 1
+cd part
+ make install DESTDIR=$PKG || exit 1
+cd -
+cd addons/ktexteditor
+ make install DESTDIR=$PKG || exit 1
+cd -
diff --git a/testing/source/vtown/kde/make/kdeconnect4 b/testing/source/vtown/kde/make/kdeconnect4
new file mode 100644
index 00000000..d8e26987
--- /dev/null
+++ b/testing/source/vtown/kde/make/kdeconnect4
@@ -0,0 +1,10 @@
+make $NUMJOBS || make || exit 1
+cd interfaces
+ make install DESTDIR=$PKG || exit 1
+cd -
+cd kio
+ make install DESTDIR=$PKG || exit 1
+cd -
+cd fileitemactionplugin
+ make install DESTDIR=$PKG || exit 1
+cd -
diff --git a/testing/source/vtown/kde/make/marble b/testing/source/vtown/kde/make/marble
new file mode 100644
index 00000000..95ba2b1b
--- /dev/null
+++ b/testing/source/vtown/kde/make/marble
@@ -0,0 +1,29 @@
+#
+## Marble's cmake left us in build_qt4,
+## so we build and install Qt4 support first:
+#make $NUMJOBS || make || exit 1
+#make install DESTDIR=$PKG || exit 1
+## Move the marble4 cmake file so that it will be found:
+#mkdir -p $PKG/usr/share/apps/cmake/modules
+#mv $PKG/usr/share/marble/cmake/FindMarble.cmake \
+# $PKG/usr/share/apps/cmake/modules/FindMarble.cmake
+## Rename the marble4 include dir to avoid a conflict with marble:
+#mv $PKG/usr/include/marble{,4}
+## And fix that include path in the cmake file too:
+#sed -i $PKG/usr/share/apps/cmake/modules/FindMarble.cmake \
+# -e 's,marble/MarbleModel.h,marble4/MarbleModel.h,'
+#
+## Go back to build_qt5 and build/install the Qt5 support:
+#cd ..
+## Fix installation of the designer plugins - only a problem for the Qt5 libs:
+#sed -i CMakeLists.txt \
+# -e 's,LIB_SUFFIX}/plugins,LIB_SUFFIX}/qt5/plugins,g'
+#cd build_qt5
+#
+
+# Fix installation of the designer plugins:
+sed -i ../CMakeLists.txt \
+ -e 's,LIB_SUFFIX}/plugins,LIB_SUFFIX}/qt5/plugins,g'
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
diff --git a/testing/source/vtown/kde/modules/applications b/testing/source/vtown/kde/modules/applications
new file mode 100644
index 00000000..c64509e6
--- /dev/null
+++ b/testing/source/vtown/kde/modules/applications
@@ -0,0 +1,193 @@
+# https://community.kde.org/Applications/17.12_Release_Notes
+#
+# Some of the kdegraphics needs to be compiled first:
+libkipi
+kipi-plugins
+libkexiv2
+libkdcraw
+libksane
+gwenview
+
+# Not currently packaging due to deps needed for kaccounts-integration, and
+# more deps needed for those deps. Might check into it again later...
+#kaccounts-integration
+#kaccounts-providers
+
+# kdebase:
+kio-extras
+kio-gdrive
+konsole
+kate
+kdialog
+keditbookmarks
+kfind
+konqueror
+
+# kdeutils:
+ark
+baloo-widgets
+filelight
+kcalc
+kcharselect
+kdf
+kfloppy
+kgpg
+print-manager
+kbackup
+ktimer
+khelpcenter
+kwalletmanager
+sweeper
+
+# dolphin needs to pick up baloo5-widgets:
+dolphin
+
+# kdesdk:
+kdebugsettings
+kapptemplate
+cervisia
+dolphin-plugins
+kcachegrind
+kde-dev-scripts
+kde-dev-utils
+kdesdk-kioslaves
+kdesdk-thumbnailers
+kross-interpreters
+libkomparediff2
+kompare
+lokalize
+poxml
+umbrello
+
+# Rest of kdegraphics:
+kdegraphics-mobipocket
+okular
+kdegraphics-thumbnailers
+kamera
+kcolorchooser
+kolourpaint
+kruler
+spectacle
+svgpart
+kirigami-gallery
+
+# kdeaccessibility:
+kmouth
+kmousetool
+kmag
+
+# kdemultimedia:
+libkcddb
+libkcompactdisc
+audiocd-kio
+dragon
+juk
+kmix
+ffmpegthumbs
+kwave
+k3b
+kamoso
+elisa
+
+# kdenetwork:
+kdenetwork-filesharing
+zeroconf-ioslave
+kget
+kopete
+krdc
+krfb
+
+# kdeadmin:
+kcron
+ksystemlog
+
+# kdegames:
+libkdegames
+libkmahjongg
+klickety
+ksudoku
+ksquares
+# Needs fc-solver library:
+kpat
+klines
+ksnakeduel
+kollision
+kshisen
+kblocks
+lskat
+kreversi
+bovo
+#kajongg
+granatier
+kmines
+kiriki
+kigo
+bomber
+kolf
+kdiamond
+kbounce
+konquest
+kapman
+knavalbattle
+killbots
+kubrick
+kgoldrunner
+knetwalk
+kbreakout
+ksirk
+kfourinline
+picmi
+kblackbox
+palapeli
+katomic
+ktuberling
+kjumpingcube
+kmahjongg
+kspaceduel
+knights
+
+# kdetoys:
+kteatime
+
+# kdeedu:
+kdeedu-data
+libkeduvocdocument
+analitza
+kalgebra
+kanagram
+khangman
+kig
+parley
+artikulate
+blinken
+cantor
+kalzium
+kbruch
+kgeography
+kiten
+klettres
+kmplot
+kqtquickcharts
+ktouch
+kturtle
+kwordquiz
+marble
+rocs
+step
+# Needs http://drumstick.sourceforge.net/
+minuet
+
+# Needs to come after marble:
+libkgeomap
+
+# Needs ffmpeg and dvdauthor to be really useful:
+kdenlive
+
+# kdewebdev remnant:
+kimagemapeditor
+
+# New in 19.08:
+yakuake
+
+# New in 20.04:
+kdeconnect-kde
diff --git a/testing/source/vtown/kde/modules/applications-extra b/testing/source/vtown/kde/modules/applications-extra
new file mode 100644
index 00000000..489bc5b7
--- /dev/null
+++ b/testing/source/vtown/kde/modules/applications-extra
@@ -0,0 +1,31 @@
+# applications-extra
+calligra
+calligraplan
+digikam
+krita
+libktorrent
+ktorrent
+kpmcore
+partitionmanager
+falkon
+skanlite
+kdevelop-pg-qt
+kdevelop
+kdev-php
+kdiagram
+kjots
+kstars
+#kuser
+krusader
+kile
+kaudiocreator
+kwebkitpart
+oxygen-gtk2
+kdev-python
+alkimia
+kmymoney
+okteta
+krename
+ktimetracker
+labplot
+kid3
diff --git a/testing/source/vtown/kde/modules/frameworks b/testing/source/vtown/kde/modules/frameworks
new file mode 100644
index 00000000..e2abbc3e
--- /dev/null
+++ b/testing/source/vtown/kde/modules/frameworks
@@ -0,0 +1,91 @@
+# KDE Frameworks.
+#
+# https://api.kde.org/frameworks/index.html
+#
+# Tier 1, depends on Qt5, system libraries:
+extra-cmake-modules
+attica
+kitemmodels
+kitemviews
+kplotting
+threadweaver
+kcodecs
+kdbusaddons
+kcoreaddons
+kguiaddons
+kidletime
+kwidgetsaddons
+sonnet
+kconfig
+kwindowsystem
+solid
+karchive
+ki18n
+networkmanager-qt
+modemmanager-qt
+bluez-qt
+kwayland
+prison
+kirigami2
+syntax-highlighting
+kholidays
+kcalendarcore
+kcontacts
+# Tier 2, depends on Tier 1, Qt5, system libraries:
+breeze-icons
+kapidox
+kdnssd
+oxygen-icons5
+kauth
+kcrash
+kjobwidgets
+kcompletion
+kdoctools
+kpackage
+knotifications
+kunitconversion
+kpty
+kimageformats
+kfilemetadata
+syndication
+kquickcharts
+# Tier 3, depends on Tier 1 and 2, Qt5, system libraries:
+kconfigwidgets
+kservice
+kglobalaccel
+kiconthemes
+kwallet
+kemoticons
+kdesu
+ktextwidgets
+kxmlgui
+kbookmarks
+kded
+kio
+knewstuff
+kparts
+kdewebkit
+kdesignerplugin
+kdeclarative
+kcmutils
+kinit
+knotifyconfig
+ktexteditor
+kactivities
+kactivities-stats
+plasma-framework
+kpeople
+kxmlrpcclient
+baloo
+qqc2-desktop-style
+purpose
+# Tier 4, depends on Tier 1, 2 and 3, Qt5, system libraries:
+kjs
+kjsembed
+kross
+kmediaplayer
+krunner
+frameworkintegration
+kdelibs4support
+khtml
+kdav
diff --git a/testing/source/vtown/kde/modules/kde4 b/testing/source/vtown/kde/modules/kde4
new file mode 100644
index 00000000..47315978
--- /dev/null
+++ b/testing/source/vtown/kde/modules/kde4
@@ -0,0 +1 @@
+kdelibs
diff --git a/testing/source/vtown/kde/modules/kdepim b/testing/source/vtown/kde/modules/kdepim
new file mode 100644
index 00000000..71b48da5
--- /dev/null
+++ b/testing/source/vtown/kde/modules/kdepim
@@ -0,0 +1,56 @@
+# kdepim
+#kcalcore
+akonadi
+# Moved to Frameworks:
+#kholidays
+kpimtextedit
+kidentitymanagement
+kcalutils
+libkgapi
+kmime
+ksmtp
+kimap
+kmbox
+kldap
+kontactinterface
+ktnef
+akonadi-mime
+akonadi-contacts
+akonadi-notes
+akonadi-search
+kalarmcal
+kmailtransport
+akonadi-calendar
+libkleo
+grantleetheme
+libkdepim
+pimcommon
+libgravatar
+libksieve
+mailimporter
+kdepim-apps-libs
+calendarsupport
+eventviews
+incidenceeditor
+messagelib
+mailcommon
+kleopatra
+kpkpass
+kitinerary
+kdepim-addons
+kdepim-runtime
+akonadi-calendar-tools
+akonadiconsole
+akonadi-import-wizard
+akregator
+grantlee-editor
+kaddressbook
+kalarm
+kmail
+kmail-account-wizard
+knotes
+kontact
+korganizer
+mbox-importer
+pim-data-exporter
+pim-sieve-editor
diff --git a/testing/source/vtown/kde/modules/plasma b/testing/source/vtown/kde/modules/plasma
new file mode 100644
index 00000000..0c46a391
--- /dev/null
+++ b/testing/source/vtown/kde/modules/plasma
@@ -0,0 +1,54 @@
+# plasma
+kgamma5
+kdecoration
+breeze
+breeze-gtk
+breeze-grub
+#breeze-plymouth
+kwayland-integration
+kwayland-server
+plasma-integration
+kinfocenter
+libksysguard
+ksysguard
+kscreenlocker
+kwin
+kwrited
+libkscreen
+milou
+oxygen
+plasma-workspace
+kde-cli-tools
+# Circular dependency between plasma-workspace and kde-cli-tools
+plasma-workspace
+systemsettings
+plasma-desktop
+kdeplasma-addons
+plasma-workspace-wallpapers
+plasma-nm
+powerdevil
+bluedevil
+khotkeys
+kmenuedit
+polkit-kde-agent-1
+kscreen
+sddm-kcm
+kde-gtk-config
+ksshaskpass
+plasma-sdk
+plasma-pa
+#plasma-tests
+kactivitymanagerd
+user-manager
+xdg-desktop-portal-kde
+drkonqi
+plasma-vault
+plasma-browser-integration
+kwallet-pam
+plasma-disks
+#plymouth-kcm
+#discover
+#plasma-thunderbolt
+#plasma-nano
+#plasma-phone-components
+
diff --git a/testing/source/vtown/kde/modules/plasma-extra b/testing/source/vtown/kde/modules/plasma-extra
new file mode 100644
index 00000000..e15d1a40
--- /dev/null
+++ b/testing/source/vtown/kde/modules/plasma-extra
@@ -0,0 +1,8 @@
+sddm
+kpeoplevcard
+pulseaudio-qt
+latte-dock
+oxygen-fonts
+plasma-wayland-protocols
+wacomtablet
+
diff --git a/testing/source/vtown/kde/modules/telepathy b/testing/source/vtown/kde/modules/telepathy
new file mode 100644
index 00000000..3b4858b8
--- /dev/null
+++ b/testing/source/vtown/kde/modules/telepathy
@@ -0,0 +1,16 @@
+# KDE Telepathy
+# https://community.kde.org/KTp/Setting_up_KAccounts
+signon-kwallet-extension
+ktp-common-internals
+ktp-accounts-kcm
+ktp-contact-list
+ktp-contact-runner
+ktp-text-ui
+ktp-approver
+ktp-kded-module
+ktp-auth-handler
+ktp-filetransfer-handler
+ktp-send-file
+ktp-call-ui
+ktp-desktop-applets
+
diff --git a/testing/source/vtown/kde/noarch b/testing/source/vtown/kde/noarch
new file mode 100644
index 00000000..a1dd4c69
--- /dev/null
+++ b/testing/source/vtown/kde/noarch
@@ -0,0 +1,9 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+
+breeze-icons
+kde-wallpapers
+oxygen-fonts
+oxygen-icons
+oxygen-icons5
+
diff --git a/testing/source/vtown/kde/nomake b/testing/source/vtown/kde/nomake
new file mode 100644
index 00000000..2703fd48
--- /dev/null
+++ b/testing/source/vtown/kde/nomake
@@ -0,0 +1,4 @@
+breeze-grub
+oxygen-fonts
+sddm-theme-breeze
+
diff --git a/testing/source/vtown/kde/package-blacklist b/testing/source/vtown/kde/package-blacklist
new file mode 100644
index 00000000..f6ab382c
--- /dev/null
+++ b/testing/source/vtown/kde/package-blacklist
@@ -0,0 +1,11 @@
+# Enter packages to skip (perhaps because they aren't used on
+# this platform) below. Just the package name -- no version
+# number is needed.
+
+## kdebindings:
+# needs c-sharp:
+kimono
+qyoto
+
+# We need to support Wayland first.
+#kwayland
diff --git a/testing/source/vtown/kde/patch/README b/testing/source/vtown/kde/patch/README
new file mode 100644
index 00000000..2478e45f
--- /dev/null
+++ b/testing/source/vtown/kde/patch/README
@@ -0,0 +1,18 @@
+
+IMPORTANT!
+
+To fail/exit a script, use this:
+
+[command that fails] || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+DO NOT USE THIS:
+
+[command that fails] || exit 1
+
+as it will cause the parent script to exit in the wrong location and possibly
+silently skip building some packages.
+
+Thanks,
+
+The Management
+
diff --git a/testing/source/vtown/kde/patch/baloo.patch b/testing/source/vtown/kde/patch/baloo.patch
new file mode 100644
index 00000000..bcca5d5b
--- /dev/null
+++ b/testing/source/vtown/kde/patch/baloo.patch
@@ -0,0 +1,2 @@
+# Disable file indexing by default in Baloo:
+cat $CWD/patch/baloo/baloo_def_indexing_disabled.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/baloo/baloo_def_indexing_disabled.patch b/testing/source/vtown/kde/patch/baloo/baloo_def_indexing_disabled.patch
new file mode 100644
index 00000000..8a12e45f
--- /dev/null
+++ b/testing/source/vtown/kde/patch/baloo/baloo_def_indexing_disabled.patch
@@ -0,0 +1,12 @@
+diff -uar baloo-5.72.0.orig/src/lib/baloosettings.kcfg baloo-5.72.0/src/lib/baloosettings.kcfg
+--- baloo-5.72.0.orig/src/lib/baloosettings.kcfg 2020-07-04 15:03:02.000000000 +0200
++++ baloo-5.72.0/src/lib/baloosettings.kcfg 2020-07-29 19:51:58.891567902 +0200
+@@ -9,7 +9,7 @@
+ <group name="Basic Settings">
+ <entry name="indexingEnabled" key="Indexing-Enabled" type="Bool">
+ <label>Indexing-Enabled</label>
+- <default>true</default>
++ <default>false</default>
+ </entry>
+ </group>
+ <group name="General">
diff --git a/testing/source/vtown/kde/patch/calligraplan.patch b/testing/source/vtown/kde/patch/calligraplan.patch
new file mode 100644
index 00000000..5895d0ce
--- /dev/null
+++ b/testing/source/vtown/kde/patch/calligraplan.patch
@@ -0,0 +1,2 @@
+# Fix build against Qt 5.15:
+cat $CWD/patch/calligraplan/calligraplan.qt-5.15.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/calligraplan/calligraplan.qt-5.15.patch b/testing/source/vtown/kde/patch/calligraplan/calligraplan.qt-5.15.patch
new file mode 100644
index 00000000..c8962a1b
--- /dev/null
+++ b/testing/source/vtown/kde/patch/calligraplan/calligraplan.qt-5.15.patch
@@ -0,0 +1,10 @@
+--- ./src/libs/ui/kptganttitemdelegate.cpp.orig 2019-12-12 05:48:13.000000000 -0600
++++ ./src/libs/ui/kptganttitemdelegate.cpp 2020-07-18 14:48:48.058351438 -0500
+@@ -28,6 +28,7 @@
+ #include <QModelIndex>
+ #include <QApplication>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QLocale>
+
+ #include <KLocalizedString>
diff --git a/testing/source/vtown/kde/patch/dolphin.patch b/testing/source/vtown/kde/patch/dolphin.patch
new file mode 100644
index 00000000..02a7950c
--- /dev/null
+++ b/testing/source/vtown/kde/patch/dolphin.patch
@@ -0,0 +1,2 @@
+# Let the user decide whether she wants to run Dolphin as root:
+cat $CWD/patch/dolphin/dolphin_revert_noroot.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/dolphin/dolphin_revert_noroot.patch b/testing/source/vtown/kde/patch/dolphin/dolphin_revert_noroot.patch
new file mode 100644
index 00000000..423e1707
--- /dev/null
+++ b/testing/source/vtown/kde/patch/dolphin/dolphin_revert_noroot.patch
@@ -0,0 +1,23 @@
+# Let the user decide whether she wants to run Dolphin as root:
+
+diff -uar dolphin-18.08.0.orig/src/main.cpp dolphin-18.08.0/src/main.cpp
+--- dolphin-18.08.0.orig/src/main.cpp 2018-08-06 22:41:40.000000000 +0200
++++ dolphin-18.08.0/src/main.cpp 2018-08-11 00:32:48.073913157 +0200
+@@ -43,14 +43,12 @@
+ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
+ {
+ #ifndef Q_OS_WIN
+- // Prohibit using sudo or kdesu (but allow using the root user directly)
++ // Warn using sudo or kdesu (but allow using the root user directly)
+ if (getuid() == 0) {
+ if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
+- std::cout << "Executing Dolphin with sudo is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing Dolphin with sudo is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
+- std::cout << "Executing Dolphin with kdesu is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing Dolphin with kdesu is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ }
+ }
+ #endif
diff --git a/testing/source/vtown/kde/patch/falkon.patch b/testing/source/vtown/kde/patch/falkon.patch
new file mode 100644
index 00000000..27a46683
--- /dev/null
+++ b/testing/source/vtown/kde/patch/falkon.patch
@@ -0,0 +1,2 @@
+# Fix build against Qt 5.15:
+cat $CWD/patch/falkon/falkon.qt-5.15.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/falkon/falkon.qt-5.15.diff b/testing/source/vtown/kde/patch/falkon/falkon.qt-5.15.diff
new file mode 100644
index 00000000..60f1699e
--- /dev/null
+++ b/testing/source/vtown/kde/patch/falkon/falkon.qt-5.15.diff
@@ -0,0 +1,20 @@
+--- ./src/lib/tools/qztools.cpp.orig 2019-03-19 13:06:45.000000000 -0500
++++ ./src/lib/tools/qztools.cpp 2020-07-18 15:00:08.881313780 -0500
+@@ -25,6 +25,7 @@
+ #include <QByteArray>
+ #include <QPixmap>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QBuffer>
+ #include <QFile>
+ #include <QDir>
+--- ./src/plugins/VerticalTabs/verticaltabsplugin.cpp.orig 2019-03-19 13:06:45.000000000 -0500
++++ ./src/plugins/VerticalTabs/verticaltabsplugin.cpp 2020-07-18 15:03:16.468303404 -0500
+@@ -31,6 +31,7 @@
+ #include "desktopfile.h"
+
+ #include <QSettings>
++#include <QFile>
+
+ VerticalTabsPlugin::VerticalTabsPlugin()
+ : QObject()
diff --git a/testing/source/vtown/kde/patch/kalgebra.patch b/testing/source/vtown/kde/patch/kalgebra.patch
new file mode 100644
index 00000000..d17f4822
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kalgebra.patch
@@ -0,0 +1,4 @@
+# On some systems, libreadline is linked to Curses implementation directly;
+# on other, it's not, requiring you to link both Curses and Readline libraries
+# manually.
+cat $CWD/patch/kalgebra/kalgebra_ncurses_linking.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kalgebra/kalgebra_ncurses_linking.diff b/testing/source/vtown/kde/patch/kalgebra/kalgebra_ncurses_linking.diff
new file mode 100644
index 00000000..3d78fa30
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kalgebra/kalgebra_ncurses_linking.diff
@@ -0,0 +1,11 @@
+--- kalgebra-14.12.1.orig/calgebra/CMakeLists.txt 2014-11-13 02:59:40.000000000 +0100
++++ kalgebra-14.12.1/calgebra/CMakeLists.txt 2015-01-14 14:35:54.702166188 +0100
+@@ -13,7 +13,7 @@
+ endif()
+
+ add_executable(calgebra main.cpp)
+-target_link_libraries(calgebra Qt5::Core ${READLINE_LIBRARY} KF5::Analitza)
++target_link_libraries(calgebra Qt5::Core ${READLINE_LIBRARY} ${CURSES_LIBRARIES} KF5::Analitza)
+
+ install(TARGETS calgebra ${INSTALL_TARGETS_DEFAULT_ARGS})
+
diff --git a/testing/source/vtown/kde/patch/kate.patch b/testing/source/vtown/kde/patch/kate.patch
new file mode 100644
index 00000000..59df062a
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kate.patch
@@ -0,0 +1,3 @@
+# Allow Kate to be started by the root user; disallowing this is not
+# a decision that a developer should make for the user, it is patronizing:
+cat $CWD/patch/kate/kate_runasroot.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kate/kate_runasroot.patch b/testing/source/vtown/kde/patch/kate/kate_runasroot.patch
new file mode 100644
index 00000000..f549fc34
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kate/kate_runasroot.patch
@@ -0,0 +1,45 @@
+The user gets to decide whether she wants to run kate as root.
+Please developers, do not presume that a Slackware user is dumb.
+
+diff -uar kate-19.04.1.orig/kate/main.cpp kate-19.04.1/kate/main.cpp
+--- kate-19.04.1.orig/kate/main.cpp 2019-05-02 12:44:53.000000000 +0200
++++ kate-19.04.1/kate/main.cpp 2019-05-08 21:26:07.196338144 +0200
+@@ -59,14 +59,12 @@
+ int main(int argc, char **argv)
+ {
+ #ifndef Q_OS_WIN
+- // Prohibit using sudo or kdesu (but allow using the root user directly)
++ // Warn using sudo or kdesu (but allow using the root user directly)
+ if (getuid() == 0) {
+ if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
+- std::cout << "Executing Kate with sudo is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing Kate with sudo is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
+- std::cout << "Executing Kate with kdesu is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing Kate with kdesu is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ }
+ }
+ #endif
+diff -uar kate-19.04.1.orig/kwrite/main.cpp kate-19.04.1/kwrite/main.cpp
+--- kate-19.04.1.orig/kwrite/main.cpp 2019-05-02 12:44:53.000000000 +0200
++++ kate-19.04.1/kwrite/main.cpp 2019-05-08 21:27:52.034134472 +0200
+@@ -51,14 +51,12 @@
+ extern "C" Q_DECL_EXPORT int main(int argc, char **argv)
+ {
+ #ifndef Q_OS_WIN
+- // Prohibit using sudo or kdesu (but allow using the root user directly)
++ // Warn using sudo or kdesu (but allow using the root user directly)
+ if (getuid() == 0) {
+ if (!qEnvironmentVariableIsEmpty("SUDO_USER")) {
+- std::cout << "Executing KWrite with sudo is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing KWrite with sudo is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ } else if (!qEnvironmentVariableIsEmpty("KDESU_USER")) {
+- std::cout << "Executing KWrite with kdesu is not possible due to unfixable security vulnerabilities." << std::endl;
+- return EXIT_FAILURE;
++ std::cout << "Executing KWrite with kdesu is UNSAFE due to unfixable security vulnerabilities." << std::endl;
+ }
+ }
+ #endif
diff --git a/testing/source/vtown/kde/patch/kdeconnect-kde.patch b/testing/source/vtown/kde/patch/kdeconnect-kde.patch
new file mode 100644
index 00000000..122440d2
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdeconnect-kde.patch
@@ -0,0 +1,2 @@
+# Fix remote device browsing with openssh 8.2:
+cat $CWD/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff b/testing/source/vtown/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff
new file mode 100644
index 00000000..ff067aa8
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdeconnect-kde/kdeconnect-kde_openssh-8.2.diff
@@ -0,0 +1,12 @@
+diff --git a/plugins/sftp/mounter.cpp b/plugins/sftp/mounter.cpp
+index fca9907c..f673c9f7 100644
+--- a/plugins/sftp/mounter.cpp
++++ b/plugins/sftp/mounter.cpp
+@@ -145,6 +145,7 @@ void Mounter::onPackageReceived(const NetworkPacket& np)
+ << QStringLiteral("-o") << QStringLiteral("reconnect")
+ << QStringLiteral("-o") << QStringLiteral("ServerAliveInterval=30")
+ << QStringLiteral("-o") << QStringLiteral("password_stdin")
++ << QStringLiteral("-o") << QStringLiteral("KexAlgorithms=+diffie-hellman-group14-sha1")
+ ;
+
+ m_proc->setProgram(program, arguments);
diff --git a/testing/source/vtown/kde/patch/kdelibs.patch b/testing/source/vtown/kde/patch/kdelibs.patch
new file mode 100644
index 00000000..0cdcc9ca
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs.patch
@@ -0,0 +1,26 @@
+# Slackware ships a different version of XML DTDs:
+cat $CWD/patch/kdelibs/kdelibs.docbook.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Make uPnP support depend on the environment variable SOLID_UPNP,
+# e.g. by creating an /etc/profile.d/upnp.sh file with the following contents:
+# export SOLID_UPNP=1
+cat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Revert 3 patches which (although they probably follow the FDo spec better),
+# cause incorrect icon overrides:
+cat $CWD/patch/kdelibs/return-not-break.-copy-paste-error.patch | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/kdelibs/coding-style-fixes.patch | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/kdelibs/return-application-icons-properly.patch | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Support OpenSSL-1.1.x:
+cat $CWD/patch/kdelibs/kdelibs-openssl-1.1.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Security: remove support for $(...) in config keys with [$e] marker.
+# (CVE-2019-14744):
+cat $CWD/patch/kdelibs/kdelibs.2c3762feddf7e66cf6b64d9058f625a715694a00.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Support TLS v1.1 and TLS v1.2:
+cat $CWD/patch/kdelibs/kde4libs-4.14.26.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix for the relocated grantlee-qt4 includes:
+cat $CWD/patch/kdelibs/kdelibs.grantlee-qt4.include.path.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kdelibs/coding-style-fixes.patch b/testing/source/vtown/kde/patch/kdelibs/coding-style-fixes.patch
new file mode 100644
index 00000000..11108f0a
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/coding-style-fixes.patch
@@ -0,0 +1,62 @@
+From 2173580f070e806d4715e13048c697c49ec262e2 Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 17:59:58 +0100
+Subject: [PATCH 047/111] coding style fixes
+
+---
+ kdeui/icons/kiconloader.cpp | 27 ++++++++++++---------------
+ 1 file changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index 6fed667..dba474d 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -938,32 +938,29 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ }
+ }
+
+- foreach (KIconThemeNode *themeNode, links)
+- {
++ foreach (KIconThemeNode *themeNode, links) {
+ QString currentName = name;
+
+- while (!currentName.isEmpty())
+- {
+-
++ while (!currentName.isEmpty()) {
+ //kDebug(264) << "Looking up" << currentName;
+
+-// The following code has been commented out because the Qt SVG renderer needs
+-// to be improved. If you are going to change/remove some code from this part,
+-// please contact me before (ereslibre@kde.org), or kde-core-devel@kde.org. (ereslibre)
+- for (int i = 0 ; i < 4 ; i++)
+- {
++ for (int i = 0 ; i < 4 ; i++) {
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact);
+- if (icon.isValid())
+- return icon;
++ if (icon.isValid()) {
++ break;
++ }
+
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest);
+- if (icon.isValid())
+- return icon;
++ if (icon.isValid()) {
++ break;
++ }
+ }
++ //kDebug(264) << "Looking up" << currentName;
+
+- if (genericFallback)
++ if (genericFallback) {
+ // we already tested the base name
+ break;
++ }
+
+ int rindex = currentName.lastIndexOf('-');
+ if (rindex > 1) { // > 1 so that we don't split x-content or x-epoc
+--
+1.8.1.4
+
+
diff --git a/testing/source/vtown/kde/patch/kdelibs/kde4libs-4.14.26.diff b/testing/source/vtown/kde/patch/kdelibs/kde4libs-4.14.26.diff
new file mode 100644
index 00000000..2bc275ac
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kde4libs-4.14.26.diff
@@ -0,0 +1,11 @@
+--- a/kio/kio/tcpslavebase.cpp
++++ b/kio/kio/tcpslavebase.cpp
+@@ -499,7 +499,7 @@
+ {
+ if (d->usingSSL)
+ return false;
+- return d->startTLSInternal(KTcpSocket::TlsV1) & ResultOk;
++ return d->startTLSInternal(KTcpSocket::SecureProtocols) & ResultOk;
+ }
+
+ TCPSlaveBase::SslResult TCPSlaveBase::TcpSlaveBasePrivate::startTLSInternal (KTcpSocket::SslVersion version,
diff --git a/testing/source/vtown/kde/patch/kdelibs/kdelibs-openssl-1.1.patch b/testing/source/vtown/kde/patch/kdelibs/kdelibs-openssl-1.1.patch
new file mode 100644
index 00000000..1f6b7fcb
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kdelibs-openssl-1.1.patch
@@ -0,0 +1,4007 @@
+--- kdelibs-4.14.26/kio/CMakeLists.txt.omv~ 2016-11-14 22:38:29.427137096 +0100
++++ kdelibs-4.14.26/kio/CMakeLists.txt 2016-11-14 22:39:21.476667341 +0100
+@@ -325,6 +325,7 @@ install(FILES kssl/ksslcertificatemanage
+ DESTINATION ${DATA_INSTALL_DIR}/kconf_update)
+
+ kde4_add_library(kio ${LIBRARY_TYPE} ${kio_LIB_SRCS})
++target_link_libraries(kio -lssl -lcrypto)
+
+ if(NOT KIO_NO_NEPOMUK)
+ kde4_add_executable(kfilemetadatareader ${kfilemetadatareaderprocess_SRCS})
+--- kdelibs-4.14.26/kio/kssl/kopenssl.cpp.omv~ 2016-11-07 00:11:51.000000000 +0100
++++ kdelibs-4.14.26/kio/kssl/kopenssl.cpp 2016-11-14 22:11:02.355008887 +0100
+@@ -18,223 +18,52 @@
+
+ #include "kopenssl.h"
+
+-#include <config.h>
+ #include <ksslconfig.h>
+
+-#ifdef KSSL_HAVE_SSL
++#if KSSL_HAVE_SSL
+ #include <openssl/opensslv.h>
++#include <openssl/err.h>
+ #endif
+
+-#include <kdebug.h>
+ #include <kconfig.h>
+ #include <kconfiggroup.h>
+-#include <klibrary.h>
+ #include <QtCore/QCoreApplication>
+ #include <QtCore/QFile>
++#include <QtCore/QLibrary>
+ #include <QtCore/QRegExp>
+
+-
+-#include <stdio.h>
+-#include <unistd.h>
+-
+-extern "C" {
+-#ifdef KSSL_HAVE_SSL
+-static int (*K_SSL_connect) (SSL *) = 0L;
+-static int (*K_SSL_accept) (SSL *) = 0L;
+-static int (*K_SSL_read) (SSL *, void *, int) = 0L;
+-static int (*K_SSL_write) (SSL *, const void *, int) = 0L;
+-static SSL *(*K_SSL_new) (SSL_CTX *) = 0L;
+-static void (*K_SSL_free) (SSL *) = 0L;
+-static int (*K_SSL_shutdown) (SSL *) = 0L;
+-static SSL_CTX *(*K_SSL_CTX_new)(SSL_METHOD *) = 0L;
+-static void (*K_SSL_CTX_free) (SSL_CTX *) = 0L;
+-static int (*K_SSL_set_fd) (SSL *, int) = 0L;
+-static int (*K_SSL_pending) (SSL *) = 0L;
+-static int (*K_SSL_peek) (SSL *, void *, int) = 0L;
+-static int (*K_SSL_CTX_set_cipher_list)(SSL_CTX *, const char *) = 0L;
+-static void (*K_SSL_CTX_set_verify)(SSL_CTX *, int,
+- int (*)(int, X509_STORE_CTX *)) = 0L;
+-static int (*K_SSL_use_certificate)(SSL *, X509 *) = 0L;
+-static SSL_CIPHER *(*K_SSL_get_current_cipher)(SSL *) = 0L;
+-static long (*K_SSL_ctrl) (SSL *,int, long, char *) = 0L;
+-static int (*K_RAND_egd) (const char *) = 0L;
+-static const char* (*K_RAND_file_name) (char *, size_t) = 0L;
+-static int (*K_RAND_load_file) (const char *, long) = 0L;
+-static int (*K_RAND_write_file) (const char *) = 0L;
+-static SSL_METHOD * (*K_TLSv1_client_method) () = 0L;
+-static SSL_METHOD * (*K_SSLv23_client_method) () = 0L;
+-static X509 * (*K_SSL_get_peer_certificate) (SSL *) = 0L;
+-static int (*K_SSL_CIPHER_get_bits) (SSL_CIPHER *,int *) = 0L;
+-static char * (*K_SSL_CIPHER_get_version) (SSL_CIPHER *) = 0L;
+-static const char * (*K_SSL_CIPHER_get_name) (SSL_CIPHER *) = 0L;
+-static char * (*K_SSL_CIPHER_description) (SSL_CIPHER *, char *, int) = 0L;
+-static X509 * (*K_d2i_X509) (X509 **,unsigned char **,long) = 0L;
+-static int (*K_i2d_X509) (X509 *,unsigned char **) = 0L;
+-static int (*K_X509_cmp) (X509 *, X509 *) = 0L;
+-static void (*K_X509_STORE_CTX_free) (X509_STORE_CTX *) = 0L;
+-static int (*K_X509_verify_cert) (X509_STORE_CTX *) = 0L;
+-static X509_STORE_CTX *(*K_X509_STORE_CTX_new) (void) = 0L;
+-static void (*K_X509_STORE_free) (X509_STORE *) = 0L;
+-static X509_STORE *(*K_X509_STORE_new) (void) = 0L;
+-static void (*K_X509_free) (X509 *) = 0L;
+-static char *(*K_X509_NAME_oneline) (X509_NAME *,char *,int) = 0L;
+-static X509_NAME *(*K_X509_get_subject_name) (X509 *) = 0L;
+-static X509_NAME *(*K_X509_get_issuer_name) (X509 *) = 0L;
+-static X509_LOOKUP *(*K_X509_STORE_add_lookup) (X509_STORE *, X509_LOOKUP_METHOD *) = 0L;
+-static X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file)(void) = 0L;
+-static void (*K_X509_LOOKUP_free)(X509_LOOKUP *) = 0L;
+-static int (*K_X509_LOOKUP_ctrl)(X509_LOOKUP *, int, const char *, long, char **) = 0L;
+-static void (*K_X509_STORE_CTX_init)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *) = 0L;
+-static void (*K_CRYPTO_free) (void *) = 0L;
+-static X509* (*K_X509_dup) (X509 *) = 0L;
+-static BIO_METHOD *(*K_BIO_s_mem) (void) = 0L;
+-static BIO* (*K_BIO_new) (BIO_METHOD *) = 0L;
+-static BIO* (*K_BIO_new_fp) (FILE *, int) = 0L;
+-static BIO* (*K_BIO_new_mem_buf) (void *, int) = 0L;
+-static int (*K_BIO_free) (BIO *) = 0L;
+-static long (*K_BIO_ctrl) (BIO *,int,long,void *) = 0L;
+-static int (*K_BIO_write) (BIO *b, const void *data, int len) = 0L;
+-static int (*K_PEM_ASN1_write_bio) (int (*)(),const char *,BIO *,char *,
+- const EVP_CIPHER *,unsigned char *,int ,
+- pem_password_cb *, void *) = 0L;
+-static int (*K_ASN1_item_i2d_fp)(ASN1_ITEM *,FILE *,unsigned char *) = 0L;
+-static ASN1_ITEM *K_NETSCAPE_X509_it = 0L;
+-static int (*K_X509_print_fp) (FILE *, X509*) = 0L;
+-static int (*K_i2d_PKCS12) (PKCS12*, unsigned char**) = 0L;
+-static int (*K_i2d_PKCS12_fp) (FILE *, PKCS12*) = 0L;
+-static int (*K_PKCS12_newpass) (PKCS12*, char*, char*) = 0L;
+-static PKCS12* (*K_d2i_PKCS12_fp) (FILE*, PKCS12**) = 0L;
+-static PKCS12* (*K_PKCS12_new) (void) = 0L;
+-static void (*K_PKCS12_free) (PKCS12 *) = 0L;
+-static int (*K_PKCS12_parse) (PKCS12*, const char *, EVP_PKEY**,
+- X509**, STACK_OF(X509)**) = 0L;
+-static void (*K_EVP_PKEY_free) (EVP_PKEY *) = 0L;
+-static EVP_PKEY* (*K_EVP_PKEY_new) () = 0L;
+-static void (*K_X509_REQ_free) (X509_REQ *) = 0L;
+-static X509_REQ* (*K_X509_REQ_new) () = 0L;
+-static int (*K_SSL_CTX_use_PrivateKey) (SSL_CTX*, EVP_PKEY*) = 0L;
+-static int (*K_SSL_CTX_use_certificate) (SSL_CTX*, X509*) = 0L;
+-static int (*K_SSL_get_error) (SSL*, int) = 0L;
+-static STACK_OF(X509)* (*K_SSL_get_peer_cert_chain) (SSL*) = 0L;
+-static void (*K_X509_STORE_CTX_set_chain) (X509_STORE_CTX *, STACK_OF(X509)*) = 0L;
+-static void (*K_X509_STORE_CTX_set_purpose) (X509_STORE_CTX *, int) = 0L;
+-static void (*K_sk_free) (STACK*) = 0L;
+-static int (*K_sk_num) (STACK*) = 0L;
+-static char* (*K_sk_pop) (STACK*) = 0L;
+-static char* (*K_sk_value) (STACK*, int) = 0L;
+-static STACK* (*K_sk_new) (int (*)()) = 0L;
+-static int (*K_sk_push) (STACK*, char*) = 0L;
+-static STACK* (*K_sk_dup) (STACK *) = 0L;
+-static char * (*K_i2s_ASN1_INTEGER) (X509V3_EXT_METHOD *, ASN1_INTEGER *) =0L;
+-static ASN1_INTEGER * (*K_X509_get_serialNumber) (X509 *) = 0L;
+-static EVP_PKEY *(*K_X509_get_pubkey)(X509 *) = 0L;
+-static int (*K_i2d_PublicKey)(EVP_PKEY *, unsigned char **) = 0L;
+-static int (*K_X509_check_private_key)(X509 *, EVP_PKEY *) = 0L;
+-static char * (*K_BN_bn2hex)(const BIGNUM *) = 0L;
+-static int (*K_X509_digest)(const X509 *,const EVP_MD *, unsigned char *, unsigned int *) = 0L;
+-static EVP_MD* (*K_EVP_md5)() = 0L;
+-static void (*K_ASN1_INTEGER_free)(ASN1_INTEGER *) = 0L;
+-static int (*K_OBJ_obj2nid)(ASN1_OBJECT *) = 0L;
+-static const char * (*K_OBJ_nid2ln)(int) = 0L;
+-static int (*K_X509_get_ext_count)(X509*) = 0L;
+-static int (*K_X509_get_ext_by_NID)(X509*, int, int) = 0L;
+-static int (*K_X509_get_ext_by_OBJ)(X509*,ASN1_OBJECT*,int) = 0L;
+-static X509_EXTENSION *(*K_X509_get_ext)(X509*, int loc) = 0L;
+-static X509_EXTENSION *(*K_X509_delete_ext)(X509*, int) = 0L;
+-static int (*K_X509_add_ext)(X509*, X509_EXTENSION*, int) = 0L;
+-static void *(*K_X509_get_ext_d2i)(X509*, int, int*, int*) = 0L;
+-static char *(*K_i2s_ASN1_OCTET_STRING)(X509V3_EXT_METHOD*, ASN1_OCTET_STRING*) = 0L;
+-static int (*K_ASN1_BIT_STRING_get_bit)(ASN1_BIT_STRING*, int) = 0L;
+-static PKCS7 *(*K_PKCS7_new)() = 0L;
+-static void (*K_PKCS7_free)(PKCS7*) = 0L;
+-static void (*K_PKCS7_content_free)(PKCS7*) = 0L;
+-static int (*K_i2d_PKCS7)(PKCS7*, unsigned char**) = 0L;
+-static PKCS7 *(*K_d2i_PKCS7)(PKCS7**, unsigned char**,long) = 0L;
+-static int (*K_i2d_PKCS7_fp)(FILE*,PKCS7*) = 0L;
+-static PKCS7* (*K_d2i_PKCS7_fp)(FILE*,PKCS7**) = 0L;
+-static int (*K_i2d_PKCS7_bio)(BIO *bp,PKCS7 *p7) = 0L;
+-static PKCS7 *(*K_d2i_PKCS7_bio)(BIO *bp,PKCS7 **p7) = 0L;
+-static PKCS7* (*K_PKCS7_dup)(PKCS7*) = 0L;
+-static STACK_OF(X509_NAME) *(*K_SSL_load_client_CA_file)(const char*) = 0L;
+-static STACK_OF(X509_INFO) *(*K_PEM_X509_INFO_read)(FILE*, STACK_OF(X509_INFO)*, pem_password_cb*, void*) = 0L;
+-static char *(*K_ASN1_d2i_fp)(char *(*)(),char *(*)(),FILE*,unsigned char**) = 0L;
+-static X509 *(*K_X509_new)() = 0L;
+-static int (*K_X509_PURPOSE_get_count)() = 0L;
+-static int (*K_X509_PURPOSE_get_id)(X509_PURPOSE *) = 0L;
+-static int (*K_X509_check_purpose)(X509*,int,int) = 0L;
+-static X509_PURPOSE* (*K_X509_PURPOSE_get0)(int) = 0L;
+-static int (*K_EVP_PKEY_assign)(EVP_PKEY*, int, char*) = 0L;
+-static int (*K_X509_REQ_set_pubkey)(X509_REQ*, EVP_PKEY*) = 0L;
+-static RSA *(*K_RSA_generate_key)(int, unsigned long, void (*)(int,int,void *), void *) = 0L;
+-static int (*K_i2d_X509_REQ_fp)(FILE*, X509_REQ*) = 0L;
+-static void (*K_ERR_clear_error)() = 0L;
+-static unsigned long (*K_ERR_get_error)() = 0L;
+-static void (*K_ERR_print_errors_fp)(FILE*) = 0L;
+-static PKCS7 *(*K_PKCS7_sign)(X509*, EVP_PKEY*, STACK_OF(X509)*, BIO*, int) = 0L;
+-static int (*K_PKCS7_verify)(PKCS7*,STACK_OF(X509)*,X509_STORE*,BIO*,BIO*,int) = 0L;
+-static STACK_OF(X509) *(*K_PKCS7_get0_signers)(PKCS7 *, STACK_OF(X509) *, int) = 0L;
+-static PKCS7 *(*K_PKCS7_encrypt)(STACK_OF(X509) *, BIO *, EVP_CIPHER *, int) = 0L;
+-static int (*K_PKCS7_decrypt)(PKCS7 *, EVP_PKEY *, X509 *, BIO *, int) = 0L;
+-static SSL_SESSION* (*K_SSL_get1_session)(SSL*) = 0L;
+-static void (*K_SSL_SESSION_free)(SSL_SESSION*) = 0L;
+-static int (*K_SSL_set_session)(SSL*,SSL_SESSION*) = 0L;
+-static SSL_SESSION* (*K_d2i_SSL_SESSION)(SSL_SESSION**,unsigned char**, long) = 0L;
+-static int (*K_i2d_SSL_SESSION)(SSL_SESSION*,unsigned char**) = 0L;
+-static STACK *(*K_X509_get1_email)(X509 *x) = 0L;
+-static void (*K_X509_email_free)(STACK *sk) = 0L;
+-static EVP_CIPHER *(*K_EVP_des_ede3_cbc)() = 0L;
+-static EVP_CIPHER *(*K_EVP_des_cbc)() = 0L;
+-static EVP_CIPHER *(*K_EVP_rc2_cbc)() = 0L;
+-static EVP_CIPHER *(*K_EVP_rc2_64_cbc)() = 0L;
+-static EVP_CIPHER *(*K_EVP_rc2_40_cbc)() = 0L;
+-static int (*K_i2d_PrivateKey_fp)(FILE*,EVP_PKEY*) = 0L;
+-static int (*K_i2d_PKCS8PrivateKey_fp)(FILE*, EVP_PKEY*, const EVP_CIPHER*, char*, int, pem_password_cb*, void*) = 0L;
+-static void (*K_RSA_free)(RSA*) = 0L;
+-static EVP_CIPHER *(*K_EVP_bf_cbc)() = 0L;
+-static int (*K_X509_REQ_sign)(X509_REQ*, EVP_PKEY*, const EVP_MD*) = 0L;
+-static int (*K_X509_NAME_add_entry_by_txt)(X509_NAME*, char*, int, unsigned char*, int, int, int) = 0L;
+-static X509_NAME *(*K_X509_NAME_new)() = 0L;
+-static int (*K_X509_REQ_set_subject_name)(X509_REQ*,X509_NAME*) = 0L;
+-static unsigned char *(*K_ASN1_STRING_data)(ASN1_STRING*) = 0L;
+-static int (*K_ASN1_STRING_length)(ASN1_STRING*) = 0L;
+-static STACK_OF(SSL_CIPHER) *(*K_SSL_get_ciphers)(const SSL *ssl) = 0L;
+-
+-#endif
+-}
+-
+-
+ class KOpenSSLProxyPrivate
+ {
+ public:
+- KOpenSSLProxyPrivate()
+- : sslLib(0), cryptoLib(0), ok(false)
+- {}
+-
+- KLibrary *sslLib;
+- KLibrary *cryptoLib;
+- bool ok;
+-
+- static KOpenSSLProxy *sSelf;
+- static void cleanupKOpenSSLProxy() {
+- delete KOpenSSLProxyPrivate::sSelf;
+- }
++ KOpenSSLProxyPrivate()
++ : ok(true)
++ {}
++
++ bool ok;
++
++ static KOpenSSLProxy *sSelf;
++ static void cleanupKOpenSSLProxy()
++ {
++ delete KOpenSSLProxyPrivate::sSelf;
++ }
+ };
+ KOpenSSLProxy *KOpenSSLProxyPrivate::sSelf = 0;
+
+-bool KOpenSSLProxy::hasLibSSL() const {
+- return d->sslLib != 0L;
++bool KOpenSSLProxy::hasLibSSL() const
++{
++ return true;
+ }
+
+-
+-bool KOpenSSLProxy::hasLibCrypto() const {
+- return d->cryptoLib != 0L;
++bool KOpenSSLProxy::hasLibCrypto() const
++{
++ return true;
+ }
+
+-
+-void KOpenSSLProxy::destroy() {
+- KOpenSSLProxy *x = KOpenSSLProxyPrivate::sSelf;
+- KOpenSSLProxyPrivate::sSelf = 0;
+- delete x;
++void KOpenSSLProxy::destroy()
++{
++ KOpenSSLProxy *x = KOpenSSLProxyPrivate::sSelf;
++ KOpenSSLProxyPrivate::sSelf = 0;
++ delete x;
+ }
+
+ #ifdef __OpenBSD__
+@@ -244,1347 +73,842 @@ void KOpenSSLProxy::destroy() {
+
+ static QString findMostRecentLib(QString dir, QString name)
+ {
+- // Grab all shared libraries in the directory
+- QString filter = "lib"+name+".so.*";
+- QDir d(dir, filter);
+- if (!d.exists())
+- return 0L;
+- QStringList l = d.entryList();
+-
+- // Find the best one
+- int bestmaj = -1;
+- int bestmin = -1;
+- QString best = 0L;
+- // where do we start
+- uint s = filter.length()-1;
+- for (QStringList::const_iterator it = l.begin(); it != l.end(); ++it) {
+- QString numberpart = (*it).mid(s);
+- uint endmaj = numberpart.indexOf('.');
+- if (endmaj == -1)
+- continue;
+- bool ok;
+- int maj = numberpart.left(endmaj).toInt(&ok);
+- if (!ok)
+- continue;
+- int min = numberpart.mid(endmaj+1).toInt(&ok);
+- if (!ok)
+- continue;
+- if (maj > bestmaj || (maj == bestmaj && min > bestmin)) {
+- bestmaj = maj;
+- bestmin = min;
+- best = (*it);
+- }
+- }
+- if (best.isNull())
+- return 0L;
+- else
+- return dir+'/'+best;
++ // Grab all shared libraries in the directory
++ QString filter = "lib" + name + ".so.*";
++ QDir d(dir, filter);
++ if (!d.exists()) {
++ return 0L;
++ }
++ QStringList l = d.entryList();
++
++ // Find the best one
++ int bestmaj = -1;
++ int bestmin = -1;
++ QString best = 0L;
++ // where do we start
++ uint s = filter.length() - 1;
++ for (QStringList::const_iterator it = l.begin(); it != l.end(); ++it) {
++ QString numberpart = (*it).mid(s);
++ uint endmaj = numberpart.indexOf('.');
++ if (endmaj == -1) {
++ continue;
++ }
++ bool ok;
++ int maj = numberpart.left(endmaj).toInt(&ok);
++ if (!ok) {
++ continue;
++ }
++ int min = numberpart.mid(endmaj + 1).toInt(&ok);
++ if (!ok) {
++ continue;
++ }
++ if (maj > bestmaj || (maj == bestmaj && min > bestmin)) {
++ bestmaj = maj;
++ bestmin = min;
++ best = (*it);
++ }
++ }
++ if (best.isNull()) {
++ return 0L;
++ } else {
++ return dir + '/' + best;
++ }
+ }
+ #endif
+
+ KOpenSSLProxy::KOpenSSLProxy()
+ : d(new KOpenSSLProxyPrivate())
+ {
+- QStringList libpaths, libnamesc, libnamess;
+-
+- d->cryptoLib = 0L;
+- d->sslLib = 0L;
+-
+- KConfig cfg("cryptodefaults", KConfig::NoGlobals );
+- KConfigGroup cg(&cfg, "OpenSSL");
+- QString upath = cg.readPathEntry("Path", QString());
+- if (!upath.isEmpty())
+- libpaths << upath;
+-
+-#ifdef Q_OS_WIN
+- d->cryptoLib = new KLibrary("libeay32.dll");
+- if (!d->cryptoLib->load()) {
+- delete d->cryptoLib;
+- d->cryptoLib = 0;
+- }
+-#elif defined(__OpenBSD__)
+- {
+- QString libname = findMostRecentLib("/usr/lib" KDELIBSUFF, "crypto");
+- if (!libname.isNull()) {
+- d->cryptoLib = new KLibrary(libname);
+- d->cryptoLib->setLoadHints(QLibrary::ExportExternalSymbolsHint);
+- if (!d->cryptoLib->load()) {
+- delete d->cryptoLib;
+- d->cryptoLib = 0;
+- }
+- }
+- }
+-#elif defined(__CYGWIN__)
+- libpaths << "/usr/bin/"
+- << "";
+-
+- libnamess << "cygssl-0.9.8.dll"
+- << "cygssl-0.9.7.dll"
+- << "";
+-
+- libnamesc << "cygcrypto-0.9.8.dll"
+- << "cygcrypto-0.9.7.dll"
+- << "";
+-#else
+- libpaths
+- #ifdef _AIX
+- << "/opt/freeware/lib/"
+- #endif
+- << "/usr/lib" KDELIBSUFF "/"
+- << "/usr/ssl/lib" KDELIBSUFF "/"
+- << "/usr/local/lib" KDELIBSUFF "/"
+- << "/usr/local/openssl/lib" KDELIBSUFF "/"
+- << "/usr/local/ssl/lib" KDELIBSUFF "/"
+- << "/opt/openssl/lib" KDELIBSUFF "/"
+- << "/lib" KDELIBSUFF "/"
+- << "";
+-
+-// FIXME: #define here for the various OS types to optimize
+- libnamess
+- #ifdef hpux
+- << "libssl.sl"
+- #elif defined(_AIX)
+- << "libssl.a(libssl.so.0)"
+- #elif defined(__APPLE__)
+- << "libssl.dylib"
+- << "libssl.0.9.dylib"
+- #else
+- #ifdef SHLIB_VERSION_NUMBER
+- << "libssl.so." SHLIB_VERSION_NUMBER
+- #endif
+- << "libssl.so"
+- << "libssl.so.0"
+- #endif
+- ;
+-
+- libnamesc
+- #ifdef hpux
+- << "libcrypto.sl"
+- #elif defined(_AIX)
+- << "libcrypto.a(libcrypto.so.0)"
+- #elif defined(__APPLE__)
+- << "libcrypto.dylib"
+- << "libcrypto.0.9.dylib"
+- #else
+- #ifdef SHLIB_VERSION_NUMBER
+- << "libcrypto.so." SHLIB_VERSION_NUMBER
+- #endif
+- << "libcrypto.so"
+- << "libcrypto.so.0"
+- #endif
+- ;
+-#endif
+-
+- for (QStringList::const_iterator it = libpaths.constBegin();
+- it != libpaths.constEnd();
+- ++it) {
+- for (QStringList::const_iterator shit = libnamesc.constBegin();
+- shit != libnamesc.constEnd();
+- ++shit) {
+- QString alib = *it;
+- if (!alib.isEmpty() && !alib.endsWith('/'))
+- alib += '/';
+- alib += *shit;
+- // someone knows why this is needed?
+- QString tmpStr(alib.toLatin1().constData());
+- tmpStr.remove(QRegExp("\\(.*\\)"));
+- if (!access(tmpStr.toLatin1(), R_OK)) {
+- d->cryptoLib = new KLibrary(alib);
+- d->cryptoLib->setLoadHints(QLibrary::ExportExternalSymbolsHint);
+- }
+- if (d->cryptoLib && d->cryptoLib->load()) {
+- break;
+- }
+- else {
+- delete d->cryptoLib;
+- d->cryptoLib = 0;
+- }
+- }
+- if (d->cryptoLib) break;
+- }
+-
+- if (d->cryptoLib) {
+-#ifdef KSSL_HAVE_SSL
+- K_X509_free = (void (*) (X509 *)) d->cryptoLib->resolveFunction("X509_free");
+- K_RAND_egd = (int (*)(const char *)) d->cryptoLib->resolveFunction("RAND_egd");
+- K_RAND_load_file = (int (*)(const char *, long)) d->cryptoLib->resolveFunction("RAND_load_file");
+- K_RAND_file_name = (const char* (*)(char *, size_t)) d->cryptoLib->resolveFunction("RAND_file_name");
+- K_RAND_write_file = (int (*)(const char *)) d->cryptoLib->resolveFunction("RAND_write_file");
+- K_CRYPTO_free = (void (*) (void *)) d->cryptoLib->resolveFunction("CRYPTO_free");
+- K_d2i_X509 = (X509 * (*)(X509 **,unsigned char **,long)) d->cryptoLib->resolveFunction("d2i_X509");
+- K_i2d_X509 = (int (*)(X509 *,unsigned char **)) d->cryptoLib->resolveFunction("i2d_X509");
+- K_X509_cmp = (int (*)(X509 *, X509 *)) d->cryptoLib->resolveFunction("X509_cmp");
+- K_X509_STORE_CTX_new = (X509_STORE_CTX * (*) (void)) d->cryptoLib->resolveFunction("X509_STORE_CTX_new");
+- K_X509_STORE_CTX_free = (void (*) (X509_STORE_CTX *)) d->cryptoLib->resolveFunction("X509_STORE_CTX_free");
+- K_X509_verify_cert = (int (*) (X509_STORE_CTX *)) d->cryptoLib->resolveFunction("X509_verify_cert");
+- K_X509_STORE_new = (X509_STORE * (*) (void)) d->cryptoLib->resolveFunction("X509_STORE_new");
+- K_X509_STORE_free = (void (*) (X509_STORE *)) d->cryptoLib->resolveFunction("X509_STORE_free");
+- K_X509_NAME_oneline = (char * (*) (X509_NAME *,char *,int)) d->cryptoLib->resolveFunction("X509_NAME_oneline");
+- K_X509_get_subject_name = (X509_NAME * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_subject_name");
+- K_X509_get_issuer_name = (X509_NAME * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_issuer_name");
+- K_X509_STORE_add_lookup = (X509_LOOKUP *(*) (X509_STORE *, X509_LOOKUP_METHOD *)) d->cryptoLib->resolveFunction("X509_STORE_add_lookup");
+- K_X509_LOOKUP_file = (X509_LOOKUP_METHOD *(*)(void)) d->cryptoLib->resolveFunction("X509_LOOKUP_file");
+- K_X509_LOOKUP_free = (void (*)(X509_LOOKUP *)) d->cryptoLib->resolveFunction("X509_LOOKUP_free");
+- K_X509_LOOKUP_ctrl = (int (*)(X509_LOOKUP *, int, const char *, long, char **)) d->cryptoLib->resolveFunction("X509_LOOKUP_ctrl");
+- K_X509_STORE_CTX_init = (void (*)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *)) d->cryptoLib->resolveFunction("X509_STORE_CTX_init");
+- K_X509_dup = (X509* (*)(X509*)) d->cryptoLib->resolveFunction("X509_dup");
+- K_BIO_s_mem = (BIO_METHOD *(*) (void)) d->cryptoLib->resolveFunction("BIO_s_mem");
+- K_BIO_new = (BIO* (*)(BIO_METHOD *)) d->cryptoLib->resolveFunction("BIO_new");
+- K_BIO_new_fp = (BIO* (*)(FILE*, int)) d->cryptoLib->resolveFunction("BIO_new_fp");
+- K_BIO_new_mem_buf = (BIO* (*)(void *, int)) d->cryptoLib->resolveFunction("BIO_new_mem_buf");
+- K_BIO_free = (int (*)(BIO*)) d->cryptoLib->resolveFunction("BIO_free");
+- K_BIO_ctrl = (long (*) (BIO *,int,long,void *)) d->cryptoLib->resolveFunction("BIO_ctrl");
+- K_BIO_write = (int (*) (BIO *b, const void *data, int len)) d->cryptoLib->resolveFunction("BIO_write");
+- K_PEM_ASN1_write_bio = (int (*)(int (*)(), const char *,BIO*, char*, const EVP_CIPHER *, unsigned char *, int, pem_password_cb *, void *)) d->cryptoLib->resolveFunction("PEM_ASN1_write_bio");
+- K_ASN1_item_i2d_fp = (int (*)(ASN1_ITEM *, FILE*, unsigned char *))
+- d->cryptoLib->resolveFunction("ASN1_item_i2d_fp");
+- K_NETSCAPE_X509_it = (ASN1_ITEM *) d->cryptoLib->resolveFunction("NETSCAPE_X509_it");
+- K_X509_print_fp = (int (*)(FILE*, X509*)) d->cryptoLib->resolveFunction("X509_print_fp");
+- K_i2d_PKCS12 = (int (*)(PKCS12*, unsigned char**)) d->cryptoLib->resolveFunction("i2d_PKCS12");
+- K_i2d_PKCS12_fp = (int (*)(FILE *, PKCS12*)) d->cryptoLib->resolveFunction("i2d_PKCS12_fp");
+- K_PKCS12_newpass = (int (*)(PKCS12*, char*, char*)) d->cryptoLib->resolveFunction("PKCS12_newpass");
+- K_d2i_PKCS12_fp = (PKCS12* (*)(FILE*, PKCS12**)) d->cryptoLib->resolveFunction("d2i_PKCS12_fp");
+- K_PKCS12_new = (PKCS12* (*)()) d->cryptoLib->resolveFunction("PKCS12_new");
+- K_PKCS12_free = (void (*)(PKCS12 *)) d->cryptoLib->resolveFunction("PKCS12_free");
+- K_PKCS12_parse = (int (*)(PKCS12*, const char *, EVP_PKEY**,
+- X509**, STACK_OF(X509)**)) d->cryptoLib->resolveFunction("PKCS12_parse");
+- K_EVP_PKEY_free = (void (*) (EVP_PKEY *)) d->cryptoLib->resolveFunction("EVP_PKEY_free");
+- K_EVP_PKEY_new = (EVP_PKEY* (*)()) d->cryptoLib->resolveFunction("EVP_PKEY_new");
+- K_X509_REQ_free = (void (*)(X509_REQ*)) d->cryptoLib->resolveFunction("X509_REQ_free");
+- K_X509_REQ_new = (X509_REQ* (*)()) d->cryptoLib->resolveFunction("X509_REQ_new");
+- K_X509_STORE_CTX_set_chain = (void (*)(X509_STORE_CTX *, STACK_OF(X509)*)) d->cryptoLib->resolveFunction("X509_STORE_CTX_set_chain");
+- K_X509_STORE_CTX_set_purpose = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolveFunction("X509_STORE_CTX_set_purpose");
+- K_sk_free = (void (*) (STACK *)) d->cryptoLib->resolveFunction("sk_free");
+- K_sk_num = (int (*) (STACK *)) d->cryptoLib->resolveFunction("sk_num");
+- K_sk_pop = (char* (*) (STACK *)) d->cryptoLib->resolveFunction("sk_pop");
+- K_sk_value = (char* (*) (STACK *, int)) d->cryptoLib->resolveFunction("sk_value");
+- K_sk_new = (STACK* (*) (int (*)())) d->cryptoLib->resolveFunction("sk_new");
+- K_sk_push = (int (*) (STACK*, char*)) d->cryptoLib->resolveFunction("sk_push");
+- K_sk_dup = (STACK* (*) (STACK *)) d->cryptoLib->resolveFunction("sk_dup");
+- K_i2s_ASN1_INTEGER = (char *(*) (X509V3_EXT_METHOD *, ASN1_INTEGER *)) d->cryptoLib->resolveFunction("i2s_ASN1_INTEGER");
+- K_X509_get_serialNumber = (ASN1_INTEGER * (*) (X509 *)) d->cryptoLib->resolveFunction("X509_get_serialNumber");
+- K_X509_get_pubkey = (EVP_PKEY *(*)(X509 *)) d->cryptoLib->resolveFunction("X509_get_pubkey");
+- K_i2d_PublicKey = (int (*)(EVP_PKEY *, unsigned char **)) d->cryptoLib->resolveFunction("i2d_PublicKey");
+- K_X509_check_private_key = (int (*)(X509 *, EVP_PKEY *)) d->cryptoLib->resolveFunction("X509_check_private_key");
+- K_BN_bn2hex = (char *(*)(const BIGNUM *)) d->cryptoLib->resolveFunction("BN_bn2hex");
+- K_X509_digest = (int (*)(const X509 *,const EVP_MD *, unsigned char *, unsigned int *)) d->cryptoLib->resolveFunction("X509_digest");
+- K_EVP_md5 = (EVP_MD *(*)()) d->cryptoLib->resolveFunction("EVP_md5");
+- K_ASN1_INTEGER_free = (void (*)(ASN1_INTEGER *)) d->cryptoLib->resolveFunction("ASN1_INTEGER_free");
+- K_OBJ_obj2nid = (int (*)(ASN1_OBJECT *)) d->cryptoLib->resolveFunction("OBJ_obj2nid");
+- K_OBJ_nid2ln = (const char *(*)(int)) d->cryptoLib->resolveFunction("OBJ_nid2ln");
+- K_X509_get_ext_count = (int (*)(X509*)) d->cryptoLib->resolveFunction("X509_get_ext_count");
+- K_X509_get_ext_by_NID = (int (*)(X509*,int,int)) d->cryptoLib->resolveFunction("X509_get_ext_by_NID");
+- K_X509_get_ext_by_OBJ = (int (*)(X509*,ASN1_OBJECT*,int)) d->cryptoLib->resolveFunction("X509_get_ext_by_OBJ");
+- K_X509_get_ext = (X509_EXTENSION* (*)(X509*,int)) d->cryptoLib->resolveFunction("X509_get_ext");
+- K_X509_delete_ext = (X509_EXTENSION* (*)(X509*,int)) d->cryptoLib->resolveFunction("X509_delete_ext");
+- K_X509_add_ext = (int (*)(X509*,X509_EXTENSION*,int)) d->cryptoLib->resolveFunction("X509_add_ext");
+- K_X509_get_ext_d2i = (void* (*)(X509*,int,int*,int*)) d->cryptoLib->resolveFunction("X509_get_ext_d2i");
+- K_i2s_ASN1_OCTET_STRING = (char *(*)(X509V3_EXT_METHOD*,ASN1_OCTET_STRING*)) d->cryptoLib->resolveFunction("i2s_ASN1_OCTET_STRING");
+- K_ASN1_BIT_STRING_get_bit = (int (*)(ASN1_BIT_STRING*,int)) d->cryptoLib->resolveFunction("ASN1_BIT_STRING_get_bit");
+- K_PKCS7_new = (PKCS7 *(*)()) d->cryptoLib->resolveFunction("PKCS7_new");
+- K_PKCS7_free = (void (*)(PKCS7*)) d->cryptoLib->resolveFunction("PKCS7_free");
+- K_PKCS7_content_free = (void (*)(PKCS7*)) d->cryptoLib->resolveFunction("PKCS7_content_free");
+- K_i2d_PKCS7 = (int (*)(PKCS7*, unsigned char**)) d->cryptoLib->resolveFunction("i2d_PKCS7");
+- K_i2d_PKCS7_fp = (int (*)(FILE*,PKCS7*)) d->cryptoLib->resolveFunction("i2d_PKCS7_fp");
+- K_i2d_PKCS7_bio = (int (*)(BIO *bp,PKCS7 *p7)) d->cryptoLib->resolveFunction("i2d_PKCS7_bio");
+- K_d2i_PKCS7 = (PKCS7* (*)(PKCS7**,unsigned char**,long)) d->cryptoLib->resolveFunction("d2i_PKCS7");
+- K_d2i_PKCS7_fp = (PKCS7 *(*)(FILE *,PKCS7**)) d->cryptoLib->resolveFunction("d2i_PKCS7_fp");
+- K_d2i_PKCS7_bio = (PKCS7 *(*)(BIO *bp,PKCS7 **p7)) d->cryptoLib->resolveFunction("d2i_PKCS7_bio");
+- K_PKCS7_dup = (PKCS7* (*)(PKCS7*)) d->cryptoLib->resolveFunction("PKCS7_dup");
+- K_PKCS7_sign = (PKCS7 *(*)(X509*, EVP_PKEY*, STACK_OF(X509)*, BIO*, int)) d->cryptoLib->resolveFunction("PKCS7_sign");
+- K_PKCS7_verify = (int (*)(PKCS7*,STACK_OF(X509)*,X509_STORE*,BIO*,BIO*,int)) d->cryptoLib->resolveFunction("PKCS7_verify");
+- K_PKCS7_get0_signers = (STACK_OF(X509) *(*)(PKCS7 *, STACK_OF(X509) *, int)) d->cryptoLib->resolveFunction("PKCS7_get0_signers");
+- K_PKCS7_encrypt = (PKCS7* (*)(STACK_OF(X509) *, BIO *, EVP_CIPHER *, int)) d->cryptoLib->resolveFunction("PKCS7_encrypt");
+- K_PKCS7_decrypt = (int (*)(PKCS7 *, EVP_PKEY *, X509 *, BIO *, int)) d->cryptoLib->resolveFunction("PKCS7_decrypt");
+- K_PEM_X509_INFO_read = (STACK_OF(X509_INFO) *(*)(FILE*, STACK_OF(X509_INFO)*, pem_password_cb*, void *)) d->cryptoLib->resolveFunction("PEM_X509_INFO_read");
+- K_ASN1_d2i_fp = (char *(*)(char *(*)(),char *(*)(),FILE*,unsigned char**)) d->cryptoLib->resolveFunction("ASN1_d2i_fp");
+- K_X509_new = (X509 *(*)()) d->cryptoLib->resolveFunction("X509_new");
+- K_X509_PURPOSE_get_count = (int (*)()) d->cryptoLib->resolveFunction("X509_PURPOSE_get_count");
+- K_X509_PURPOSE_get_id = (int (*)(X509_PURPOSE *)) d->cryptoLib->resolveFunction("X509_PURPOSE_get_id");
+- K_X509_check_purpose = (int (*)(X509*,int,int)) d->cryptoLib->resolveFunction("X509_check_purpose");
+- K_X509_PURPOSE_get0 = (X509_PURPOSE *(*)(int)) d->cryptoLib->resolveFunction("X509_PURPOSE_get0");
+- K_EVP_PKEY_assign = (int (*)(EVP_PKEY*, int, char*)) d->cryptoLib->resolveFunction("EVP_PKEY_assign");
+- K_X509_REQ_set_pubkey = (int (*)(X509_REQ*, EVP_PKEY*)) d->cryptoLib->resolveFunction("X509_REQ_set_pubkey");
+- K_RSA_generate_key = (RSA* (*)(int, unsigned long, void (*)(int,int,void *), void *)) d->cryptoLib->resolveFunction("RSA_generate_key");
+- K_i2d_X509_REQ_fp = (int (*)(FILE *, X509_REQ *)) d->cryptoLib->resolveFunction("i2d_X509_REQ_fp");
+- K_ERR_clear_error = (void (*)()) d->cryptoLib->resolveFunction("ERR_clear_error");
+- K_ERR_get_error = (unsigned long (*)()) d->cryptoLib->resolveFunction("ERR_get_error");
+- K_ERR_print_errors_fp = (void (*)(FILE*)) d->cryptoLib->resolveFunction("ERR_print_errors_fp");
+- K_X509_get1_email = (STACK *(*)(X509 *x)) d->cryptoLib->resolveFunction("X509_get1_email");
+- K_X509_email_free = (void (*)(STACK *sk)) d->cryptoLib->resolveFunction("X509_email_free");
+- K_EVP_des_ede3_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_des_ede3_cbc");
+- K_EVP_des_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_des_cbc");
+- K_EVP_rc2_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_rc2_cbc");
+- K_EVP_rc2_64_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_rc2_64_cbc");
+- K_EVP_rc2_40_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_rc2_40_cbc");
+- K_i2d_PrivateKey_fp = (int (*)(FILE*,EVP_PKEY*)) d->cryptoLib->resolveFunction("i2d_PrivateKey_fp");
+- K_i2d_PKCS8PrivateKey_fp = (int (*)(FILE*, EVP_PKEY*, const EVP_CIPHER*, char*, int, pem_password_cb*, void*)) d->cryptoLib->resolveFunction("i2d_PKCS8PrivateKey_fp");
+- K_RSA_free = (void (*)(RSA*)) d->cryptoLib->resolveFunction("RSA_free");
+- K_EVP_bf_cbc = (EVP_CIPHER *(*)()) d->cryptoLib->resolveFunction("EVP_bf_cbc");
+- K_X509_REQ_sign = (int (*)(X509_REQ*, EVP_PKEY*, const EVP_MD*)) d->cryptoLib->resolveFunction("X509_REQ_sign");
+- K_X509_NAME_add_entry_by_txt = (int (*)(X509_NAME*, char*, int, unsigned char*, int, int, int)) d->cryptoLib->resolveFunction("X509_NAME_add_entry_by_txt");
+- K_X509_NAME_new = (X509_NAME *(*)()) d->cryptoLib->resolveFunction("X509_NAME_new");
+- K_X509_REQ_set_subject_name = (int (*)(X509_REQ*,X509_NAME*)) d->cryptoLib->resolveFunction("X509_REQ_set_subject_name");
+- K_ASN1_STRING_data = (unsigned char *(*)(ASN1_STRING*)) d->cryptoLib->resolveFunction("ASN1_STRING_data");
+- K_ASN1_STRING_length = (int (*)(ASN1_STRING*)) d->cryptoLib->resolveFunction("ASN1_STRING_length");
+-#endif
+- }
+-
+-#ifdef Q_OS_WIN
+- d->sslLib = new KLibrary("ssleay32.dll");
+- if (!d->sslLib->load()) {
+- delete d->sslLib;
+- d->sslLib = 0;
+- }
+-#elif defined(__OpenBSD__)
+- {
+- QString libname = findMostRecentLib("/usr/lib", "ssl");
+- if (!libname.isNull()) {
+- d->sslLib = new KLibrary(libname);
+- d->sslLib->setLoadHints(QLibrary::ExportExternalSymbolsHint);
+- if (!d->sslLib->load()) {
+- delete d->sslLib;
+- d->sslLib = 0;
+- }
+- }
+- }
+-#else
+- for (QStringList::const_iterator it = libpaths.constBegin();
+- it != libpaths.constEnd();
+- ++it) {
+- for (QStringList::const_iterator shit = libnamess.constBegin();
+- shit != libnamess.constEnd();
+- ++shit) {
+- QString alib = *it;
+- if (!alib.isEmpty() && !alib.endsWith('/'))
+- alib += '/';
+- alib += *shit;
+- QString tmpStr(alib.toLatin1());
+- tmpStr.remove(QRegExp("\\(.*\\)"));
+- if (!access(tmpStr.toLatin1(), R_OK)) {
+- d->sslLib = new KLibrary(alib);
+- d->sslLib->setLoadHints(QLibrary::ExportExternalSymbolsHint);
+- }
+- if (d->sslLib && d->sslLib->load()) {
+- break;
+- }
+- else {
+- delete d->sslLib;
+- d->sslLib = 0;
+- }
+- }
+- if (d->sslLib) break;
+- }
+-#endif
+-
+- if (d->sslLib) {
+-#ifdef KSSL_HAVE_SSL
+- // stand back from your monitor and look at this. it's fun! :)
+- K_SSL_connect = (int (*)(SSL *)) d->sslLib->resolveFunction("SSL_connect");
+- K_SSL_accept = (int (*)(SSL *)) d->sslLib->resolveFunction("SSL_accept");
+- K_SSL_read = (int (*)(SSL *, void *, int)) d->sslLib->resolveFunction("SSL_read");
+- K_SSL_write = (int (*)(SSL *, const void *, int))
+- d->sslLib->resolveFunction("SSL_write");
+- K_SSL_new = (SSL* (*)(SSL_CTX *)) d->sslLib->resolveFunction("SSL_new");
+- K_SSL_free = (void (*)(SSL *)) d->sslLib->resolveFunction("SSL_free");
+- K_SSL_shutdown = (int (*)(SSL *)) d->sslLib->resolveFunction("SSL_shutdown");
+- K_SSL_CTX_new = (SSL_CTX* (*)(SSL_METHOD*)) d->sslLib->resolveFunction("SSL_CTX_new");
+- K_SSL_CTX_free = (void (*)(SSL_CTX*)) d->sslLib->resolveFunction("SSL_CTX_free");
+- K_SSL_set_fd = (int (*)(SSL *, int)) d->sslLib->resolveFunction("SSL_set_fd");
+- K_SSL_pending = (int (*)(SSL *)) d->sslLib->resolveFunction("SSL_pending");
+- K_SSL_CTX_set_cipher_list = (int (*)(SSL_CTX *, const char *))
+- d->sslLib->resolveFunction("SSL_CTX_set_cipher_list");
+- K_SSL_CTX_set_verify = (void (*)(SSL_CTX*, int, int (*)(int, X509_STORE_CTX*))) d->sslLib->resolveFunction("SSL_CTX_set_verify");
+- K_SSL_use_certificate = (int (*)(SSL*, X509*))
+- d->sslLib->resolveFunction("SSL_CTX_use_certificate");
+- K_SSL_get_current_cipher = (SSL_CIPHER *(*)(SSL *))
+- d->sslLib->resolveFunction("SSL_get_current_cipher");
+- K_SSL_ctrl = (long (*)(SSL * ,int, long, char *))
+- d->sslLib->resolveFunction("SSL_ctrl");
+- K_TLSv1_client_method = (SSL_METHOD *(*)()) d->sslLib->resolveFunction("TLSv1_client_method");
+- K_SSLv23_client_method = (SSL_METHOD *(*)()) d->sslLib->resolveFunction("SSLv23_client_method");
+- K_SSL_get_peer_certificate = (X509 *(*)(SSL *)) d->sslLib->resolveFunction("SSL_get_peer_certificate");
+- K_SSL_CIPHER_get_bits = (int (*)(SSL_CIPHER *,int *)) d->sslLib->resolveFunction("SSL_CIPHER_get_bits");
+- K_SSL_CIPHER_get_version = (char * (*)(SSL_CIPHER *)) d->sslLib->resolveFunction("SSL_CIPHER_get_version");
+- K_SSL_CIPHER_get_name = (const char * (*)(SSL_CIPHER *)) d->sslLib->resolveFunction("SSL_CIPHER_get_name");
+- K_SSL_CIPHER_description = (char * (*)(SSL_CIPHER *, char *, int)) d->sslLib->resolveFunction("SSL_CIPHER_description");
+- K_SSL_CTX_use_PrivateKey = (int (*)(SSL_CTX*, EVP_PKEY*)) d->sslLib->resolveFunction("SSL_CTX_use_PrivateKey");
+- K_SSL_CTX_use_certificate = (int (*)(SSL_CTX*, X509*)) d->sslLib->resolveFunction("SSL_CTX_use_certificate");
+- K_SSL_get_error = (int (*)(SSL*, int)) d->sslLib->resolveFunction("SSL_get_error");
+- K_SSL_get_peer_cert_chain = (STACK_OF(X509)* (*)(SSL*)) d->sslLib->resolveFunction("SSL_get_peer_cert_chain");
+- K_SSL_load_client_CA_file = (STACK_OF(X509_NAME)* (*)(const char *)) d->sslLib->resolveFunction("SSL_load_client_CA_file");
+- K_SSL_peek = (int (*)(SSL*,void*,int)) d->sslLib->resolveFunction("SSL_peek");
+- K_SSL_get1_session = (SSL_SESSION* (*)(SSL*)) d->sslLib->resolveFunction("SSL_get1_session");
+- K_SSL_SESSION_free = (void (*)(SSL_SESSION*)) d->sslLib->resolveFunction("SSL_SESSION_free");
+- K_SSL_set_session = (int (*)(SSL*,SSL_SESSION*)) d->sslLib->resolveFunction("SSL_set_session");
+- K_d2i_SSL_SESSION = (SSL_SESSION* (*)(SSL_SESSION**,unsigned char**, long)) d->sslLib->resolveFunction("d2i_SSL_SESSION");
+- K_i2d_SSL_SESSION = (int (*)(SSL_SESSION*,unsigned char**)) d->sslLib->resolveFunction("i2d_SSL_SESSION");
+- K_SSL_get_ciphers = (STACK_OF(SSL_CIPHER) *(*)(const SSL*)) d->sslLib->resolveFunction("SSL_get_ciphers");
+-#endif
+-
+-
+- // Initialize the library (once only!)
+- KLibrary::void_function_ptr x;
+- x = d->sslLib->resolveFunction("SSL_library_init");
+- if (d->cryptoLib) {
+- if (x) ((int (*)())x)();
+- x = d->cryptoLib->resolveFunction("OpenSSL_add_all_algorithms");
+- if (!x)
+- x = d->cryptoLib->resolveFunction("OPENSSL_add_all_algorithms");
+- if (x) {
+- ((void (*)())x)();
+- } else {
+- x = d->cryptoLib->resolveFunction("OpenSSL_add_all_algorithms_conf");
+- if (!x)
+- x = d->cryptoLib->resolveFunction("OPENSSL_add_all_algorithms_conf");
+- if (x) {
+- ((void (*)())x)();
+- } else {
+- x = d->cryptoLib->resolveFunction("OpenSSL_add_all_algorithms_noconf");
+- if (!x)
+- x = d->cryptoLib->resolveFunction("OPENSSL_add_all_algorithms_noconf");
+- if (x)
+- ((void (*)())x)();
+- }
+- }
+- x = d->cryptoLib->resolveFunction("OpenSSL_add_all_ciphers");
+- if (!x)
+- x = d->cryptoLib->resolveFunction("OPENSSL_add_all_ciphers");
+- if (x) ((void (*)())x)();
+- x = d->cryptoLib->resolveFunction("OpenSSL_add_all_digests");
+- if (!x)
+- x = d->cryptoLib->resolveFunction("OPENSSL_add_all_digests");
+- if (x) ((void (*)())x)();
+- }
+- }
+-
+ }
+
+-KOpenSSLProxy::~KOpenSSLProxy() {
+- if (d->sslLib) {
+- d->sslLib->unload();
+- }
+- if (d->cryptoLib) {
+- d->cryptoLib->unload();
+- }
+-
+- KOpenSSLProxyPrivate::sSelf = 0;
+- delete d;
++KOpenSSLProxy::~KOpenSSLProxy()
++{
++ KOpenSSLProxyPrivate::sSelf = 0;
++ delete d;
+ }
+
+-
+ // FIXME: we should check "ok" and allow this to init the lib if !ok.
+
+-KOpenSSLProxy *KOpenSSLProxy::self() {
+-#ifdef KSSL_HAVE_SSL
+- if(!KOpenSSLProxyPrivate::sSelf) {
+- KOpenSSLProxyPrivate::sSelf = new KOpenSSLProxy();
+- qAddPostRoutine(KOpenSSLProxyPrivate::cleanupKOpenSSLProxy);
+- }
++KOpenSSLProxy *KOpenSSLProxy::self()
++{
++#if KSSL_HAVE_SSL
++ if (!KOpenSSLProxyPrivate::sSelf) {
++ KOpenSSLProxyPrivate::sSelf = new KOpenSSLProxy();
++ qAddPostRoutine(KOpenSSLProxyPrivate::cleanupKOpenSSLProxy);
++ }
+ #endif
+- return KOpenSSLProxyPrivate::sSelf;
++ return KOpenSSLProxyPrivate::sSelf;
+ }
+
++#if KSSL_HAVE_SSL
+
+-
+-
+-
+-
+-
+-#ifdef KSSL_HAVE_SSL
+-
+-
+-
+-int KOpenSSLProxy::SSL_connect(SSL *ssl) {
+- if (K_SSL_connect) return (K_SSL_connect)(ssl);
+- return -1;
++int KOpenSSLProxy::SSL_connect(SSL *ssl)
++{
++ return ::SSL_connect(ssl);
+ }
+
+-
+-int KOpenSSLProxy::SSL_accept(SSL *ssl) {
+- if (K_SSL_accept) return (K_SSL_accept)(ssl);
+- return -1;
++int KOpenSSLProxy::SSL_accept(SSL *ssl)
++{
++ return ::SSL_accept(ssl);
+ }
+
+-
+-int KOpenSSLProxy::SSL_read(SSL *ssl, void *buf, int num) {
+- if (K_SSL_read) return (K_SSL_read)(ssl, buf, num);
+- return -1;
++int KOpenSSLProxy::SSL_read(SSL *ssl, void *buf, int num)
++{
++ return ::SSL_read(ssl, buf, num);
+ }
+
+-
+-int KOpenSSLProxy::SSL_write(SSL *ssl, const void *buf, int num) {
+- if (K_SSL_write) return (K_SSL_write)(ssl, buf, num);
+- return -1;
++int KOpenSSLProxy::SSL_write(SSL *ssl, const void *buf, int num)
++{
++ return ::SSL_write(ssl, buf, num);
+ }
+
+-
+-SSL *KOpenSSLProxy::SSL_new(SSL_CTX *ctx) {
+- if (K_SSL_new) return (K_SSL_new)(ctx);
+- return 0L;
++SSL *KOpenSSLProxy::SSL_new(SSL_CTX *ctx)
++{
++ return ::SSL_new(ctx);
+ }
+
+-
+-void KOpenSSLProxy::SSL_free(SSL *ssl) {
+- if (K_SSL_free) (K_SSL_free)(ssl);
++void KOpenSSLProxy::SSL_free(SSL *ssl)
++{
++ return ::SSL_free(ssl);
+ }
+
+-
+-int KOpenSSLProxy::SSL_shutdown(SSL *ssl) {
+- if (K_SSL_shutdown) return (K_SSL_shutdown)(ssl);
+- return -1;
++int KOpenSSLProxy::SSL_shutdown(SSL *ssl)
++{
++ return ::SSL_shutdown(ssl);
+ }
+
+-
+-SSL_CTX *KOpenSSLProxy::SSL_CTX_new(SSL_METHOD *method) {
+- if (K_SSL_CTX_new) return (K_SSL_CTX_new)(method);
+- return 0L;
++SSL_CTX *KOpenSSLProxy::SSL_CTX_new(const SSL_METHOD *method)
++{
++ return ::SSL_CTX_new(method);
+ }
+
+-
+-void KOpenSSLProxy::SSL_CTX_free(SSL_CTX *ctx) {
+- if (K_SSL_CTX_free) (K_SSL_CTX_free)(ctx);
++void KOpenSSLProxy::SSL_CTX_free(SSL_CTX *ctx)
++{
++ return ::SSL_CTX_free(ctx);
+ }
+
+-
+-int KOpenSSLProxy::SSL_set_fd(SSL *ssl, int fd) {
+- if (K_SSL_set_fd) return (K_SSL_set_fd)(ssl, fd);
+- return -1;
++int KOpenSSLProxy::SSL_set_fd(SSL *ssl, int fd)
++{
++ return ::SSL_set_fd(ssl, fd);
+ }
+
+-
+-int KOpenSSLProxy::SSL_pending(SSL *ssl) {
+- if (K_SSL_pending) return (K_SSL_pending)(ssl);
+- return -1;
++int KOpenSSLProxy::SSL_pending(SSL *ssl)
++{
++ return ::SSL_pending(ssl);
+ }
+
+-
+-int KOpenSSLProxy::SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str) {
+- if (K_SSL_CTX_set_cipher_list) return (K_SSL_CTX_set_cipher_list)(ctx, str);
+- return -1;
++int KOpenSSLProxy::SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str)
++{
++ return ::SSL_CTX_set_cipher_list(ctx, str);
+ }
+
+-
+ void KOpenSSLProxy::SSL_CTX_set_verify(SSL_CTX *ctx, int mode,
+- int (*verify_callback)(int, X509_STORE_CTX *)) {
+- if (K_SSL_CTX_set_verify) (K_SSL_CTX_set_verify)(ctx, mode, verify_callback);
+-}
+-
+-
+-int KOpenSSLProxy::SSL_use_certificate(SSL *ssl, X509 *x) {
+- if (K_SSL_use_certificate) return (K_SSL_use_certificate)(ssl, x);
+- return -1;
++ int (*verify_callback)(int, X509_STORE_CTX *))
++{
++ ::SSL_CTX_set_verify(ctx, mode, verify_callback);
+ }
+
+-
+-SSL_CIPHER *KOpenSSLProxy::SSL_get_current_cipher(SSL *ssl) {
+- if (K_SSL_get_current_cipher) return (K_SSL_get_current_cipher)(ssl);
+- return 0L;
++int KOpenSSLProxy::SSL_use_certificate(SSL *ssl, X509 *x)
++{
++ return ::SSL_use_certificate(ssl, x);
+ }
+
+-
+-long KOpenSSLProxy::SSL_ctrl(SSL *ssl,int cmd, long larg, char *parg) {
+- if (K_SSL_ctrl) return (K_SSL_ctrl)(ssl, cmd, larg, parg);
+- return -1;
++const SSL_CIPHER *KOpenSSLProxy::SSL_get_current_cipher(SSL *ssl)
++{
++ return ::SSL_get_current_cipher(ssl);
+ }
+
+-
+-int KOpenSSLProxy::RAND_egd(const char *path) {
+- if (K_RAND_egd) return (K_RAND_egd)(path);
+- return -1;
++long KOpenSSLProxy::SSL_ctrl(SSL *ssl, int cmd, long larg, char *parg)
++{
++ return ::SSL_ctrl(ssl, cmd, larg, parg);
+ }
+
+-
+-SSL_METHOD *KOpenSSLProxy::TLSv1_client_method() {
+- if (K_TLSv1_client_method) return (K_TLSv1_client_method)();
+- return 0L;
++int KOpenSSLProxy::RAND_egd(const char *path)
++{
++#ifndef OPENSSL_NO_EGD
++ return ::RAND_egd(path);
++#endif
++ return 0;
+ }
+
+-
+-SSL_METHOD *KOpenSSLProxy::SSLv23_client_method() {
+- if (K_SSLv23_client_method) return (K_SSLv23_client_method)();
+- return 0L;
++const SSL_METHOD *KOpenSSLProxy::TLSv1_client_method()
++{
++ return ::TLSv1_client_method();
+ }
+
+-
+-X509 *KOpenSSLProxy::SSL_get_peer_certificate(SSL *s) {
+- if (K_SSL_get_peer_certificate) return (K_SSL_get_peer_certificate)(s);
+- return 0L;
++const SSL_METHOD *KOpenSSLProxy::SSLv23_client_method()
++{
++ return ::SSLv23_client_method();
+ }
+
+-
+-int KOpenSSLProxy::SSL_CIPHER_get_bits(SSL_CIPHER *c,int *alg_bits) {
+- if (K_SSL_CIPHER_get_bits) return (K_SSL_CIPHER_get_bits)(c, alg_bits);
+- return -1;
++X509 *KOpenSSLProxy::SSL_get_peer_certificate(SSL *s)
++{
++ return ::SSL_get_peer_certificate(s);
+ }
+
+-
+-char * KOpenSSLProxy::SSL_CIPHER_get_version(SSL_CIPHER *c) {
+- if (K_SSL_CIPHER_get_version) return (K_SSL_CIPHER_get_version)(c);
+- return 0L;
++int KOpenSSLProxy::SSL_CIPHER_get_bits(SSL_CIPHER *c, int *alg_bits)
++{
++ return ::SSL_CIPHER_get_bits(c, alg_bits);
+ }
+
+-
+-const char * KOpenSSLProxy::SSL_CIPHER_get_name(SSL_CIPHER *c) {
+- if (K_SSL_CIPHER_get_name) return (K_SSL_CIPHER_get_name)(c);
+- return 0L;
++const char *KOpenSSLProxy::SSL_CIPHER_get_version(SSL_CIPHER *c)
++{
++ return ::SSL_CIPHER_get_version(c);
+ }
+
+-
+-char * KOpenSSLProxy::SSL_CIPHER_description(SSL_CIPHER *c,char *buf,int size) {
+- if (K_SSL_CIPHER_description) return (K_SSL_CIPHER_description)(c,buf,size);
+- return 0L;
++const char *KOpenSSLProxy::SSL_CIPHER_get_name(SSL_CIPHER *c)
++{
++ return ::SSL_CIPHER_get_name(c);
+ }
+
+-
+-X509 * KOpenSSLProxy::d2i_X509(X509 **a,unsigned char **pp,long length) {
+- if (K_d2i_X509) return (K_d2i_X509)(a,pp,length);
+- return 0L;
++char *KOpenSSLProxy::SSL_CIPHER_description(SSL_CIPHER *c, char *buf, int size)
++{
++ return ::SSL_CIPHER_description(c, buf, size);
+ }
+
+-
+-int KOpenSSLProxy::i2d_X509(X509 *a,unsigned char **pp) {
+- if (K_i2d_X509) return (K_i2d_X509)(a,pp);
+- return -1;
++X509 *KOpenSSLProxy::d2i_X509(X509 **a, const unsigned char **pp, long length)
++{
++ return ::d2i_X509(a, pp, length);
+ }
+
+-
+-int KOpenSSLProxy::X509_cmp(X509 *a, X509 *b) {
+- if (K_X509_cmp) return (K_X509_cmp)(a,b);
+- return 0;
++int KOpenSSLProxy::i2d_X509(X509 *a, unsigned char **pp)
++{
++ return ::i2d_X509(a, pp);
+ }
+
+-
+-X509_STORE *KOpenSSLProxy::X509_STORE_new(void) {
+- if (K_X509_STORE_new) return (K_X509_STORE_new)();
+- return 0L;
++int KOpenSSLProxy::X509_cmp(X509 *a, X509 *b)
++{
++ return ::X509_cmp(a, b);
+ }
+
+-
+-void KOpenSSLProxy::X509_STORE_free(X509_STORE *v) {
+- if (K_X509_STORE_free) (K_X509_STORE_free)(v);
++X509_STORE *KOpenSSLProxy::X509_STORE_new(void)
++{
++ return ::X509_STORE_new();
+ }
+
+-
+-X509_STORE_CTX *KOpenSSLProxy::X509_STORE_CTX_new(void) {
+- if (K_X509_STORE_CTX_new) return (K_X509_STORE_CTX_new)();
+- return 0L;
++void KOpenSSLProxy::X509_STORE_free(X509_STORE *v)
++{
++ ::X509_STORE_free(v);
+ }
+
+-
+-void KOpenSSLProxy::X509_STORE_CTX_free(X509_STORE_CTX *ctx) {
+- if (K_X509_STORE_CTX_free) (K_X509_STORE_CTX_free)(ctx);
++X509_STORE_CTX *KOpenSSLProxy::X509_STORE_CTX_new(void)
++{
++ return ::X509_STORE_CTX_new();
+ }
+
+-
+-int KOpenSSLProxy::X509_verify_cert(X509_STORE_CTX *ctx) {
+- if (K_X509_verify_cert) return (K_X509_verify_cert)(ctx);
+- return -1;
++void KOpenSSLProxy::X509_STORE_CTX_free(X509_STORE_CTX *ctx)
++{
++ ::X509_STORE_CTX_free(ctx);
+ }
+
+-
+-void KOpenSSLProxy::X509_free(X509 *a) {
+- if (K_X509_free) (K_X509_free)(a);
++int KOpenSSLProxy::X509_verify_cert(X509_STORE_CTX *ctx)
++{
++ return ::X509_verify_cert(ctx);
+ }
+
+-
+-char *KOpenSSLProxy::X509_NAME_oneline(X509_NAME *a,char *buf,int size) {
+- if (K_X509_NAME_oneline) return (K_X509_NAME_oneline)(a,buf,size);
+- return 0L;
++void KOpenSSLProxy::X509_free(X509 *a)
++{
++ ::X509_free(a);
+ }
+
+-
+-X509_NAME *KOpenSSLProxy::X509_get_subject_name(X509 *a) {
+- if (K_X509_get_subject_name) return (K_X509_get_subject_name)(a);
+- return 0L;
++char *KOpenSSLProxy::X509_NAME_oneline(X509_NAME *a, char *buf, int size)
++{
++ return ::X509_NAME_oneline(a, buf, size);
+ }
+
+-
+-X509_NAME *KOpenSSLProxy::X509_get_issuer_name(X509 *a) {
+- if (K_X509_get_issuer_name) return (K_X509_get_issuer_name)(a);
+- return 0L;
++X509_NAME *KOpenSSLProxy::X509_get_subject_name(X509 *a)
++{
++ return ::X509_get_subject_name(a);
+ }
+
+-
+-X509_LOOKUP *KOpenSSLProxy::X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m) {
+- if (K_X509_STORE_add_lookup) return (K_X509_STORE_add_lookup)(v,m);
+- return 0L;
++X509_NAME *KOpenSSLProxy::X509_get_issuer_name(X509 *a)
++{
++ return ::X509_get_issuer_name(a);
+ }
+
+-
+-X509_LOOKUP_METHOD *KOpenSSLProxy::X509_LOOKUP_file(void) {
+- if (K_X509_LOOKUP_file) return (K_X509_LOOKUP_file)();
+- return 0L;
++X509_LOOKUP *KOpenSSLProxy::X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
++{
++ return ::X509_STORE_add_lookup(v, m);
+ }
+
+-
+-void KOpenSSLProxy::X509_LOOKUP_free(X509_LOOKUP *x) {
+- if (K_X509_LOOKUP_free) (K_X509_LOOKUP_free)(x);
++X509_LOOKUP_METHOD *KOpenSSLProxy::X509_LOOKUP_file(void)
++{
++ return ::X509_LOOKUP_file();
+ }
+
+-
+-int KOpenSSLProxy::X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret) {
+- if (K_X509_LOOKUP_ctrl) return (K_X509_LOOKUP_ctrl)(ctx,cmd,argc,argl,ret);
+- return -1;
++void KOpenSSLProxy::X509_LOOKUP_free(X509_LOOKUP *x)
++{
++ ::X509_LOOKUP_free(x);
+ }
+
+-
+-void KOpenSSLProxy::X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain) {
+- if (K_X509_STORE_CTX_init) (K_X509_STORE_CTX_init)(ctx,store,x509,chain);
++int KOpenSSLProxy::X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret)
++{
++ return ::X509_LOOKUP_ctrl(ctx, cmd, argc, argl, ret);
+ }
+
+-
+-void KOpenSSLProxy::CRYPTO_free(void *x) {
+- if (K_CRYPTO_free) (K_CRYPTO_free)(x);
++void KOpenSSLProxy::X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain)
++{
++ ::X509_STORE_CTX_init(ctx, store, x509, chain);
+ }
+
+-
+-X509 *KOpenSSLProxy::X509_dup(X509 *x509) {
+- if (K_X509_dup) return (K_X509_dup)(x509);
+- return 0L;
++void KOpenSSLProxy::CRYPTO_free(void *x)
++{
++ ::CRYPTO_free(x, OPENSSL_FILE, OPENSSL_LINE);
+ }
+
+-
+-BIO *KOpenSSLProxy::BIO_new(BIO_METHOD *type) {
+- if (K_BIO_new) return (K_BIO_new)(type);
+- else return 0L;
++X509 *KOpenSSLProxy::X509_dup(X509 *x509)
++{
++ return ::X509_dup(x509);
+ }
+
+-
+-BIO_METHOD *KOpenSSLProxy::BIO_s_mem(void) {
+- if (K_BIO_s_mem) return (K_BIO_s_mem)();
+- else return 0L;
++BIO *KOpenSSLProxy::BIO_new(BIO_METHOD *type)
++{
++ return ::BIO_new(type);
+ }
+
+-
+-BIO *KOpenSSLProxy::BIO_new_fp(FILE *stream, int close_flag) {
+- if (K_BIO_new_fp) return (K_BIO_new_fp)(stream, close_flag);
+- return 0L;
++const BIO_METHOD *KOpenSSLProxy::BIO_s_mem(void)
++{
++ return ::BIO_s_mem();
+ }
+
+-
+-BIO *KOpenSSLProxy::BIO_new_mem_buf(void *buf, int len) {
+- if (K_BIO_new_mem_buf) return (K_BIO_new_mem_buf)(buf,len);
+- else return 0L;
++BIO *KOpenSSLProxy::BIO_new_fp(FILE *stream, int close_flag)
++{
++ return ::BIO_new_fp(stream, close_flag);
+ }
+
+-
+-int KOpenSSLProxy::BIO_free(BIO *a) {
+- if (K_BIO_free) return (K_BIO_free)(a);
+- return -1;
++BIO *KOpenSSLProxy::BIO_new_mem_buf(void *buf, int len)
++{
++ return ::BIO_new_mem_buf(buf, len);
+ }
+
+-
+-long KOpenSSLProxy::BIO_ctrl(BIO *bp,int cmd,long larg,void *parg) {
+- if (K_BIO_ctrl) return (K_BIO_ctrl)(bp,cmd,larg,parg);
+- else return 0; // failure return for BIO_ctrl is quite individual, maybe we should abort() instead
++int KOpenSSLProxy::BIO_free(BIO *a)
++{
++ return ::BIO_free(a);
+ }
+
+-
+-int KOpenSSLProxy::BIO_write(BIO *b, const void *data, int len) {
+- if (K_BIO_write) return (K_BIO_write)(b, data, len);
+- else return -1;
++long KOpenSSLProxy::BIO_ctrl(BIO *bp, int cmd, long larg, void *parg)
++{
++ return ::BIO_ctrl(bp, cmd, larg, parg);
+ }
+
+-
+-int KOpenSSLProxy::PEM_write_bio_X509(BIO *bp, X509 *x) {
+- if (K_PEM_ASN1_write_bio) return (K_PEM_ASN1_write_bio) ((int (*)())K_i2d_X509, PEM_STRING_X509, bp, (char *)x, 0L, 0L, 0, 0L, 0L);
+- else return -1;
++int KOpenSSLProxy::BIO_write(BIO *b, const void *data, int len)
++{
++ return ::BIO_write(b, data, len);
+ }
+
+-int KOpenSSLProxy::ASN1_item_i2d_fp(FILE *out,unsigned char *x) {
+- if (K_ASN1_item_i2d_fp && K_NETSCAPE_X509_it)
+- return (K_ASN1_item_i2d_fp)(K_NETSCAPE_X509_it, out, x);
+- else return -1;
++int KOpenSSLProxy::PEM_write_bio_X509(BIO *bp, X509 *x)
++{
++ return ::PEM_ASN1_write_bio(reinterpret_cast<i2d_of_void*>(::i2d_X509), PEM_STRING_X509, bp, (char *)x, 0L, 0L, 0, 0L, 0L);
+ }
+
+-
+-int KOpenSSLProxy::X509_print(FILE *fp, X509 *x) {
+- if (K_X509_print_fp) return (K_X509_print_fp)(fp, x);
+- return -1;
++int KOpenSSLProxy::X509_print(FILE *fp, X509 *x)
++{
++ return ::X509_print_fp(fp, x);
+ }
+
+-
+-PKCS12 *KOpenSSLProxy::d2i_PKCS12_fp(FILE *fp, PKCS12 **p12) {
+- if (K_d2i_PKCS12_fp) return (K_d2i_PKCS12_fp)(fp, p12);
+- else return 0L;
++PKCS12 *KOpenSSLProxy::d2i_PKCS12_fp(FILE *fp, PKCS12 **p12)
++{
++ return ::d2i_PKCS12_fp(fp, p12);
+ }
+
+-
+-int KOpenSSLProxy::PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass) {
+- if (K_PKCS12_newpass) return (K_PKCS12_newpass)(p12, oldpass, newpass);
+- else return -1;
++int KOpenSSLProxy::PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass)
++{
++ return ::PKCS12_newpass(p12, oldpass, newpass);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS12(PKCS12 *p12, unsigned char **p) {
+- if (K_i2d_PKCS12) return (K_i2d_PKCS12)(p12, p);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS12(PKCS12 *p12, unsigned char **p)
++{
++ return ::i2d_PKCS12(p12, p);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS12_fp(FILE *fp, PKCS12 *p12) {
+- if (K_i2d_PKCS12_fp) return (K_i2d_PKCS12_fp)(fp, p12);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS12_fp(FILE *fp, PKCS12 *p12)
++{
++ return ::i2d_PKCS12_fp(fp, p12);
+ }
+
+-
+-PKCS12 *KOpenSSLProxy::PKCS12_new(void) {
+- if (K_PKCS12_new) return (K_PKCS12_new)();
+- else return 0L;
++PKCS12 *KOpenSSLProxy::PKCS12_new(void)
++{
++ return ::PKCS12_new();
+ }
+
+-
+-void KOpenSSLProxy::PKCS12_free(PKCS12 *a) {
+- if (K_PKCS12_free) (K_PKCS12_free)(a);
++void KOpenSSLProxy::PKCS12_free(PKCS12 *a)
++{
++ ::PKCS12_free(a);
+ }
+
+-
+ int KOpenSSLProxy::PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey,
+- X509 **cert, STACK_OF(X509) **ca) {
+- if (K_PKCS12_parse) return (K_PKCS12_parse) (p12, pass, pkey, cert, ca);
+- else return -1;
++ X509 **cert, STACK_OF(X509) **ca)
++{
++ return ::PKCS12_parse(p12, pass, pkey, cert, ca);
+ }
+
+-
+-void KOpenSSLProxy::EVP_PKEY_free(EVP_PKEY *x) {
+- if (K_EVP_PKEY_free) (K_EVP_PKEY_free)(x);
++void KOpenSSLProxy::EVP_PKEY_free(EVP_PKEY *x)
++{
++ ::EVP_PKEY_free(x);
+ }
+
+-
+-EVP_PKEY* KOpenSSLProxy::EVP_PKEY_new() {
+- if (K_EVP_PKEY_new) return (K_EVP_PKEY_new)();
+- else return 0L;
++EVP_PKEY *KOpenSSLProxy::EVP_PKEY_new()
++{
++ return ::EVP_PKEY_new();
+ }
+
+-
+-void KOpenSSLProxy::X509_REQ_free(X509_REQ *x) {
+- if (K_X509_REQ_free) (K_X509_REQ_free)(x);
++void KOpenSSLProxy::X509_REQ_free(X509_REQ *x)
++{
++ ::X509_REQ_free(x);
+ }
+
+-
+-X509_REQ* KOpenSSLProxy::X509_REQ_new() {
+- if (K_X509_REQ_new) return (K_X509_REQ_new)();
+- else return 0L;
++X509_REQ *KOpenSSLProxy::X509_REQ_new()
++{
++ return ::X509_REQ_new();
+ }
+
+-
+-int KOpenSSLProxy::SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey) {
+- if (K_SSL_CTX_use_PrivateKey) return (K_SSL_CTX_use_PrivateKey)(ctx,pkey);
+- else return -1;
++int KOpenSSLProxy::SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey)
++{
++ return ::SSL_CTX_use_PrivateKey(ctx, pkey);
+ }
+
+-
+-int KOpenSSLProxy::SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x) {
+- if (K_SSL_CTX_use_certificate) return (K_SSL_CTX_use_certificate)(ctx,x);
+- else return -1;
++int KOpenSSLProxy::SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x)
++{
++ return ::SSL_CTX_use_certificate(ctx, x);
+ }
+
+-
+-int KOpenSSLProxy::SSL_get_error(SSL *ssl, int rc) {
+- if (K_SSL_get_error) return (K_SSL_get_error)(ssl,rc);
+- else return -1;
++int KOpenSSLProxy::SSL_get_error(SSL *ssl, int rc)
++{
++ return ::SSL_get_error(ssl, rc);
+ }
+
+-
+-STACK_OF(X509) *KOpenSSLProxy::SSL_get_peer_cert_chain(SSL *s) {
+- if (K_SSL_get_peer_cert_chain) return (K_SSL_get_peer_cert_chain)(s);
+- else return 0L;
++STACK_OF(X509) *KOpenSSLProxy::SSL_get_peer_cert_chain(SSL *s)
++{
++ return ::SSL_get_peer_cert_chain(s);
+ }
+
+-
+-void KOpenSSLProxy::sk_free(STACK *s) {
+- if (K_sk_free) (K_sk_free)(s);
++void KOpenSSLProxy::sk_free(STACK *s)
++{
++ ::OPENSSL_sk_free(s);
+ }
+
+-
+-int KOpenSSLProxy::sk_num(STACK *s) {
+- if (K_sk_num) return (K_sk_num)(s);
+- else return -1;
++int KOpenSSLProxy::sk_num(STACK *s)
++{
++ return ::OPENSSL_sk_num(s);
+ }
+
+-
+-char *KOpenSSLProxy::sk_pop(STACK *s) {
+- if (K_sk_pop) return (K_sk_pop)(s);
+- else return 0L;
++char *KOpenSSLProxy::sk_pop(STACK *s)
++{
++ return static_cast<char*>(::OPENSSL_sk_pop(s));
+ }
+
+-
+-char *KOpenSSLProxy::sk_value(STACK *s, int n) {
+- if (K_sk_value) return (K_sk_value)(s, n);
+- else return 0L;
++char *KOpenSSLProxy::sk_value(STACK *s, int n)
++{
++ return static_cast<char*>(::sk_value(s, n));
+ }
+
+-
+-void KOpenSSLProxy::X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x) {
+- if (K_X509_STORE_CTX_set_chain) (K_X509_STORE_CTX_set_chain)(v,x);
++void KOpenSSLProxy::X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x)
++{
++ ::X509_STORE_CTX_set_chain(v, x);
+ }
+
+-void KOpenSSLProxy::X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose) {
+- if (K_X509_STORE_CTX_set_purpose) (K_X509_STORE_CTX_set_purpose)(v,purpose);
++void KOpenSSLProxy::X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose)
++{
++ ::X509_STORE_CTX_set_purpose(v, purpose);
+ }
+
+-
+-STACK* KOpenSSLProxy::sk_dup(STACK *s) {
+- if (K_sk_dup) return (K_sk_dup)(s);
+- else return 0L;
++STACK *KOpenSSLProxy::sk_dup(STACK *s)
++{
++ return ::sk_dup(s);
+ }
+
+-
+-STACK* KOpenSSLProxy::sk_new(int (*cmp)()) {
+- if (K_sk_new) return (K_sk_new)(cmp);
+- else return 0L;
++STACK *KOpenSSLProxy::sk_new(OPENSSL_sk_compfunc cmp)
++{
++ return ::sk_new(cmp);
+ }
+
+-
+-int KOpenSSLProxy::sk_push(STACK* s, char* d) {
+- if (K_sk_push) return (K_sk_push)(s,d);
+- else return -1;
++int KOpenSSLProxy::sk_push(STACK *s, char *d)
++{
++ return ::sk_push(s, d);
+ }
+
+-
+-char *KOpenSSLProxy::i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint) {
+- if (K_i2s_ASN1_INTEGER) return (K_i2s_ASN1_INTEGER)(meth, aint);
+- else return 0L;
++char *KOpenSSLProxy::i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint)
++{
++ return ::i2s_ASN1_INTEGER(meth, aint);
+ }
+
+-
+-ASN1_INTEGER *KOpenSSLProxy::X509_get_serialNumber(X509 *x) {
+- if (K_X509_get_serialNumber) return (K_X509_get_serialNumber)(x);
+- else return 0L;
++ASN1_INTEGER *KOpenSSLProxy::X509_get_serialNumber(X509 *x)
++{
++ return ::X509_get_serialNumber(x);
+ }
+
+-
+-EVP_PKEY *KOpenSSLProxy::X509_get_pubkey(X509 *x) {
+- if (K_X509_get_pubkey) return (K_X509_get_pubkey)(x);
+- else return 0L;
++EVP_PKEY *KOpenSSLProxy::X509_get_pubkey(X509 *x)
++{
++ return ::X509_get_pubkey(x);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PublicKey(EVP_PKEY *a, unsigned char **pp) {
+- if (K_i2d_PublicKey) return (K_i2d_PublicKey)(a,pp);
+- else return 0;
++int KOpenSSLProxy::i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
++{
++ return ::i2d_PublicKey(a, pp);
+ }
+
+-
+-int KOpenSSLProxy::X509_check_private_key(X509 *x, EVP_PKEY *p) {
+- if (K_X509_check_private_key) return (K_X509_check_private_key)(x,p);
+- return -1;
++int KOpenSSLProxy::X509_check_private_key(X509 *x, EVP_PKEY *p)
++{
++ return ::X509_check_private_key(x, p);
+ }
+
+-
+-char *KOpenSSLProxy::BN_bn2hex(const BIGNUM *a) {
+- if (K_BN_bn2hex) return (K_BN_bn2hex)(a);
+- else return 0L;
++char *KOpenSSLProxy::BN_bn2hex(const BIGNUM *a)
++{
++ return ::BN_bn2hex(a);
+ }
+
+-
+-int KOpenSSLProxy::X509_digest(const X509 *x,const EVP_MD *t, unsigned char *md, unsigned int *len) {
+- if (K_X509_digest) return (K_X509_digest)(x, t, md, len);
+- else return -1;
++int KOpenSSLProxy::X509_digest(const X509 *x, const EVP_MD *t, unsigned char *md, unsigned int *len)
++{
++ return ::X509_digest(x, t, md, len);
+ }
+
+-
+-EVP_MD *KOpenSSLProxy::EVP_md5() {
+- if (K_EVP_md5) return (K_EVP_md5)();
+- return 0L;
++const EVP_MD *KOpenSSLProxy::EVP_md5()
++{
++ return ::EVP_md5();
+ }
+
+-
+-void KOpenSSLProxy::ASN1_INTEGER_free(ASN1_INTEGER *a) {
+- if (K_ASN1_INTEGER_free) (K_ASN1_INTEGER_free)(a);
++void KOpenSSLProxy::ASN1_INTEGER_free(ASN1_INTEGER *a)
++{
++ ::ASN1_INTEGER_free(a);
+ }
+
+-
+-int KOpenSSLProxy::OBJ_obj2nid(ASN1_OBJECT *o) {
+- if (K_OBJ_obj2nid) return (K_OBJ_obj2nid)(o);
+- else return -1;
++int KOpenSSLProxy::OBJ_obj2nid(ASN1_OBJECT *o)
++{
++ return ::OBJ_obj2nid(o);
+ }
+
+-
+-const char * KOpenSSLProxy::OBJ_nid2ln(int n) {
+- if (K_OBJ_nid2ln) return (K_OBJ_nid2ln)(n);
+- else return 0L;
++const char *KOpenSSLProxy::OBJ_nid2ln(int n)
++{
++ return ::OBJ_nid2ln(n);
+ }
+
+-
+-int KOpenSSLProxy::X509_get_ext_count(X509 *x) {
+- if (K_X509_get_ext_count) return (K_X509_get_ext_count)(x);
+- else return -1;
++int KOpenSSLProxy::X509_get_ext_count(X509 *x)
++{
++ return ::X509_get_ext_count(x);
+ }
+
+-
+-int KOpenSSLProxy::X509_get_ext_by_NID(X509 *x, int nid, int lastpos) {
+- if (K_X509_get_ext_by_NID) return (K_X509_get_ext_by_NID)(x,nid,lastpos);
+- else return -1;
++int KOpenSSLProxy::X509_get_ext_by_NID(X509 *x, int nid, int lastpos)
++{
++ return ::X509_get_ext_by_NID(x, nid, lastpos);
+ }
+
+-
+-int KOpenSSLProxy::X509_get_ext_by_OBJ(X509 *x,ASN1_OBJECT *obj,int lastpos) {
+- if (K_X509_get_ext_by_OBJ) return (K_X509_get_ext_by_OBJ)(x,obj,lastpos);
+- else return -1;
++int KOpenSSLProxy::X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos)
++{
++ return ::X509_get_ext_by_OBJ(x, obj, lastpos);
+ }
+
+-
+-X509_EXTENSION *KOpenSSLProxy::X509_get_ext(X509 *x, int loc) {
+- if (K_X509_get_ext) return (K_X509_get_ext)(x,loc);
+- else return 0L;
++X509_EXTENSION *KOpenSSLProxy::X509_get_ext(X509 *x, int loc)
++{
++ return ::X509_get_ext(x, loc);
+ }
+
+-
+-X509_EXTENSION *KOpenSSLProxy::X509_delete_ext(X509 *x, int loc) {
+- if (K_X509_delete_ext) return (K_X509_delete_ext)(x,loc);
+- else return 0L;
++X509_EXTENSION *KOpenSSLProxy::X509_delete_ext(X509 *x, int loc)
++{
++ return ::X509_delete_ext(x, loc);
+ }
+
+-
+-int KOpenSSLProxy::X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc) {
+- if (K_X509_add_ext) return (K_X509_add_ext)(x,ex,loc);
+- else return -1;
++int KOpenSSLProxy::X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc)
++{
++ return ::X509_add_ext(x, ex, loc);
+ }
+
+-
+-void *KOpenSSLProxy::X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx) {
+- if (K_X509_get_ext_d2i) return (K_X509_get_ext_d2i)(x,nid,crit,idx);
+- else return 0L;
++void *KOpenSSLProxy::X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx)
++{
++ return ::X509_get_ext_d2i(x, nid, crit, idx);
+ }
+
+-
+-char *KOpenSSLProxy::i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5) {
+- if (K_i2s_ASN1_OCTET_STRING) return (K_i2s_ASN1_OCTET_STRING)(method,ia5);
+- else return 0L;
++char *KOpenSSLProxy::i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5)
++{
++ return ::i2s_ASN1_OCTET_STRING(method, ia5);
+ }
+
+-
+-int KOpenSSLProxy::ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n) {
+- if (K_ASN1_BIT_STRING_get_bit) return (K_ASN1_BIT_STRING_get_bit)(a,n);
+- else return -1;
++int KOpenSSLProxy::ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n)
++{
++ return ::ASN1_BIT_STRING_get_bit(a, n);
+ }
+
+-
+-PKCS7 *KOpenSSLProxy::PKCS7_new(void) {
+- if (K_PKCS7_new) return (K_PKCS7_new)();
+- else return 0L;
++PKCS7 *KOpenSSLProxy::PKCS7_new(void)
++{
++ return ::PKCS7_new();
+ }
+
+-
+-void KOpenSSLProxy::PKCS7_free(PKCS7 *a) {
+- if (K_PKCS7_free) (K_PKCS7_free)(a);
++void KOpenSSLProxy::PKCS7_free(PKCS7 *a)
++{
++ ::PKCS7_free(a);
+ }
+
+-
+-void KOpenSSLProxy::PKCS7_content_free(PKCS7 *a) {
+- if (K_PKCS7_content_free) (K_PKCS7_content_free)(a);
++void KOpenSSLProxy::PKCS7_content_free(PKCS7 *a)
++{
++ CRYPTO_free(a);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS7(PKCS7 *a, unsigned char **pp) {
+- if (K_i2d_PKCS7) return (K_i2d_PKCS7)(a,pp);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS7(PKCS7 *a, unsigned char **pp)
++{
++ return ::i2d_PKCS7(a, pp);
+ }
+
+-
+-PKCS7 *KOpenSSLProxy::d2i_PKCS7(PKCS7 **a, unsigned char **pp,long length) {
+- if (K_d2i_PKCS7) return (K_d2i_PKCS7)(a,pp,length);
+- else return 0L;
++PKCS7 *KOpenSSLProxy::d2i_PKCS7(PKCS7 **a, const unsigned char **pp, long length)
++{
++ return ::d2i_PKCS7(a, pp, length);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS7_fp(FILE *fp,PKCS7 *p7) {
+- if (K_i2d_PKCS7_fp) return (K_i2d_PKCS7_fp)(fp,p7);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
++{
++ return ::i2d_PKCS7_fp(fp, p7);
+ }
+
+-
+-PKCS7 *KOpenSSLProxy::d2i_PKCS7_fp(FILE *fp,PKCS7 **p7) {
+- if (K_d2i_PKCS7_fp) return (K_d2i_PKCS7_fp)(fp,p7);
+- else return 0L;
++PKCS7 *KOpenSSLProxy::d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
++{
++ return ::d2i_PKCS7_fp(fp, p7);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS7_bio(BIO *bp,PKCS7 *p7) {
+- if (K_i2d_PKCS7_bio) return (K_i2d_PKCS7_bio)(bp, p7);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
++{
++ return ::i2d_PKCS7_bio(bp, p7);
+ }
+
+-
+-PKCS7 *KOpenSSLProxy::d2i_PKCS7_bio(BIO *bp,PKCS7 **p7) {
+- if (K_d2i_PKCS7_bio) return (K_d2i_PKCS7_bio)(bp, p7);
+- else return 0L;
++PKCS7 *KOpenSSLProxy::d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
++{
++ return ::d2i_PKCS7_bio(bp, p7);
+ }
+
+-
+-PKCS7 *KOpenSSLProxy::PKCS7_dup(PKCS7 *p7) {
+- if (K_PKCS7_dup) return (K_PKCS7_dup)(p7);
+- else return 0L;
++PKCS7 *KOpenSSLProxy::PKCS7_dup(PKCS7 *p7)
++{
++ return ::PKCS7_dup(p7);
+ }
+
+-
+ PKCS7 *KOpenSSLProxy::PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
+- BIO *data, int flags) {
+- if (K_PKCS7_sign) return (K_PKCS7_sign)(signcert,pkey,certs,data,flags);
+- else return 0L;
++ BIO *data, int flags)
++{
++ return ::PKCS7_sign(signcert, pkey, certs, data, flags);
+ }
+
+-
+-int KOpenSSLProxy::PKCS7_verify(PKCS7* p, STACK_OF(X509)* st, X509_STORE* s, BIO* in, BIO *out, int flags) {
+- if (K_PKCS7_verify) return (K_PKCS7_verify)(p,st,s,in,out,flags);
+- else return 0;
++int KOpenSSLProxy::PKCS7_verify(PKCS7 *p, STACK_OF(X509)* st, X509_STORE *s, BIO *in, BIO *out, int flags)
++{
++ return ::PKCS7_verify(p, st, s, in, out, flags);
+ }
+
+-
+-STACK_OF(X509) *KOpenSSLProxy::PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags) {
+- if (K_PKCS7_get0_signers) return (K_PKCS7_get0_signers)(p7,certs,flags);
+- else return 0L;
++STACK_OF(X509) *KOpenSSLProxy::PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags)
++{
++ return ::PKCS7_get0_signers(p7, certs, flags);
+ }
+
+-
+ PKCS7 *KOpenSSLProxy::PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher,
+- int flags) {
+- if (K_PKCS7_encrypt) return (K_PKCS7_encrypt)(certs,in,cipher,flags);
+- else return 0L;
++ int flags)
++{
++ return ::PKCS7_encrypt(certs, in, cipher, flags);
+ }
+
+-
+-int KOpenSSLProxy::PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags) {
+- if (K_PKCS7_decrypt) return (K_PKCS7_decrypt)(p7,pkey,cert,data,flags);
+- else return 0;
++int KOpenSSLProxy::PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags)
++{
++ return ::PKCS7_decrypt(p7, pkey, cert, data, flags);
+ }
+
+-
+-STACK_OF(X509_NAME) *KOpenSSLProxy::SSL_load_client_CA_file(const char *file) {
+- if (K_SSL_load_client_CA_file) return (K_SSL_load_client_CA_file)(file);
+- else return 0L;
++STACK_OF(X509_NAME) *KOpenSSLProxy::SSL_load_client_CA_file(const char *file)
++{
++ return ::SSL_load_client_CA_file(file);
+ }
+
+-
+-STACK_OF(X509_INFO) *KOpenSSLProxy::PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u) {
+- if (K_PEM_X509_INFO_read) return (K_PEM_X509_INFO_read)(fp,sk,cb,u);
+- else return 0L;
++STACK_OF(X509_INFO) *KOpenSSLProxy::PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u)
++{
++ return ::PEM_X509_INFO_read(fp, sk, cb, u);
+ }
+
+-
+-X509 *KOpenSSLProxy::X509_d2i_fp(FILE *out, X509** buf) {
+- if (K_ASN1_d2i_fp) return reinterpret_cast<X509 *>((K_ASN1_d2i_fp)(reinterpret_cast<char *(*)()>(K_X509_new), reinterpret_cast<char *(*)()>(K_d2i_X509), out, reinterpret_cast<unsigned char **>(buf)));
+- else return 0L;
++X509 *KOpenSSLProxy::X509_d2i_fp(FILE *out, X509 **buf)
++{
++ return reinterpret_cast<X509 *>(::ASN1_d2i_fp(reinterpret_cast<void *(*)()>(::X509_new), reinterpret_cast<d2i_of_void*>(::d2i_X509), out, reinterpret_cast<void **>(buf)));
+ }
+
+-
+-int KOpenSSLProxy::SSL_peek(SSL *ssl,void *buf,int num) {
+- if (K_SSL_peek) return (K_SSL_peek)(ssl,buf,num);
+- else return -1;
++int KOpenSSLProxy::SSL_peek(SSL *ssl, void *buf, int num)
++{
++ return ::SSL_peek(ssl, buf, num);
+ }
+
+-
+-const char *KOpenSSLProxy::RAND_file_name(char *buf, size_t num) {
+- if (K_RAND_file_name) return (K_RAND_file_name)(buf, num);
+- else return 0L;
++const char *KOpenSSLProxy::RAND_file_name(char *buf, size_t num)
++{
++ return ::RAND_file_name(buf, num);
+ }
+
+-
+-int KOpenSSLProxy::RAND_load_file(const char *filename, long max_bytes) {
+- if (K_RAND_load_file) return (K_RAND_load_file)(filename, max_bytes);
+- else return -1;
++int KOpenSSLProxy::RAND_load_file(const char *filename, long max_bytes)
++{
++ return ::RAND_load_file(filename, max_bytes);
+ }
+
+-
+-int KOpenSSLProxy::RAND_write_file(const char *filename) {
+- if (K_RAND_write_file) return (K_RAND_write_file)(filename);
+- else return -1;
++int KOpenSSLProxy::RAND_write_file(const char *filename)
++{
++ return ::RAND_write_file(filename);
+ }
+
+-
+-int KOpenSSLProxy::X509_PURPOSE_get_count() {
+- if (K_X509_PURPOSE_get_count) return (K_X509_PURPOSE_get_count)();
+- else return -1;
++int KOpenSSLProxy::X509_PURPOSE_get_count()
++{
++ return ::X509_PURPOSE_get_count();
+ }
+
+-
+-int KOpenSSLProxy::X509_PURPOSE_get_id(X509_PURPOSE *p) {
+- if (K_X509_PURPOSE_get_id) return (K_X509_PURPOSE_get_id)(p);
+- else return -1;
++int KOpenSSLProxy::X509_PURPOSE_get_id(X509_PURPOSE *p)
++{
++ return ::X509_PURPOSE_get_id(p);
+ }
+
+-
+-int KOpenSSLProxy::X509_check_purpose(X509 *x, int id, int ca) {
+- if (K_X509_check_purpose) return (K_X509_check_purpose)(x, id, ca);
+- else return -1;
++int KOpenSSLProxy::X509_check_purpose(X509 *x, int id, int ca)
++{
++ return ::X509_check_purpose(x, id, ca);
+ }
+
+-
+-X509_PURPOSE *KOpenSSLProxy::X509_PURPOSE_get0(int idx) {
+- if (K_X509_PURPOSE_get0) return (K_X509_PURPOSE_get0)(idx);
+- else return 0L;
++X509_PURPOSE *KOpenSSLProxy::X509_PURPOSE_get0(int idx)
++{
++ return ::X509_PURPOSE_get0(idx);
+ }
+
+-
+-int KOpenSSLProxy::EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key) {
+- if (K_EVP_PKEY_assign) return (K_EVP_PKEY_assign)(pkey, type, key);
+- else return -1;
++int KOpenSSLProxy::EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key)
++{
++ return ::EVP_PKEY_assign(pkey, type, key);
+ }
+
+-
+-int KOpenSSLProxy::X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) {
+- if (K_X509_REQ_set_pubkey) return (K_X509_REQ_set_pubkey)(x, pkey);
+- else return -1;
++int KOpenSSLProxy::X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
++{
++ return ::X509_REQ_set_pubkey(x, pkey);
+ }
+
+-
+-RSA* KOpenSSLProxy::RSA_generate_key(int bits, unsigned long e, void
+- (*callback)(int,int,void *), void *cb_arg) {
+- if (K_RSA_generate_key) return (K_RSA_generate_key)(bits, e, callback, cb_arg);
+- else return 0L;
++RSA *KOpenSSLProxy::RSA_generate_key(int bits, unsigned long e, void
++ (*callback)(int, int, void *), void *cb_arg)
++{
++ return ::RSA_generate_key(bits, e, callback, cb_arg);
+ }
+
+-STACK *KOpenSSLProxy::X509_get1_email(X509 *x) {
+- if (K_X509_get1_email) return (K_X509_get1_email)(x);
+- else return 0L;
++STACK *KOpenSSLProxy::X509_get1_email(X509 *x)
++{
++ return reinterpret_cast<STACK*>(::X509_get1_email(x));
+ }
+
+-void KOpenSSLProxy::X509_email_free(STACK *sk) {
+- if (K_X509_email_free) (K_X509_email_free)(sk);
++void KOpenSSLProxy::X509_email_free(STACK *sk)
++{
++ ::X509_email_free(reinterpret_cast<STACK_OF(OPENSSL_STRING)*>(sk));
+ }
+
+-EVP_CIPHER *KOpenSSLProxy::EVP_des_ede3_cbc() {
+- if (K_EVP_des_ede3_cbc) return (K_EVP_des_ede3_cbc)();
+- else return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_des_ede3_cbc()
++{
++ return ::EVP_des_ede3_cbc();
+ }
+
+-EVP_CIPHER *KOpenSSLProxy::EVP_des_cbc() {
+- if (K_EVP_des_cbc) return (K_EVP_des_cbc)();
+- else return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_des_cbc()
++{
++ return ::EVP_des_cbc();
+ }
+
+-EVP_CIPHER *KOpenSSLProxy::EVP_rc2_cbc() {
+- if (K_EVP_rc2_cbc) return (K_EVP_rc2_cbc)();
+- else return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_rc2_cbc()
++{
++ return ::EVP_rc2_cbc();
+ }
+
+-EVP_CIPHER *KOpenSSLProxy::EVP_rc2_64_cbc() {
+- if (K_EVP_rc2_64_cbc) return (K_EVP_rc2_64_cbc)();
+- else return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_rc2_64_cbc()
++{
++ return ::EVP_rc2_64_cbc();
+ }
+
+-EVP_CIPHER *KOpenSSLProxy::EVP_rc2_40_cbc() {
+- if (K_EVP_rc2_40_cbc) return (K_EVP_rc2_40_cbc)();
+- else return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_rc2_40_cbc()
++{
++ return ::EVP_rc2_40_cbc();
+ }
+
+-int KOpenSSLProxy::i2d_X509_REQ_fp(FILE *fp, X509_REQ *x) {
+- if (K_i2d_X509_REQ_fp) return (K_i2d_X509_REQ_fp)(fp,x);
+- else return -1;
++int KOpenSSLProxy::i2d_X509_REQ_fp(FILE *fp, X509_REQ *x)
++{
++ return ::i2d_X509_REQ_fp(fp, x);
+ }
+
+-
+-void KOpenSSLProxy::ERR_clear_error() {
+- if (K_ERR_clear_error) (K_ERR_clear_error)();
++void KOpenSSLProxy::ERR_clear_error()
++{
++ return ::ERR_clear_error();
+ }
+
+-
+-unsigned long KOpenSSLProxy::ERR_get_error() {
+- if (K_ERR_get_error) return (K_ERR_get_error)();
+- else return 0xffffffff;
++unsigned long KOpenSSLProxy::ERR_get_error()
++{
++ return ::ERR_get_error();
+ }
+
+-
+-void KOpenSSLProxy::ERR_print_errors_fp(FILE* fp) {
+- if (K_ERR_print_errors_fp) (K_ERR_print_errors_fp)(fp);
++void KOpenSSLProxy::ERR_print_errors_fp(FILE *fp)
++{
++ return ::ERR_print_errors_fp(fp);
+ }
+
+-
+-SSL_SESSION *KOpenSSLProxy::SSL_get1_session(SSL *ssl) {
+- if (K_SSL_get1_session) return (K_SSL_get1_session)(ssl);
+- else return 0L;
++SSL_SESSION *KOpenSSLProxy::SSL_get1_session(SSL *ssl)
++{
++ return ::SSL_get1_session(ssl);
+ }
+
+-
+-void KOpenSSLProxy::SSL_SESSION_free(SSL_SESSION *session) {
+- if (K_SSL_SESSION_free) (K_SSL_SESSION_free)(session);
++void KOpenSSLProxy::SSL_SESSION_free(SSL_SESSION *session)
++{
++ return ::SSL_SESSION_free(session);
+ }
+
+-
+-int KOpenSSLProxy::SSL_set_session(SSL *ssl, SSL_SESSION *session) {
+- if (K_SSL_set_session) return (K_SSL_set_session)(ssl, session);
+- else return -1;
++int KOpenSSLProxy::SSL_set_session(SSL *ssl, SSL_SESSION *session)
++{
++ return ::SSL_set_session(ssl, session);
+ }
+
+-
+-SSL_SESSION *KOpenSSLProxy::d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, long length) {
+- if (K_d2i_SSL_SESSION) return (K_d2i_SSL_SESSION)(a, pp, length);
+- else return 0L;
++SSL_SESSION *KOpenSSLProxy::d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length)
++{
++ return ::d2i_SSL_SESSION(a, pp, length);
+ }
+
+-
+-int KOpenSSLProxy::i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp) {
+- if (K_i2d_SSL_SESSION) return (K_i2d_SSL_SESSION)(in, pp);
+- else return -1;
++int KOpenSSLProxy::i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp)
++{
++ return ::i2d_SSL_SESSION(in, pp);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *p) {
+- if (K_i2d_PrivateKey_fp) return (K_i2d_PrivateKey_fp)(fp, p);
+- else return -1;
++int KOpenSSLProxy::i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *p)
++{
++ return ::i2d_PrivateKey_fp(fp, p);
+ }
+
+-
+-int KOpenSSLProxy::i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *p, const EVP_CIPHER *c, char *k, int klen, pem_password_cb *cb, void *u) {
+- if (K_i2d_PKCS8PrivateKey_fp) return (K_i2d_PKCS8PrivateKey_fp)(fp, p, c, k, klen, cb, u);
+- else return -1;
++int KOpenSSLProxy::i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *p, const EVP_CIPHER *c, char *k, int klen, pem_password_cb *cb, void *u)
++{
++ return ::i2d_PKCS8PrivateKey_fp(fp, p, c, k, klen, cb, u);
+ }
+
+-
+-void KOpenSSLProxy::RSA_free(RSA *rsa) {
+- if (K_RSA_free) (K_RSA_free)(rsa);
++void KOpenSSLProxy::RSA_free(RSA *rsa)
++{
++ return ::RSA_free(rsa);
+ }
+
+-
+-EVP_CIPHER *KOpenSSLProxy::EVP_bf_cbc() {
+- if (K_EVP_bf_cbc) return (K_EVP_bf_cbc)();
+- return 0L;
++const EVP_CIPHER *KOpenSSLProxy::EVP_bf_cbc()
++{
++ return ::EVP_bf_cbc();
+ }
+
+-
+-int KOpenSSLProxy::X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) {
+- if (K_X509_REQ_sign) return (K_X509_REQ_sign)(x, pkey, md);
+- return -1;
++int KOpenSSLProxy::X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
++{
++ return ::X509_REQ_sign(x, pkey, md);
+ }
+
+-
+ int KOpenSSLProxy::X509_NAME_add_entry_by_txt(X509_NAME *name, char *field,
+- int type, unsigned char *bytes, int len, int loc, int set) {
+- if (K_X509_NAME_add_entry_by_txt) return (K_X509_NAME_add_entry_by_txt)(name, field, type, bytes, len, loc, set);
+- return -1;
++ int type, unsigned char *bytes, int len, int loc, int set)
++{
++ return ::X509_NAME_add_entry_by_txt(name, field, type, bytes, len, loc, set);
+ }
+
+-
+-X509_NAME *KOpenSSLProxy::X509_NAME_new() {
+- if (K_X509_NAME_new) return (K_X509_NAME_new)();
+- return 0L;
++X509_NAME *KOpenSSLProxy::X509_NAME_new()
++{
++ return ::X509_NAME_new();
+ }
+
+-
+-int KOpenSSLProxy::X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name) {
+- if (K_X509_REQ_set_subject_name) return (K_X509_REQ_set_subject_name)(req, name);
+- return -1;
++int KOpenSSLProxy::X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name)
++{
++ return ::X509_REQ_set_subject_name(req, name);
+ }
+
+-
+-unsigned char *KOpenSSLProxy::ASN1_STRING_data(ASN1_STRING *x) {
+- if (K_ASN1_STRING_data) return (K_ASN1_STRING_data)(x);
+- return 0L;
++unsigned char *KOpenSSLProxy::ASN1_STRING_data(ASN1_STRING *x)
++{
++ return ::ASN1_STRING_data(x);
+ }
+
+-
+-int KOpenSSLProxy::ASN1_STRING_length(ASN1_STRING *x) {
+- if (K_ASN1_STRING_length) return (K_ASN1_STRING_length)(x);
+- return 0L;
++int KOpenSSLProxy::ASN1_STRING_length(ASN1_STRING *x)
++{
++ return ::ASN1_STRING_length(x);
+ }
+
+-
+-STACK_OF(SSL_CIPHER) *KOpenSSLProxy::SSL_get_ciphers(const SSL* ssl) {
+- if (K_SSL_get_ciphers) return (K_SSL_get_ciphers)(ssl);
+- return 0L;
++STACK_OF(SSL_CIPHER) *KOpenSSLProxy::SSL_get_ciphers(const SSL *ssl)
++{
++ return ::SSL_get_ciphers(ssl);
+ }
+
+ #endif
+-
+--- kdelibs-4.14.26/kio/kssl/kopenssl.h.omv~ 2016-11-14 21:58:51.376629071 +0100
++++ kdelibs-4.14.26/kio/kssl/kopenssl.h 2016-11-14 22:11:08.549870329 +0100
+@@ -16,7 +16,6 @@
+ Boston, MA 02110-1301, USA.
+ */
+
+-
+ // IF YOU ARE USING THIS CLASS, YOU ARE MAKING A MISTAKE.
+
+ #ifndef __KOPENSSLPROXY_H
+@@ -25,11 +24,9 @@
+ #define KOSSL KOpenSSLProxy
+ class KOpenSSLProxyPrivate;
+
+-#include <kio/kio_export.h>
+-
+ #include <ksslconfig.h>
+
+-#ifdef KSSL_HAVE_SSL
++#if KSSL_HAVE_SSL
+ #define crypt _openssl_crypt
+ #include <openssl/ssl.h>
+ #include <openssl/x509.h>
+@@ -62,833 +59,773 @@ class KOpenSSLProxyPrivate;
+ * @short KDE OpenSSL Wrapper
+ * @internal
+ */
+-class KOpenSSLProxy {
++class KOpenSSLProxy
++{
+ public:
+
+- /**
+- * Return an instance of class KOpenSSLProxy *
+- * You cannot delete this object. It is a singleton class.
+- */
+- static KOpenSSLProxy *self();
+-
+- /**
+- * Return true of libcrypto was found and loaded
+- */
+- bool hasLibCrypto() const;
+-
+- /**
+- * Return true of libssl was found and loaded
+- */
+- bool hasLibSSL() const;
+-
+- /**
+- * Destroy the class and start over - don't use this unless you know
+- * what you are doing.
+- */
+- void destroy();
+-
+- // Here are the symbols that we need.
+-#ifdef KSSL_HAVE_SSL
+-
+- /*
+- * SSL_connect - initiate the TLS/SSL handshake with an TLS/SSL server
+- */
+- int SSL_connect(SSL *ssl);
+-
+- /*
+- * SSL_accept - initiate the TLS/SSL handshake with an TLS/SSL server
+- */
+- int SSL_accept(SSL *ssl);
+-
+- /*
+- * SSL_get_error - get the error code
+- */
+- int SSL_get_error(SSL *ssl, int rc);
+-
+- /*
+- * SSL_read - read bytes from a TLS/SSL connection.
+- */
+- int SSL_read(SSL *ssl, void *buf, int num);
+-
+- /*
+- * SSL_write - write bytes to a TLS/SSL connection.
+- */
+- int SSL_write(SSL *ssl, const void *buf, int num);
+-
+- /*
+- * SSL_new - create a new SSL structure for a connection
+- */
+- SSL *SSL_new(SSL_CTX *ctx);
+-
+- /*
+- * SSL_free - free an allocated SSL structure
+- */
+- void SSL_free(SSL *ssl);
+-
+- /*
+- * SSL_shutdown - shutdown an allocated SSL connection
+- */
+- int SSL_shutdown(SSL *ssl);
+-
+- /*
+- * SSL_CTX_new - create a new SSL_CTX object as framework for TLS/SSL enabled functions
+- */
+- SSL_CTX *SSL_CTX_new(SSL_METHOD *method);
+-
+- /*
+- * SSL_CTX_free - free an allocated SSL_CTX object
+- */
+- void SSL_CTX_free(SSL_CTX *ctx);
+-
+- /*
+- * SSL_set_fd - connect the SSL object with a file descriptor
+- */
+- int SSL_set_fd(SSL *ssl, int fd);
+-
+- /*
+- * SSL_pending - obtain number of readable bytes buffered in an SSL object
+- */
+- int SSL_pending(SSL *ssl);
+-
+- /*
+- * SSL_peek - obtain bytes buffered in an SSL object
+- */
+- int SSL_peek(SSL *ssl, void *buf, int num);
+-
+- /*
+- * SSL_CTX_set_cipher_list - choose list of available SSL_CIPHERs
+- */
+- int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str);
+-
+- /*
+- * SSL_CTX_set_verify - set peer certificate verification parameters
+- */
+- void SSL_CTX_set_verify(SSL_CTX *ctx, int mode,
+- int (*verify_callback)(int, X509_STORE_CTX *));
+-
+- /*
+- * SSL_use_certificate - load certificate
+- */
+- int SSL_use_certificate(SSL *ssl, X509 *x);
+-
+- /*
+- * SSL_get_current_cipher - get SSL_CIPHER of a connection
+- */
+- SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);
+-
+- /*
+- * SSL_set_options - manipulate SSL engine options
+- * Note: These are all mapped to SSL_ctrl so call them as the comment
+- * specifies but know that they use SSL_ctrl. They are #define
+- * so they will map to the one in this class if called as a
+- * member function of this class.
+- */
+- /* long SSL_set_options(SSL *ssl, long options); */
+- /* Returns 0 if not reused, 1 if session id is reused */
+- /* int SSL_session_reused(SSL *ssl); */
+- long SSL_ctrl(SSL *ssl,int cmd, long larg, char *parg);
+-
+- /*
+- * RAND_egd - set the path to the EGD
+- */
+- int RAND_egd(const char *path);
+-
+-
+- /*
+- * RAND_file_name
+- */
+- const char *RAND_file_name(char *buf, size_t num);
+-
+-
+- /*
+- * RAND_load_file
+- */
+- int RAND_load_file(const char *filename, long max_bytes);
+-
+-
+- /*
+- * RAND_write_file
+- */
+- int RAND_write_file(const char *filename);
+-
+-
+- /*
+- * TLSv1_client_method - return a TLSv1 client method object
+- */
+- SSL_METHOD *TLSv1_client_method();
+-
+-
+- /*
+- * SSLv23_client_method - return a SSLv23 client method object
+- */
+- SSL_METHOD *SSLv23_client_method();
+-
+-
+- /*
+- * SSL_get_peer_certificate - return the peer's certificate
+- */
+- X509 *SSL_get_peer_certificate(SSL *s);
+-
+-
+- /*
+- * SSL_get_peer_cert_chain - get the peer's certificate chain
+- */
+- STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s);
+-
+- /*
+- * SSL_CIPHER_get_bits - get the number of bits in this cipher
+- */
+- int SSL_CIPHER_get_bits(SSL_CIPHER *c,int *alg_bits);
+-
+-
+- /*
+- * SSL_CIPHER_get_version - get the version of this cipher
+- */
+- char *SSL_CIPHER_get_version(SSL_CIPHER *c);
+-
+-
+- /*
+- * SSL_CIPHER_get_name - get the name of this cipher
+- */
+- const char *SSL_CIPHER_get_name(SSL_CIPHER *c);
+-
+-
+- /*
+- * SSL_CIPHER_description - get the description of this cipher
+- */
+- char *SSL_CIPHER_description(SSL_CIPHER *,char *buf,int size);
+-
+-
+- /*
+- * SSL_CTX_use_PrivateKey - set the private key for the session.
+- * - for use with client certificates
+- */
+- int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
+-
+-
+- /*
+- * SSL_CTX_use_certificate - set the client certificate for the session.
+- */
+- int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
+-
+-
+- /*
+- * d2i_X509 - Convert a text representation of X509 to an X509 object
+- */
+- X509 * d2i_X509(X509 **a,unsigned char **pp,long length);
+-
+-
+- /*
+- * i2d_X509 - Convert an X509 object into a text representation
+- */
+- int i2d_X509(X509 *a,unsigned char **pp);
+-
+-
+- /*
+- * X509_cmp - compare two X509 objects
+- */
+- int X509_cmp(X509 *a, X509 *b);
+-
+-
+- /*
+- * X509_dup - duplicate an X509 object
+- */
+- X509 *X509_dup(X509 *x509);
+-
+-
+- /*
+- * X509_STORE_CTX_new - create an X509 store context
+- */
+- X509_STORE_CTX *X509_STORE_CTX_new(void);
+-
+-
+- /*
+- * X509_STORE_CTX_free - free up an X509 store context
+- */
+- void X509_STORE_CTX_free(X509_STORE_CTX *v);
+-
+-
+- /*
+- * X509_STORE_CTX_set_chain - set the certificate chain
+- */
+- void X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x);
+-
+- /*
+- * X509_STORE_CTX_set_purpose - set the purpose of the certificate
+- */
+- void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
+-
+- /*
+- * X509_verify_cert - verify the certificate
+- */
+- int X509_verify_cert(X509_STORE_CTX *v);
+-
+-
+- /*
+- * X509_STORE_new - create an X509 store
+- */
+- X509_STORE *X509_STORE_new(void);
+-
+-
+- /*
+- * X509_STORE_free - free up an X509 store
+- */
+- void X509_STORE_free(X509_STORE *v);
+-
+-
+- /*
+- * X509_free - free up an X509
+- */
+- void X509_free(X509 *v);
+-
+-
+- /*
+- * X509_NAME_oneline - return the X509 data in a string
+- */
+- char *X509_NAME_oneline(X509_NAME *a, char *buf, int size);
+-
+-
+- /*
+- * X509_get_subject_name - return the X509_NAME for the subject field
+- */
+- X509_NAME *X509_get_subject_name(X509 *a);
+-
+-
+- /*
+- * X509_get_issuer_name - return the X509_NAME for the issuer field
+- */
+- X509_NAME *X509_get_issuer_name(X509 *a);
+-
+-
+- /*
+- * X509_STORE_add_lookup - add a lookup file/method to an X509 store
+- */
+- X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
+-
+-
+- /*
+- * X509_LOOKUP_file - Definition of the LOOKUP_file method
+- */
+- X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
+-
+-
+- /*
+- * X509_LOOKUP_free - Free an X509_LOOKUP
+- */
+- void X509_LOOKUP_free(X509_LOOKUP *x);
+-
+-
+- /*
+- * X509_LOOKUP_ctrl - This is not normally called directly (use macros)
+- */
+- int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret);
+-
+-
+- /*
+- * X509_STORE_CTX_init - initialize an X509 STORE context
+- */
+- void X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain);
+-
+-
+- /*
+- * CRYPTO_free - free up an internally allocated object
+- */
+- void CRYPTO_free(void *x);
+-
+- /*
+- * BIO_new - create new BIO
+- */
+- BIO *BIO_new(BIO_METHOD *type);
+-
+- /*
+- * BIO methods - only one defined here yet
+- */
+- BIO_METHOD *BIO_s_mem(void);
+-
+- /*
+- * BIO_new_fp - nastiness called BIO - used to create BIO* from FILE*
+- */
+- BIO *BIO_new_fp(FILE *stream, int close_flag);
+-
+- /*
+- * BIO_new_mem_buf - read only BIO from memory region
+- */
+- BIO *BIO_new_mem_buf(void *buf, int len);
+-
+- /*
+- * BIO_free - nastiness called BIO - used to destroy BIO*
+- */
+- int BIO_free(BIO *a);
+-
+- /*
+- * BIO_ctrl - BIO control method
+- */
+- long BIO_ctrl(BIO *bp,int cmd,long larg,void *parg);
+-
+- /*
+- * BIO_write - equivalent to ::write for BIO
+- */
+- int BIO_write(BIO *b, const void *data, int len);
+-
+- /*
+- * PEM_write_bio_X509 - write a PEM encoded cert to a BIO*
+- */
+- int PEM_write_bio_X509(BIO *bp, X509 *x);
+-
+- /*
+- * ASN1_item_i2d_fp - used for netscape output
+- */
+- int ASN1_item_i2d_fp(FILE *out, unsigned char *x);
+-
+-
+- /*
+- * ASN1_d2i_fp - read an X509 from a DER encoded file (buf can be NULL)
+- */
+- X509 *X509_d2i_fp(FILE *out, X509** buf);
+-
+-
+- /*
+- * X509_print - print the text form of an X509
+- */
+- int X509_print(FILE *fp, X509 *x);
+-
+-
+- /*
+- * Read a PKCS#12 cert from fp
+- */
+- PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12);
+-
+-
+- /*
+- * Change the password on a PKCS#12 cert
+- */
+- int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass);
+-
+-
+- /*
+- * Write a PKCS#12 to mem
+- */
+- int i2d_PKCS12(PKCS12 *p12, unsigned char **p);
+-
+-
+- /*
+- * Write a PKCS#12 to FILE*
+- */
+- int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12);
+-
+-
+- /*
+- * Create a new PKCS#12 object
+- */
+- PKCS12 *PKCS12_new(void);
+-
+-
+- /*
+- * Destroy that PKCS#12 that you created!
+- */
+- void PKCS12_free(PKCS12 *a);
+-
+-
+- /*
+- * Parse the PKCS#12
+- */
+- int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey,
+- X509 **cert, STACK_OF(X509) **ca);
+-
+-
+- /*
+- * Free the Private Key
+- */
+- void EVP_PKEY_free(EVP_PKEY *x);
+-
+-
+- /*
+- * Pop off the stack
+- */
+- char *sk_pop(STACK *s);
+-
+-
+- /*
+- * Free the stack
+- */
+- void sk_free(STACK *s);
++ /**
++ * Return an instance of class KOpenSSLProxy *
++ * You cannot delete this object. It is a singleton class.
++ */
++ static KOpenSSLProxy *self();
++
++ /**
++ * Return true of libcrypto was found and loaded
++ */
++ bool hasLibCrypto() const;
++
++ /**
++ * Return true of libssl was found and loaded
++ */
++ bool hasLibSSL() const;
++
++ /**
++ * Destroy the class and start over - don't use this unless you know
++ * what you are doing.
++ */
++ void destroy();
++
++ // Here are the symbols that we need.
++#if KSSL_HAVE_SSL
++
++ /*
++ * SSL_connect - initiate the TLS/SSL handshake with an TLS/SSL server
++ */
++ int SSL_connect(SSL *ssl);
++
++ /*
++ * SSL_accept - initiate the TLS/SSL handshake with an TLS/SSL server
++ */
++ int SSL_accept(SSL *ssl);
++
++ /*
++ * SSL_get_error - get the error code
++ */
++ int SSL_get_error(SSL *ssl, int rc);
++
++ /*
++ * SSL_read - read bytes from a TLS/SSL connection.
++ */
++ int SSL_read(SSL *ssl, void *buf, int num);
++
++ /*
++ * SSL_write - write bytes to a TLS/SSL connection.
++ */
++ int SSL_write(SSL *ssl, const void *buf, int num);
++
++ /*
++ * SSL_new - create a new SSL structure for a connection
++ */
++ SSL *SSL_new(SSL_CTX *ctx);
++
++ /*
++ * SSL_free - free an allocated SSL structure
++ */
++ void SSL_free(SSL *ssl);
++
++ /*
++ * SSL_shutdown - shutdown an allocated SSL connection
++ */
++ int SSL_shutdown(SSL *ssl);
++
++ /*
++ * SSL_CTX_new - create a new SSL_CTX object as framework for TLS/SSL enabled functions
++ */
++ SSL_CTX *SSL_CTX_new(const SSL_METHOD *method);
++
++ /*
++ * SSL_CTX_free - free an allocated SSL_CTX object
++ */
++ void SSL_CTX_free(SSL_CTX *ctx);
++
++ /*
++ * SSL_set_fd - connect the SSL object with a file descriptor
++ */
++ int SSL_set_fd(SSL *ssl, int fd);
++
++ /*
++ * SSL_pending - obtain number of readable bytes buffered in an SSL object
++ */
++ int SSL_pending(SSL *ssl);
++
++ /*
++ * SSL_peek - obtain bytes buffered in an SSL object
++ */
++ int SSL_peek(SSL *ssl, void *buf, int num);
++
++ /*
++ * SSL_CTX_set_cipher_list - choose list of available SSL_CIPHERs
++ */
++ int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str);
++
++ /*
++ * SSL_CTX_set_verify - set peer certificate verification parameters
++ */
++ void SSL_CTX_set_verify(SSL_CTX *ctx, int mode,
++ int (*verify_callback)(int, X509_STORE_CTX *));
++
++ /*
++ * SSL_use_certificate - load certificate
++ */
++ int SSL_use_certificate(SSL *ssl, X509 *x);
++
++ /*
++ * SSL_get_current_cipher - get SSL_CIPHER of a connection
++ */
++ const SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);
++
++ /*
++ * SSL_set_options - manipulate SSL engine options
++ * Note: These are all mapped to SSL_ctrl so call them as the comment
++ * specifies but know that they use SSL_ctrl. They are #define
++ * so they will map to the one in this class if called as a
++ * member function of this class.
++ */
++ /* long SSL_set_options(SSL *ssl, long options); */
++ /* Returns 0 if not reused, 1 if session id is reused */
++ /* int SSL_session_reused(SSL *ssl); */
++ long SSL_ctrl(SSL *ssl, int cmd, long larg, char *parg);
++
++ /*
++ * RAND_egd - set the path to the EGD
++ */
++ int RAND_egd(const char *path);
++
++ /*
++ * RAND_file_name
++ */
++ const char *RAND_file_name(char *buf, size_t num);
++
++ /*
++ * RAND_load_file
++ */
++ int RAND_load_file(const char *filename, long max_bytes);
++
++ /*
++ * RAND_write_file
++ */
++ int RAND_write_file(const char *filename);
++
++ /*
++ * TLSv1_client_method - return a TLSv1 client method object
++ */
++ const SSL_METHOD *TLSv1_client_method();
++
++ /*
++ * SSLv23_client_method - return a SSLv23 client method object
++ */
++ const SSL_METHOD *SSLv23_client_method();
++
++ /*
++ * SSL_get_peer_certificate - return the peer's certificate
++ */
++ X509 *SSL_get_peer_certificate(SSL *s);
++
++ /*
++ * SSL_get_peer_cert_chain - get the peer's certificate chain
++ */
++ STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s);
++
++ /*
++ * SSL_CIPHER_get_bits - get the number of bits in this cipher
++ */
++ int SSL_CIPHER_get_bits(SSL_CIPHER *c, int *alg_bits);
++
++ /*
++ * SSL_CIPHER_get_version - get the version of this cipher
++ */
++ const char *SSL_CIPHER_get_version(SSL_CIPHER *c);
++
++ /*
++ * SSL_CIPHER_get_name - get the name of this cipher
++ */
++ const char *SSL_CIPHER_get_name(SSL_CIPHER *c);
++
++ /*
++ * SSL_CIPHER_description - get the description of this cipher
++ */
++ char *SSL_CIPHER_description(SSL_CIPHER *, char *buf, int size);
++
++ /*
++ * SSL_CTX_use_PrivateKey - set the private key for the session.
++ * - for use with client certificates
++ */
++ int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
++
++ /*
++ * SSL_CTX_use_certificate - set the client certificate for the session.
++ */
++ int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
++
++ /*
++ * d2i_X509 - Convert a text representation of X509 to an X509 object
++ */
++ X509 *d2i_X509(X509 **a, const unsigned char **pp, long length);
++
++ /*
++ * i2d_X509 - Convert an X509 object into a text representation
++ */
++ int i2d_X509(X509 *a, unsigned char **pp);
++
++ /*
++ * X509_cmp - compare two X509 objects
++ */
++ int X509_cmp(X509 *a, X509 *b);
++
++ /*
++ * X509_dup - duplicate an X509 object
++ */
++ X509 *X509_dup(X509 *x509);
++
++ /*
++ * X509_STORE_CTX_new - create an X509 store context
++ */
++ X509_STORE_CTX *X509_STORE_CTX_new(void);
++
++ /*
++ * X509_STORE_CTX_free - free up an X509 store context
++ */
++ void X509_STORE_CTX_free(X509_STORE_CTX *v);
++
++ /*
++ * X509_STORE_CTX_set_chain - set the certificate chain
++ */
++ void X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x);
++
++ /*
++ * X509_STORE_CTX_set_purpose - set the purpose of the certificate
++ */
++ void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
++
++ /*
++ * X509_verify_cert - verify the certificate
++ */
++ int X509_verify_cert(X509_STORE_CTX *v);
++
++ /*
++ * X509_STORE_new - create an X509 store
++ */
++ X509_STORE *X509_STORE_new(void);
++
++ /*
++ * X509_STORE_free - free up an X509 store
++ */
++ void X509_STORE_free(X509_STORE *v);
++
++ /*
++ * X509_free - free up an X509
++ */
++ void X509_free(X509 *v);
++
++ /*
++ * X509_NAME_oneline - return the X509 data in a string
++ */
++ char *X509_NAME_oneline(X509_NAME *a, char *buf, int size);
++
++ /*
++ * X509_get_subject_name - return the X509_NAME for the subject field
++ */
++ X509_NAME *X509_get_subject_name(X509 *a);
++
++ /*
++ * X509_get_issuer_name - return the X509_NAME for the issuer field
++ */
++ X509_NAME *X509_get_issuer_name(X509 *a);
++
++ /*
++ * X509_STORE_add_lookup - add a lookup file/method to an X509 store
++ */
++ X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
++
++ /*
++ * X509_LOOKUP_file - Definition of the LOOKUP_file method
++ */
++ X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
++
++ /*
++ * X509_LOOKUP_free - Free an X509_LOOKUP
++ */
++ void X509_LOOKUP_free(X509_LOOKUP *x);
++
++ /*
++ * X509_LOOKUP_ctrl - This is not normally called directly (use macros)
++ */
++ int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret);
++
++ /*
++ * X509_STORE_CTX_init - initialize an X509 STORE context
++ */
++ void X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain);
++
++ /*
++ * CRYPTO_free - free up an internally allocated object
++ */
++ void CRYPTO_free(void *x);
++
++ /*
++ * BIO_new - create new BIO
++ */
++ BIO *BIO_new(BIO_METHOD *type);
++
++ /*
++ * BIO methods - only one defined here yet
++ */
++ const BIO_METHOD *BIO_s_mem(void);
++
++ /*
++ * BIO_new_fp - nastiness called BIO - used to create BIO* from FILE*
++ */
++ BIO *BIO_new_fp(FILE *stream, int close_flag);
++
++ /*
++ * BIO_new_mem_buf - read only BIO from memory region
++ */
++ BIO *BIO_new_mem_buf(void *buf, int len);
++
++ /*
++ * BIO_free - nastiness called BIO - used to destroy BIO*
++ */
++ int BIO_free(BIO *a);
++
++ /*
++ * BIO_ctrl - BIO control method
++ */
++ long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg);
++
++ /*
++ * BIO_write - equivalent to ::write for BIO
++ */
++ int BIO_write(BIO *b, const void *data, int len);
++
++ /*
++ * PEM_write_bio_X509 - write a PEM encoded cert to a BIO*
++ */
++ int PEM_write_bio_X509(BIO *bp, X509 *x);
++
++ /*
++ * ASN1_d2i_fp - read an X509 from a DER encoded file (buf can be NULL)
++ */
++ X509 *X509_d2i_fp(FILE *out, X509 **buf);
++
++ /*
++ * X509_print - print the text form of an X509
++ */
++ int X509_print(FILE *fp, X509 *x);
++
++ /*
++ * Read a PKCS#12 cert from fp
++ */
++ PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12);
++
++ /*
++ * Change the password on a PKCS#12 cert
++ */
++ int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass);
++
++ /*
++ * Write a PKCS#12 to mem
++ */
++ int i2d_PKCS12(PKCS12 *p12, unsigned char **p);
++
++ /*
++ * Write a PKCS#12 to FILE*
++ */
++ int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12);
++
++ /*
++ * Create a new PKCS#12 object
++ */
++ PKCS12 *PKCS12_new(void);
++
++ /*
++ * Destroy that PKCS#12 that you created!
++ */
++ void PKCS12_free(PKCS12 *a);
++
++ /*
++ * Parse the PKCS#12
++ */
++ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey,
++ X509 **cert, STACK_OF(X509) **ca);
++
++ /*
++ * Free the Private Key
++ */
++ void EVP_PKEY_free(EVP_PKEY *x);
++
++ /*
++ * Pop off the stack
++ */
++ char *sk_pop(STACK *s);
++
++ /*
++ * Free the stack
++ */
++ void sk_free(STACK *s);
+
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+- void sk_free(void *s) { return sk_free(reinterpret_cast<STACK*>(s)); }
++ void sk_free(void *s)
++ {
++ return sk_free(reinterpret_cast<STACK *>(s));
++ }
+ #endif
+
+- /*
+- * Number of elements in the stack
+- */
+- int sk_num(STACK *s);
+-
+-
+- /*
+- * Value of element n in the stack
+- */
+- char *sk_value(STACK *s, int n);
++ /*
++ * Number of elements in the stack
++ */
++ int sk_num(STACK *s);
++
++ /*
++ * Value of element n in the stack
++ */
++ char *sk_value(STACK *s, int n);
+
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+- char *sk_value(void *s, int n) { return sk_value(reinterpret_cast<STACK*>(s), n); }
++ char *sk_value(void *s, int n)
++ {
++ return sk_value(reinterpret_cast<STACK *>(s), n);
++ }
+ #endif
+
+- /*
+- * Create a new stack
+- */
+- STACK *sk_new(int (*cmp)());
+-
+-
+- /*
+- * Add an element to the stack
+- */
+- int sk_push(STACK *s, char *d);
++ /*
++ * Create a new stack
++ */
++ STACK *sk_new(OPENSSL_sk_compfunc cmp);
++
++ /*
++ * Add an element to the stack
++ */
++ int sk_push(STACK *s, char *d);
+
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+- int sk_push(void *s, void *d) { return sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); }
++ int sk_push(void *s, void *d)
++ {
++ return sk_push(reinterpret_cast<STACK *>(s), reinterpret_cast<char *>(d));
++ }
+ #endif
+
++ /*
++ * Duplicate the stack
++ */
++ STACK *sk_dup(STACK *s);
++
++ /*
++ * Convert an ASN1_INTEGER to its text form
++ */
++ char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint);
++
++ /*
++ * Get the certificate's serial number
++ */
++ ASN1_INTEGER *X509_get_serialNumber(X509 *x);
++
++ /*
++ * Get the certificate's public key
++ */
++ EVP_PKEY *X509_get_pubkey(X509 *x);
++
++ /*
++ * Convert the public key to a decimal form
++ */
++ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp);
++
++ /*
++ * Check the private key of a PKCS bundle against the X509
++ */
++ int X509_check_private_key(X509 *x, EVP_PKEY *p);
++
++ /*
++ * Convert a BIGNUM to a hex string
++ */
++ char *BN_bn2hex(const BIGNUM *a);
++
++ /*
++ * Compute the digest of an X.509
++ */
++ int X509_digest(const X509 *x, const EVP_MD *t, unsigned char *md, unsigned int *len);
++
++ /*
++ * EVP_md5
++ */
++ const EVP_MD *EVP_md5();
++
++ /*
++ * ASN1_INTEGER free
++ */
++ void ASN1_INTEGER_free(ASN1_INTEGER *x);
++
++ /*
++ * ASN1_STRING_data
++ */
++ unsigned char *ASN1_STRING_data(ASN1_STRING *x);
++
++ /*
++ * ASN1_STRING_length
++ */
++ int ASN1_STRING_length(ASN1_STRING *x);
++
++ /*
++ *
++ */
++ int OBJ_obj2nid(ASN1_OBJECT *o);
++
++ /*
++ *
++ */
++ const char *OBJ_nid2ln(int n);
++
++ /*
++ * get the number of extensions
++ */
++ int X509_get_ext_count(X509 *x);
++
++ /*
++ *
++ */
++ int X509_get_ext_by_NID(X509 *x, int nid, int lastpos);
++
++ /*
++ *
++ */
++ int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos);
++
++ /*
++ *
++ */
++ X509_EXTENSION *X509_get_ext(X509 *x, int loc);
++
++ /*
++ *
++ */
++ X509_EXTENSION *X509_delete_ext(X509 *x, int loc);
++
++ /*
++ *
++ */
++ int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc);
++
++ /*
++ *
++ */
++ void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx);
++
++ /*
++ *
++ */
++ char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
++
++ /*
++ *
++ */
++ int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n);
++
++ /*
++ *
++ */
++ PKCS7 *PKCS7_new(void);
++
++ /*
++ *
++ */
++ void PKCS7_free(PKCS7 *a);
++
++ /*
++ *
++ */
++ void PKCS7_content_free(PKCS7 *a);
++
++ /*
++ *
++ */
++ int i2d_PKCS7(PKCS7 *a, unsigned char **pp);
++
++ /*
++ *
++ */
++ PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **pp, long length);
++
++ /*
++ *
++ */
++ int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7);
++
++ /*
++ *
++ */
++ PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7);
++
++ /*
++ *
++ */
++ int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7);
++
++ /*
++ *
++ */
++ PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7);
++
++ /*
++ *
++ */
++ PKCS7 *PKCS7_dup(PKCS7 *p7);
++
++ /*
++ * Create a PKCS7 signature / signed message
++ */
++ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
++ BIO *data, int flags);
++
++ /*
++ * Verify a PKCS7 signature.
++ */
++ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
++ BIO *indata, BIO *out, int flags);
++
++ /*
++ * Get signers of a verified PKCS7 signature
++ */
++ STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags);
++
++ /*
++ * PKCS7 encrypt message
++ */
++ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher,
++ int flags);
++
++ /*
++ * decrypt PKCS7 message
++ */
++ int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags);
++
++ /*
++ * Load a CA list file.
++ */
++ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
++
++ /*
++ * Load a file of PEM encoded objects.
++ */
++ STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
++ pem_password_cb *cb, void *u);
++
++ /*
++ * Get the number of purposes available
++ */
++ int X509_PURPOSE_get_count();
++
++ /*
++ * Get the ID of a purpose
++ */
++ int X509_PURPOSE_get_id(X509_PURPOSE *);
++
++ /*
++ * Check the existence of purpose id "id" in x. for CA, set ca = 1, else 0
++ */
++ int X509_check_purpose(X509 *x, int id, int ca);
++
++ /*
++ * Get the purpose with index #idx
++ */
++ X509_PURPOSE *X509_PURPOSE_get0(int idx);
++
++ /*
++ * Create a new Private KEY
++ */
++ EVP_PKEY *EVP_PKEY_new();
++
++ /*
++ * Assign a private key
++ */
++ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key);
++
++ /*
++ * Generate a RSA key
++ */
++ RSA *RSA_generate_key(int bits, unsigned long e, void
++ (*callback)(int, int, void *), void *cb_arg);
++
++ /*
++ * Create/destroy a certificate request
++ */
++ X509_REQ *X509_REQ_new();
++ void X509_REQ_free(X509_REQ *a);
++
++ /*
++ * Set the public key in the REQ object
++ */
++ int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
++
++ /* for testing */
++ int i2d_X509_REQ_fp(FILE *fp, X509_REQ *x);
++
++ /* SMime support */
++ STACK *X509_get1_email(X509 *x);
++ void X509_email_free(STACK *sk);
++
++ /* Ciphers needed for SMime */
++ const EVP_CIPHER *EVP_des_ede3_cbc();
++ const EVP_CIPHER *EVP_des_cbc();
++ const EVP_CIPHER *EVP_rc2_cbc();
++ const EVP_CIPHER *EVP_rc2_64_cbc();
++ const EVP_CIPHER *EVP_rc2_40_cbc();
++
++ /* clear the current error - use this often*/
++ void ERR_clear_error();
++
++ /* retrieve the latest error */
++ unsigned long ERR_get_error();
++
++ /* Print the errors to this stream */
++ void ERR_print_errors_fp(FILE *fp);
++
++ /* Get a pointer to the SSL session id (reference counted) */
++ SSL_SESSION *SSL_get1_session(SSL *ssl);
++
++ /* Frees a pointer to the SSL session id (reference decremented if needed) */
++ void SSL_SESSION_free(SSL_SESSION *session);
++
++ /* Set the SSL session to reuse. */
++ int SSL_set_session(SSL *ssl, SSL_SESSION *session);
++
++ /* Decode ASN.1 to SSL_SESSION */
++ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
++ /* Encode SSL_SESSION to ASN.1 */
++ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
++
++ /* Write privatekey to FILE stream */
++ int i2d_PrivateKey_fp(FILE *, EVP_PKEY *);
++
++ /* Write PKCS#8privatekey to FILE stream */
++ int i2d_PKCS8PrivateKey_fp(FILE *, EVP_PKEY *, const EVP_CIPHER *, char *, int, pem_password_cb *, void *);
++
++ /* Free RSA structure */
++ void RSA_free(RSA *);
++
++ /* Get a blowfish CBC pointer */
++ const EVP_CIPHER *EVP_bf_cbc();
++
++ /* Sign a CSR */
++ int X509_REQ_sign(X509_REQ *, EVP_PKEY *, const EVP_MD *);
++
++ /* add a name entry */
++ int X509_NAME_add_entry_by_txt(X509_NAME *, char *, int, unsigned char *, int, int, int);
+
+- /*
+- * Duplicate the stack
+- */
+- STACK *sk_dup(STACK *s);
+-
+-
+- /*
+- * Convert an ASN1_INTEGER to its text form
+- */
+- char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint);
+-
+-
+- /*
+- * Get the certificate's serial number
+- */
+- ASN1_INTEGER *X509_get_serialNumber(X509 *x);
+-
+-
+- /*
+- * Get the certificate's public key
+- */
+- EVP_PKEY *X509_get_pubkey(X509 *x);
+-
+-
+- /*
+- * Convert the public key to a decimal form
+- */
+- int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp);
+-
+-
+- /*
+- * Check the private key of a PKCS bundle against the X509
+- */
+- int X509_check_private_key(X509 *x, EVP_PKEY *p);
+-
+-
+- /*
+- * Convert a BIGNUM to a hex string
+- */
+- char *BN_bn2hex(const BIGNUM *a);
+-
+-
+- /*
+- * Compute the digest of an X.509
+- */
+- int X509_digest(const X509 *x,const EVP_MD *t, unsigned char *md, unsigned int *len);
+-
+-
+- /*
+- * EVP_md5
+- */
+- EVP_MD *EVP_md5();
+-
+-
+- /*
+- * ASN1_INTEGER free
+- */
+- void ASN1_INTEGER_free(ASN1_INTEGER *x);
+-
+-
+- /*
+- * ASN1_STRING_data
+- */
+- unsigned char *ASN1_STRING_data(ASN1_STRING *x);
+-
+- /*
+- * ASN1_STRING_length
+- */
+- int ASN1_STRING_length(ASN1_STRING *x);
+-
+- /*
+- *
+- */
+- int OBJ_obj2nid(ASN1_OBJECT *o);
+-
+- /*
+- *
+- */
+- const char * OBJ_nid2ln(int n);
+-
+- /*
+- * get the number of extensions
+- */
+- int X509_get_ext_count(X509 *x);
+-
+- /*
+- *
+- */
+- int X509_get_ext_by_NID(X509 *x, int nid, int lastpos);
+-
+- /*
+- *
+- */
+- int X509_get_ext_by_OBJ(X509 *x,ASN1_OBJECT *obj,int lastpos);
+-
+- /*
+- *
+- */
+- X509_EXTENSION *X509_get_ext(X509 *x, int loc);
+-
+- /*
+- *
+- */
+- X509_EXTENSION *X509_delete_ext(X509 *x, int loc);
+-
+- /*
+- *
+- */
+- int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc);
+-
+- /*
+- *
+- */
+- void *X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx);
+-
+- /*
+- *
+- */
+- char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
+-
+- /*
+- *
+- */
+- int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n);
+-
+- /*
+- *
+- */
+- PKCS7 *PKCS7_new(void);
+-
+- /*
+- *
+- */
+- void PKCS7_free(PKCS7 *a);
+-
+- /*
+- *
+- */
+- void PKCS7_content_free(PKCS7 *a);
+-
+- /*
+- *
+- */
+- int i2d_PKCS7(PKCS7 *a, unsigned char **pp);
+-
+- /*
+- *
+- */
+- PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp,long length);
+-
+- /*
+- *
+- */
+- int i2d_PKCS7_fp(FILE *fp,PKCS7 *p7);
+-
+- /*
+- *
+- */
+- PKCS7 *d2i_PKCS7_fp(FILE *fp,PKCS7 **p7);
+-
+- /*
+- *
+- */
+- int i2d_PKCS7_bio(BIO *bp,PKCS7 *p7);
+-
+- /*
+- *
+- */
+- PKCS7 *d2i_PKCS7_bio(BIO *bp,PKCS7 **p7);
+-
+- /*
+- *
+- */
+- PKCS7 *PKCS7_dup(PKCS7 *p7);
+-
+- /*
+- * Create a PKCS7 signature / signed message
+- */
+- PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
+- BIO *data, int flags);
+-
+- /*
+- * Verify a PKCS7 signature.
+- */
+- int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
+- BIO *indata, BIO *out, int flags);
+-
+- /*
+- * Get signers of a verified PKCS7 signature
+- */
+- STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags);
+-
+- /*
+- * PKCS7 encrypt message
+- */
+- PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher,
+- int flags);
+-
+- /*
+- * decrypt PKCS7 message
+- */
+- int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags);
+-
+-
+- /*
+- * Load a CA list file.
+- */
+- STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
+-
+- /*
+- * Load a file of PEM encoded objects.
+- */
+- STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
+- pem_password_cb *cb, void *u);
+-
+- /*
+- * Get the number of purposes available
+- */
+- int X509_PURPOSE_get_count();
+-
+-
+- /*
+- * Get the ID of a purpose
+- */
+- int X509_PURPOSE_get_id(X509_PURPOSE *);
+-
+-
+- /*
+- * Check the existence of purpose id "id" in x. for CA, set ca = 1, else 0
+- */
+- int X509_check_purpose(X509 *x, int id, int ca);
+-
+-
+- /*
+- * Get the purpose with index #idx
+- */
+- X509_PURPOSE * X509_PURPOSE_get0(int idx);
+-
+-
+- /*
+- * Create a new Private KEY
+- */
+- EVP_PKEY* EVP_PKEY_new();
+-
+-
+- /*
+- * Assign a private key
+- */
+- int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key);
+-
+-
+- /*
+- * Generate a RSA key
+- */
+- RSA *RSA_generate_key(int bits, unsigned long e, void
+- (*callback)(int,int,void *), void *cb_arg);
+-
+-
+- /*
+- * Create/destroy a certificate request
+- */
+- X509_REQ *X509_REQ_new();
+- void X509_REQ_free(X509_REQ *a);
+-
+-
+- /*
+- * Set the public key in the REQ object
+- */
+- int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
+-
+- /* for testing */
+- int i2d_X509_REQ_fp(FILE *fp, X509_REQ *x);
+-
+- /* SMime support */
+- STACK *X509_get1_email(X509 *x);
+- void X509_email_free(STACK *sk);
+-
+- /* Ciphers needed for SMime */
+- EVP_CIPHER *EVP_des_ede3_cbc();
+- EVP_CIPHER *EVP_des_cbc();
+- EVP_CIPHER *EVP_rc2_cbc();
+- EVP_CIPHER *EVP_rc2_64_cbc();
+- EVP_CIPHER *EVP_rc2_40_cbc();
+-
+- /* clear the current error - use this often*/
+- void ERR_clear_error();
+-
+- /* retrieve the latest error */
+- unsigned long ERR_get_error();
+-
+- /* Print the errors to this stream */
+- void ERR_print_errors_fp(FILE *fp);
+-
+- /* Get a pointer to the SSL session id (reference counted) */
+- SSL_SESSION *SSL_get1_session(SSL *ssl);
+-
+- /* Frees a pointer to the SSL session id (reference decremented if needed) */
+- void SSL_SESSION_free(SSL_SESSION *session);
+-
+- /* Set the SSL session to reuse. */
+- int SSL_set_session(SSL *ssl, SSL_SESSION *session);
+-
+- /* Decode ASN.1 to SSL_SESSION */
+- SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, long length);
+- /* Encode SSL_SESSION to ASN.1 */
+- int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
+-
+- /* Write privatekey to FILE stream */
+- int i2d_PrivateKey_fp(FILE*, EVP_PKEY*);
+-
+- /* Write PKCS#8privatekey to FILE stream */
+- int i2d_PKCS8PrivateKey_fp(FILE*, EVP_PKEY*, const EVP_CIPHER*, char*, int, pem_password_cb*, void*);
+-
+- /* Free RSA structure */
+- void RSA_free(RSA*);
+-
+- /* Get a blowfish CBC pointer */
+- EVP_CIPHER *EVP_bf_cbc();
+-
+- /* Sign a CSR */
+- int X509_REQ_sign(X509_REQ*, EVP_PKEY*, const EVP_MD*);
+-
+- /* add a name entry */
+- int X509_NAME_add_entry_by_txt(X509_NAME*, char*, int, unsigned char*, int, int, int);
+-
+- /* Create a name */
+- X509_NAME *X509_NAME_new();
++ /* Create a name */
++ X509_NAME *X509_NAME_new();
+
+- /* Set the subject */
+- int X509_REQ_set_subject_name(X509_REQ*,X509_NAME*);
++ /* Set the subject */
++ int X509_REQ_set_subject_name(X509_REQ *, X509_NAME *);
+
+- /* get list of available SSL_CIPHER's sorted by preference */
+- STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL* ssl);
++ /* get list of available SSL_CIPHER's sorted by preference */
++ STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *ssl);
+
+ #endif
+
+ private:
+- friend class KOpenSSLProxyPrivate;
+- KOpenSSLProxy();
+- ~KOpenSSLProxy();
+- KOpenSSLProxyPrivate * const d;
++ friend class KOpenSSLProxyPrivate;
++ KOpenSSLProxy();
++ ~KOpenSSLProxy();
++ KOpenSSLProxyPrivate *const d;
+ };
+
+ #endif
+--- kdelibs-4.14.26/kio/kssl/ksslcallback.c.omv~ 2016-11-14 21:58:51.376629071 +0100
++++ kdelibs-4.14.26/kio/kssl/ksslcallback.c 2016-11-14 22:35:01.105257670 +0100
+@@ -28,7 +28,7 @@ bool KSSL_X509CallBack_ca_found;
+ extern "C" {
+ static int X509Callback(int ok, X509_STORE_CTX *ctx) {
+
+- kDebug(7029) << "X509Callback: ok = " << ok << " error = " << ctx->error << " depth = " << ctx->error_depth;
++ //kDebug(7029) << "X509Callback: ok = " << ok << " error = " << ctx->error << " depth = " << ctx->error_depth;
+ // Here is how this works. We put "ok = 1;" in any case that we
+ // don't consider to be an error. In that case, it will return OK
+ // for the certificate check as long as there are no other critical
+@@ -39,14 +39,14 @@ static int X509Callback(int ok, X509_STO
+
+ if (KSSL_X509CallBack_ca)
+ {
+- if (KOSSL::self()->X509_cmp(ctx->current_cert, KSSL_X509CallBack_ca) != 0)
++ if (KOSSL::self()->X509_cmp(X509_STORE_CTX_get0_cert(ctx), KSSL_X509CallBack_ca) != 0)
+ return 1; // Ignore errors for this certificate
+
+ KSSL_X509CallBack_ca_found = true;
+ }
+
+ if (!ok) {
+- switch (ctx->error) {
++ switch (X509_STORE_CTX_get_error(ctx)) {
+ case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
+ case X509_V_ERR_UNABLE_TO_GET_CRL:
+ case X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE:
+--- kdelibs-4.14.26/kio/kssl/ksslcertchain.cpp.omv~ 2016-11-14 21:58:51.376629071 +0100
++++ kdelibs-4.14.26/kio/kssl/ksslcertchain.cpp 2016-11-14 22:06:34.088906036 +0100
+@@ -44,16 +44,6 @@
+ #include <kdebug.h>
+ #include <QtCore/QStringList>
+
+-#ifdef KSSL_HAVE_SSL
+-#define sk_new d->kossl->sk_new
+-#define sk_push d->kossl->sk_push
+-#define sk_free d->kossl->sk_free
+-#define sk_value d->kossl->sk_value
+-#define sk_num d->kossl->sk_num
+-#define sk_dup d->kossl->sk_dup
+-#define sk_pop d->kossl->sk_pop
+-#endif
+-
+ class KSSLCertChainPrivate {
+ public:
+ KSSLCertChainPrivate() {
+--- kdelibs-4.14.26/kio/kssl/ksslcertificate.cpp.omv~ 2016-11-07 00:11:51.000000000 +0100
++++ kdelibs-4.14.26/kio/kssl/ksslcertificate.cpp 2016-11-14 22:36:42.514225601 +0100
+@@ -150,7 +150,7 @@ KSSLCertificate *KSSLCertificate::fromSt
+ }
+
+ QByteArray qba = QByteArray::fromBase64(cert);
+- unsigned char *qbap = reinterpret_cast<unsigned char *>(qba.data());
++ const unsigned char *qbap = reinterpret_cast<unsigned char *>(qba.data());
+ X509 *x5c = KOSSL::self()->d2i_X509(NULL, &qbap, qba.size());
+ if (!x5c) {
+ return NULL;
+@@ -173,7 +173,7 @@ QString KSSLCertificate::getSubject() co
+ return rc;
+ }
+ rc = t;
+- d->kossl->OPENSSL_free(t);
++ OPENSSL_free(t);
+ #endif
+ return rc;
+ }
+@@ -200,14 +200,19 @@ QString KSSLCertificate::getSignatureTex
+ char *s;
+ int n, i;
+
+- i = d->kossl->OBJ_obj2nid(d->m_cert->sig_alg->algorithm);
++ i = X509_get_signature_nid(d->m_cert);
+ rc = i18n("Signature Algorithm: ");
+ rc += (i == NID_undef)?i18n("Unknown"):QString(d->kossl->OBJ_nid2ln(i));
+
+ rc += '\n';
+ rc += i18n("Signature Contents:");
+- n = d->m_cert->signature->length;
+- s = (char *)d->m_cert->signature->data;
++
++ const ASN1_BIT_STRING *sig;
++ const X509_ALGOR *alg;
++ X509_get0_signature(&sig, &alg, d->m_cert);
++ n = sig->length;
++ s = (char*)sig->data;
++
+ for (i = 0; i < n; ++i) {
+ if (i%20 != 0) {
+ rc += ':';
+@@ -234,7 +239,7 @@ void KSSLCertificate::getEmails(QStringL
+
+ STACK *s = d->kossl->X509_get1_email(d->m_cert);
+ if (s) {
+- for(int n=0; n < s->num; n++) {
++ for(int n=0; n < OPENSSL_sk_num(s); n++) {
+ to.append(d->kossl->sk_value(s,n));
+ }
+ d->kossl->X509_email_free(s);
+@@ -317,13 +322,13 @@ QString rc = "";
+ EVP_PKEY *pkey = d->kossl->X509_get_pubkey(d->m_cert);
+ if (pkey) {
+ #ifndef NO_RSA
+- if (pkey->type == EVP_PKEY_RSA) {
++ if (EVP_PKEY_id(pkey) == EVP_PKEY_RSA) {
+ rc = "RSA";
+ }
+ else
+ #endif
+ #ifndef NO_DSA
+- if (pkey->type == EVP_PKEY_DSA) {
++ if (EVP_PKEY_id(pkey) == EVP_PKEY_DSA) {
+ rc = "DSA";
+ }
+ else
+@@ -347,8 +352,10 @@ char *x = NULL;
+ if (pkey) {
+ rc = i18nc("Unknown", "Unknown key algorithm");
+ #ifndef NO_RSA
+- if (pkey->type == EVP_PKEY_RSA) {
+- x = d->kossl->BN_bn2hex(pkey->pkey.rsa->n);
++ if (EVP_PKEY_id(pkey) == EVP_PKEY_RSA) {
++ const BIGNUM *n, *e;
++ RSA_get0_key(EVP_PKEY_get1_RSA(pkey), &n, &e, NULL);
++ x = d->kossl->BN_bn2hex(n);
+ rc = i18n("Key type: RSA (%1 bit)", strlen(x)*4) + '\n';
+
+ rc += i18n("Modulus: ");
+@@ -362,17 +369,19 @@ char *x = NULL;
+ rc += x[i];
+ }
+ rc += '\n';
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+
+- x = d->kossl->BN_bn2hex(pkey->pkey.rsa->e);
++ x = d->kossl->BN_bn2hex(e);
+ rc += i18n("Exponent: 0x") + QLatin1String(x) +
+ QLatin1String("\n");
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+ }
+ #endif
+ #ifndef NO_DSA
+- if (pkey->type == EVP_PKEY_DSA) {
+- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->p);
++ if (EVP_PKEY_id(pkey) == EVP_PKEY_DSA) {
++ const BIGNUM *p, *q, *g;
++ DSA_get0_pqg(EVP_PKEY_get1_DSA(pkey), &p, &q, &g);
++ x = d->kossl->BN_bn2hex(p);
+ // hack - this may not be always accurate
+ rc = i18n("Key type: DSA (%1 bit)", strlen(x)*4) + '\n';
+
+@@ -387,9 +396,9 @@ char *x = NULL;
+ rc += x[i];
+ }
+ rc += '\n';
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+
+- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->q);
++ x = d->kossl->BN_bn2hex(q);
+ rc += i18n("160 bit prime factor: ");
+ for (unsigned int i = 0; i < strlen(x); i++) {
+ if (i%40 != 0 && i%2 == 0) {
+@@ -401,9 +410,9 @@ char *x = NULL;
+ rc += x[i];
+ }
+ rc += '\n';
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+
+- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->g);
++ x = d->kossl->BN_bn2hex(g);
+ rc += QString("g: ");
+ for (unsigned int i = 0; i < strlen(x); i++) {
+ if (i%40 != 0 && i%2 == 0) {
+@@ -415,9 +424,11 @@ char *x = NULL;
+ rc += x[i];
+ }
+ rc += '\n';
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+
+- x = d->kossl->BN_bn2hex(pkey->pkey.dsa->pub_key);
++ const BIGNUM *pub;
++ DSA_get0_key(EVP_PKEY_get1_DSA(pkey), &pub, NULL);
++ x = d->kossl->BN_bn2hex(pub);
+ rc += i18n("Public key: ");
+ for (unsigned int i = 0; i < strlen(x); i++) {
+ if (i%40 != 0 && i%2 == 0) {
+@@ -429,7 +440,7 @@ char *x = NULL;
+ rc += x[i];
+ }
+ rc += '\n';
+- d->kossl->OPENSSL_free(x);
++ ::OPENSSL_free(x);
+ }
+ #endif
+ d->kossl->EVP_PKEY_free(pkey);
+@@ -452,7 +463,7 @@ QString rc = "";
+ }
+
+ rc = t;
+- d->kossl->OPENSSL_free(t);
++ OPENSSL_free(t);
+ #endif
+
+ return rc;
+@@ -724,9 +735,9 @@ KSSLCertificate::KSSLValidationList KSSL
+ KSSL_X509CallBack_ca = ca ? ca->d->m_cert : 0;
+ KSSL_X509CallBack_ca_found = false;
+
+- certStoreCTX->error = X509_V_OK;
++ X509_STORE_CTX_set_error(certStoreCTX, X509_V_OK);
+ rc = d->kossl->X509_verify_cert(certStoreCTX);
+- int errcode = certStoreCTX->error;
++ int errcode = X509_STORE_CTX_get_error(certStoreCTX);
+ if (ca && !KSSL_X509CallBack_ca_found) {
+ ksslv = KSSLCertificate::Irrelevant;
+ } else {
+@@ -739,9 +750,9 @@ KSSLCertificate::KSSLValidationList KSSL
+ d->kossl->X509_STORE_CTX_set_purpose(certStoreCTX,
+ X509_PURPOSE_NS_SSL_SERVER);
+
+- certStoreCTX->error = X509_V_OK;
++ X509_STORE_CTX_set_error(certStoreCTX, X509_V_OK);
+ rc = d->kossl->X509_verify_cert(certStoreCTX);
+- errcode = certStoreCTX->error;
++ errcode = X509_STORE_CTX_get_error(certStoreCTX);
+ ksslv = processError(errcode);
+ }
+ d->kossl->X509_STORE_CTX_free(certStoreCTX);
+@@ -1210,7 +1221,7 @@ typedef struct NETSCAPE_X509_st
+ // what a piece of crap this is
+ QByteArray KSSLCertificate::toNetscape() {
+ QByteArray qba;
+-#ifdef KSSL_HAVE_SSL
++#if defined(KSSL_HAVE_SSL) && OPENSSL_VERSION_NUMBER < 0x01001000L
+ NETSCAPE_X509 nx;
+ ASN1_OCTET_STRING hdr;
+ KTemporaryFile ktf;
+@@ -1262,7 +1273,7 @@ bool KSSLCertificate::setCert(const QStr
+ #ifdef KSSL_HAVE_SSL
+ QByteArray qba, qbb = cert.toLocal8Bit();
+ qba = QByteArray::fromBase64(qbb);
+- unsigned char *qbap = reinterpret_cast<unsigned char *>(qba.data());
++ const unsigned char *qbap = reinterpret_cast<const unsigned char *>(qba.data());
+ X509 *x5c = KOSSL::self()->d2i_X509(NULL, &qbap, qba.size());
+ if (x5c) {
+ setCert(x5c);
+@@ -1293,7 +1304,7 @@ QStringList KSSLCertificate::subjAltName
+ return rc;
+ }
+
+- int cnt = d->kossl->sk_GENERAL_NAME_num(names);
++ int cnt = sk_GENERAL_NAME_num(names);
+
+ for (int i = 0; i < cnt; i++) {
+ const GENERAL_NAME *val = (const GENERAL_NAME *)d->kossl->sk_value(names, i);
+--- kdelibs-4.14.26/kio/kssl/kssl.cpp.omv~ 2016-11-14 21:58:51.377629047 +0100
++++ kdelibs-4.14.26/kio/kssl/kssl.cpp 2016-11-14 22:12:02.469660694 +0100
+@@ -70,7 +70,7 @@ public:
+ #ifdef KSSL_HAVE_SSL
+ SSL *m_ssl;
+ SSL_CTX *m_ctx;
+- SSL_METHOD *m_meth;
++ const SSL_METHOD *m_meth;
+ #endif
+ KOSSL *kossl;
+ };
+--- kdelibs-4.14.26/kio/kssl/ksslutils.cpp.omv~ 2016-11-14 21:58:51.377629047 +0100
++++ kdelibs-4.14.26/kio/kssl/ksslutils.cpp 2016-11-14 22:37:20.481117236 +0100
+@@ -84,7 +84,7 @@ QString ASN1_UTCTIME_QString(ASN1_UTCTIM
+ QString ASN1_INTEGER_QString(ASN1_INTEGER *aint) {
+ char *rep = KOSSL::self()->i2s_ASN1_INTEGER(NULL, aint);
+ QString yy = rep;
+-KOSSL::self()->OPENSSL_free(rep);
++::OPENSSL_free(rep);
+ return yy;
+ }
+
diff --git a/testing/source/vtown/kde/patch/kdelibs/kdelibs.2c3762feddf7e66cf6b64d9058f625a715694a00.patch b/testing/source/vtown/kde/patch/kdelibs/kdelibs.2c3762feddf7e66cf6b64d9058f625a715694a00.patch
new file mode 100644
index 00000000..58afcaae
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kdelibs.2c3762feddf7e66cf6b64d9058f625a715694a00.patch
@@ -0,0 +1,112 @@
+From 2c3762feddf7e66cf6b64d9058f625a715694a00 Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Wed, 7 Aug 2019 09:47:46 +0200
+Subject: Security: remove support for $(...) in config keys with [$e] marker.
+
+It is very unclear at this point what a valid use case for this feature
+would possibly be. The old documentation only mentions $(hostname) as
+an example, which can be done with $HOSTNAME instead.
+
+Note that $(...) is still supported in Exec lines of desktop files,
+this does not require [$e] anyway (and actually works better without it,
+otherwise the $ signs need to be doubled to obey kconfig $e escaping rules...).
+
+Thanks to Fabian Vogt for testing.
+
+(This is a backport of KDE Frameworks 5 kconfig patch to kdelibs)
+
+Differential Revision: https://phabricator.kde.org/D22989
+---
+ kdecore/config/kconfig.cpp | 32 +-------------------------------
+ kdecore/doc/README.kiosk | 12 ------------
+ kdecore/tests/kconfigtest.cpp | 6 +-----
+ 3 files changed, 2 insertions(+), 48 deletions(-)
+
+diff --git a/kdecore/config/kconfig.cpp b/kdecore/config/kconfig.cpp
+index 7ea26a5..b30584b 100644
+--- a/kdecore/config/kconfig.cpp
++++ b/kdecore/config/kconfig.cpp
+@@ -160,37 +160,7 @@ QString KConfigPrivate::expandString(const QString& value)
+ int nDollarPos = aValue.indexOf( QLatin1Char('$') );
+ while( nDollarPos != -1 && nDollarPos+1 < aValue.length()) {
+ // there is at least one $
+- if( aValue[nDollarPos+1] == QLatin1Char('(') ) {
+- int nEndPos = nDollarPos+1;
+- // the next character is not $
+- while ( (nEndPos <= aValue.length()) && (aValue[nEndPos]!=QLatin1Char(')')) )
+- nEndPos++;
+- nEndPos++;
+- QString cmd = aValue.mid( nDollarPos+2, nEndPos-nDollarPos-3 );
+-
+- QString result;
+- QByteArray oldpath = qgetenv( "PATH" );
+- QByteArray newpath;
+- if (KGlobal::hasMainComponent()) {
+- newpath = QFile::encodeName(KGlobal::dirs()->resourceDirs("exe").join(QChar::fromLatin1(KPATH_SEPARATOR)));
+- if (!newpath.isEmpty() && !oldpath.isEmpty())
+- newpath += KPATH_SEPARATOR;
+- }
+- newpath += oldpath;
+- setenv( "PATH", newpath, 1/*overwrite*/ );
+-// FIXME: wince does not have pipes
+-#ifndef _WIN32_WCE
+- FILE *fs = popen(QFile::encodeName(cmd).data(), "r");
+- if (fs) {
+- QTextStream ts(fs, QIODevice::ReadOnly);
+- result = ts.readAll().trimmed();
+- pclose(fs);
+- }
+-#endif
+- setenv( "PATH", oldpath, 1/*overwrite*/ );
+- aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
+- nDollarPos += result.length();
+- } else if( aValue[nDollarPos+1] != QLatin1Char('$') ) {
++ if( aValue[nDollarPos+1] != QLatin1Char('$') ) {
+ int nEndPos = nDollarPos+1;
+ // the next character is not $
+ QString aVarName;
+diff --git a/kdecore/doc/README.kiosk b/kdecore/doc/README.kiosk
+index b95002d..d902c61 100644
+--- a/kdecore/doc/README.kiosk
++++ b/kdecore/doc/README.kiosk
+@@ -640,18 +640,6 @@ The following syntax is also supported:
+ Name[$ei]=${USER}
+
+
+-Shell Commands in KDE config files.
+-===================================
+-
+-Since KDE-3.1 arbitrary entries in configuration files can contain shell
+-commands. This way the value of a configuration entry can be determined
+-dynamically at runtime. In order to use this the entry must be marked
+-with [$e].
+-
+-Example:
+-Host[$e]=$(hostname)
+-
+-
+ KDE Kiosk Application API
+ ==========================
+
+diff --git a/kdecore/tests/kconfigtest.cpp b/kdecore/tests/kconfigtest.cpp
+index 78e6ad1..37ea3c2 100644
+--- a/kdecore/tests/kconfigtest.cpp
++++ b/kdecore/tests/kconfigtest.cpp
+@@ -479,12 +479,8 @@ void KConfigTest::testPath()
+ QCOMPARE(group.readPathEntry("withBraces", QString()), QString("file://" + HOMEPATH) );
+ QVERIFY(group.hasKey("URL"));
+ QCOMPARE(group.readEntry("URL", QString()), QString("file://" + HOMEPATH) );
+-#if !defined(Q_OS_WIN32) && !defined(Q_OS_MAC)
+- // I don't know if this will work on windows
+- // This test hangs on OS X
+ QVERIFY(group.hasKey("hostname"));
+- QCOMPARE(group.readEntry("hostname", QString()), QHostInfo::localHostName());
+-#endif
++ QCOMPARE(group.readEntry("hostname", QString()), QString("(hostname)")); // the $ got removed because empty var name
+ QVERIFY(group.hasKey("noeol"));
+ QCOMPARE(group.readEntry("noeol", QString()), QString("foo"));
+ }
+--
+cgit v1.1
+
+
diff --git a/testing/source/vtown/kde/patch/kdelibs/kdelibs.docbook.patch b/testing/source/vtown/kde/patch/kdelibs/kdelibs.docbook.patch
new file mode 100644
index 00000000..6a20cd27
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kdelibs.docbook.patch
@@ -0,0 +1,11 @@
+--- kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake.orig 2010-05-27 19:25:00.000000000 +0200
++++ kdelibs-4.4.85/cmake/modules/FindDocBookXML.cmake 2010-06-07 16:18:35.000000000 +0200
+@@ -12,7 +12,7 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+-set (DOCBOOKXML_CURRENTDTD_VERSION "4.2"
++set (DOCBOOKXML_CURRENTDTD_VERSION "4.5"
+ CACHE INTERNAL "Required version of XML DTDs")
+
+ set (DTD_PATH_LIST
diff --git a/testing/source/vtown/kde/patch/kdelibs/kdelibs.grantlee-qt4.include.path.patch b/testing/source/vtown/kde/patch/kdelibs/kdelibs.grantlee-qt4.include.path.patch
new file mode 100644
index 00000000..fd7375f9
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kdelibs.grantlee-qt4.include.path.patch
@@ -0,0 +1,11 @@
+--- ./kdeui/tests/proxymodeltestsuite/modeleventlogger.cpp.orig 2017-11-04 20:51:22.000000000 -0500
++++ ./kdeui/tests/proxymodeltestsuite/modeleventlogger.cpp 2020-07-12 14:19:32.175099684 -0500
+@@ -30,7 +30,7 @@
+ #include <QDebug>
+
+ #ifdef Grantlee_FOUND
+-#include <grantlee_core.h>
++#include <grantlee-qt4/grantlee_core.h>
+ #include "grantlee_paths.h"
+
+ /**
diff --git a/testing/source/vtown/kde/patch/kdelibs/kdelibs.upnp_conditional.patch b/testing/source/vtown/kde/patch/kdelibs/kdelibs.upnp_conditional.patch
new file mode 100644
index 00000000..3a194477
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/kdelibs.upnp_conditional.patch
@@ -0,0 +1,15 @@
+--- kdelibs-4.8.0/solid/solid/managerbase.cpp.orig 2011-07-27 20:34:39.000000000 +0200
++++ kdelibs-4.8.0/solid/solid/managerbase.cpp 2012-01-26 09:17:49.409993419 +0100
+@@ -90,7 +90,11 @@
+ # endif
+
+ # if defined (HUPNP_FOUND)
+- m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
++ bool solidUpnpEnabled
++ = QString::fromLocal8Bit(qgetenv("SOLID_UPNP")).toInt()==1;
++ if (solidUpnpEnabled) {
++ m_backends << new Solid::Backends::UPnP::UPnPDeviceManager(0);
++ }
+ # endif
+ }
+ }
diff --git a/testing/source/vtown/kde/patch/kdelibs/return-application-icons-properly.patch b/testing/source/vtown/kde/patch/kdelibs/return-application-icons-properly.patch
new file mode 100644
index 00000000..2bdb53ad
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/return-application-icons-properly.patch
@@ -0,0 +1,56 @@
+From 613c951a1157df0d8a907a155a5eaa706816d5f9 Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 17:58:11 +0100
+Subject: return application icons properly
+
+BUG:315578
+---
+ kdeui/icons/kiconloader.cpp | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index f65e941..6fed667 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -909,7 +909,36 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ const char * const ext[4] = { ".png", ".svgz", ".svg", ".xpm" };
+ bool genericFallback = name.endsWith(QLatin1String("-x-generic"));
+
+- foreach(KIconThemeNode *themeNode, links)
++ // Do two passes through themeNodes.
++ //
++ // The first pass looks for an exact match in each themeNode one after the other.
++ // If one is found and it is an app icon then return that icon.
++ //
++ // In the next pass (assuming the first pass failed), it looks for exact matches
++ // and then generic fallbacks in each themeNode one after the other
++ //
++ // The reasoning is that application icons should always match exactly, all other
++ // icons may fallback. Since we do not know what the context is here when we start
++ // looking for it, we can only go by the path found.
++ foreach (KIconThemeNode *themeNode, links) {
++ for (int i = 0 ; i < 4 ; i++) {
++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchExact);
++ if (icon.isValid()) {
++ break;
++ }
++
++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchBest);
++ if (icon.isValid()) {
++ break;
++ }
++ }
++
++ if (icon.isValid() && icon.path.contains("/apps/")) {
++ return icon;
++ }
++ }
++
++ foreach (KIconThemeNode *themeNode, links)
+ {
+ QString currentName = name;
+
+--
+1.8.1.4
+
+
diff --git a/testing/source/vtown/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch b/testing/source/vtown/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
new file mode 100644
index 00000000..b62818ed
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
@@ -0,0 +1,31 @@
+From 0edfd42151ad57322a10a24ab4971b638e220e6e Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 18:14:54 +0100
+Subject: [PATCH 049/111] return, not break. copy/paste error
+
+---
+ kdeui/icons/kiconloader.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index dba474d..ce6aeea 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -947,12 +947,12 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ for (int i = 0 ; i < 4 ; i++) {
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact);
+ if (icon.isValid()) {
+- break;
++ return icon;
+ }
+
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest);
+ if (icon.isValid()) {
+- break;
++ return icon;
+ }
+ }
+ //kDebug(264) << "Looking up" << currentName;
+--
+1.8.1.4
+
diff --git a/testing/source/vtown/kde/patch/kdelibs4support.patch b/testing/source/vtown/kde/patch/kdelibs4support.patch
new file mode 100644
index 00000000..7d6626ed
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs4support.patch
@@ -0,0 +1,2 @@
+# Allow cmake to find our doctools:
+cat $CWD/patch/kdelibs4support/FindDocBookXML4.cmake.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kdelibs4support/FindDocBookXML4.cmake.diff b/testing/source/vtown/kde/patch/kdelibs4support/FindDocBookXML4.cmake.diff
new file mode 100644
index 00000000..1b393287
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kdelibs4support/FindDocBookXML4.cmake.diff
@@ -0,0 +1,11 @@
+--- kdelibs4support-5.6.0/cmake/FindDocBookXML4.cmake.orig 2015-01-03 13:04:40.000000000 +0100
++++ kdelibs4support-5.6.0/cmake/FindDocBookXML4.cmake 2015-01-13 09:52:37.998230784 +0100
+@@ -16,7 +16,7 @@
+
+
+ if (NOT DocBookXML_FIND_VERSION)
+- set(DocBookXML_FIND_VERSION "4.2")
++ set(DocBookXML_FIND_VERSION "4.5")
+ endif ()
+
+ set (DocBookXML4_DTD_VERSION ${DocBookXML_FIND_VERSION}
diff --git a/testing/source/vtown/kde/patch/kgpg.patch b/testing/source/vtown/kde/patch/kgpg.patch
new file mode 100644
index 00000000..f2248dfb
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kgpg.patch
@@ -0,0 +1,2 @@
+# Only autostart in Plasma:
+cat $CWD/patch/kgpg/kgpg.only.autostart.in.plasma.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kgpg/kgpg.only.autostart.in.plasma.diff b/testing/source/vtown/kde/patch/kgpg/kgpg.only.autostart.in.plasma.diff
new file mode 100644
index 00000000..86a732dd
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kgpg/kgpg.only.autostart.in.plasma.diff
@@ -0,0 +1,9 @@
+--- ./org.kde.kgpg.desktop.orig 2020-10-03 07:23:11.000000000 -0500
++++ ./org.kde.kgpg.desktop 2020-11-01 20:10:46.729080973 -0600
+@@ -215,4 +215,6 @@
+ X-KDE-autostart-after=panel
+ X-KDE-autostart-condition=kgpgrc:User Interface:AutoStart:false
+
++OnlyShowIn=KDE;
++
+ Categories=Qt;KDE;Utility;X-KDE-Utilities-PIM;
diff --git a/testing/source/vtown/kde/patch/kinfocenter.patch b/testing/source/vtown/kde/patch/kinfocenter.patch
new file mode 100644
index 00000000..b57d434f
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kinfocenter.patch
@@ -0,0 +1,2 @@
+# Fix linking error :
+cat $CWD/patch/kinfocenter/kinfocenter_libpci.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/kinfocenter/kinfocenter_libpci.patch b/testing/source/vtown/kde/patch/kinfocenter/kinfocenter_libpci.patch
new file mode 100644
index 00000000..a2bc0079
--- /dev/null
+++ b/testing/source/vtown/kde/patch/kinfocenter/kinfocenter_libpci.patch
@@ -0,0 +1,17 @@
+--- kinfocenter-5.5.5/cmake/FindPCIUTILS.cmake.orig 2016-03-01 14:32:01.000000000 +0100
++++ kinfocenter-5.5.5/cmake/FindPCIUTILS.cmake 2016-03-11 13:00:12.412315320 +0100
+@@ -19,6 +19,14 @@
+ else(RESOLV_LIBRARY)
+ set(PCIUTILS_LIBRARIES ${PCIUTILS_LIBRARY})
+ endif(RESOLV_LIBRARY)
++ FIND_LIBRARY(UDEV_LIBRARY NAMES udev)
++ if(UDEV_LIBRARY)
++ set(PCIUTILS_LIBRARIES ${PCIUTILS_LIBRARIES} ${UDEV_LIBRARY})
++ endif(UDEV_LIBRARY)
++ FIND_LIBRARY(ZLIB_LIBRARY NAMES z)
++ if(ZLIB_LIBRARY)
++ set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
++ endif(ZLIB_LIBRARY)
+ endif(PCIUTILS_LIBRARY)
+
+
diff --git a/testing/source/vtown/kde/patch/krename.patch b/testing/source/vtown/kde/patch/krename.patch
new file mode 100644
index 00000000..6e79ecb6
--- /dev/null
+++ b/testing/source/vtown/kde/patch/krename.patch
@@ -0,0 +1 @@
+cat $CWD/patch/krename/krename.taglib.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/krename/krename.taglib.diff b/testing/source/vtown/kde/patch/krename/krename.taglib.diff
new file mode 100644
index 00000000..a1b8a11d
--- /dev/null
+++ b/testing/source/vtown/kde/patch/krename/krename.taglib.diff
@@ -0,0 +1,191 @@
+diff -u -r --new-file krename-5.0.0.orig/cmake/modules/FindTaglib.cmake krename-5.0.0/cmake/modules/FindTaglib.cmake
+--- krename-5.0.0.orig/cmake/modules/FindTaglib.cmake 2018-02-13 01:23:49.000000000 -0600
++++ krename-5.0.0/cmake/modules/FindTaglib.cmake 2020-09-28 15:48:03.025045769 -0500
+@@ -1,84 +1,90 @@
+-# - Try to find the Taglib library
+-# Once done this will define
++#.rst:
++# FindTaglib
++#-----------
+ #
+-# TAGLIB_FOUND - system has the taglib library
+-# TAGLIB_CFLAGS - the taglib cflags
+-# TAGLIB_LIBRARIES - The libraries needed to use taglib
+-
+-# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
++# Try to find the Taglib library.
+ #
+-# Redistribution and use is allowed according to the terms of the BSD license.
+-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+-
+-if(NOT TAGLIB_MIN_VERSION)
+- set(TAGLIB_MIN_VERSION "1.4")
+-endif(NOT TAGLIB_MIN_VERSION)
+-
+-if(NOT WIN32)
+- find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
+- ${BIN_INSTALL_DIR}
+- )
+-endif(NOT WIN32)
+-
+-#reset vars
+-set(TAGLIB_LIBRARIES)
+-set(TAGLIB_CFLAGS)
+-
+-# if taglib-config has been found
+-if(TAGLIBCONFIG_EXECUTABLE)
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
++# This will define the following variables:
++#
++# ``Taglib_FOUND``
++# True if the system has the taglib library of at least the minimum
++# version specified by the version parameter to find_package()
++# ``Taglib_INCLUDE_DIRS``
++# The taglib include dirs for use with target_include_directories
++# ``Taglib_LIBRARIES``
++# The taglib libraries for use with target_link_libraries()
++# ``Taglib_VERSION``
++# The version of taglib that was found
++#
++# If ``Taglib_FOUND is TRUE, it will also define the following imported
++# target:
++#
++# ``Taglib::Taglib``
++# The Taglib library
++#
++# Since 5.72.0
++#
++# SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org>
++# SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>
++# SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
++# SPDX-License-Identifier: BSD-3-Clause
+
+- if(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
+- message(STATUS "TagLib version not found: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
+- set(TAGLIB_FOUND FALSE)
+- else(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
++find_package(PkgConfig QUIET)
+
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
++pkg_search_module(PC_TAGLIB QUIET taglib)
+
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
++find_path(Taglib_INCLUDE_DIRS
++ NAMES tag.h
++ PATH_SUFFIXES taglib
++ HINTS ${PC_TAGLIB_INCLUDEDIR}
++)
+
+- if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
+- set(TAGLIB_FOUND TRUE)
+- message(STATUS "Found taglib: ${TAGLIB_LIBRARIES}")
+- endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
+- string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
+- endif(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
+- mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
++find_library(Taglib_LIBRARIES
++ NAMES tag
++ HINTS ${PC_TAGLIB_LIBDIR}
++)
+
+-else(TAGLIBCONFIG_EXECUTABLE)
++set(Taglib_VERSION ${PC_TAGLIB_VERSION})
+
+- include(FindLibraryWithDebug)
+- include(FindPackageHandleStandardArgs)
++if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION)
++ if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h")
++ file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H)
++
++ string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})
++
++ string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}")
++
++ set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}")
++ endif()
++endif()
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(Taglib
++ FOUND_VAR
++ Taglib_FOUND
++ REQUIRED_VARS
++ Taglib_LIBRARIES
++ Taglib_INCLUDE_DIRS
++ VERSION_VAR
++ Taglib_VERSION
++)
++
++if (Taglib_FOUND AND NOT TARGET Taglib::Taglib)
++ add_library(Taglib::Taglib UNKNOWN IMPORTED)
++ set_target_properties(Taglib::Taglib PROPERTIES
++ IMPORTED_LOCATION "${Taglib_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}"
++ )
++endif()
+
+- find_path(TAGLIB_INCLUDES
+- NAMES
+- tag.h
+- PATH_SUFFIXES taglib
+- PATHS
+- ${KDE4_INCLUDE_DIR}
+- ${INCLUDE_INSTALL_DIR}
+- )
++mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS)
+
+- find_library_with_debug(TAGLIB_LIBRARIES
+- WIN32_DEBUG_POSTFIX d
+- NAMES tag
+- PATHS
+- ${KDE4_LIB_DIR}
+- ${LIB_INSTALL_DIR}
+- )
+-
+- find_package_handle_standard_args(Taglib DEFAULT_MSG
+- TAGLIB_INCLUDES TAGLIB_LIBRARIES)
+-endif(TAGLIBCONFIG_EXECUTABLE)
+-
+-
+-if(TAGLIB_FOUND)
+- if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
+- message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
+- endif(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
+-else(TAGLIB_FOUND)
+- if(Taglib_FIND_REQUIRED)
+- message(FATAL_ERROR "Could not find Taglib")
+- endif(Taglib_FIND_REQUIRED)
+-endif(TAGLIB_FOUND)
++include(FeatureSummary)
++set_package_properties(Taglib PROPERTIES
++ URL "https://taglib.org/"
++ DESCRIPTION "A library for reading and editing the meta-data of audio formats"
++)
+diff -u -r --new-file krename-5.0.0.orig/src/CMakeLists.txt krename-5.0.0/src/CMakeLists.txt
+--- krename-5.0.0.orig/src/CMakeLists.txt 2018-02-13 01:23:49.000000000 -0600
++++ krename-5.0.0/src/CMakeLists.txt 2020-09-28 15:51:35.779050528 -0500
+@@ -6,10 +6,6 @@
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+-if(TAGLIB_FOUND)
+- include_directories(${TAGLIB_INCLUDES})
+-endif()
+-
+ if(EXIV2_FOUND)
+ include_directories(${EXIV2_INCLUDE_DIR})
+ endif()
+@@ -128,7 +124,7 @@
+ )
+ if(TAGLIB_FOUND)
+ target_link_libraries(krename
+- ${TAGLIB_LIBRARIES}
++ Taglib::Taglib
+ )
+ endif()
+ if(EXIV2_FOUND)
diff --git a/testing/source/vtown/kde/patch/ktorrent.patch b/testing/source/vtown/kde/patch/ktorrent.patch
new file mode 100644
index 00000000..0fdb4aac
--- /dev/null
+++ b/testing/source/vtown/kde/patch/ktorrent.patch
@@ -0,0 +1,10 @@
+# Embed a copy of the GeoIP database since the download link no longer works.
+cat $CWD/patch/ktorrent/ktorrent.use.package.geoip.database.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix linking against taglib (ktorrent 5.2),
+# Thanks to Gentoo.
+cat $CWD/patch/ktorrent/ktorrent_taglib_linking.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix showing ktorrent in the system tray,
+# Thanks to Gentoo.
+cat $CWD/patch/ktorrent/ktorrent_systray.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/ktorrent/geoip.dat b/testing/source/vtown/kde/patch/ktorrent/geoip.dat
new file mode 100644
index 00000000..be8b031f
--- /dev/null
+++ b/testing/source/vtown/kde/patch/ktorrent/geoip.dat
Binary files differ
diff --git a/testing/source/vtown/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff b/testing/source/vtown/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff
new file mode 100644
index 00000000..e55e5cee
--- /dev/null
+++ b/testing/source/vtown/kde/patch/ktorrent/ktorrent.use.package.geoip.database.diff
@@ -0,0 +1,38 @@
+diff -uar ktorrent-5.1.1.orig/plugins/infowidget/geoipmanager.cpp ktorrent-5.1.1/plugins/infowidget/geoipmanager.cpp
+--- ktorrent-5.1.1.orig/plugins/infowidget/geoipmanager.cpp 2018-08-31 01:37:04.000000000 +0200
++++ ktorrent-5.1.1/plugins/infowidget/geoipmanager.cpp 2019-05-11 14:32:39.599297006 +0200
+@@ -42,7 +42,7 @@
+ #ifdef USE_SYSTEM_GEOIP
+ geo_ip = GeoIP_open_type(GEOIP_COUNTRY_EDITION, GEOIP_STANDARD);
+ #else
+- geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("geoip.dat"));
++ geoip_data_file = QStringLiteral("/usr/share/apps/ktorrent/GeoIP/geoip.dat");
+ if (geoip_data_file.isEmpty())
+ geoip_data_file = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("GeoIP.dat"));
+
+@@ -57,12 +57,6 @@
+ {
+ QFileInfo fi(geoip_data_file);
+ QDateTime now = QDateTime::currentDateTime();
+- if (fi.lastModified().daysTo(now) >= 30)
+- {
+- // if the last time the geoip file was modified, was more then
+- // 30 days ago, redownload it
+- downloadDataBase();
+- }
+ }
+ }
+ #endif
+@@ -107,12 +101,6 @@
+
+ void GeoIPManager::downloadDataBase()
+ {
+-#ifndef USE_SYSTEM_GEOIP
+- Out(SYS_INW | LOG_NOTICE) << "Downloading GeoIP database: " << geoip_url << endl;
+- download_destination = kt::DataDir(CreateIfNotExists) + geoip_url.fileName();
+- KIO::CopyJob* job = KIO::copy(geoip_url, QUrl::fromLocalFile(download_destination), KIO::Overwrite | KIO::HideProgressInfo);
+- connect(job, &KIO::CopyJob::result, this, &GeoIPManager::databaseDownloadFinished);
+-#endif
+ }
+
+ void GeoIPManager::databaseDownloadFinished(KJob* job)
diff --git a/testing/source/vtown/kde/patch/ktorrent/ktorrent_systray.patch b/testing/source/vtown/kde/patch/ktorrent/ktorrent_systray.patch
new file mode 100644
index 00000000..50049afa
--- /dev/null
+++ b/testing/source/vtown/kde/patch/ktorrent/ktorrent_systray.patch
@@ -0,0 +1,24 @@
+From 9747a8f524942b57e2fd42254c3de73f9d42918c Mon Sep 17 00:00:00 2001
+From: Matt Scheirer <matt.scheirer@gmail.com>
+Date: Sun, 17 May 2020 02:36:09 -0400
+Subject: [PATCH] Fix starting in tray by removing redundant show() in main
+
+---
+ ktorrent/main.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ktorrent/main.cpp b/ktorrent/main.cpp
+index b5866c22..8e532c9c 100644
+--- a/ktorrent/main.cpp
++++ b/ktorrent/main.cpp
+@@ -208,7 +208,6 @@ int main(int argc, char** argv)
+ bt::InitLog(kt::DataDir(kt::CreateIfNotExists) + QLatin1String("log"), true, true, logToStdout);
+
+ kt::GUI widget;
+- widget.show();
+
+ auto handleCmdLine = [&widget, &parser](const QStringList &arguments, const QString &workingDirectory)
+ {
+--
+GitLab
+
diff --git a/testing/source/vtown/kde/patch/ktorrent/ktorrent_taglib_linking.patch b/testing/source/vtown/kde/patch/ktorrent/ktorrent_taglib_linking.patch
new file mode 100644
index 00000000..7f612c8f
--- /dev/null
+++ b/testing/source/vtown/kde/patch/ktorrent/ktorrent_taglib_linking.patch
@@ -0,0 +1,248 @@
+From f4c1c91d9b091941ebb4dae6aef95bcf9bc1c388 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 21 Jun 2020 14:19:49 +0200
+Subject: [PATCH] Update FindTaglib from ECM.
+
+This fixes linking for me, there was just nothing in TAGLIB_LIBRARIES
+on my system (taglib in the same custom prefix as KDE code)
+---
+ cmake/modules/FindTaglib.cmake | 191 +++++++++++------------------
+ plugins/mediaplayer/CMakeLists.txt | 3 +-
+ 2 files changed, 74 insertions(+), 120 deletions(-)
+
+diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
+index 13db60b2..1e1b9075 100644
+--- a/cmake/modules/FindTaglib.cmake
++++ b/cmake/modules/FindTaglib.cmake
+@@ -1,135 +1,90 @@
+-# - Try to find the Taglib library
+-# Once done this will define
++#.rst:
++# FindTaglib
++#-----------
+ #
+-# TAGLIB_FOUND - system has the taglib library
+-# TAGLIB_CFLAGS - the taglib cflags
+-# TAGLIB_LIBRARIES - The libraries needed to use taglib
+-
+-# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
++# Try to find the Taglib library.
+ #
+-# Redistribution and use is allowed according to the terms of the BSD license.
+-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+-
+-if(NOT TAGLIB_MIN_VERSION)
+- set(TAGLIB_MIN_VERSION "1.6")
+-endif()
+-
+-if(NOT WIN32)
+- find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
+- ${BIN_INSTALL_DIR}
+- )
+-endif()
+-
+-#reset vars
+-set(TAGLIB_LIBRARIES)
+-set(TAGLIB_CFLAGS)
+-
+-# if taglib-config has been found
+-if(TAGLIBCONFIG_EXECUTABLE)
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
+-
+- if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
+- message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
+- set(TAGLIB_FOUND FALSE)
+- else()
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
++# This will define the following variables:
++#
++# ``Taglib_FOUND``
++# True if the system has the taglib library of at least the minimum
++# version specified by the version parameter to find_package()
++# ``Taglib_INCLUDE_DIRS``
++# The taglib include dirs for use with target_include_directories
++# ``Taglib_LIBRARIES``
++# The taglib libraries for use with target_link_libraries()
++# ``Taglib_VERSION``
++# The version of taglib that was found
++#
++# If ``Taglib_FOUND is TRUE, it will also define the following imported
++# target:
++#
++# ``Taglib::Taglib``
++# The Taglib library
++#
++# Since 5.72.0
++#
++# SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org>
++# SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>
++# SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
++# SPDX-License-Identifier: BSD-3-Clause
+
+- if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
+- set(TAGLIB_FOUND TRUE)
+- endif()
+- string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
+- endif()
+- mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
++find_package(PkgConfig QUIET)
+
+-else()
++pkg_search_module(PC_TAGLIB QUIET taglib)
+
+- find_path(TAGLIB_INCLUDES
+- NAMES
+- tag.h
++find_path(Taglib_INCLUDE_DIRS
++ NAMES tag.h
+ PATH_SUFFIXES taglib
+- PATHS
+- ${KDE4_INCLUDE_DIR}
+- ${INCLUDE_INSTALL_DIR}
+- )
+-
+- if(NOT WIN32)
+- # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
++ HINTS ${PC_TAGLIB_INCLUDEDIR}
++)
+
+- find_library(TAGLIB_LIBRARIES tag PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
++find_library(Taglib_LIBRARIES
++ NAMES tag
++ HINTS ${PC_TAGLIB_LIBDIR}
++)
+
+- else()
++set(Taglib_VERSION ${PC_TAGLIB_VERSION})
+
+- # 1. get all possible libnames
+- set(args PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
+- set(newargs "")
+- set(libnames_release "")
+- set(libnames_debug "")
++if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION)
++ if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h")
++ file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H)
+
+- list(LENGTH args listCount)
++ string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})
+
+- # just one name
+- list(APPEND libnames_release "tag")
+- list(APPEND libnames_debug "tagd")
+-
+- set(newargs ${args})
+-
+- # search the release lib
+- find_library(TAGLIB_LIBRARIES_RELEASE
+- NAMES ${libnames_release}
+- ${newargs}
+- )
+-
+- # search the debug lib
+- find_library(TAGLIB_LIBRARIES_DEBUG
+- NAMES ${libnames_debug}
+- ${newargs}
+- )
+-
+- if(TAGLIB_LIBRARIES_RELEASE AND TAGLIB_LIBRARIES_DEBUG)
+-
+- # both libs found
+- set(TAGLIB_LIBRARIES optimized ${TAGLIB_LIBRARIES_RELEASE}
+- debug ${TAGLIB_LIBRARIES_DEBUG})
+-
+- else()
+-
+- if(TAGLIB_LIBRARIES_RELEASE)
+-
+- # only release found
+- set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_RELEASE})
+-
+- else()
+-
+- # only debug (or nothing) found
+- set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_DEBUG})
+-
+- endif()
+-
+- endif()
+-
+- mark_as_advanced(TAGLIB_LIBRARIES_RELEASE)
+- mark_as_advanced(TAGLIB_LIBRARIES_DEBUG)
++ string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}")
+
++ set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}")
+ endif()
+-
+- include(FindPackageMessage)
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(Taglib DEFAULT_MSG TAGLIB_INCLUDES TAGLIB_LIBRARIES)
+-
+ endif()
+
+-
+-if(TAGLIB_FOUND)
+- if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
+- message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
+- endif()
+-else()
+- if(Taglib_FIND_REQUIRED)
+- message(FATAL_ERROR "Could not find Taglib")
+- endif()
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(Taglib
++ FOUND_VAR
++ Taglib_FOUND
++ REQUIRED_VARS
++ Taglib_LIBRARIES
++ Taglib_INCLUDE_DIRS
++ VERSION_VAR
++ Taglib_VERSION
++)
++
++if (Taglib_FOUND AND NOT TARGET Taglib::Taglib)
++ add_library(Taglib::Taglib UNKNOWN IMPORTED)
++ set_target_properties(Taglib::Taglib PROPERTIES
++ IMPORTED_LOCATION "${Taglib_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}"
++ )
+ endif()
+
++mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS)
++
++include(FeatureSummary)
++set_package_properties(Taglib PROPERTIES
++ URL "https://taglib.org/"
++ DESCRIPTION "A library for reading and editing the meta-data of audio formats"
++)
+diff --git a/plugins/mediaplayer/CMakeLists.txt b/plugins/mediaplayer/CMakeLists.txt
+index 8bbeeb74..5fbe056f 100644
+--- a/plugins/mediaplayer/CMakeLists.txt
++++ b/plugins/mediaplayer/CMakeLists.txt
+@@ -1,5 +1,4 @@
+ find_package(Taglib REQUIRED)
+-include_directories(${TAGLIB_INCLUDES})
+ #find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Multimedia MultimediaWidgets)
+ #include_directories(${Qt5Multimedia_INCLUDE_DIRS})
+ include_directories(${PHONON_INCLUDES})
+@@ -34,7 +33,7 @@ kcoreaddons_desktop_to_json(ktorrent_mediaplayer ktorrent_mediaplayer.desktop)
+ target_link_libraries(
+ ktorrent_mediaplayer
+ ktcore
+- ${TAGLIB_LIBRARIES}
++ Taglib::Taglib
+ Phonon::phonon4qt5
+ KF5::Torrent
+ KF5::I18n
+--
+GitLab
+
+
diff --git a/testing/source/vtown/kde/patch/milou.patch b/testing/source/vtown/kde/patch/milou.patch
new file mode 100644
index 00000000..2caee005
--- /dev/null
+++ b/testing/source/vtown/kde/patch/milou.patch
@@ -0,0 +1,2 @@
+# Forgotten include:
+cat $CWD/patch/milou/milou_krunner_include.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/milou/milou_krunner_include.diff b/testing/source/vtown/kde/patch/milou/milou_krunner_include.diff
new file mode 100644
index 00000000..ffd075ca
--- /dev/null
+++ b/testing/source/vtown/kde/patch/milou/milou_krunner_include.diff
@@ -0,0 +1,11 @@
+--- a/lib/qml/CMakeLists.txt 2014-07-10 17:30:16.000000000 +0200
++++ b/lib/qml/CMakeLists.txt 2014-08-01 14:50:57.417710976 +0200
+@@ -7,7 +7,7 @@
+
+ target_link_libraries (milouqmlplugin
+ Qt5::Qml
+-
++ KF5::Runner
+ milou
+ )
+
diff --git a/testing/source/vtown/kde/patch/oxygen-gtk2.patch b/testing/source/vtown/kde/patch/oxygen-gtk2.patch
new file mode 100644
index 00000000..a2dd03e7
--- /dev/null
+++ b/testing/source/vtown/kde/patch/oxygen-gtk2.patch
@@ -0,0 +1,2 @@
+# Add more firefox-derived browsers as supported by the theme:
+cat $CWD/patch/oxygen-gtk2/oxygen-gtk2_KDEBUG_341181.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/oxygen-gtk2/oxygen-gtk2_KDEBUG_341181.patch b/testing/source/vtown/kde/patch/oxygen-gtk2/oxygen-gtk2_KDEBUG_341181.patch
new file mode 100644
index 00000000..b6a1e557
--- /dev/null
+++ b/testing/source/vtown/kde/patch/oxygen-gtk2/oxygen-gtk2_KDEBUG_341181.patch
@@ -0,0 +1,115 @@
+From b1ee5fb80c44c6c8a625333af1cfdc997d408805 Mon Sep 17 00:00:00 2001
+From: Hugo Pereira Da Costa <hugo.pereira@free.fr>
+Date: Sat, 18 Jul 2015 20:09:28 +0200
+Subject: moved xul application names to dedicated header file, added a number
+ of xul applications to prevent crash for these CCBUG: 341181
+
+---
+ src/oxygenapplicationname.cpp | 18 ++-----------
+ src/oxygenxulapplicationnames.h | 56 +++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 58 insertions(+), 16 deletions(-)
+ create mode 100644 src/oxygenxulapplicationnames.h
+
+diff --git a/src/oxygenapplicationname.cpp b/src/oxygenapplicationname.cpp
+index feb5a23..17c8a1a 100644
+--- a/src/oxygenapplicationname.cpp
++++ b/src/oxygenapplicationname.cpp
+@@ -25,6 +25,7 @@
+
+ #include "oxygenapplicationname.h"
+ #include "oxygengtkutils.h"
++#include "oxygenxulapplicationnames.h"
+ #include "config.h"
+
+ #include <cstdlib>
+@@ -79,23 +80,8 @@ namespace Oxygen
+ gtkAppName == "chromium" ||
+ gtkAppName == "chromium-browser" ||
+ gtkAppName == "google-chrome" ) _name = GoogleChrome;
+- else {
+
+- // tag all mozilla-like applications (XUL)
+- static const std::string XulAppNames[] =
+- {
+- "firefox",
+- "thunderbird",
+- "seamonkey",
+- "iceweasel",
+- "icecat",
+- "icedove",
+- "xulrunner",
+- "komodo",
+- "aurora",
+- "zotero",
+- ""
+- };
++ else {
+
+ for( unsigned int index = 0; !XulAppNames[index].empty(); ++index )
+ {
+diff --git a/src/oxygenxulapplicationnames.h b/src/oxygenxulapplicationnames.h
+new file mode 100644
+index 0000000..252a1fc
+--- /dev/null
++++ b/src/oxygenxulapplicationnames.h
+@@ -0,0 +1,56 @@
++#ifndef oxygenxulapplicationname_h
++#define oxygenxulapplicationname_h
++/*
++* this file is part of the oxygen gtk engine
++* Copyright (c) 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
++*
++* inspired notably from kdelibs/kdeui/color/kcolorutils.h
++* Copyright (C) 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
++* Copyright (C) 2007 Thomas Zander <zander@kde.org>
++* Copyright (C) 2007 Zack Rusin <zack@kde.org>
++*
++* This library is free software; you can redistribute it and/or
++* modify it under the terms of the GNU Lesser General Public
++* License as published by the Free Software Foundation; either
++* version 2 of the License, or( at your option ) any later version.
++*
++* This library is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++* Lesser General Public License for more details.
++*
++* You should have received a copy of the GNU Lesser General Public
++* License along with this library; if not, write to the Free
++* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
++* MA 02110-1301, USA.
++*/
++
++#include <string>
++
++namespace Oxygen
++{
++
++ // tag all mozilla-like applications (XUL)
++ static const std::string XulAppNames[] =
++ {
++ "aurora",
++ "earlybird",
++ "icecat",
++ "icedove",
++ "iceweasel",
++ "instantbird",
++ "firefox",
++ "fossamail",
++ "komodo",
++ "newmoon",
++ "palemoon",
++ "seamonkey",
++ "thunderbird",
++ "xulrunner",
++ "zotero",
++ ""
++ };
++
++}
++
++#endif
+--
+cgit v0.11.2
+
+
diff --git a/testing/source/vtown/kde/patch/plasma-browser-integration.patch b/testing/source/vtown/kde/patch/plasma-browser-integration.patch
new file mode 100644
index 00000000..38642df2
--- /dev/null
+++ b/testing/source/vtown/kde/patch/plasma-browser-integration.patch
@@ -0,0 +1,2 @@
+# Fix hardcoded mozilla 'lib' libdir:
+cat $CWD/patch/plasma-browser-integration/plasma-browser-integration_KDEBUG-113461.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/testing/source/vtown/kde/patch/plasma-browser-integration/plasma-browser-integration_KDEBUG-113461.patch b/testing/source/vtown/kde/patch/plasma-browser-integration/plasma-browser-integration_KDEBUG-113461.patch
new file mode 100644
index 00000000..c881edf4
--- /dev/null
+++ b/testing/source/vtown/kde/patch/plasma-browser-integration/plasma-browser-integration_KDEBUG-113461.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2018-06-07 22:22:27.000000000 +0800
++++ b/CMakeLists.txt 2018-06-20 20:55:56.000000000 +0800
+@@ -45,7 +45,7 @@
+ option(COPY_MESSAGING_HOST_FILE_HOME "Copy the native messaging hosts json file to user home dir" FALSE)
+ add_feature_info(COPY_MESSAGING_HOST_FILE_HOME ${COPY_MESSAGING_HOST_FILE_HOME} "Enable this option to copy the native messaging hosts json file to home dir if you install plasma-browser-integration to custom prefix (non-/usr)")
+
+-set(MOZILLA_DIR "${CMAKE_INSTALL_PREFIX}/lib/mozilla" CACHE STRING "Mozilla directory")
++set(MOZILLA_DIR "${CMAKE_INSTALL_PREFIX}/${KDE_INSTALL_LIBDIR}/mozilla" CACHE STRING "Mozilla directory")
+ add_feature_info(MOZILLA_DIR On "Mozilla directory is '${MOZILLA_DIR}'")
+
+ add_subdirectory(host)
diff --git a/testing/source/vtown/kde/patch/sddm.patch b/testing/source/vtown/kde/patch/sddm.patch
new file mode 100644
index 00000000..e433a27e
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm.patch
@@ -0,0 +1,23 @@
+if [ "$SLKELOGIND" == "no" ]; then
+ # Add missing consolekit support
+ # (brings back the switch_user functionality in KDE):
+ cat $CWD/patch/sddm/sddm_consolekit.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+ # Don't assume that ConsoleKit2 exposes a login1 dbus interface:
+ cat $CWD/patch/sddm/sddm_ck2_revert.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+fi
+
+# Properly honor supplemental groups, https://github.com/sddm/sddm/issues/1159 :
+cat $CWD/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+cat $CWD/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# SDDM 0.14 sources $HOME/.xsession which in Slackware will override the
+# session selection you make in SDDM. We fix that unwanted side effect by
+# reverting the change:
+cat $CWD/patch/sddm/sddm_userxsession.diff | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Add the dutch translation:
+if ! grep -q nl.ts data/translations/CMakeLists.txt ; then
+ sed -e '/set(TRANSLATION_FILES/s/TRANSLATION_FILES/&\n nl.ts/' \
+ -i data/translations/CMakeLists.txt
+fi
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_auth.diff b/testing/source/vtown/kde/patch/sddm/sddm_auth.diff
new file mode 100644
index 00000000..f5d21cf6
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_auth.diff
@@ -0,0 +1,25 @@
+diff -uar sddm-qt5-7c8cc3a_20140827git.orig/src/helper/backend/PasswdBackend.cpp sddm-qt5-7c8cc3a_20140827git/src/helper/backend/PasswdBackend.cpp
+--- sddm-qt5-7c8cc3a_20140827git.orig/src/helper/backend/PasswdBackend.cpp 2014-08-27 16:42:23.000000000 +0200
++++ sddm-qt5-7c8cc3a_20140827git/src/helper/backend/PasswdBackend.cpp 2014-09-15 12:24:06.717173942 +0200
+@@ -20,8 +20,8 @@
+
+ #include "PasswdBackend.h"
+
+-#include "auth/AuthMessages.h"
+-#include "helper/HelperApp.h"
++#include "Auth.h"
++#include "../HelperApp.h"
+
+ #include <QtCore/QDebug>
+
+diff -uar sddm-qt5-7c8cc3a_20140827git.orig/src/helper/backend/PasswdBackend.h sddm-qt5-7c8cc3a_20140827git/src/helper/backend/PasswdBackend.h
+--- sddm-qt5-7c8cc3a_20140827git.orig/src/helper/backend/PasswdBackend.h 2014-08-27 16:42:23.000000000 +0200
++++ sddm-qt5-7c8cc3a_20140827git/src/helper/backend/PasswdBackend.h 2014-09-15 12:17:43.135172278 +0200
+@@ -21,6 +21,7 @@
+ #if !defined(PASSWDBACKEND_H) && !defined(USE_PAM)
+ #define PASSWDBACKEND_H
+
++#include "AuthMessages.h"
+ #include "../Backend.h"
+
+ namespace SDDM {
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_avatars.patch b/testing/source/vtown/kde/patch/sddm/sddm_avatars.patch
new file mode 100644
index 00000000..d40f68c1
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_avatars.patch
@@ -0,0 +1,33 @@
+From ecb903e48822bd90650bdd64fe80754e3e9664cb Mon Sep 17 00:00:00 2001
+From: Bastian Beischer <bastian.beischer@gmail.com>
+Date: Fri, 2 Sep 2016 13:05:18 +0200
+Subject: [PATCH] Fix display of user avatars. (#684)
+
+QFile::exists("...") does not understand file:// URLs, at least in Qt
+5.7.0 and Qt 4.8.7.
+---
+ src/greeter/UserModel.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp
+index 41a9f10..94c492d 100644
+--- a/src/greeter/UserModel.cpp
++++ b/src/greeter/UserModel.cpp
+@@ -107,13 +107,13 @@ namespace SDDM {
+ d->lastIndex = i;
+
+ if (avatarsEnabled) {
+- const QString userFace = QStringLiteral("file://%1/.face.icon").arg(user->homeDir);
+- const QString systemFace = QStringLiteral("file://%1/%2.face.icon").arg(facesDir).arg(user->name);
++ const QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
++ const QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name);
+
+ if (QFile::exists(userFace))
+- user->icon = userFace;
++ user->icon = QStringLiteral("file://%1").arg(userFace);
+ else if (QFile::exists(systemFace))
+- user->icon = systemFace;
++ user->icon = QStringLiteral("file://%1").arg(systemFace);
+ }
+ }
+ }
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_ck2_revert.patch b/testing/source/vtown/kde/patch/sddm/sddm_ck2_revert.patch
new file mode 100644
index 00000000..bbe2a272
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_ck2_revert.patch
@@ -0,0 +1,20 @@
+SDDM 0.16.0 fails to start with consolekit2 because it assumes consolekit2
+has the same interface names as logind.
+
+This patch forces sddm to use legacy behaviour when consolekit2 is detected.
+
+Bug: https://bugs.gentoo.org/633920
+Bug: https://github.com/sddm/sddm/issues/903
+Bug: https://github.com/ConsoleKit2/ConsoleKit2/issues/99
+
+--- a/src/daemon/LogindDBusTypes.cpp
++++ b/src/daemon/LogindDBusTypes.cpp
+@@ -60,7 +60,7 @@
+
+ if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
+ qDebug() << "Console kit interface found";
+- available = true;
++ available = false;
+ serviceName = QStringLiteral("org.freedesktop.ConsoleKit");
+ managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
+ managerIfaceName = QStringLiteral("/org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_consolekit.diff b/testing/source/vtown/kde/patch/sddm/sddm_consolekit.diff
new file mode 100644
index 00000000..9b535bf7
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_consolekit.diff
@@ -0,0 +1,9 @@
+--- sddm-0.14.0/data/scripts/Xsession.orig 2016-08-28 13:54:03.000000000 +0200
++++ sddm-0.14.0/data/scripts/Xsession 2016-11-05 21:47:28.502096600 +0100
+@@ -91,5 +91,5 @@
+ if [ -z "$@" ]; then
+ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ else
+- exec $@
++ exec ck-launch-session dbus-launch --sh-syntax --exit-with-session $@
+ fi
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch b/testing/source/vtown/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch
new file mode 100644
index 00000000..bf3bfd25
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_honor-PAM-supplemental-groups-v2.patch
@@ -0,0 +1,183 @@
+From 75e6e00d9e1ecf25e3a9c8332530a1e40d737cdb Mon Sep 17 00:00:00 2001
+From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de>
+Date: Thu, 9 May 2019 03:06:48 +0200
+Subject: [PATCH] Honor PAM's supplemental groups (v2) (#834, #1159)
+
+This moves the supplemental group initialization step from
+UserSession.cpp to the Backend system, so that the Pam Backend can
+inject additional supplemental groups via modules like pam_group.so.
+
+pam_setcred(3) assumes that it operates on an already initialized
+supplemental group list. However, PamBackend calls
+pam_setcred(PAM_ESTABLISH_CRED) earlier, at the start
+PamBackend::openSession, so a pam_setcred(PAM_REINITIALIZE_CRED) call
+must be issued to repeat the injection of PAM's supplemental groups.
+---
+ src/helper/Backend.cpp | 5 +++++
+ src/helper/Backend.h | 3 +++
+ src/helper/HelperApp.cpp | 4 ++++
+ src/helper/HelperApp.h | 1 +
+ src/helper/UserSession.cpp | 13 ++++++++-----
+ src/helper/backend/PamBackend.cpp | 18 ++++++++++++++++++
+ src/helper/backend/PamBackend.h | 2 ++
+ 7 files changed, 41 insertions(+), 5 deletions(-)
+
+diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp
+index d6bb4d0a..35ae2bdf 100644
+--- a/src/helper/Backend.cpp
++++ b/src/helper/Backend.cpp
+@@ -29,6 +29,7 @@
+ #include <QtCore/QProcessEnvironment>
+
+ #include <pwd.h>
++#include <grp.h>
+
+ namespace SDDM {
+ Backend::Backend(HelperApp* parent)
+@@ -79,4 +80,8 @@ namespace SDDM {
+ bool Backend::closeSession() {
+ return true;
+ }
++
++ bool Backend::setupSupplementalGroups(struct passwd *pw) {
++ return !initgroups(pw->pw_name, pw->pw_gid);
++ }
+ }
+diff --git a/src/helper/Backend.h b/src/helper/Backend.h
+index b790e001..3caf1592 100644
+--- a/src/helper/Backend.h
++++ b/src/helper/Backend.h
+@@ -22,6 +22,7 @@
+ #define BACKEND_H
+
+ #include <QtCore/QObject>
++#include <pwd.h>
+
+ namespace SDDM {
+ class HelperApp;
+@@ -38,6 +39,8 @@ namespace SDDM {
+ void setAutologin(bool on = true);
+ void setGreeter(bool on = true);
+
++ virtual bool setupSupplementalGroups(struct passwd *pw);
++
+ public slots:
+ virtual bool start(const QString &user = QString()) = 0;
+ virtual bool authenticate() = 0;
+diff --git a/src/helper/HelperApp.cpp b/src/helper/HelperApp.cpp
+index cad93bd8..d0891d75 100644
+--- a/src/helper/HelperApp.cpp
++++ b/src/helper/HelperApp.cpp
+@@ -253,6 +253,10 @@ namespace SDDM {
+ return m_session;
+ }
+
++ Backend *HelperApp::backend() {
++ return m_backend;
++ }
++
+ const QString& HelperApp::user() const {
+ return m_user;
+ }
+diff --git a/src/helper/HelperApp.h b/src/helper/HelperApp.h
+index 3742df12..cb5959a7 100644
+--- a/src/helper/HelperApp.h
++++ b/src/helper/HelperApp.h
+@@ -39,6 +39,7 @@ namespace SDDM {
+ virtual ~HelperApp();
+
+ UserSession *session();
++ Backend *backend();
+ const QString &user() const;
+ const QString &cookie() const;
+
+diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp
+index f71fd358..62fd4d70 100644
+--- a/src/helper/UserSession.cpp
++++ b/src/helper/UserSession.cpp
+@@ -19,6 +19,7 @@
+ *
+ */
+
++#include "Backend.h"
+ #include "Configuration.h"
+ #include "UserSession.h"
+ #include "HelperApp.h"
+@@ -129,7 +130,8 @@ namespace SDDM {
+ #endif
+
+ // switch user
+- const QByteArray username = qobject_cast<HelperApp*>(parent())->user().toLocal8Bit();
++ HelperApp* app = qobject_cast<HelperApp*>(parent());
++ const QByteArray username = app->user().toLocal8Bit();
+ struct passwd pw;
+ struct passwd *rpw;
+ long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
+@@ -146,12 +148,13 @@ namespace SDDM {
+ qCritical() << "getpwnam_r(" << username << ") failed with error: " << strerror(err);
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+- if (setgid(pw.pw_gid) != 0) {
+- qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
++
++ if (!app->backend()->setupSupplementalGroups(&pw)) {
++ qCritical() << "failed to set up supplemental groups for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+- if (initgroups(pw.pw_name, pw.pw_gid) != 0) {
+- qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username;
++ if (setgid(pw.pw_gid) != 0) {
++ qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+ if (setuid(pw.pw_uid) != 0) {
+diff --git a/src/helper/backend/PamBackend.cpp b/src/helper/backend/PamBackend.cpp
+index f86d77d6..cccfa258 100644
+--- a/src/helper/backend/PamBackend.cpp
++++ b/src/helper/backend/PamBackend.cpp
+@@ -289,6 +289,24 @@ namespace SDDM {
+ return QString::fromLocal8Bit((const char*) m_pam->getItem(PAM_USER));
+ }
+
++ bool PamBackend::setupSupplementalGroups(struct passwd *pw) {
++ if (!Backend::setupSupplementalGroups(pw))
++ return false;
++
++ // pam_setcred(3) may inject additional groups into the user's
++ // list of supplemental groups, and assumes that the user's
++ // supplemental groups have already been initialized before
++ // its invocation. Since pam_setcred was already called at the
++ // start of openSession, we need to repeat this step here as
++ // the user's groups have only just now been initialized.
++
++ if (!m_pam->setCred(PAM_REINITIALIZE_CRED)) {
++ m_app->error(m_pam->errorString(), Auth::ERROR_AUTHENTICATION);
++ return false;
++ }
++ return true;
++ }
++
+ int PamBackend::converse(int n, const struct pam_message **msg, struct pam_response **resp) {
+ qDebug() << "[PAM] Conversation with" << n << "messages";
+
+diff --git a/src/helper/backend/PamBackend.h b/src/helper/backend/PamBackend.h
+index 4c8b4b35..5b079099 100644
+--- a/src/helper/backend/PamBackend.h
++++ b/src/helper/backend/PamBackend.h
+@@ -28,6 +28,7 @@
+ #include <QtCore/QObject>
+
+ #include <security/pam_appl.h>
++#include <pwd.h>
+
+ namespace SDDM {
+ class PamHandle;
+@@ -61,6 +62,7 @@ namespace SDDM {
+ explicit PamBackend(HelperApp *parent);
+ virtual ~PamBackend();
+ int converse(int n, const struct pam_message **msg, struct pam_response **resp);
++ virtual bool setupSupplementalGroups(struct passwd *pw);
+
+ public slots:
+ virtual bool start(const QString &user = QString());
+
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_qstring.patch b/testing/source/vtown/kde/patch/sddm/sddm_qstring.patch
new file mode 100644
index 00000000..40c3879a
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_qstring.patch
@@ -0,0 +1,88 @@
+Slightly modified from this patch in order to apply against SDDM master git:
+https://github.com/AOSC-Dev/sddm/commit/c6be72636f43a28f1b6aebff9d682d0182dd7a1e.patch
+
+From c6be72636f43a28f1b6aebff9d682d0182dd7a1e Mon Sep 17 00:00:00 2001
+From: Leslie Zhai <xiangzhai83@gmail.com>
+Date: Mon, 31 Aug 2015 14:04:17 +0800
+Subject: [PATCH] Disable pam backend because loginFailed
+
+---
+diff -uar sddm-d42700a_20150822git.orig/CMakeLists.txt sddm-d42700a_20150822git/CMakeLists.txt
+--- sddm-d42700a_20150822git.orig/CMakeLists.txt 2015-08-22 16:17:37.000000000 +0200
++++ sddm-d42700a_20150822git/CMakeLists.txt 2015-08-31 12:01:47.342810382 +0200
+@@ -31,6 +31,7 @@
+ # Options
+ option(BUILD_MAN_PAGES "Build man pages" OFF)
+ option(ENABLE_JOURNALD "Enable logging to journald" ON)
++option(ENABLE_PAM "Enable pam" OFF)
+
+ # Definitions
+ add_definitions(-Wall -std=c++11 -DQT_NO_CAST_FROM_ASCII)
+@@ -66,7 +67,7 @@
+ find_package(PkgConfig)
+
+ # PAM
+-if(NOT NO_PAM)
++if(ENABLE_PAM)
+ find_package(PAM)
+
+ if(PAM_FOUND)
+diff -uar sddm-d42700a_20150822git.orig/src/helper/backend/PasswdBackend.cpp sddm-d42700a_20150822git/src/helper/backend/PasswdBackend.cpp
+--- sddm-d42700a_20150822git.orig/src/helper/backend/PasswdBackend.cpp 2015-08-22 16:17:37.000000000 +0200
++++ sddm-d42700a_20150822git/src/helper/backend/PasswdBackend.cpp 2015-08-31 12:00:43.995324823 +0200
+@@ -38,7 +38,7 @@
+ if (m_autologin)
+ return true;
+
+- if (m_user == "sddm") {
++ if (m_user == QStringLiteral("sddm")) {
+ if (m_greeter)
+ return true;
+ else
+@@ -49,17 +49,17 @@
+ QString password;
+
+ if (m_user.isEmpty())
+- r.prompts << Prompt(AuthPrompt::LOGIN_USER, "Login", false);
+- r.prompts << Prompt(AuthPrompt::LOGIN_PASSWORD, "Password", true);
++ r.prompts << Prompt(AuthPrompt::LOGIN_USER, QStringLiteral("Login"), false);
++ r.prompts << Prompt(AuthPrompt::LOGIN_PASSWORD, QStringLiteral("Password"), true);
+
+ Request response = m_app->request(r);
+ Q_FOREACH(const Prompt &p, response.prompts) {
+ switch (p.type) {
+ case AuthPrompt::LOGIN_USER:
+- m_user = p.response;
++ m_user = QString::fromUtf8(p.response);
+ break;
+ case AuthPrompt::LOGIN_PASSWORD:
+- password = p.response;
++ password = QString::fromUtf8(p.response);
+ break;
+ default:
+ break;
+@@ -68,13 +68,13 @@
+
+ struct passwd *pw = getpwnam(qPrintable(m_user));
+ if (!pw) {
+- m_app->error(QString("Wrong user/password combination"), Auth::ERROR_AUTHENTICATION);
++ m_app->error(QStringLiteral("Wrong user/password combination"), Auth::ERROR_AUTHENTICATION);
+ return false;
+ }
+
+ struct spwd *spw = getspnam(pw->pw_name);
+ if (!spw) {
+- qWarning() << "[Passwd] Could get passwd but not shadow";
++ qWarning() << QStringLiteral("[Passwd] Could get passwd but not shadow");
+ return false;
+ }
+
+@@ -86,7 +86,7 @@
+ return true;
+ }
+
+- m_app->error(QString("Wrong user/password combination"), Auth::ERROR_AUTHENTICATION);
++ m_app->error(QStringLiteral("Wrong user/password combination"), Auth::ERROR_AUTHENTICATION);
+ return false;
+ }
+
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch b/testing/source/vtown/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch
new file mode 100644
index 00000000..2391c80c
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_revert-honor-PAM-supplemental-groups.patch
@@ -0,0 +1,88 @@
+From d3953e88a94ec25a87d3c5136517b3d1009cb1fd Mon Sep 17 00:00:00 2001
+From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de>
+Date: Wed, 8 May 2019 18:58:53 +0200
+Subject: [PATCH] Revert "Honor PAM's ambient supplemental groups. (#834)"
+
+This reverts commit 1bc813d08b8130e458a6550ec47fb2bfbe6de080, which
+misuses PAM and leads to pulling in all of root's supplemental groups
+during session initialization instead of only adding PAM's extra
+groups. The problem was masked due to the root user not having any
+supplemental groups in some common contexts, like running sddm from a
+systemd unit.
+---
+ src/helper/UserSession.cpp | 57 --------------------------------------
+ 1 file changed, 57 deletions(-)
+
+diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp
+index b3aec356..f71fd358 100644
+--- a/src/helper/UserSession.cpp
++++ b/src/helper/UserSession.cpp
+@@ -150,67 +150,10 @@ namespace SDDM {
+ qCritical() << "setgid(" << pw.pw_gid << ") failed for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+-
+-#ifdef USE_PAM
+-
+- // fetch ambient groups from PAM's environment;
+- // these are set by modules such as pam_groups.so
+- int n_pam_groups = getgroups(0, NULL);
+- gid_t *pam_groups = NULL;
+- if (n_pam_groups > 0) {
+- pam_groups = new gid_t[n_pam_groups];
+- if ((n_pam_groups = getgroups(n_pam_groups, pam_groups)) == -1) {
+- qCritical() << "getgroups() failed to fetch supplemental"
+- << "PAM groups for user:" << username;
+- exit(Auth::HELPER_OTHER_ERROR);
+- }
+- } else {
+- n_pam_groups = 0;
+- }
+-
+- // fetch session's user's groups
+- int n_user_groups = 0;
+- gid_t *user_groups = NULL;
+- if (-1 == getgrouplist(username.constData(), pw.pw_gid,
+- NULL, &n_user_groups)) {
+- user_groups = new gid_t[n_user_groups];
+- if ((n_user_groups = getgrouplist(username.constData(),
+- pw.pw_gid, user_groups,
+- &n_user_groups)) == -1 ) {
+- qCritical() << "getgrouplist(" << username << ", " << pw.pw_gid
+- << ") failed";
+- exit(Auth::HELPER_OTHER_ERROR);
+- }
+- }
+-
+- // set groups to concatenation of PAM's ambient
+- // groups and the session's user's groups
+- int n_groups = n_pam_groups + n_user_groups;
+- if (n_groups > 0) {
+- gid_t *groups = new gid_t[n_groups];
+- memcpy(groups, pam_groups, (n_pam_groups * sizeof(gid_t)));
+- memcpy((groups + n_pam_groups), user_groups,
+- (n_user_groups * sizeof(gid_t)));
+-
+- // setgroups(2) handles duplicate groups
+- if (setgroups(n_groups, groups) != 0) {
+- qCritical() << "setgroups() failed for user: " << username;
+- exit (Auth::HELPER_OTHER_ERROR);
+- }
+- delete[] groups;
+- }
+- delete[] pam_groups;
+- delete[] user_groups;
+-
+-#else
+-
+ if (initgroups(pw.pw_name, pw.pw_gid) != 0) {
+ qCritical() << "initgroups(" << pw.pw_name << ", " << pw.pw_gid << ") failed for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+-
+-#endif /* USE_PAM */
+-
+ if (setuid(pw.pw_uid) != 0) {
+ qCritical() << "setuid(" << pw.pw_uid << ") failed for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+
diff --git a/testing/source/vtown/kde/patch/sddm/sddm_userxsession.diff b/testing/source/vtown/kde/patch/sddm/sddm_userxsession.diff
new file mode 100644
index 00000000..3dcea1f0
--- /dev/null
+++ b/testing/source/vtown/kde/patch/sddm/sddm_userxsession.diff
@@ -0,0 +1,13 @@
+--- sddm-0.18.1/data/scripts/Xsession.orig 2018-09-26 21:03:47.000000000 +0200
++++ sddm-0.18.1/data/scripts/Xsession 2020-01-21 11:55:24.997845799 +0100
+@@ -91,10 +91,6 @@
+ fi
+ [ -f $HOME/.Xresources ] && xrdb -merge $HOME/.Xresources
+
+-if [ -f "$USERXSESSION" ]; then
+- . "$USERXSESSION"
+-fi
+-
+ if [ -z "$*" ]; then
+ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ else
diff --git a/testing/source/vtown/kde/plasma_checkout.sh b/testing/source/vtown/kde/plasma_checkout.sh
new file mode 100644
index 00000000..edb8bf73
--- /dev/null
+++ b/testing/source/vtown/kde/plasma_checkout.sh
@@ -0,0 +1,146 @@
+#!/bin/sh
+# $id$
+# -----------------------------------------------------------------------------
+# Purpose: A script to checkout sources for KDE Plasma Next from the
+# git repositories and create tarballs of them.
+# Author: Eric Hameleers <alien@slackware.com>
+# Date: 20140604
+# -----------------------------------------------------------------------------
+
+# Defaults:
+
+# Directory where we start:
+CWD=$(pwd)
+
+# Cleanup (delete) the directories containing the local clones afterwards:
+CLEANUP="NO"
+
+# Checkout at a custom date instead of today:
+CUSTDATE="NO"
+
+# Forced overwriting of existing tarballs:
+FORCE="NO"
+
+# Where to write the files by default:
+MYDIR="${CWD}/_plasma_checkouts"
+
+# KDE git repositories:
+KDEGITURI="git://anongit.kde.org"
+
+# Prefered branch to check out from if it exists (HEAD otherwise):
+BRANCH="frameworks"
+
+# Shrink the tarball by removing git repository metadata:
+SHRINK="YES"
+
+# Today's timestamp:
+THEDATE=$(date +%Y%m%d)
+
+# The KDE topdirectory ( by default the location of this script):
+TOPDIR=$(cd $(dirname $0); pwd)
+
+# -----------------------------------------------------------------------------
+while getopts "cd:fghk:o:" Option
+do
+ case $Option in
+ c ) CLEANUP="YES"
+ ;;
+ d ) THEDATE="date --date='${OPTARG}' +%Y%m%d"
+ CUSTDATE="${OPTARG}"
+ ;;
+ f ) FORCE="YES"
+ ;;
+ g ) SHRINK="NO"
+ ;;
+ k ) TOPDIR="${OPTARG}"
+ ;;
+ o ) MYDIR="${OPTARG}"
+ ;;
+ h|* )
+ echo "$(basename $0) [<param> <param> ...] [<module> <module> ...]"
+ echo "Parameters are:"
+ echo " -h This help."
+ echo " -c Cleanup afterwards (delete the cloned repos)."
+ echo " -d <date> Checkout git at <date> instead of today."
+ echo " -f Force overwriting of tarballs if they exist."
+ echo " -g Keep git repository metadata (bigger tarball)."
+ echo " -o <dir> Create tarballs in <dir> instead of $MYDIR/."
+ echo " -k <dir> Location of KDE sources if not $(cd $(dirname $0), pwd)/."
+ exit
+ ;;
+ esac
+done
+
+shift $(($OPTIND - 1))
+# End of option parsing.
+# $1 now references the first non option item supplied on the command line
+# if one exists.
+# -----------------------------------------------------------------------------
+
+# Catch any individual requests on the commandline:
+MODS=${1:-""}
+
+# Verify that our TOPDIR is the KDE source top directory:
+if ! [ -f ${TOPDIR}/KDE.SlackBuild -a -d ${TOPDIR}/src ]; then
+ echo ">> Error: '$TOPDIR' does not seem to contain the KDE SlackBuild plus sources"
+ echo ">> Either place this script in the KDE directory before running it,"
+ echo ">> Or specify the KDE toplevel source directory with the '-k' parameter"
+ exit 1
+fi
+
+# No modules specified on the commandline; get all enabled plasma modules:
+if [ ! -n "$MODS" ]; then
+ MODS="$(cat ${TOPDIR}/modules/plasma | grep -v " *#" | grep -v "^$")"
+fi
+
+# Create the work directory:
+mkdir -p "${MYDIR}"
+if [ $? -ne 0 ]; then
+ echo "Error creating '${MYDIR}' - aborting."
+ exit 1
+fi
+cd "${MYDIR}"
+
+# Proceed with checking out all plasma-next sources.
+# Some packages are called foo-framework to make them co-installable with the
+# KDE4 packages with the same source-name. Strip the '-framework' off the
+# package name to get the source name):
+
+for MOD in $MODS ; do
+ git clone ${KDEGITURI}/${MOD%-framework}.git ${MOD%-framework}-${THEDATE}git
+ ( cd ${MOD%-framework}-${THEDATE}git
+ git checkout ${BRANCH} # If this fails we should have 'master' anyway
+ if [ $? -ne 0 ]; then
+ BRANCH="master"
+ fi
+ if [ "$CUSTDATE" != "NO" ]; then
+ # Checkout at a specified date instead of HEAD:
+ git checkout $(git rev-list -n 1 --before="`date -d $THEDATE`" $BRANCH)
+ fi
+ )
+done
+
+if [ "$SHRINK" = "YES" ]; then
+ # Remove git meta data from the tarballs:
+ for DIR in $(ls |grep git$) ; do
+ find ${DIR%/} -name ".git*" -depth -exec rm -rf {} \;
+ done
+fi
+
+# Zip them up:
+for DIR in $(ls |grep git$) ; do
+ if [ "$FORCE" = "NO" -a -f ${DIR%/}.tar.xz ]; then
+ echo ">> Not overwriting existng file '${DIR%/}.tar.xz'"
+ echo ">> Use '-f' to force ovewriting existing files"
+ else
+ tar -Jcf ${DIR%/}.tar.xz ${DIR%/}
+ fi
+done
+
+if [ "$CLEANUP" = "YES" ]; then
+ # Remmove the cloned directories now that we have the tarballs:
+ rm -r *git
+fi
+
+cd $CWD
+# Done!
diff --git a/testing/source/vtown/kde/post-install/akonadi4.post-install b/testing/source/vtown/kde/post-install/akonadi4.post-install
new file mode 100644
index 00000000..6115cf39
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/akonadi4.post-install
@@ -0,0 +1,5 @@
+# Remove files that clash with the Frameworks version of akonadi;
+# we need only the barebones of the old akonadi 0.x for kdepimlibs4:
+#rm -r $PKG/usr/{bin,share}
+rm -r $PKG/usr/bin
+
diff --git a/testing/source/vtown/kde/post-install/audiocd-kio4.post-install b/testing/source/vtown/kde/post-install/audiocd-kio4.post-install
new file mode 100644
index 00000000..ec32ab18
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/audiocd-kio4.post-install
@@ -0,0 +1,6 @@
+# These are provided by audiocd-kio and not needed in the kdelibs4 based pkg:
+rm -r $PKG/usr/include
+rm -r $PKG/usr/share/config.kcfg
+# Remove symlink shared with KF5 based pkg:
+rm $PKG/usr/lib${LIBDIRSUFFIX}/libaudiocdplugins.so
+
diff --git a/testing/source/vtown/kde/post-install/breeze-grub.post-install b/testing/source/vtown/kde/post-install/breeze-grub.post-install
new file mode 100644
index 00000000..ed723c2c
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/breeze-grub.post-install
@@ -0,0 +1,3 @@
+# Install the GRUB theme:
+mkdir -p $PKG/boot/grub/themes
+ cp -r breeze $PKG/boot/grub/themes/
diff --git a/testing/source/vtown/kde/post-install/dolphin.post-install b/testing/source/vtown/kde/post-install/dolphin.post-install
new file mode 100644
index 00000000..8b0f9e14
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/dolphin.post-install
@@ -0,0 +1,14 @@
+# Add a 'run dolphin as root' menu entry:
+mkdir -p $PKG/usr/share/applications
+cat <<EOT > $PKG/usr/share/applications/org.kde.dolphinsu.desktop
+[Desktop Entry]
+Name=File Manager - Super User Mode
+Exec=dbus-launch dolphin -qwindowtitle "%c" "%u"
+Icon=system-file-manager
+Type=Application
+X-DocPath=dolphin/index.html
+Categories=Qt;KDE;System;FileManager;
+Terminal=false
+MimeType=inode/directory;
+X-KDE-SubstituteUID=true
+EOT
diff --git a/testing/source/vtown/kde/post-install/elisa.post-install b/testing/source/vtown/kde/post-install/elisa.post-install
new file mode 100644
index 00000000..93d9424f
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/elisa.post-install
@@ -0,0 +1,4 @@
+# Create a symlink in /usr/lib$LIBDIRSUFFIX to the elisa library:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -s elisa/libelisaLib.so.0 )
+
diff --git a/testing/source/vtown/kde/post-install/k3b.post-install b/testing/source/vtown/kde/post-install/k3b.post-install
new file mode 100644
index 00000000..88101148
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/k3b.post-install
@@ -0,0 +1,2 @@
+# Move the dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/kauth.post-install b/testing/source/vtown/kde/post-install/kauth.post-install
new file mode 100644
index 00000000..9239a3e5
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kauth.post-install
@@ -0,0 +1,2 @@
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/kdelibs.post-install b/testing/source/vtown/kde/post-install/kdelibs.post-install
new file mode 100644
index 00000000..9239a3e5
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kdelibs.post-install
@@ -0,0 +1,2 @@
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/kdelibs4support.post-install b/testing/source/vtown/kde/post-install/kdelibs4support.post-install
new file mode 100644
index 00000000..c91513e9
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kdelibs4support.post-install
@@ -0,0 +1,5 @@
+# This file causes errors in lots of packages, like:
+# "no rule to make target ../po/it/PO_FILES"
+# (now fixed with a patch)
+#mv $PKG/usr/lib$LIBDIRSUFFIX/cmake/KF5KDELibs4Support/FindGettext.cmake{,.fail}
+
diff --git a/testing/source/vtown/kde/post-install/kdepim.post-install b/testing/source/vtown/kde/post-install/kdepim.post-install
new file mode 100644
index 00000000..c9cc6ce3
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kdepim.post-install
@@ -0,0 +1,10 @@
+# Move the dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
+# Kalarm should not start in XFCE:
+if ! grep -q "OnlyShowIn=KDE;" \
+ $PKG/etc/kde/xdg/autostart/kalarm.autostart.desktop ; then
+ echo "OnlyShowIn=KDE;" \
+ >> $PKG/etc/kde/xdg/autostart/kalarm.autostart.desktop
+fi
+
diff --git a/testing/source/vtown/kde/post-install/kdepimlibs4.post-install b/testing/source/vtown/kde/post-install/kdepimlibs4.post-install
new file mode 100644
index 00000000..0cd6c30a
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kdepimlibs4.post-install
@@ -0,0 +1,4 @@
+# Remove files that clash with the Frameworks version of kdepimlibs:
+rm -r $PKG/usr/bin
+rm -r $PKG/usr/share/akonadi
+rm -r $PKG/usr/share/config.kcfg
diff --git a/testing/source/vtown/kde/post-install/kdesu.post-install b/testing/source/vtown/kde/post-install/kdesu.post-install
new file mode 100644
index 00000000..52402f52
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kdesu.post-install
@@ -0,0 +1,4 @@
+# Create a symlink in /usr/bin to the KF5 kdesu binary
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin ; ln -s /usr/lib${LIBDIRSUFFIX}/kf5/kdesu kdesu )
+
diff --git a/testing/source/vtown/kde/post-install/kinfocenter.post-install b/testing/source/vtown/kde/post-install/kinfocenter.post-install
new file mode 100644
index 00000000..71a1efb7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kinfocenter.post-install
@@ -0,0 +1,7 @@
+# Configure about-distro:
+mkdir -p $PKG/etc/kde/xdg
+# http://www.slackware.com/grfx/shared/slackware_traditional_website_logo.png
+# http://www.slackware.com/~alien/liveslak/blueSW-128px.png
+install -m0644 -o root $CWD/post-install/kinfocenter/blueSW-128px.png $PKG/etc/kde/xdg/slackware_logo.png
+install -m0644 -o root $CWD/post-install/kinfocenter/kcm-about-distrorc.ex $PKG/etc/kde/xdg/kcm-about-distrorc
+
diff --git a/testing/source/vtown/kde/post-install/kinfocenter/blueSW-128px.png b/testing/source/vtown/kde/post-install/kinfocenter/blueSW-128px.png
new file mode 100644
index 00000000..7eea5a2c
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kinfocenter/blueSW-128px.png
Binary files differ
diff --git a/testing/source/vtown/kde/post-install/kinfocenter/kcm-about-distrorc.ex b/testing/source/vtown/kde/post-install/kinfocenter/kcm-about-distrorc.ex
new file mode 100644
index 00000000..636a331d
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kinfocenter/kcm-about-distrorc.ex
@@ -0,0 +1,5 @@
+[General]
+LogoPath=/etc/kde/xdg/slackware_logo.png
+Website=http://www.slackware.com/
+Variant=Post 14.2 -current\n(packages by AlienBOB)
+
diff --git a/testing/source/vtown/kde/post-install/kinfocenter/slackware_traditional_website_logo.png b/testing/source/vtown/kde/post-install/kinfocenter/slackware_traditional_website_logo.png
new file mode 100644
index 00000000..f60082b3
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kinfocenter/slackware_traditional_website_logo.png
Binary files differ
diff --git a/testing/source/vtown/kde/post-install/konsole.post-install b/testing/source/vtown/kde/post-install/konsole.post-install
new file mode 100644
index 00000000..6104e9f2
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/konsole.post-install
@@ -0,0 +1,13 @@
+# "konsole -ls" is no longer valid syntax for konsole, even though it's
+# still documented in the help manual. Here's a way to get the same
+# thing, and it works here, but I honestly don't know how it will act
+# everywhere with every shell. I just know it works with bash and ksh
+# Removed in KDE 4.9.4 package because it does not work:
+#sed -i -e 's/^Exec=konsole/Exec=konsole -e $SHELL -l/' \
+# $PKG/usr/share/applications/kde4/konsole.desktop
+
+## I find this a little bit too bright... <change by pjv>
+## Change the konsole defaults to look like the real Linux console:
+#sed -i 's/ColorScheme=Linux/ColorScheme=WhiteOnBlack/' \
+# $PKG/usr/share/apps/konsole/Shell.profile
+
diff --git a/testing/source/vtown/kde/post-install/konsolepart4.post-install b/testing/source/vtown/kde/post-install/konsolepart4.post-install
new file mode 100644
index 00000000..8345463c
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/konsolepart4.post-install
@@ -0,0 +1,5 @@
+# These are provided by konsole and not needed in the KDE4 component:
+rm -r $PKG/usr/{bin,share/applications}
+rm -r $PKG/usr/share/doc/HTML
+rm $PKG/usr/lib${LIBDIRSUFFIX}/libkdeinit4_konsole.so
+
diff --git a/testing/source/vtown/kde/post-install/kscreenlocker.post-install b/testing/source/vtown/kde/post-install/kscreenlocker.post-install
new file mode 100644
index 00000000..203cff04
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kscreenlocker.post-install
@@ -0,0 +1,4 @@
+if [ "$SLACKPAM" == "no" ]; then
+ # For shadow, this file needs to be setuid root:
+ chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
+fi
diff --git a/testing/source/vtown/kde/post-install/kservice.post-install b/testing/source/vtown/kde/post-install/kservice.post-install
new file mode 100644
index 00000000..a014f3ba
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kservice.post-install
@@ -0,0 +1,9 @@
+# Add profile scripts
+mkdir -p $PKG/etc/profile.d
+cat $CWD/post-install/kservice/profile.d/kde.sh \
+ | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \
+ > $PKG/etc/profile.d/kde.sh
+cat $CWD/post-install/kservice/profile.d/kde.csh \
+ | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#g" \
+ > $PKG/etc/profile.d/kde.csh
+chmod 0755 $PKG/etc/profile.d/*
diff --git a/testing/source/vtown/kde/post-install/kservice/profile.d/kde.csh b/testing/source/vtown/kde/post-install/kservice/profile.d/kde.csh
new file mode 100644
index 00000000..cce370cc
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kservice/profile.d/kde.csh
@@ -0,0 +1,23 @@
+#!/bin/csh
+# KDE additions:
+if ( ! $?KDEDIRS ) then
+ setenv KDEDIRS /usr
+endif
+setenv PATH ${PATH}:/usr/lib/kf5:/usr/lib/kde4/libexec
+
+if ( $?XDG_CONFIG_DIRS ) then
+ setenv XDG_CONFIG_DIRS ${XDG_CONFIG_DIRS}:/etc/kde/xdg
+else
+ setenv XDG_CONFIG_DIRS /etc/xdg:/etc/kde/xdg
+endif
+
+if ( ! $?XDG_RUNTIME_DIR ) then
+ # Using /run/user would be more in line with XDG specs, but in that case
+ # we should mount /run as tmpfs and add this to the Slackware rc scripts:
+ # mkdir /run/user ; chmod 1777 /run/user
+ # setenv XDG_RUNTIME_DIR /run/user/$USER
+ setenv XDG_RUNTIME_DIR /tmp/xdg-runtime-$USER
+ mkdir -p $XDG_RUNTIME_DIR
+ chown $USER $XDG_RUNTIME_DIR
+ chmod 700 $XDG_RUNTIME_DIR
+endif
diff --git a/testing/source/vtown/kde/post-install/kservice/profile.d/kde.sh b/testing/source/vtown/kde/post-install/kservice/profile.d/kde.sh
new file mode 100644
index 00000000..9448c34e
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kservice/profile.d/kde.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# KDE additions:
+KDEDIRS=/usr
+export KDEDIRS
+PATH="$PATH:/usr/lib/kf5:/usr/lib/kde4/libexec"
+export PATH
+if [ ! "$XDG_CONFIG_DIRS" = "" ]; then
+ XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/etc/kde/xdg
+else
+ XDG_CONFIG_DIRS=/etc/xdg:/etc/kde/xdg
+fi
+if [ "$XDG_RUNTIME_DIR" = "" ]; then
+ # Using /run/user would be more in line with XDG specs, but in that case
+ # we should mount /run as tmpfs and add this to the Slackware rc scripts:
+ # mkdir /run/user ; chmod 1777 /run/user
+ # XDG_RUNTIME_DIR=/run/user/$USER
+ XDG_RUNTIME_DIR=/tmp/xdg-runtime-$USER
+ mkdir -p $XDG_RUNTIME_DIR
+ chown $USER $XDG_RUNTIME_DIR
+ chmod 700 $XDG_RUNTIME_DIR
+fi
+export XDG_CONFIG_DIRS XDG_RUNTIME_DIR
+
diff --git a/testing/source/vtown/kde/post-install/ktorrent.post-install b/testing/source/vtown/kde/post-install/ktorrent.post-install
new file mode 100644
index 00000000..7e0c1303
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/ktorrent.post-install
@@ -0,0 +1,4 @@
+# Install a private copy of the GeoIP database, now that the online version
+# has been discontinued:
+mkdir -p $PKG/usr/share/apps/ktorrent/GeoIP
+zcat $CWD/patch/ktorrent/geoip.dat.gz > $PKG/usr/share/apps/ktorrent/GeoIP/geoip.dat
diff --git a/testing/source/vtown/kde/post-install/kwallet.post-install b/testing/source/vtown/kde/post-install/kwallet.post-install
new file mode 100644
index 00000000..9239a3e5
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kwallet.post-install
@@ -0,0 +1,2 @@
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/kwalletmanager.post-install b/testing/source/vtown/kde/post-install/kwalletmanager.post-install
new file mode 100644
index 00000000..9239a3e5
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/kwalletmanager.post-install
@@ -0,0 +1,2 @@
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/libksysguard.post-install b/testing/source/vtown/kde/post-install/libksysguard.post-install
new file mode 100644
index 00000000..10b156d7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/libksysguard.post-install
@@ -0,0 +1,4 @@
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
diff --git a/testing/source/vtown/kde/post-install/nepomuk-core.post-install b/testing/source/vtown/kde/post-install/nepomuk-core.post-install
new file mode 100644
index 00000000..88101148
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/nepomuk-core.post-install
@@ -0,0 +1,2 @@
+# Move the dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/post-install/oktetapart4.post-install b/testing/source/vtown/kde/post-install/oktetapart4.post-install
new file mode 100644
index 00000000..262be1a7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/oktetapart4.post-install
@@ -0,0 +1,5 @@
+# These are provided by okteta and not needed in the KDE4 component:
+rm -r $PKG/usr/bin
+rm -r $PKG/usr/share/doc
+rm -r $PKG/usr/share/{appdata,config.kcfg,icons,mime}
+
diff --git a/testing/source/vtown/kde/post-install/oxygen-fonts.post-install b/testing/source/vtown/kde/post-install/oxygen-fonts.post-install
new file mode 100755
index 00000000..300b6c5a
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/oxygen-fonts.post-install
@@ -0,0 +1,5 @@
+# Install fonts:
+FONTSDIR=/usr/share/fonts/TTF/oxygen
+mkdir -p $PKG/$FONTSDIR
+find . -name "*.ttf" -exec install -m644 {} $PKG/$FONTSDIR \;
+
diff --git a/testing/source/vtown/kde/post-install/plasma-desktop.post-install b/testing/source/vtown/kde/post-install/plasma-desktop.post-install
new file mode 100644
index 00000000..10b156d7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-desktop.post-install
@@ -0,0 +1,4 @@
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
diff --git a/testing/source/vtown/kde/post-install/plasma-workspace.post-install b/testing/source/vtown/kde/post-install/plasma-workspace.post-install
new file mode 100644
index 00000000..65d727fc
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-workspace.post-install
@@ -0,0 +1,51 @@
+
+# Use ck-launch-session in runlevel 3 if that is available,
+# to start and attach a ConsoleKit session to the X session:
+mkdir -p $PKG/etc/X11/xinit
+cat $CWD/post-install/plasma-workspace/xinit/xinitrc.kde \
+ | sed -e "s/@LIBDIRSUFFIX@/$LIBDIRSUFFIX/g" \
+ > $PKG/etc/X11/xinit/xinitrc.kde
+chmod 0755 $PKG/etc/X11/xinit/xinitrc.kde
+
+# Add a script that launches a Plasma Wayland session from the commandline:
+mkdir -p $PKG/usr/bin
+cat $CWD/post-install/plasma-workspace/scripts/startkwayland \
+ | sed -e "s/@LIBDIRSUFFIX@/$LIBDIRSUFFIX/g" \
+ > $PKG/usr/bin/startkwayland
+chmod 0755 $PKG/usr/bin/startkwayland
+
+# Add a "fail-safe" version of KDE Plasma desktop session.
+# Prefix the name with "z_" because SDDM is braindead:
+mkdir -p $PKG/usr/share/xsessions
+cat $CWD/post-install/plasma-workspace/xsession/plasma-safe.desktop \
+ | sed -e "s,@PREFIX@,/usr,g" \
+ > $PKG/usr/share/xsessions/z_plasma-safe.desktop
+
+# What is "plugins/plugins"?
+mv $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/{plugins,}/phonon_platform
+rmdir $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/plugins
+
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
+if [ "$SLACKPAM" == "no" ]; then
+ # For shadow, this file needs to be setuid root just like the KDE4 version:
+ if [ -f $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass ]; then
+ chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
+ fi
+
+ # ck-launch-session is needed for a Wayland session, since we do not have PAM:
+ sed -e 's/^Exec=dbus-launch/Exec=ck-launch-session dbus-launch --sh-syntax/' \
+ -i $PKG/usr/share/wayland-sessions/plasmawayland.desktop
+else
+ # Install a PAM file for Plasma5 workspace:
+ install -Dm644 $CWD/post-install/plasma-workspace/pam.d/kde $PKG/etc/pam.d/kde
+fi
+
+if [ "$SLKELOGIND" == "yes" ]; then
+ # Since elogind does not set DBUS_SESSION_BUS_ADDRESS we need to start
+ # Plasma X11 session through dbus-run-session like Wayland is launched:
+ sed -i $PKG/usr/share/xsessions/plasma.desktop \
+ -e "s,^Exec=/,Exec=dbus-run-session /,"
+fi
diff --git a/testing/source/vtown/kde/post-install/plasma-workspace/pam.d/kde b/testing/source/vtown/kde/post-install/plasma-workspace/pam.d/kde
new file mode 100644
index 00000000..50e0f53d
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-workspace/pam.d/kde
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth include system-auth
+auth include postlogin
+account include system-auth
+password include system-auth
+session include system-auth
+session required pam_loginuid.so
+-session optional pam_ck_connector.so nox11
+-session optional pam_elogind.so
+session include postlogin
diff --git a/testing/source/vtown/kde/post-install/plasma-workspace/scripts/startkwayland b/testing/source/vtown/kde/post-install/plasma-workspace/scripts/startkwayland
new file mode 100644
index 00000000..2d8cf55b
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-workspace/scripts/startkwayland
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Start KWin as a Plasma 5 Wayland session
+dbus-launch --sh-syntax --exit-with-session /usr/bin/startplasma-wayland
diff --git a/testing/source/vtown/kde/post-install/plasma-workspace/xinit/xinitrc.kde b/testing/source/vtown/kde/post-install/plasma-workspace/xinit/xinitrc.kde
new file mode 100644
index 00000000..b0a920f5
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-workspace/xinit/xinitrc.kde
@@ -0,0 +1,33 @@
+#!/bin/sh
+# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/etc/X11/xinit/.Xresources
+sysmodmap=/etc/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+ xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+ xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+ xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+ xmodmap $usermodmap
+fi
+
+# Start the window manager:
+if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
+ ck-launch-session dbus-launch --sh-syntax --exit-with-session startplasma-x11
+else
+ dbus-launch --sh-syntax --exit-with-session startplasma-x11
+fi
+
diff --git a/testing/source/vtown/kde/post-install/plasma-workspace/xsession/plasma-safe.desktop b/testing/source/vtown/kde/post-install/plasma-workspace/xsession/plasma-safe.desktop
new file mode 100644
index 00000000..e166414f
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/plasma-workspace/xsession/plasma-safe.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=XSession
+Exec=dbus-run-session /usr/bin/startplasma-x11 --failsafe
+TryExec=/usr/bin/startplasma-x11
+DesktopNames=KDE
+Name=Plasma (Failsafe)
+Comment=Plasma by KDE (Failsafe)
+
diff --git a/testing/source/vtown/kde/post-install/polkit-kde-kcmodules-framework.post-install b/testing/source/vtown/kde/post-install/polkit-kde-kcmodules-framework.post-install
new file mode 100644
index 00000000..10b156d7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/polkit-kde-kcmodules-framework.post-install
@@ -0,0 +1,4 @@
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
diff --git a/testing/source/vtown/kde/post-install/powerdevil.post-install b/testing/source/vtown/kde/post-install/powerdevil.post-install
new file mode 100644
index 00000000..4d6b9f83
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/powerdevil.post-install
@@ -0,0 +1,30 @@
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
+mkdir -p $PKG/etc/polkit-1/rules.d
+
+# Add upower policy allowing users in the 'power' group
+# to suspend/hibernate the computer:
+install -m 0644 -o root \
+ $CWD/post-install/powerdevil/10-enable-upower-suspend.rules \
+ $PKG/etc/polkit-1/rules.d/10-enable-upower-suspend.rules.new
+
+if [ "$SLKELOGIND" == "no" ]; then
+ # Add ConsoleKit2 policy file that allows users in the 'power' group
+ # to shutdown/reboot the computer:
+ install -m 0644 -o root \
+ $CWD/post-install/powerdevil/10-enable-ck2-power.rules \
+ $PKG/etc/polkit-1/rules.d/10-enable-session-power.rules.new
+else
+ # Add login1 policy file that allows users in the 'power' group
+ # to shutdown/reboot the computer:
+ install -m 0644 -o root \
+ $CWD/post-install/powerdevil/10-enable-elogind-power.rules \
+ $PKG/etc/polkit-1/rules.d/10-enable-session-power.rules.new
+ # Add powerdevil policy file that allows users in the 'power' group
+ # to check for existence of a discrete gpu:
+ install -m 0644 -o root \
+ $CWD/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules \
+ $PKG/etc/polkit-1/rules.d/10-enable-powerdevil-discrete-gpu.rules.new
+fi
diff --git a/testing/source/vtown/kde/post-install/powerdevil/10-enable-ck2-power.rules b/testing/source/vtown/kde/post-install/powerdevil/10-enable-ck2-power.rules
new file mode 100644
index 00000000..2a8a5a70
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/powerdevil/10-enable-ck2-power.rules
@@ -0,0 +1,12 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( (action.id == "org.freedesktop.consolekit.system.restart" ||
+ action.id == "org.freedesktop.consolekit.system.restart-multiple-users" ||
+ action.id == "org.freedesktop.consolekit.system.stop" ||
+ action.id == "org.freedesktop.consolekit.system.stop-multiple-users")
+ && subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
+
diff --git a/testing/source/vtown/kde/post-install/powerdevil/10-enable-elogind-power.rules b/testing/source/vtown/kde/post-install/powerdevil/10-enable-elogind-power.rules
new file mode 100644
index 00000000..db499206
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/powerdevil/10-enable-elogind-power.rules
@@ -0,0 +1,12 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( (action.id == "org.freedesktop.login1.reboot" ||
+ action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
+ action.id == "org.freedesktop.login1.power-off" ||
+ action.id == "org.freedesktop.login1.power-off-multiple-sessions")
+ && subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
+
diff --git a/testing/source/vtown/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules b/testing/source/vtown/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules
new file mode 100644
index 00000000..f001848e
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules
@@ -0,0 +1,9 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( action.id == "org.kde.powerdevil.discretegpuhelper.hasdualgpu" &&
+ subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
+
diff --git a/testing/source/vtown/kde/post-install/powerdevil/10-enable-upower-suspend.rules b/testing/source/vtown/kde/post-install/powerdevil/10-enable-upower-suspend.rules
new file mode 100644
index 00000000..4bccfb01
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/powerdevil/10-enable-upower-suspend.rules
@@ -0,0 +1,9 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( (action.id == "org.freedesktop.upower.suspend" ||
+ action.id == "org.freedesktop.upower.hibernate")
+ && subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
diff --git a/testing/source/vtown/kde/post-install/sddm-kcm.post-install b/testing/source/vtown/kde/post-install/sddm-kcm.post-install
new file mode 100644
index 00000000..10b156d7
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/sddm-kcm.post-install
@@ -0,0 +1,4 @@
+# Move the polkit dbus configuration files to the proper place:
+mkdir -p $PKG/etc
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
diff --git a/testing/source/vtown/kde/post-install/sddm.post-install b/testing/source/vtown/kde/post-install/sddm.post-install
new file mode 100644
index 00000000..3d168b14
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/sddm.post-install
@@ -0,0 +1,49 @@
+if [ "$SLACKPAM" == "no" ]; then
+ # Remove PAM related stuff:
+ rm -rf $PKG/etc/pam.d
+else
+ # Replace systemd-centric files with ours:
+ rm -f $PKG/etc/pam.d/sddm*
+ for FILE in sddm sddm-autologin sddm-greeter ; do
+ install -Dm644 $CWD/post-install/sddm-qt5/pam.d/$FILE $PKG/etc/pam.d/$FILE
+ done
+fi
+
+# Remove the sddm.conf file because we will generate our own in doinst.sh:
+rm -f $PKG/etc/sddm.conf
+
+# Make sure that Plasma and SDDM work on older GPUs,
+# by forcing Qt5 to use software GL rendering:
+cat <<"EOGL" >> $PKG/usr/share/sddm/scripts/Xsetup
+
+# Make sure that Plasma and SDDM work on older GPUs,
+# by forcing Qt5 to use software GL rendering:
+OPENGL_VERSION=$(LANG=C glxinfo |grep '^OpenGL version string: ' |head -n 1 |sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g')
+if [ "$OPENGL_VERSION" -lt 2 ]; then
+ QT_XCB_FORCE_SOFTWARE_OPENGL=1
+ export QT_XCB_FORCE_SOFTWARE_OPENGL
+fi
+EOGL
+
+# Ensure that user customizations to the session files are not lost:
+mv $PKG/usr/share/sddm/scripts/Xsession{,.new}
+mv $PKG/usr/share/sddm/scripts/Xsetup{,.new}
+mv $PKG/usr/share/sddm/scripts/Xstop{,.new}
+mv $PKG/usr/share/sddm/scripts/wayland-session{,.new}
+
+# Add a wrapper for the sddm binary, to enable a custom environment:
+mv $PKG/usr/bin/sddm $PKG/usr/bin/sddm.bin
+cat <<"EOT" > $PKG/usr/bin/sddm
+#!/bin/sh
+# Customized environment (LANG definition):
+if [ -f /etc/default/sddm ]; then
+ . /etc/default/sddm
+fi
+/usr/bin/sddm.bin "$*"
+EOT
+chmod 0755 $PKG/usr/bin/sddm
+
+# Let's also add an example customization (localization of the UI):
+mkdir -p $PKG/etc/default
+echo ". /etc/profile.d/lang.sh" > $PKG/etc/default/sddm.new
+
diff --git a/testing/source/vtown/kde/post-install/sddm/pam.d/sddm b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm
new file mode 100644
index 00000000..df016a7e
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm
@@ -0,0 +1,26 @@
+#%PAM-1.0
+
+auth substack system-auth
+
+# Uncomment this line to restrict login to users with a UID greater
+# than 999 (in other words, don't allow login for root):
+#auth required pam_succeed_if.so uid >= 1000 quiet
+
+-auth optional pam_gnome_keyring.so
+-auth optional pam_kwallet5.so
+auth include postlogin
+
+account include system-auth
+
+password substack system-auth
+-password optional pam_gnome_keyring.so use_authtok
+-password optional pam_kwallet5.so use_authtok
+
+session optional pam_keyinit.so force revoke
+session substack system-auth
+session required pam_loginuid.so
+-session optional pam_ck_connector.so nox11
+-session optional pam_elogind.so
+-session optional pam_gnome_keyring.so auto_start
+-session optional pam_kwallet5.so auto_start
+session include postlogin
diff --git a/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-autologin b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-autologin
new file mode 100644
index 00000000..36023954
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-autologin
@@ -0,0 +1,25 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_shells.so
+
+# Uncomment this line to restrict autologin to users with a UID greater
+# than 999 (in other words, don't allow autologin for root):
+#auth required pam_succeed_if.so uid >= 1000 quiet
+
+auth required pam_permit.so
+-auth optional pam_gnome_keyring.so
+-auth optional pam_kwallet5.so
+
+account include system-auth
+
+password include system-auth
+
+session substack system-auth
+session required pam_loginuid.so
+-session optional pam_ck_connector.so nox11
+-session optional pam_elogind.so
+-session optional pam_gnome_keyring.so auto_start
+-session optional pam_kwallet5.so auto_start
+session include postlogin
+
diff --git a/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-greeter b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-greeter
new file mode 100644
index 00000000..fe30e60c
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/sddm/pam.d/sddm-greeter
@@ -0,0 +1,19 @@
+#%PAM-1.0
+
+# Load environment from /etc/environment and ~/.pam_environment
+auth required pam_env.so
+
+# Always let the greeter start without authentication
+auth required pam_permit.so
+
+# No action required for account management
+account required pam_permit.so
+
+# Can't change password
+password required pam_deny.so
+
+# Setup session
+session required pam_unix.so
+-session optional pam_systemd.so
+-session optional pam_ck_connector.so nox11
+-session optional pam_elogind.so
diff --git a/testing/source/vtown/kde/post-install/wicd-kde.post-install b/testing/source/vtown/kde/post-install/wicd-kde.post-install
new file mode 100644
index 00000000..88101148
--- /dev/null
+++ b/testing/source/vtown/kde/post-install/wicd-kde.post-install
@@ -0,0 +1,2 @@
+# Move the dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
diff --git a/testing/source/vtown/kde/pre-install/README b/testing/source/vtown/kde/pre-install/README
new file mode 100644
index 00000000..2478e45f
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/README
@@ -0,0 +1,18 @@
+
+IMPORTANT!
+
+To fail/exit a script, use this:
+
+[command that fails] || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+DO NOT USE THIS:
+
+[command that fails] || exit 1
+
+as it will cause the parent script to exit in the wrong location and possibly
+silently skip building some packages.
+
+Thanks,
+
+The Management
+
diff --git a/testing/source/vtown/kde/pre-install/alkimia.pre-install b/testing/source/vtown/kde/pre-install/alkimia.pre-install
new file mode 100644
index 00000000..a9a19c72
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/alkimia.pre-install
@@ -0,0 +1,2 @@
+# https://bugs.kde.org/show_bug.cgi?id=415868
+sed -e '/set(QML_INSTALL_DIR/d' -i qml/CMakeLists.txt
diff --git a/testing/source/vtown/kde/pre-install/kapidox.pre-install b/testing/source/vtown/kde/pre-install/kapidox.pre-install
new file mode 100644
index 00000000..d3aa1a90
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/kapidox.pre-install
@@ -0,0 +1,2 @@
+sed -e "s/os.path.join('share', 'man'/os.path.join('man'/" -i setup.py
+
diff --git a/testing/source/vtown/kde/pre-install/kdeconnect-kde.pre-install b/testing/source/vtown/kde/pre-install/kdeconnect-kde.pre-install
new file mode 100644
index 00000000..e89e2fc8
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/kdeconnect-kde.pre-install
@@ -0,0 +1,2 @@
+sed -i -e "s,#add_subdirectory(kio),add_subdirectory(kio)," CMakeLists.txt
+
diff --git a/testing/source/vtown/kde/pre-install/kdepimlibs4.pre-install b/testing/source/vtown/kde/pre-install/kdepimlibs4.pre-install
new file mode 100644
index 00000000..d1207019
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/kdepimlibs4.pre-install
@@ -0,0 +1,9 @@
+# Temporary (hopefully) fix:
+if ! grep -q 'cmake_minimum_required' CMakeLists.txt ; then
+ # Prepend a cmake_minimum_required stanza at the top, which enables
+ # newer cmake features which the build needs:
+ sed -i -e '1icmake_minimum_required(VERSION 2.8.9)\' CMakeLists.txt
+fi
+
+# Don't build gpgme++
+sed -e '/gpgme++/d' -e '/qgpgme/d' -i CMakeLists.txt
diff --git a/testing/source/vtown/kde/pre-install/kdewebdev.pre-install b/testing/source/vtown/kde/pre-install/kdewebdev.pre-install
new file mode 100644
index 00000000..6cd51b1c
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/kdewebdev.pre-install
@@ -0,0 +1,6 @@
+# First, build and install Tidy:
+cd $CWD/pre-install/kdewebdev/tidy
+ echo "Building htmltidy..."
+ ARCH=$ARCH sh ./tidy.build $PKG
+cd -
+
diff --git a/testing/source/vtown/kde/pre-install/messagelib.pre-install b/testing/source/vtown/kde/pre-install/messagelib.pre-install
new file mode 100644
index 00000000..d4883ff1
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/messagelib.pre-install
@@ -0,0 +1,3 @@
+# Temporary workaround for a gpgme cmake bug:
+sed -e '/find_package.*QGpgme/d' -i CMakeLists.txt
+
diff --git a/testing/source/vtown/kde/pre-install/smokekde.pre-install b/testing/source/vtown/kde/pre-install/smokekde.pre-install
new file mode 100644
index 00000000..a663cc69
--- /dev/null
+++ b/testing/source/vtown/kde/pre-install/smokekde.pre-install
@@ -0,0 +1,7 @@
+# Temporary (hopefully) fix:
+if ! grep -q 'cmake_minimum_required' CMakeLists.txt ; then
+ # Prepend a cmake_minimum_required stanza at the top, which enables
+ # newer cmake features which the build needs:
+ sed -i -e '1icmake_minimum_required(VERSION 2.8.9)\' CMakeLists.txt
+fi
+
diff --git a/testing/source/vtown/kde/slack-desc/akonadi b/testing/source/vtown/kde/slack-desc/akonadi
new file mode 100644
index 00000000..836688d0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi: akonadi (PIM storage service)
+akonadi:
+akonadi: Akonadi is an extensible cross-desktop storage service for PIM data
+akonadi: and meta data providing concurrent read, write, and query access.
+akonadi: It will provide a unique desktop wide object identification and
+akonadi: retrieval.
+akonadi:
+akonadi: Homepage: http://www.kdepim.org/akonadi/
+akonadi:
+akonadi:
+akonadi:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-calendar b/testing/source/vtown/kde/slack-desc/akonadi-calendar
new file mode 100644
index 00000000..c4979ce0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-calendar
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-calendar: akonadi-calendar (Akonadi calendar integration)
+akonadi-calendar:
+akonadi-calendar: Akonadi Calendar provides jobs, models and other helpers to make
+akonadi-calendar: working with events and calendars through Akonadi easier.
+akonadi-calendar:
+akonadi-calendar:
+akonadi-calendar:
+akonadi-calendar:
+akonadi-calendar:
+akonadi-calendar:
+akonadi-calendar:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-calendar-tools b/testing/source/vtown/kde/slack-desc/akonadi-calendar-tools
new file mode 100644
index 00000000..d2a8adb1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-calendar-tools
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-calendar-tools: akonadi-calendar-tools (CLI tools to manage Akonadi calendars)
+akonadi-calendar-tools:
+akonadi-calendar-tools: Console applications and utilities for managing calendars in Akonadi.
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
+akonadi-calendar-tools:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-contacts b/testing/source/vtown/kde/slack-desc/akonadi-contacts
new file mode 100644
index 00000000..79228dca
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-contacts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-contacts: akonadi-contacts (contact management for Akonadi)
+akonadi-contacts:
+akonadi-contacts: Akonadi Contacts contains libraries and daemons to implement Contact
+akonadi-contacts: Management in Akonadi.
+akonadi-contacts:
+akonadi-contacts:
+akonadi-contacts:
+akonadi-contacts:
+akonadi-contacts:
+akonadi-contacts:
+akonadi-contacts:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-import-wizard b/testing/source/vtown/kde/slack-desc/akonadi-import-wizard
new file mode 100644
index 00000000..04917e9a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-import-wizard
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-import-wizard: akonadi-import-wizard (import data to KMail)
+akonadi-import-wizard:
+akonadi-import-wizard: Assistant to import PIM data from other mail clients to KMail.
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
+akonadi-import-wizard:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-mime b/testing/source/vtown/kde/slack-desc/akonadi-mime
new file mode 100644
index 00000000..c3702776
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-mime
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-mime: akonadi-mime (akonadi MIME support library)
+akonadi-mime:
+akonadi-mime: akonadi-mime contains libraries and daemons that provide jobs, models
+akonadi-mime: and other helpers to make working with emails through Akonadi easier.
+akonadi-mime:
+akonadi-mime:
+akonadi-mime:
+akonadi-mime:
+akonadi-mime:
+akonadi-mime:
+akonadi-mime:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-notes b/testing/source/vtown/kde/slack-desc/akonadi-notes
new file mode 100644
index 00000000..94087684
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-notes
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-notes: akonadi-notes (akonadi note management library)
+akonadi-notes:
+akonadi-notes: Akonadi Notes is a library that effectively bridges the type-agnostic
+akonadi-notes: API of the Akonadi client libraries and the domain-specific KMime
+akonadi-notes: library. It provides a helper class for note attachments and for
+akonadi-notes: wrapping notes into KMime::Message objects.
+akonadi-notes:
+akonadi-notes:
+akonadi-notes:
+akonadi-notes:
+akonadi-notes:
diff --git a/testing/source/vtown/kde/slack-desc/akonadi-search b/testing/source/vtown/kde/slack-desc/akonadi-search
new file mode 100644
index 00000000..73032242
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadi-search
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadi-search: akonadi-search (search support for Akonadi)
+akonadi-search:
+akonadi-search: Akonadi Search contains libraries and daemons to implement Xapian
+akonadi-search: based indexing and query infrastructure for Akonadi.
+akonadi-search:
+akonadi-search:
+akonadi-search:
+akonadi-search:
+akonadi-search:
+akonadi-search:
+akonadi-search:
diff --git a/testing/source/vtown/kde/slack-desc/akonadiconsole b/testing/source/vtown/kde/slack-desc/akonadiconsole
new file mode 100644
index 00000000..7a2dbca4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akonadiconsole
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akonadiconsole: akonadiconsole (Akonadi management and debugging console)
+akonadiconsole:
+akonadiconsole: Akonadi Console is a tool for developers working with Akonadi or on
+akonadiconsole: Akonadi itself. It provides a GUI for managing agents and resources,
+akonadiconsole: retrieving, checking and even manipulating data, monitoring
+akonadiconsole: communication between Akonadi server and its clients, as well as
+akonadiconsole: convenience access to the database used by the server.
+akonadiconsole:
+akonadiconsole:
+akonadiconsole:
+akonadiconsole:
diff --git a/testing/source/vtown/kde/slack-desc/akregator b/testing/source/vtown/kde/slack-desc/akregator
new file mode 100644
index 00000000..3e69708e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/akregator
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+akregator: akregator (KDE feed reader)
+akregator:
+akregator: KDE feed reader.
+akregator:
+akregator:
+akregator:
+akregator:
+akregator:
+akregator:
+akregator:
+akregator:
diff --git a/testing/source/vtown/kde/slack-desc/alkimia b/testing/source/vtown/kde/slack-desc/alkimia
new file mode 100644
index 00000000..f8801b9c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/alkimia
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+alkimia: alkimia (KDE Finance library)
+alkimia:
+alkimia: Alkimia is a library used by KDE Finance applications, like Kmymoney.
+alkimia:
+alkimia:
+alkimia:
+alkimia:
+alkimia:
+alkimia:
+alkimia:
+alkimia:
diff --git a/testing/source/vtown/kde/slack-desc/analitza b/testing/source/vtown/kde/slack-desc/analitza
new file mode 100644
index 00000000..c5c035f5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/analitza
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+analitza: analitza (KDE mathematical library)
+analitza:
+analitza: The analitza library will let you add mathematical features to your
+analitza: program.
+analitza:
+analitza: Homepage: https://projects.kde.org/projects/kde/kdeedu/analitza
+analitza:
+analitza:
+analitza:
+analitza:
+analitza:
diff --git a/testing/source/vtown/kde/slack-desc/ark b/testing/source/vtown/kde/slack-desc/ark
new file mode 100644
index 00000000..f32d12aa
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ark
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ark: ark (KDE archiver tool)
+ark:
+ark: This is KDE's application to work with compressed archives.
+ark:
+ark:
+ark:
+ark:
+ark:
+ark:
+ark:
+ark:
diff --git a/testing/source/vtown/kde/slack-desc/artikulate b/testing/source/vtown/kde/slack-desc/artikulate
new file mode 100644
index 00000000..f9e15017
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/artikulate
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+artikulate: artikulate (pronunciation trainer)
+artikulate:
+artikulate: Artikulate is a pronunciation trainer, which helps in improving and
+artikulate: perfecting pronunciation skills. Learners train their pronunciation
+artikulate: by recording their own voices and comparing them to native speaker
+artikulate: recordings. Artikulate is part of the KDE Education Project.
+artikulate:
+artikulate:
+artikulate:
+artikulate:
+artikulate:
diff --git a/testing/source/vtown/kde/slack-desc/attica b/testing/source/vtown/kde/slack-desc/attica
new file mode 100644
index 00000000..ac635d4b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/attica
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+attica: attica (Open Collaboration Service library)
+attica:
+attica: Attica is a Qt library that implements the freedesktop.org
+attica: specification for the Open Collaboration Services API version 1.4.
+attica: It grants easy access to the services such as querying information
+attica: about persons and contents.
+attica:
+attica:
+attica:
+attica:
+attica:
diff --git a/testing/source/vtown/kde/slack-desc/audiocd-kio b/testing/source/vtown/kde/slack-desc/audiocd-kio
new file mode 100644
index 00000000..c666c9f7
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/audiocd-kio
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+audiocd-kio: audiocd-kio (audiocd kio slave)
+audiocd-kio:
+audiocd-kio: Audiocd kio slave.
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
diff --git a/testing/source/vtown/kde/slack-desc/baloo b/testing/source/vtown/kde/slack-desc/baloo
new file mode 100644
index 00000000..d3a7a569
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/baloo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+baloo: baloo (framework for searching and managing metadata)
+baloo:
+baloo: Baloo is a framework for searching and managing metadata. Baloo
+baloo: focuses on providing a very small memory footprint along with
+baloo: extremely fast searching. It also supports storing additional file
+baloo: based metadata via extended attributes.
+baloo:
+baloo:
+baloo:
+baloo:
+baloo:
diff --git a/testing/source/vtown/kde/slack-desc/baloo-widgets b/testing/source/vtown/kde/slack-desc/baloo-widgets
new file mode 100644
index 00000000..5aa0a223
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/baloo-widgets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+baloo-widgets: baloo-widgets (widgets for baloo)
+baloo-widgets:
+baloo-widgets: Baloo is a framework for searching and managing metadata.
+baloo-widgets: Baloo-widgets contains widgets for use with Baloo.
+baloo-widgets:
+baloo-widgets:
+baloo-widgets:
+baloo-widgets:
+baloo-widgets:
+baloo-widgets:
+baloo-widgets:
diff --git a/testing/source/vtown/kde/slack-desc/blinken b/testing/source/vtown/kde/slack-desc/blinken
new file mode 100644
index 00000000..ac3fa82e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/blinken
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+blinken: blinken (a memory enhancement game)
+blinken:
+blinken: Blinken is a memory enhancement game for KDE.
+blinken:
+blinken:
+blinken:
+blinken:
+blinken:
+blinken:
+blinken:
+blinken:
diff --git a/testing/source/vtown/kde/slack-desc/bluedevil b/testing/source/vtown/kde/slack-desc/bluedevil
new file mode 100644
index 00000000..9ddca55b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/bluedevil
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also customary
+# to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bluedevil: bluedevil (bluetooth stack for KDE)
+bluedevil:
+bluedevil: BlueDevil is the bluetooth stack for KDE.
+bluedevil:
+bluedevil: Homepage: http://www.afiestas.org/
+bluedevil:
+bluedevil:
+bluedevil:
+bluedevil:
+bluedevil:
+bluedevil:
diff --git a/testing/source/vtown/kde/slack-desc/bluez-qt b/testing/source/vtown/kde/slack-desc/bluez-qt
new file mode 100644
index 00000000..296d20bb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/bluez-qt
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also customary
+# to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bluez-qt: bluez-qt (Qt wrapper for BlueZ 5 DBus API)
+bluez-qt:
+bluez-qt: BluezQt is a library for communication with BlueZ system and session
+bluez-qt: daemons. Manager class is used to communicate with system daemon
+bluez-qt: org.bluez. ObexManager class is used to communicate with session
+bluez-qt: daemon org.bluez.obex.
+bluez-qt:
+bluez-qt: Homepage: https://projects.kde.org/projects/frameworks/bluez-qt
+bluez-qt:
+bluez-qt:
+bluez-qt:
diff --git a/testing/source/vtown/kde/slack-desc/bomber b/testing/source/vtown/kde/slack-desc/bomber
new file mode 100644
index 00000000..ebf44c83
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/bomber
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bomber: bomber (arcade bombing game for KDE)
+bomber:
+bomber: Bomber is a single player arcade game. The player is invading various
+bomber: cities in a plane that is decreasing in height. The goal of the game
+bomber: is to destroy all the buildings and advance to the next level. Each
+bomber: level gets a bit harder by increasing the speed of the plane and the
+bomber: height of the buildings.
+bomber:
+bomber:
+bomber:
+bomber:
diff --git a/testing/source/vtown/kde/slack-desc/bovo b/testing/source/vtown/kde/slack-desc/bovo
new file mode 100644
index 00000000..6e6c3c5e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/bovo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bovo: bovo (five-in-a-row board game)
+bovo:
+bovo: Bovo is a Gomoku ("five points" in Japanese) like game for two
+bovo: players, where the opponents alternate in placing their respective
+bovo: pictogram on the game board. Also known as: Connect Five, Five in a
+bovo: row, X and O, Naughts and Crosses.
+bovo:
+bovo:
+bovo:
+bovo:
+bovo:
diff --git a/testing/source/vtown/kde/slack-desc/breeze b/testing/source/vtown/kde/slack-desc/breeze
new file mode 100644
index 00000000..8213a736
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/breeze
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+breeze: breeze (artwork for Plasma)
+breeze:
+breeze: Artwork, styles and assets for the Breeze visual style for the Plasma
+breeze: Desktop.
+breeze:
+breeze:
+breeze:
+breeze:
+breeze:
+breeze:
+breeze:
diff --git a/testing/source/vtown/kde/slack-desc/breeze-grub b/testing/source/vtown/kde/slack-desc/breeze-grub
new file mode 100644
index 00000000..46ede93a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/breeze-grub
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+breeze-grub: breeze-grub (Breeze theme for GRUB)
+breeze-grub:
+breeze-grub: Breeze theme for GRUB.
+breeze-grub:
+breeze-grub:
+breeze-grub:
+breeze-grub:
+breeze-grub:
+breeze-grub:
+breeze-grub:
+breeze-grub:
diff --git a/testing/source/vtown/kde/slack-desc/breeze-gtk b/testing/source/vtown/kde/slack-desc/breeze-gtk
new file mode 100644
index 00000000..ebb67640
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/breeze-gtk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+breeze-gtk: breeze-gtk (Breeze widget theme for GTK 2 and 3)
+breeze-gtk:
+breeze-gtk: Breeze widget theme for GTK 2 and 3.
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
+breeze-gtk:
diff --git a/testing/source/vtown/kde/slack-desc/breeze-icons b/testing/source/vtown/kde/slack-desc/breeze-icons
new file mode 100644
index 00000000..99378fd9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/breeze-icons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+breeze-icons: breeze-icons (Breeze icon themes for KDE Plasma)
+breeze-icons:
+breeze-icons: Breeze icon themes for KDE Plasma.
+breeze-icons:
+breeze-icons: Homepage: https://projects.kde.org/projects/kde/workspace/breeze
+breeze-icons:
+breeze-icons:
+breeze-icons:
+breeze-icons:
+breeze-icons:
+breeze-icons:
diff --git a/testing/source/vtown/kde/slack-desc/calendarsupport b/testing/source/vtown/kde/slack-desc/calendarsupport
new file mode 100644
index 00000000..a953816d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/calendarsupport
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+calendarsupport: calendarsupport (KDE PIM calendar support library)
+calendarsupport:
+calendarsupport: The package contains KDE PIM calendar support library.
+calendarsupport:
+calendarsupport:
+calendarsupport:
+calendarsupport:
+calendarsupport:
+calendarsupport:
+calendarsupport:
+calendarsupport:
diff --git a/testing/source/vtown/kde/slack-desc/calligra b/testing/source/vtown/kde/slack-desc/calligra
new file mode 100644
index 00000000..303dd412
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/calligra
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+calligra: calligra (KDE office productivity suite)
+calligra:
+calligra: Calligra office productivity applications. Included are a word
+calligra: processor, spreadsheet, presentation program, chart and graph creator,
+calligra: vector graphics tool, database report creator, flowcharting program,
+calligra: integrated data management program, a pixel graphics editor, a
+calligra: mathematical formula editor, and Calligra Workspace (a combination of
+calligra: all of the above).
+calligra:
+calligra: Homepage: http://calligra-suite.org/
+calligra:
diff --git a/testing/source/vtown/kde/slack-desc/calligraplan b/testing/source/vtown/kde/slack-desc/calligraplan
new file mode 100644
index 00000000..5ba9cb11
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/calligraplan
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+calligraplan: calligraplan (project planner)
+calligraplan:
+calligraplan: Calligra Plan is a project management application. It is intended for
+calligraplan: managing moderately large projects with multiple resources.
+calligraplan:
+calligraplan: Homepage: http://www.calligra-suite.org/
+calligraplan:
+calligraplan:
+calligraplan:
+calligraplan:
+calligraplan:
diff --git a/testing/source/vtown/kde/slack-desc/cantor b/testing/source/vtown/kde/slack-desc/cantor
new file mode 100644
index 00000000..289d87e2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/cantor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cantor: cantor (front-end to mathematics software)
+cantor:
+cantor: Cantor is a frontend to several existing mathematical software such as
+cantor: R, Sage and Maxima. Cantor offers a worksheet as a nice GUI for all
+cantor: those backends and is not targeted to kids but to scientists.
+cantor:
+cantor:
+cantor:
+cantor:
+cantor:
+cantor:
diff --git a/testing/source/vtown/kde/slack-desc/cervisia b/testing/source/vtown/kde/slack-desc/cervisia
new file mode 100644
index 00000000..404e2359
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/cervisia
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cervisia: cervisia (GUI for CVS)
+cervisia:
+cervisia: cervisia is a graphical frontend for CVS.
+cervisia:
+cervisia:
+cervisia:
+cervisia:
+cervisia:
+cervisia:
+cervisia:
+cervisia:
diff --git a/testing/source/vtown/kde/slack-desc/digikam b/testing/source/vtown/kde/slack-desc/digikam
new file mode 100644
index 00000000..510c98be
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/digikam
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+digikam: digikam (KDE Photo Management Application)
+digikam:
+digikam: digiKam is a simple digital photo management application for KDE,
+digikam: which makes importing and organizing digital photos a snap. The photos
+digikam: can be organized in albums which can be sorted chronologically, by
+digikam: directory layout, or by custom collections. An easy to use interface
+digikam: enables you to connect to your camera and preview, download, and/or
+digikam: delete your images.
+digikam:
+digikam: Homepage: http://www.digikam.org/
+digikam:
diff --git a/testing/source/vtown/kde/slack-desc/discover b/testing/source/vtown/kde/slack-desc/discover
new file mode 100644
index 00000000..72a9feeb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/discover
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+discover: discover (KDE package management tools)
+discover:
+discover: A collection of package management tools for KDE.
+discover:
+discover: Homepage: https://projects.kde.org/projects/kde/workspace/discover
+discover:
+discover:
+discover:
+discover:
+discover:
+discover:
diff --git a/testing/source/vtown/kde/slack-desc/dolphin b/testing/source/vtown/kde/slack-desc/dolphin
new file mode 100644
index 00000000..f5326e60
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/dolphin
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dolphin: dolphin (KDE file manager)
+dolphin:
+dolphin: Dolphin is a lightweight file manager. It has been designed with ease
+dolphin: of use and simplicity in mind, while still allowing flexibility and
+dolphin: customization.
+dolphin:
+dolphin: Homepage: https://www.kde.org/applications/system/dolphin/
+dolphin:
+dolphin:
+dolphin:
+dolphin:
diff --git a/testing/source/vtown/kde/slack-desc/dolphin-plugins b/testing/source/vtown/kde/slack-desc/dolphin-plugins
new file mode 100644
index 00000000..57450268
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/dolphin-plugins
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dolphin-plugins: dolphin-plugins (dolphin VCS plugins)
+dolphin-plugins:
+dolphin-plugins: This package contains plugins that offer integration of various
+dolphin-plugins: version control systems in Dolphin.
+dolphin-plugins:
+dolphin-plugins:
+dolphin-plugins:
+dolphin-plugins:
+dolphin-plugins:
+dolphin-plugins:
+dolphin-plugins:
diff --git a/testing/source/vtown/kde/slack-desc/dragon b/testing/source/vtown/kde/slack-desc/dragon
new file mode 100644
index 00000000..d4ae2d65
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/dragon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dragon: dragon (KDE multimedia player)
+dragon:
+dragon: Dragon Player is a multimedia player where the focus is on simplicity,
+dragon: instead of features. Dragon Player does one thing, and only one
+dragon: thing, which is playing multimedia files.
+dragon:
+dragon:
+dragon:
+dragon:
+dragon:
+dragon:
diff --git a/testing/source/vtown/kde/slack-desc/drkonqi b/testing/source/vtown/kde/slack-desc/drkonqi
new file mode 100644
index 00000000..ff94b7c8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/drkonqi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+drkonqi: drkonqi (crash handler for plasma5)
+drkonqi:
+drkonqi: Drkonqi is the crash handler for KDE Frameworks 5 / Plasma5.
+drkonqi:
+drkonqi:
+drkonqi:
+drkonqi:
+drkonqi:
+drkonqi:
+drkonqi:
+drkonqi:
diff --git a/testing/source/vtown/kde/slack-desc/elisa b/testing/source/vtown/kde/slack-desc/elisa
new file mode 100644
index 00000000..197f768c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/elisa
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+elisa: elisa (music player)
+elisa:
+elisa: Elisa is a simple music player that should be easy to use. It does not
+elisa: require any configuration before one can use it.
+elisa:
+elisa: Homepage: https://community.kde.org/Elisa
+elisa:
+elisa:
+elisa:
+elisa:
+elisa:
diff --git a/testing/source/vtown/kde/slack-desc/eventviews b/testing/source/vtown/kde/slack-desc/eventviews
new file mode 100644
index 00000000..f3a1a576
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/eventviews
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+eventviews: eventviews (library for creating events)
+eventviews:
+eventviews: KDE PIM library for creating events.
+eventviews:
+eventviews:
+eventviews:
+eventviews:
+eventviews:
+eventviews:
+eventviews:
+eventviews:
diff --git a/testing/source/vtown/kde/slack-desc/extra-cmake-modules b/testing/source/vtown/kde/slack-desc/extra-cmake-modules
new file mode 100644
index 00000000..c1a0aa68
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/extra-cmake-modules
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+extra-cmake-modules: extra-cmake-modules (extra KDE CMake modules)
+extra-cmake-modules:
+extra-cmake-modules: This package contains additional CMake modules required for compiling
+extra-cmake-modules: KDE Frameworks 5.
+extra-cmake-modules:
+extra-cmake-modules:
+extra-cmake-modules:
+extra-cmake-modules:
+extra-cmake-modules:
+extra-cmake-modules:
+extra-cmake-modules:
diff --git a/testing/source/vtown/kde/slack-desc/falkon b/testing/source/vtown/kde/slack-desc/falkon
new file mode 100644
index 00000000..0e4939d2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/falkon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+falkon: falkon (KDE web browser)
+falkon:
+falkon: Falkon is a QtWebEngine based cross-platform web browser.
+falkon:
+falkon:
+falkon:
+falkon:
+falkon:
+falkon:
+falkon:
+falkon:
diff --git a/testing/source/vtown/kde/slack-desc/ffmpegthumbs b/testing/source/vtown/kde/slack-desc/ffmpegthumbs
new file mode 100644
index 00000000..a67769c5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ffmpegthumbs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ffmpegthumbs: ffmpegthumbs (video thumbnail generator using ffmpeg)
+ffmpegthumbs:
+ffmpegthumbs: FFMpegThumbs is a video thumbnail generator for KDE file managers like
+ffmpegthumbs: Dolphin and Konqueror. It enables them to show preview images of
+ffmpegthumbs: video files using FFMpeg.
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
diff --git a/testing/source/vtown/kde/slack-desc/filelight b/testing/source/vtown/kde/slack-desc/filelight
new file mode 100644
index 00000000..467be55d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/filelight
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mfilelights the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+filelight: filelight (file system monitor)
+filelight:
+filelight: Filelight allows you to quickly understand exactly where your
+filelight: diskspace is being used by graphically representing your file system.
+filelight:
+filelight: Homepage: http://utils.kde.org/projects/filelight
+filelight:
+filelight:
+filelight:
+filelight:
+filelight:
diff --git a/testing/source/vtown/kde/slack-desc/frameworkintegration b/testing/source/vtown/kde/slack-desc/frameworkintegration
new file mode 100644
index 00000000..efc70275
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/frameworkintegration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+frameworkintegration: frameworkintegration (applications integration with KDE)
+frameworkintegration:
+frameworkintegration: Framework providing components to allow applications to integrate
+frameworkintegration: with a KDE Workspace.
+frameworkintegration:
+frameworkintegration: Homepage: https://community.kde.org/Frameworks
+frameworkintegration:
+frameworkintegration:
+frameworkintegration:
+frameworkintegration:
+frameworkintegration:
diff --git a/testing/source/vtown/kde/slack-desc/granatier b/testing/source/vtown/kde/slack-desc/granatier
new file mode 100644
index 00000000..98aa5c9d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/granatier
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+granatier: granatier (bomberman clone for KDE)
+granatier:
+granatier: Granatier is a clone of the classic Bomberman game, inspired by the
+granatier: work of the Clanbomber clone.
+granatier:
+granatier:
+granatier:
+granatier:
+granatier:
+granatier:
+granatier:
diff --git a/testing/source/vtown/kde/slack-desc/grantlee-editor b/testing/source/vtown/kde/slack-desc/grantlee-editor
new file mode 100644
index 00000000..d1aeebae
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/grantlee-editor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+grantlee-editor: grantlee-editor (editor for Grantlee themes)
+grantlee-editor:
+grantlee-editor: Editor for Grantlee themes.
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
+grantlee-editor:
diff --git a/testing/source/vtown/kde/slack-desc/grantleetheme b/testing/source/vtown/kde/slack-desc/grantleetheme
new file mode 100644
index 00000000..8213ac36
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/grantleetheme
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+grantleetheme: grantleetheme (Grantlee theming support)
+grantleetheme:
+grantleetheme: grantleetheme is a library for Grantlee theming support.
+grantleetheme:
+grantleetheme:
+grantleetheme:
+grantleetheme:
+grantleetheme:
+grantleetheme:
+grantleetheme:
+grantleetheme:
diff --git a/testing/source/vtown/kde/slack-desc/gwenview b/testing/source/vtown/kde/slack-desc/gwenview
new file mode 100644
index 00000000..8097c3cd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/gwenview
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gwenview: gwenview (image viewer for KDE)
+gwenview:
+gwenview: Gwenview is a simple image viewer for KDE. It features a folder tree
+gwenview: window and a file list window, providing easy navigation of your file
+gwenview: hierarchy.
+gwenview:
+gwenview:
+gwenview:
+gwenview:
+gwenview:
+gwenview:
diff --git a/testing/source/vtown/kde/slack-desc/incidenceeditor b/testing/source/vtown/kde/slack-desc/incidenceeditor
new file mode 100644
index 00000000..5499aeae
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/incidenceeditor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+incidenceeditor: incidenceeditor (KDE PIM incidence editor)
+incidenceeditor:
+incidenceeditor: KDE PIM incidence editor for korganizer.
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
+incidenceeditor:
diff --git a/testing/source/vtown/kde/slack-desc/juk b/testing/source/vtown/kde/slack-desc/juk
new file mode 100644
index 00000000..156eeb75
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/juk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+juk: juk (audio jukebox application)
+juk:
+juk: JuK is an audio jukebox application, supporting collections of MP3,
+juk: Ogg Vorbis, and FLAC audio files. It allows you to edit the tags of
+juk: your audio files and manage your collection and playlists. In fact,
+juk: its main focus is on music management.
+juk:
+juk:
+juk:
+juk:
+juk:
diff --git a/testing/source/vtown/kde/slack-desc/k3b b/testing/source/vtown/kde/slack-desc/k3b
new file mode 100644
index 00000000..717c72ea
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/k3b
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+k3b: k3b (The CD Creator)
+k3b:
+k3b: K3b makes writing cds under Linux easy. It has an easy to use
+k3b: interface and supports CD burning (including on-the-fly), copying,
+k3b: erasing, ripping, and more.
+k3b:
+k3b: K3b was written by Sebastian Trueg, Thomas Froescher,
+k3b: Christian Kvasny, and Klaus-Dieter Krannich.
+k3b:
+k3b: Homepage: http://www.k3b.org
+k3b:
diff --git a/testing/source/vtown/kde/slack-desc/kaccounts-integration b/testing/source/vtown/kde/slack-desc/kaccounts-integration
new file mode 100644
index 00000000..ac06f438
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kaccounts-integration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kaccounts-integration: kaccounts-integration (web account administration)
+kaccounts-integration:
+kaccounts-integration: Tools to administer web accounts for the sites and services across the
+kaccounts-integration: KDE desktop, including Google, Facebook, Owncloud, IMAP, Jabber, and
+kaccounts-integration: others.
+kaccounts-integration:
+kaccounts-integration:
+kaccounts-integration:
+kaccounts-integration:
+kaccounts-integration:
+kaccounts-integration:
diff --git a/testing/source/vtown/kde/slack-desc/kaccounts-providers b/testing/source/vtown/kde/slack-desc/kaccounts-providers
new file mode 100644
index 00000000..6fac973e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kaccounts-providers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kaccounts-providers: kaccounts-providers (administer web accounts)
+kaccounts-providers:
+kaccounts-providers: Tools to administer web accounts for the sites and services across the
+kaccounts-providers: KDE desktop, including Google, Facebook, Owncloud, IMAP, Jabber, and
+kaccounts-providers: others.
+kaccounts-providers:
+kaccounts-providers:
+kaccounts-providers:
+kaccounts-providers:
+kaccounts-providers:
+kaccounts-providers:
diff --git a/testing/source/vtown/kde/slack-desc/kactivities b/testing/source/vtown/kde/slack-desc/kactivities
new file mode 100644
index 00000000..bd5cd41e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kactivities
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kactivities: kactivities (API for using Activities)
+kactivities:
+kactivities: API for using and interacting with Activities as a consumer,
+kactivities: application adding information to them, or as an activity manager.
+kactivities:
+kactivities:
+kactivities:
+kactivities:
+kactivities:
+kactivities:
+kactivities:
diff --git a/testing/source/vtown/kde/slack-desc/kactivities-stats b/testing/source/vtown/kde/slack-desc/kactivities-stats
new file mode 100644
index 00000000..bfaaf9de
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kactivities-stats
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kactivities-stats: kactivities-stats (component of KDE Activities)
+kactivities-stats:
+kactivities-stats: kactivities-stats is library for accessing the usage data collected by
+kactivities-stats: the Activities system.
+kactivities-stats:
+kactivities-stats:
+kactivities-stats:
+kactivities-stats:
+kactivities-stats:
+kactivities-stats:
+kactivities-stats:
diff --git a/testing/source/vtown/kde/slack-desc/kactivitymanagerd b/testing/source/vtown/kde/slack-desc/kactivitymanagerd
new file mode 100644
index 00000000..c48a3592
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kactivitymanagerd
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kactivitymanagerd: kactivitymanagerd (manage and track user activities)
+kactivitymanagerd:
+kactivitymanagerd: System service to manage user activities and track the usage patterns.
+kactivitymanagerd:
+kactivitymanagerd: Homepage:
+kactivitymanagerd: https://projects.kde.org/projects/kde/workspace/kactivitymanagerd
+kactivitymanagerd:
+kactivitymanagerd:
+kactivitymanagerd:
+kactivitymanagerd:
+kactivitymanagerd:
diff --git a/testing/source/vtown/kde/slack-desc/kaddressbook b/testing/source/vtown/kde/slack-desc/kaddressbook
new file mode 100644
index 00000000..e93aa3e0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kaddressbook
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kaddressbook: kaddressbook (KDE contact manager)
+kaddressbook:
+kaddressbook: KDE contact manager.
+kaddressbook:
+kaddressbook:
+kaddressbook:
+kaddressbook:
+kaddressbook:
+kaddressbook:
+kaddressbook:
+kaddressbook:
diff --git a/testing/source/vtown/kde/slack-desc/kajongg b/testing/source/vtown/kde/slack-desc/kajongg
new file mode 100644
index 00000000..4b02ba04
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kajongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kajongg: kajongg (Mah Jongg for KDE)
+kajongg:
+kajongg: Kajongg is the ancient Chinese board game for 4 players. Kajongg can
+kajongg: be used in two different ways: Scoring a manual game where you play as
+kajongg: always and use Kajongg for the computation of scores and for
+kajongg: bookkeeping. Or you can use Kajongg to play against any combination
+kajongg: of other human players or computer players.
+kajongg:
+kajongg:
+kajongg:
+kajongg:
diff --git a/testing/source/vtown/kde/slack-desc/kalarm b/testing/source/vtown/kde/slack-desc/kalarm
new file mode 100644
index 00000000..fd4ac5ea
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kalarm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalarm: kalarm (personal alarm scheduler)
+kalarm:
+kalarm: Personal alarm scheduler.
+kalarm:
+kalarm:
+kalarm:
+kalarm:
+kalarm:
+kalarm:
+kalarm:
+kalarm:
diff --git a/testing/source/vtown/kde/slack-desc/kalarmcal b/testing/source/vtown/kde/slack-desc/kalarmcal
new file mode 100644
index 00000000..9d6e5acc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kalarmcal
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalarmcal: kalarmcal (KAlarm client library)
+kalarmcal:
+kalarmcal: kalarmcal contains the KAlarm client library.
+kalarmcal:
+kalarmcal:
+kalarmcal:
+kalarmcal:
+kalarmcal:
+kalarmcal:
+kalarmcal:
+kalarmcal:
diff --git a/testing/source/vtown/kde/slack-desc/kalgebra b/testing/source/vtown/kde/slack-desc/kalgebra
new file mode 100644
index 00000000..bfc605ce
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kalgebra
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalgebra: kalgebra (a graph calculator)
+kalgebra:
+kalgebra: KAlgebra is a MathML-based graph calculator. It was initially MathML
+kalgebra: oriented, but now it can be used by anyone with a little mathematical
+kalgebra: knowledge.
+kalgebra:
+kalgebra:
+kalgebra:
+kalgebra:
+kalgebra:
+kalgebra:
diff --git a/testing/source/vtown/kde/slack-desc/kalzium b/testing/source/vtown/kde/slack-desc/kalzium
new file mode 100644
index 00000000..7da5df40
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kalzium
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kalzium: kalzium (periodic table of the elements)
+kalzium:
+kalzium: Kalzium shows a periodic table of the elements.
+kalzium:
+kalzium:
+kalzium:
+kalzium:
+kalzium:
+kalzium:
+kalzium:
+kalzium:
diff --git a/testing/source/vtown/kde/slack-desc/kamera b/testing/source/vtown/kde/slack-desc/kamera
new file mode 100644
index 00000000..55a7491d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kamera
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kamera: kamera (digital camera support for KDE)
+kamera:
+kamera: Digital camera support for KDE.
+kamera:
+kamera:
+kamera:
+kamera:
+kamera:
+kamera:
+kamera:
+kamera:
diff --git a/testing/source/vtown/kde/slack-desc/kamoso b/testing/source/vtown/kde/slack-desc/kamoso
new file mode 100644
index 00000000..d2794139
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kamoso
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kamoso: kamoso (webcam recorder)
+kamoso:
+kamoso: Kamoso is a great program to use your webcam to take pictures or make
+kamoso: videos. It probably should be the best webcam recorder for Linux.
+kamoso:
+kamoso: Kamoso can make photos from your webcam and upload them to Facebook.
+kamoso: It also allows to record videos from your webcam and upload them
+kamoso: to YouTube.
+kamoso:
+kamoso: Homepage: https://userbase.kde.org/Kamoso
+kamoso:
diff --git a/testing/source/vtown/kde/slack-desc/kanagram b/testing/source/vtown/kde/slack-desc/kanagram
new file mode 100644
index 00000000..3a9f370b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kanagram
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kanagram: kanagram (letter game)
+kanagram:
+kanagram: Kanagram is a replacement for KMessedWords. Kanagram mixes up the
+kanagram: letters of a word to create an anagram, and you have to guess what the
+kanagram: mixed up word is. Kanagram features several built-in word lists,
+kanagram: hints, and a cheat feature which reveals the original word. Kanagram
+kanagram: also has a vocabulary editor.
+kanagram:
+kanagram:
+kanagram:
+kanagram:
diff --git a/testing/source/vtown/kde/slack-desc/kapidox b/testing/source/vtown/kde/slack-desc/kapidox
new file mode 100644
index 00000000..89b1d305
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kapidox
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kapidox: kapidox (KDE Doxygen Tools)
+kapidox:
+kapidox: This framework contains scripts and data for building API
+kapidox: documentation (dox) in a standard format and style.
+kapidox:
+kapidox:
+kapidox:
+kapidox:
+kapidox:
+kapidox:
+kapidox:
diff --git a/testing/source/vtown/kde/slack-desc/kapman b/testing/source/vtown/kde/slack-desc/kapman
new file mode 100644
index 00000000..4def03dc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kapman
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kapman: kapman (KDE version of Pac-Man)
+kapman:
+kapman: Kapman is a clone of the well known game Pac-Man. You must run through
+kapman: the maze to eat all pills without being captured by a ghost. By eating
+kapman: an energizer, Kapman gets the ability to eat ghosts for a few seconds.
+kapman: When a stage is cleared of pills and energizers the player is taken to
+kapman: the next stage with slightly increased game speed.
+kapman:
+kapman:
+kapman:
+kapman:
diff --git a/testing/source/vtown/kde/slack-desc/kapptemplate b/testing/source/vtown/kde/slack-desc/kapptemplate
new file mode 100644
index 00000000..a56f42b4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kapptemplate
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kapptemplate: kapptemplate (application template generator)
+kapptemplate:
+kapptemplate: KAppTemplate is a shell script to create the necessary framework to
+kapptemplate: develop KDE applications.
+kapptemplate:
+kapptemplate:
+kapptemplate:
+kapptemplate:
+kapptemplate:
+kapptemplate:
+kapptemplate:
diff --git a/testing/source/vtown/kde/slack-desc/karchive b/testing/source/vtown/kde/slack-desc/karchive
new file mode 100644
index 00000000..a793f832
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/karchive
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+karchive: karchive (Read, create, and manipulate archives)
+karchive:
+karchive: KArchive provides classes for easy reading, creation and manipulation
+karchive: of archive formats like ZIP and TAR. It also provides transparent
+karchive: compression and decompression of data, like the GZip format, via a
+karchive: subclass of QIODevice.
+karchive:
+karchive:
+karchive:
+karchive:
+karchive:
diff --git a/testing/source/vtown/kde/slack-desc/kate b/testing/source/vtown/kde/slack-desc/kate
new file mode 100644
index 00000000..c2f087cc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kate
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kate: kate (an advanced text editor for KDE)
+kate:
+kate: The Kate project develops two main products: KatePart, the advanced
+kate: editor component which is used in numerous KDE applications requiring
+kate: a text editing component, and Kate, a MDI text editor application.
+kate: In addition, it provides KWrite, a simple SDI editor shell which
+kate: allows the user to select his/her favorite editor component.
+kate:
+kate: Homepage: http://kate-editor.org
+kate:
+kate:
diff --git a/testing/source/vtown/kde/slack-desc/katomic b/testing/source/vtown/kde/slack-desc/katomic
new file mode 100644
index 00000000..273d8bd2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/katomic
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+katomic: katomic (re-assemble molecules from compound atoms)
+katomic:
+katomic: Katomic is both fun and educational game built around molecular
+katomic: geometry. It employs simplistic two-dimensional looks at different
+katomic: chemical elements. You can also play an online demo version of this
+katomic: game.
+katomic:
+katomic:
+katomic:
+katomic:
+katomic:
diff --git a/testing/source/vtown/kde/slack-desc/kaudiocreator b/testing/source/vtown/kde/slack-desc/kaudiocreator
new file mode 100644
index 00000000..763199f8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kaudiocreator
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kaudiocreator: kaudiocreator (CD ripper and audio encoder)
+kaudiocreator:
+kaudiocreator: kaudiocreator is a KDE frontend for ripping and encoding audio to/from
+kaudiocreator: optical media.
+kaudiocreator:
+kaudiocreator:
+kaudiocreator:
+kaudiocreator:
+kaudiocreator:
+kaudiocreator:
+kaudiocreator:
diff --git a/testing/source/vtown/kde/slack-desc/kauth b/testing/source/vtown/kde/slack-desc/kauth
new file mode 100644
index 00000000..3097d67b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kauth
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kauth: kauth (Execute actions as privileged user)
+kauth:
+kauth: KAuth provides a convenient, system-integrated way to offload actions
+kauth: that need to be performed as a privileged user (root, for example) to
+kauth: small (hopefully secure) helper utilities.
+kauth:
+kauth:
+kauth:
+kauth:
+kauth:
+kauth:
diff --git a/testing/source/vtown/kde/slack-desc/kbackup b/testing/source/vtown/kde/slack-desc/kbackup
new file mode 100644
index 00000000..88f1e93f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kbackup
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbackup: kbackup (KDE backup program)
+kbackup:
+kbackup: KBackup is an application that lets you back up any folders or files
+kbackup: in a tar archive to a local folder, e.g. a locally mounted device
+kbackup: like a ZIP drive, USB stick, etc. or a remote URL. KBackup can also
+kbackup: run automated backups without using a graphical user interface.
+kbackup:
+kbackup: Homepage: https://www.kde.org/applications/utilities/kbackup/
+kbackup:
+kbackup:
+kbackup:
diff --git a/testing/source/vtown/kde/slack-desc/kblackbox b/testing/source/vtown/kde/slack-desc/kblackbox
new file mode 100644
index 00000000..4d14b906
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kblackbox
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kblackbox: kblackbox (a game of hide and seek)
+kblackbox:
+kblackbox: KBlackbox is a game of hide and seek played on a grid of boxes where
+kblackbox: the computer has hidden several balls.
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
diff --git a/testing/source/vtown/kde/slack-desc/kblocks b/testing/source/vtown/kde/slack-desc/kblocks
new file mode 100644
index 00000000..48676fef
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kblocks
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kblocks: kblocks (falling blocks game for KDE)
+kblocks:
+kblocks: KBlocks is the KDE version of the classic falling blocks game.
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
diff --git a/testing/source/vtown/kde/slack-desc/kbookmarks b/testing/source/vtown/kde/slack-desc/kbookmarks
new file mode 100644
index 00000000..07f7b7d3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kbookmarks
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kbookmarks: kbookmarks (Bookmarks management library)
+kbookmarks:
+kbookmarks: KBookmarks lets you access and manipulate bookmarks stored using the
+kbookmarks: XBEL format. The most common use for bookmarks is web browsers, but
+kbookmarks: this can also be useful in any application where local files or URLs
+kbookmarks: can be saved as bookmarks.
+kbookmarks:
+kbookmarks: For more information on the XBEL format, see:
+kbookmarks: http://pyxml.sourceforge.net/topics/xbel/
+kbookmarks:
+kbookmarks:
diff --git a/testing/source/vtown/kde/slack-desc/kbounce b/testing/source/vtown/kde/slack-desc/kbounce
new file mode 100644
index 00000000..53fffb9b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kbounce
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbounce: kbounce (KDE Bounce Ball Game)
+kbounce:
+kbounce: KBounce is a single player arcade game with the elements of puzzle.
+kbounce: It is played on a field, surrounded by wall, with two or more balls
+kbounce: that move about in the field bouncing off of walls. The player can
+kbounce: build new walls, decreasing the size of active field.
+kbounce:
+kbounce:
+kbounce:
+kbounce:
+kbounce:
diff --git a/testing/source/vtown/kde/slack-desc/kbreakout b/testing/source/vtown/kde/slack-desc/kbreakout
new file mode 100644
index 00000000..972f951e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kbreakout
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbreakout: kbreakout (breakout-like game for KDE)
+kbreakout:
+kbreakout: KBreakout is the KDE version of a Breakout-like game.
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
diff --git a/testing/source/vtown/kde/slack-desc/kbruch b/testing/source/vtown/kde/slack-desc/kbruch
new file mode 100644
index 00000000..ea9a2500
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kbruch
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbruch: kbruch (calculate fractions)
+kbruch:
+kbruch: KBruch is a small program to practice calculating with fractions.
+kbruch:
+kbruch:
+kbruch:
+kbruch:
+kbruch:
+kbruch:
+kbruch:
+kbruch:
diff --git a/testing/source/vtown/kde/slack-desc/kcachegrind b/testing/source/vtown/kde/slack-desc/kcachegrind
new file mode 100644
index 00000000..18cdbb11
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcachegrind
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcachegrind: kcachegrind (GUI to profilers such as Valgrind)
+kcachegrind:
+kcachegrind: kcachegrind is a graphical browser for data produced by profiling
+kcachegrind: tools such as Valgrind.
+kcachegrind:
+kcachegrind:
+kcachegrind:
+kcachegrind:
+kcachegrind:
+kcachegrind:
+kcachegrind:
diff --git a/testing/source/vtown/kde/slack-desc/kcalc b/testing/source/vtown/kde/slack-desc/kcalc
new file mode 100644
index 00000000..f3e1de68
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcalc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkcalcs the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcalc: kcalc (KDE calculator)
+kcalc:
+kcalc: KCalc is a calculator which offers many more mathematical functions
+kcalc: than meet the eye on a first glance.
+kcalc:
+kcalc: Homepage: http://utils.kde.org/projects/kcalc
+kcalc:
+kcalc:
+kcalc:
+kcalc:
+kcalc:
diff --git a/testing/source/vtown/kde/slack-desc/kcalcore b/testing/source/vtown/kde/slack-desc/kcalcore
new file mode 100644
index 00000000..89ff8918
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcalcore
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcalcore: kcalcore (KDE calendar access library)
+kcalcore:
+kcalcore: This library provides access to and handling of calendar data. It
+kcalcore: supports the standard formats iCalendar and vCalendar and the group
+kcalcore: scheduling standard iTIP.
+kcalcore:
+kcalcore:
+kcalcore:
+kcalcore:
+kcalcore:
+kcalcore:
diff --git a/testing/source/vtown/kde/slack-desc/kcalendarcore b/testing/source/vtown/kde/slack-desc/kcalendarcore
new file mode 100644
index 00000000..e538303b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcalendarcore
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcalendarcore: kcalendarcore (KDE calendar access library)
+kcalendarcore:
+kcalendarcore: This library provides access to and handling of calendar data. It
+kcalendarcore: supports the standard formats iCalendar and vCalendar and the group
+kcalendarcore: scheduling standard iTIP.
+kcalendarcore:
+kcalendarcore:
+kcalendarcore:
+kcalendarcore:
+kcalendarcore:
+kcalendarcore:
diff --git a/testing/source/vtown/kde/slack-desc/kcalutils b/testing/source/vtown/kde/slack-desc/kcalutils
new file mode 100644
index 00000000..7d273152
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcalutils
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcalutils: kcalutils (calendar data utilities)
+kcalutils:
+kcalutils: This library provides a set of utility functions that help
+kcalutils: applications access and use calendar data via the KCalCore library.
+kcalutils:
+kcalutils:
+kcalutils:
+kcalutils:
+kcalutils:
+kcalutils:
+kcalutils:
diff --git a/testing/source/vtown/kde/slack-desc/kcharselect b/testing/source/vtown/kde/slack-desc/kcharselect
new file mode 100644
index 00000000..7c45f620
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcharselect
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkcharselects the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcharselect: kcharselect (character picker)
+kcharselect:
+kcharselect: KCharSelect is a tool to select special characters from all installed
+kcharselect: fonts and copy them into the clipboard.
+kcharselect:
+kcharselect: Homepage: http://utils.kde.org/projects/kcharselect
+kcharselect:
+kcharselect:
+kcharselect:
+kcharselect:
+kcharselect:
diff --git a/testing/source/vtown/kde/slack-desc/kcmutils b/testing/source/vtown/kde/slack-desc/kcmutils
new file mode 100644
index 00000000..0ef03f81
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcmutils
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kcmutils: kcmutils (KDE System Settings utilities)
+kcmutils:
+kcmutils: KCMUtils provides various classes to work with KCModules. KCModules
+kcmutils: can be created with the KConfigWidgets framework.
+kcmutils:
+kcmutils:
+kcmutils:
+kcmutils:
+kcmutils:
+kcmutils:
+kcmutils:
diff --git a/testing/source/vtown/kde/slack-desc/kcodecs b/testing/source/vtown/kde/slack-desc/kcodecs
new file mode 100644
index 00000000..ceb49d6e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcodecs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kcodecs: kcodecs (String encoding library)
+kcodecs:
+kcodecs: KCodecs provide a collection of methods to manipulate strings using
+kcodecs: various encodings. It can automatically determine the charset of a
+kcodecs: string, translate XML entities, validate email addresses, and find
+kcodecs: encodings by name in a more tolerant way than QTextCodec (useful e.g.
+kcodecs: for data coming from the Internet).
+kcodecs:
+kcodecs:
+kcodecs:
+kcodecs:
diff --git a/testing/source/vtown/kde/slack-desc/kcolorchooser b/testing/source/vtown/kde/slack-desc/kcolorchooser
new file mode 100644
index 00000000..8258cd4f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcolorchooser
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcolorchooser: kcolorchooser (color chooser)
+kcolorchooser:
+kcolorchooser: A color chooser application for KDE.
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
+kcolorchooser:
diff --git a/testing/source/vtown/kde/slack-desc/kcompletion b/testing/source/vtown/kde/slack-desc/kcompletion
new file mode 100644
index 00000000..a81c5110
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcompletion
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kcompletion: kcompletion (Powerful completion framework)
+kcompletion:
+kcompletion: When typing filenames, email addresses and other text where the user
+kcompletion: often wants to select from existing data (including what they
+kcompletion: previously typed) rather than enter anything wholly original, users
+kcompletion: often find it helpful if they only need to type the first few
+kcompletion: characters, and then have the application offer them a set of choices
+kcompletion: or attempt to finish off what they were typing. This framework helps
+kcompletion: implement this in Qt-based applications.
+kcompletion:
+kcompletion:
diff --git a/testing/source/vtown/kde/slack-desc/kconfig b/testing/source/vtown/kde/slack-desc/kconfig
new file mode 100644
index 00000000..9d2e0b71
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kconfig
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kconfig: kconfig (Persistent application settings)
+kconfig:
+kconfig: KConfig provides an advanced configuration system. It is made of two
+kconfig: parts: KConfigCore and KConfigGui. KConfigCore provides access to the
+kconfig: configuration files themselves. KConfigGui provides a way to hook
+kconfig: widgets to the configuration so that they are automatically
+kconfig: initialized from the configuration and automatically propagate their
+kconfig: changes to their respective configuration files.
+kconfig:
+kconfig:
+kconfig:
diff --git a/testing/source/vtown/kde/slack-desc/kconfigwidgets b/testing/source/vtown/kde/slack-desc/kconfigwidgets
new file mode 100644
index 00000000..8f55d3bc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kconfigwidgets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kconfigwidgets: kconfigwidgets (Widgets for configuration dialogs)
+kconfigwidgets:
+kconfigwidgets: KConfigWidgets provides easy-to-use classes to create configuration
+kconfigwidgets: dialogs, as well as a set of widgets which uses KConfig to store their
+kconfigwidgets: settings.
+kconfigwidgets:
+kconfigwidgets:
+kconfigwidgets:
+kconfigwidgets:
+kconfigwidgets:
+kconfigwidgets:
diff --git a/testing/source/vtown/kde/slack-desc/kcontacts b/testing/source/vtown/kde/slack-desc/kcontacts
new file mode 100644
index 00000000..b8c6a632
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcontacts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcontacts: kcontacts (address book API for KDE)
+kcontacts:
+kcontacts: kcontacts contains an address book API for KDE. This can be used by
+kcontacts: all KDE applications using data of this type, e.g. KAddressBook,
+kcontacts: KMail, KOrganizer, KPilot etc.
+kcontacts:
+kcontacts:
+kcontacts:
+kcontacts:
+kcontacts:
+kcontacts:
diff --git a/testing/source/vtown/kde/slack-desc/kcoreaddons b/testing/source/vtown/kde/slack-desc/kcoreaddons
new file mode 100644
index 00000000..307981ad
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcoreaddons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kcoreaddons: kcoreaddons (QtCore addon library)
+kcoreaddons:
+kcoreaddons: KCoreAddons provides classes built on top of QtCore to perform various
+kcoreaddons: tasks such as manipulating mime types, autosaving files, creating
+kcoreaddons: backup files, generating random sequences, performing text
+kcoreaddons: manipulations such as macro replacement, accessing user information
+kcoreaddons: and many more.
+kcoreaddons:
+kcoreaddons:
+kcoreaddons:
+kcoreaddons:
diff --git a/testing/source/vtown/kde/slack-desc/kcrash b/testing/source/vtown/kde/slack-desc/kcrash
new file mode 100644
index 00000000..28fec94a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcrash
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kcrash: kcrash (Crash handler)
+kcrash:
+kcrash: KCrash provides support for intercepting and handling application
+kcrash: crashes.
+kcrash:
+kcrash:
+kcrash:
+kcrash:
+kcrash:
+kcrash:
+kcrash:
diff --git a/testing/source/vtown/kde/slack-desc/kcron b/testing/source/vtown/kde/slack-desc/kcron
new file mode 100644
index 00000000..f44db080
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kcron
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kcron: kcron (task scheduler)
+kcron:
+kcron: kcron is a module for scheduling programs to run in the background.
+kcron: It is a graphical user interface to cron, the UNIX system scheduler.
+kcron:
+kcron:
+kcron:
+kcron:
+kcron:
+kcron:
+kcron:
diff --git a/testing/source/vtown/kde/slack-desc/kdav b/testing/source/vtown/kde/slack-desc/kdav
new file mode 100644
index 00000000..2504df76
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdav
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdav: kdav (KDE DAV protocol implementation)
+kdav:
+kdav: The DAV protocol extends HTTP with new methods that allow a DAV client
+kdav: to create, modify, and update files and directories in the server.
+kdav: KDAV provides a DAV protocol implemention with KJobs. Calendars and
+kdav: todos are supported, using either GroupDAV or CalDAV, and contacts are
+kdav: supported using GroupDAV or CardDAV.
+kdav:
+kdav:
+kdav:
+kdav:
diff --git a/testing/source/vtown/kde/slack-desc/kdbusaddons b/testing/source/vtown/kde/slack-desc/kdbusaddons
new file mode 100644
index 00000000..98e4f810
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdbusaddons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdbusaddons: kdbusaddons (Convenience classes for D-Bus)
+kdbusaddons:
+kdbusaddons: KDBusAddons provides convenience classes on top of QtDBus, as well as
+kdbusaddons: an API to create KDED modules.
+kdbusaddons:
+kdbusaddons:
+kdbusaddons:
+kdbusaddons:
+kdbusaddons:
+kdbusaddons:
+kdbusaddons:
diff --git a/testing/source/vtown/kde/slack-desc/kde-cli-tools b/testing/source/vtown/kde/slack-desc/kde-cli-tools
new file mode 100644
index 00000000..e191d271
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kde-cli-tools
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-cli-tools: kde-cli-tools (KDE command-line tools)
+kde-cli-tools:
+kde-cli-tools: Tools based on KDE Frameworks 5 to better interact with the system.
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
+kde-cli-tools:
diff --git a/testing/source/vtown/kde/slack-desc/kde-dev-scripts b/testing/source/vtown/kde/slack-desc/kde-dev-scripts
new file mode 100644
index 00000000..b0cbd40d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kde-dev-scripts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-dev-scripts: kde-dev-scripts (scripts for development of KDE software)
+kde-dev-scripts:
+kde-dev-scripts: Scripts and setting files useful during development of KDE software.
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
+kde-dev-scripts:
diff --git a/testing/source/vtown/kde/slack-desc/kde-dev-utils b/testing/source/vtown/kde/slack-desc/kde-dev-utils
new file mode 100644
index 00000000..457fdc45
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kde-dev-utils
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-dev-utils: kde-dev-utils (KDE development utilities)
+kde-dev-utils:
+kde-dev-utils: Small utilities for developers using KDE/Qt libs/frameworks such as
+kde-dev-utils: kmtrace, kpartloader, kprofilemethod, kstartperf, kuiviewer.
+kde-dev-utils:
+kde-dev-utils:
+kde-dev-utils:
+kde-dev-utils:
+kde-dev-utils:
+kde-dev-utils:
+kde-dev-utils:
diff --git a/testing/source/vtown/kde/slack-desc/kde-gtk-config b/testing/source/vtown/kde/slack-desc/kde-gtk-config
new file mode 100644
index 00000000..33aa9799
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kde-gtk-config
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-gtk-config: kde-gtk-config (configure GTK appearance)
+kde-gtk-config:
+kde-gtk-config: System settings kcm to set GTK application look and feel in KDE.
+kde-gtk-config:
+kde-gtk-config: Homepage: http://projects.kde.org/kde-gtk-config
+kde-gtk-config:
+kde-gtk-config:
+kde-gtk-config:
+kde-gtk-config:
+kde-gtk-config:
+kde-gtk-config:
diff --git a/testing/source/vtown/kde/slack-desc/kde-wallpapers b/testing/source/vtown/kde/slack-desc/kde-wallpapers
new file mode 100644
index 00000000..28e854e3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kde-wallpapers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kde-wallpapers: kde-wallpapers (Wallpapers for KDE)
+kde-wallpapers:
+kde-wallpapers: Additional wallpapers for KDE.
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
+kde-wallpapers:
diff --git a/testing/source/vtown/kde/slack-desc/kdeaccessibility b/testing/source/vtown/kde/slack-desc/kdeaccessibility
new file mode 100644
index 00000000..a4a397e0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeaccessibility
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeaccessibility: kdeaccessibility (Accessibility programs for KDE)
+kdeaccessibility:
+kdeaccessibility: KDE accessibility programs, including kmag (a screen magnifier),
+kdeaccessibility: kmousetool (clicks the mouse for you), and kmouth (a speech
+kdeaccessibility: synthesizer frontend).
+kdeaccessibility:
+kdeaccessibility:
+kdeaccessibility:
+kdeaccessibility:
+kdeaccessibility:
+kdeaccessibility:
diff --git a/testing/source/vtown/kde/slack-desc/kdebugsettings b/testing/source/vtown/kde/slack-desc/kdebugsettings
new file mode 100644
index 00000000..46ca6cee
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdebugsettings
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdebugsettings: kdebugsettings (An application to enable/disable qCDebug)
+kdebugsettings:
+kdebugsettings: kdebugsettings is an application to enable/disable qCDebug.
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
+kdebugsettings:
diff --git a/testing/source/vtown/kde/slack-desc/kdeclarative b/testing/source/vtown/kde/slack-desc/kdeclarative
new file mode 100644
index 00000000..82ce75d5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeclarative
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeclarative: kdeclarative (Integration of QML and KDE workspaces)
+kdeclarative:
+kdeclarative: KDeclarative provides integration of QML and KDE work spaces. It
+kdeclarative: comprises two parts: a library used by the C++ part of your
+kdeclarative: application to intergrate QML with KDE Frameworks specific features,
+kdeclarative: and a series of QML imports that offer bindings to some of the
+kdeclarative: frameworks.
+kdeclarative:
+kdeclarative:
+kdeclarative:
+kdeclarative:
diff --git a/testing/source/vtown/kde/slack-desc/kdeconnect-kde b/testing/source/vtown/kde/slack-desc/kdeconnect-kde
new file mode 100644
index 00000000..3acbeea8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeconnect-kde
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeconnect-kde: kdeconnect-kde (Integrate Android with the Plasma Desktop)
+kdeconnect-kde:
+kdeconnect-kde: KDE Connect is a module to connect KDE with your smartphone.
+kdeconnect-kde: Prominent features are: clipboard share, notifications sync,
+kdeconnect-kde: multimedia remote control over secured network connections.
+kdeconnect-kde: Please note you will need to install KDE Connect on Android
+kdeconnect-kde: for this app to work:
+kdeconnect-kde:
+kdeconnect-kde: https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp
+kdeconnect-kde:
+kdeconnect-kde:
diff --git a/testing/source/vtown/kde/slack-desc/kdecoration b/testing/source/vtown/kde/slack-desc/kdecoration
new file mode 100644
index 00000000..98d272c2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdecoration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdecoration: kdecoration (library to create themes for kwin)
+kdecoration:
+kdecoration: This library makes it easier and more reliable to make themes for
+kdecoration: KWin, Plasma's window manager. It has impressive memory, performance
+kdecoration: and stability improvements.
+kdecoration:
+kdecoration:
+kdecoration:
+kdecoration:
+kdecoration:
+kdecoration:
diff --git a/testing/source/vtown/kde/slack-desc/kded b/testing/source/vtown/kde/slack-desc/kded
new file mode 100644
index 00000000..dbc67d5c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kded
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kded: kded (Central daemon of KDE workspaces)
+kded:
+kded: KDED stands for KDE Daemon. KDED runs in the background and performs a
+kded: number of small tasks. Some of these tasks are built in, others are
+kded: started on demand. Examples include checking for newly installed
+kded: software and checking for newly installed update files.
+kded:
+kded:
+kded:
+kded:
+kded:
diff --git a/testing/source/vtown/kde/slack-desc/kdeedu b/testing/source/vtown/kde/slack-desc/kdeedu
new file mode 100644
index 00000000..3d85c460
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeedu
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeedu: kdeedu (Educational applications)
+kdeedu:
+kdeedu: Educational applications for the KDE Software Compilation.
+kdeedu:
+kdeedu:
+kdeedu:
+kdeedu:
+kdeedu:
+kdeedu:
+kdeedu:
+kdeedu:
diff --git a/testing/source/vtown/kde/slack-desc/kdeedu-data b/testing/source/vtown/kde/slack-desc/kdeedu-data
new file mode 100644
index 00000000..ca29cb7d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeedu-data
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeedu-data: kdeedu-data (icons, artwork and data files for KDE edu)
+kdeedu-data:
+kdeedu-data: Shared icons, artwork and data files for educational applications.
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
+kdeedu-data:
diff --git a/testing/source/vtown/kde/slack-desc/kdegraphics b/testing/source/vtown/kde/slack-desc/kdegraphics
new file mode 100644
index 00000000..6cbde37e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdegraphics
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdegraphics: kdegraphics (KDE graphics programs)
+kdegraphics:
+kdegraphics: Graphics programs for the KDE Software Compilation, including
+kdegraphics: gwenview, kcolorchooser, kbackgroundsnapshot, kolourpaint, kruler,
+kdegraphics: ksnapshot, okular, and xf86gammacfg.
+kdegraphics:
+kdegraphics:
+kdegraphics:
+kdegraphics:
+kdegraphics:
+kdegraphics:
diff --git a/testing/source/vtown/kde/slack-desc/kdegraphics-mobipocket b/testing/source/vtown/kde/slack-desc/kdegraphics-mobipocket
new file mode 100644
index 00000000..501b3236
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdegraphics-mobipocket
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdegraphics-mobipocket: kdegraphics-mobipocket (Mobipocket support for Okular)
+kdegraphics-mobipocket:
+kdegraphics-mobipocket: Mobipocket support for Okular.
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
+kdegraphics-mobipocket:
diff --git a/testing/source/vtown/kde/slack-desc/kdegraphics-thumbnailers b/testing/source/vtown/kde/slack-desc/kdegraphics-thumbnailers
new file mode 100644
index 00000000..98f2d471
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdegraphics-thumbnailers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdegraphics-thumbnailers: kdegraphics-thumbnailers (image thumbnailers)
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers: These plugins allow KDE software to create thumbnails for several
+kdegraphics-thumbnailers: graphic file formats.
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
+kdegraphics-thumbnailers:
diff --git a/testing/source/vtown/kde/slack-desc/kdelibs b/testing/source/vtown/kde/slack-desc/kdelibs
new file mode 100644
index 00000000..a9cf6f68
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdelibs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdelibs: kdelibs (KDE libraries)
+kdelibs:
+kdelibs: System libraries and other resources required for the KDE Platform.
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
diff --git a/testing/source/vtown/kde/slack-desc/kdelibs4support b/testing/source/vtown/kde/slack-desc/kdelibs4support
new file mode 100644
index 00000000..d4cf9b67
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdelibs4support
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdelibs4support: kdelibs4support (KDE 4 support)
+kdelibs4support:
+kdelibs4support: kdelibs4support provides legacy support for kdelibs 4 compatibility
+kdelibs4support: such as code and utilities to ease the transition from kdelibs 4 to
+kdelibs4support: KDE Frameworks 5. This includes CMake macros and C++ classes whose
+kdelibs4support: functionality has been replaced by code in CMake, Qt and other
+kdelibs4support: frameworks.
+kdelibs4support:
+kdelibs4support:
+kdelibs4support:
+kdelibs4support:
diff --git a/testing/source/vtown/kde/slack-desc/kdenetwork b/testing/source/vtown/kde/slack-desc/kdenetwork
new file mode 100644
index 00000000..3b24aace
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdenetwork
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdenetwork: kdenetwork (Network utilities for KDE)
+kdenetwork:
+kdenetwork: Network related utilities for the KDE Software Compilation.
+kdenetwork:
+kdenetwork:
+kdenetwork:
+kdenetwork:
+kdenetwork:
+kdenetwork:
+kdenetwork:
+kdenetwork:
diff --git a/testing/source/vtown/kde/slack-desc/kdenetwork-filesharing b/testing/source/vtown/kde/slack-desc/kdenetwork-filesharing
new file mode 100644
index 00000000..6c71493f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdenetwork-filesharing
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdenetwork-filesharing: kdenetwork-filesharing (share a directory with the local network)
+kdenetwork-filesharing:
+kdenetwork-filesharing: Konqueror properties dialog plugin to share a directory with the local
+kdenetwork-filesharing: network.
+kdenetwork-filesharing:
+kdenetwork-filesharing:
+kdenetwork-filesharing:
+kdenetwork-filesharing:
+kdenetwork-filesharing:
+kdenetwork-filesharing:
+kdenetwork-filesharing:
diff --git a/testing/source/vtown/kde/slack-desc/kdenlive b/testing/source/vtown/kde/slack-desc/kdenlive
new file mode 100644
index 00000000..48870030
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdenlive
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdenlive: kdenlive (non-linear video editor)
+kdenlive:
+kdenlive: A non-linear video editor for Linux using the MLT video framework.
+kdenlive:
+kdenlive: Homepage: http://www.kdenlive.org
+kdenlive:
+kdenlive:
+kdenlive:
+kdenlive:
+kdenlive:
+kdenlive:
diff --git a/testing/source/vtown/kde/slack-desc/kdepim b/testing/source/vtown/kde/slack-desc/kdepim
new file mode 100644
index 00000000..d87256e6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdepim
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdepim: kdepim (KDE Personal Information Management applications)
+kdepim:
+kdepim: The KDE-PIM project aims to bring together those who wish to help
+kdepim: design, implement, test, etc. anything that's to do with personal
+kdepim: information management.
+kdepim:
+kdepim: This rather broad scope encompasses mail clients, addressbooks,
+kdepim: usenet news, scheduling, and even sticky notes.
+kdepim:
+kdepim:
+kdepim:
diff --git a/testing/source/vtown/kde/slack-desc/kdepim-addons b/testing/source/vtown/kde/slack-desc/kdepim-addons
new file mode 100644
index 00000000..38c2c732
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdepim-addons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdepim-addons: kdepim-addons (addons for KDE PIM applications)
+kdepim-addons:
+kdepim-addons: Addons for KDE PIM applications.
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
+kdepim-addons:
diff --git a/testing/source/vtown/kde/slack-desc/kdepim-apps-libs b/testing/source/vtown/kde/slack-desc/kdepim-apps-libs
new file mode 100644
index 00000000..2e7de5c5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdepim-apps-libs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdepim-apps-libs: kdepim-apps-libs (KDE PIM mail related libraries)
+kdepim-apps-libs:
+kdepim-apps-libs: The kdepim-apps-libs package contains KDE PIM mail related libraries.
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
+kdepim-apps-libs:
diff --git a/testing/source/vtown/kde/slack-desc/kdepim-runtime b/testing/source/vtown/kde/slack-desc/kdepim-runtime
new file mode 100644
index 00000000..1fad4a46
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdepim-runtime
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdepim-runtime: kdepim-runtime (KDE Personal Information Management runtime)
+kdepim-runtime:
+kdepim-runtime: The KDE-PIM project aims to bring together those who wish to help
+kdepim-runtime: design, implement, test, etc. anything that's to do with personal
+kdepim-runtime: information management.
+kdepim-runtime:
+kdepim-runtime: This rather broad scope encompasses mail clients, addressbooks,
+kdepim-runtime: usenet news, scheduling, and even sticky notes.
+kdepim-runtime:
+kdepim-runtime:
+kdepim-runtime:
diff --git a/testing/source/vtown/kde/slack-desc/kdeplasma-addons b/testing/source/vtown/kde/slack-desc/kdeplasma-addons
new file mode 100644
index 00000000..5fe7abe1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdeplasma-addons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdeplasma-addons: kdeplasma-addons (Plasma addons for KDE)
+kdeplasma-addons:
+kdeplasma-addons: Plasmoids (or widgets) for the KDE Plasma Desktop shell.
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
+kdeplasma-addons:
diff --git a/testing/source/vtown/kde/slack-desc/kdesdk b/testing/source/vtown/kde/slack-desc/kdesdk
new file mode 100644
index 00000000..d8050240
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdesdk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesdk: kdesdk (KDE Software Development Kit)
+kdesdk:
+kdesdk: KDE Software Development Kit is a collection of applications and
+kdesdk: tools used to develop on the KDE Platform. It also contains example
+kdesdk: code for use in learning KDE programming or starting a new KDE
+kdesdk: application.
+kdesdk:
+kdesdk:
+kdesdk:
+kdesdk:
+kdesdk:
diff --git a/testing/source/vtown/kde/slack-desc/kdesdk-kioslaves b/testing/source/vtown/kde/slack-desc/kdesdk-kioslaves
new file mode 100644
index 00000000..70d7d75d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdesdk-kioslaves
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesdk-kioslaves: kdesdk-kioslaves (KIO-slaves for KDE SDK)
+kdesdk-kioslaves:
+kdesdk-kioslaves: This package contains KIO-slaves for KDE SDK.
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
+kdesdk-kioslaves:
diff --git a/testing/source/vtown/kde/slack-desc/kdesdk-thumbnailers b/testing/source/vtown/kde/slack-desc/kdesdk-thumbnailers
new file mode 100644
index 00000000..1d3554c8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdesdk-thumbnailers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesdk-thumbnailers: kdesdk-thumbnailers (thumbnailers for KDE)
+kdesdk-thumbnailers:
+kdesdk-thumbnailers: Thumbnailers for KDE, including gnu gettext po translation files and
+kdesdk-thumbnailers: gettext translation templates.
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
+kdesdk-thumbnailers:
diff --git a/testing/source/vtown/kde/slack-desc/kdesignerplugin b/testing/source/vtown/kde/slack-desc/kdesignerplugin
new file mode 100644
index 00000000..eb5c4418
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdesignerplugin
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesignerplugin: kdesignerplugin (Integrate custom widgets with Qt Designer)
+kdesignerplugin:
+kdesignerplugin: This framework provides a utility (kgendesignerplugin) that can be
+kdesignerplugin: used to generate plugins for Qt Designer from ini-style description
+kdesignerplugin: files.
+kdesignerplugin:
+kdesignerplugin:
+kdesignerplugin:
+kdesignerplugin:
+kdesignerplugin:
+kdesignerplugin:
diff --git a/testing/source/vtown/kde/slack-desc/kdesu b/testing/source/vtown/kde/slack-desc/kdesu
new file mode 100644
index 00000000..ae03f1af
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdesu
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdesu: kdesu (run shell commands as root)
+kdesu:
+kdesu: KDESU provides functionality for building GUI front ends for (password
+kdesu: asking) console mode programs. For example, kdesu and kdessh use it to
+kdesu: interface with su and ssh respectively.
+kdesu:
+kdesu:
+kdesu:
+kdesu:
+kdesu:
+kdesu:
diff --git a/testing/source/vtown/kde/slack-desc/kdev-php b/testing/source/vtown/kde/slack-desc/kdev-php
new file mode 100644
index 00000000..c59f3585
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdev-php
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdev-php: kdev-php (PHP language plugin for KDevelop)
+kdev-php:
+kdev-php: This is a KDevelop plugin that provides support for the PHP language.
+kdev-php:
+kdev-php:
+kdev-php:
+kdev-php:
+kdev-php:
+kdev-php:
+kdev-php:
+kdev-php:
diff --git a/testing/source/vtown/kde/slack-desc/kdev-python b/testing/source/vtown/kde/slack-desc/kdev-python
new file mode 100644
index 00000000..0b36bf54
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdev-python
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdev-python: kdev-python (Python language plugin for KDevelop)
+kdev-python:
+kdev-python: This KDevelop plugin provides support for the Python language.
+kdev-python:
+kdev-python:
+kdev-python:
+kdev-python:
+kdev-python:
+kdev-python:
+kdev-python:
+kdev-python:
diff --git a/testing/source/vtown/kde/slack-desc/kdevelop b/testing/source/vtown/kde/slack-desc/kdevelop
new file mode 100644
index 00000000..2398540c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdevelop
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdevelop: kdevelop (development environment for KDE)
+kdevelop:
+kdevelop: The KDevelop integrated C/C++ application development environment.
+kdevelop:
+kdevelop:
+kdevelop:
+kdevelop:
+kdevelop:
+kdevelop:
+kdevelop:
+kdevelop:
diff --git a/testing/source/vtown/kde/slack-desc/kdevelop-pg-qt b/testing/source/vtown/kde/slack-desc/kdevelop-pg-qt
new file mode 100644
index 00000000..4439f12b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdevelop-pg-qt
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdevelop-pg-qt: kdevelop-pg-qt (KDevelop Parser Generator)
+kdevelop-pg-qt:
+kdevelop-pg-qt: KDevelop Parser Generator used in the PHP language plugin and others.
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
+kdevelop-pg-qt:
diff --git a/testing/source/vtown/kde/slack-desc/kdevplatform b/testing/source/vtown/kde/slack-desc/kdevplatform
new file mode 100644
index 00000000..0573eddd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdevplatform
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdevplatform: kdevplatform (KDE development platform)
+kdevplatform:
+kdevplatform: This KDE module provides libraries used by kdevelop.
+kdevplatform:
+kdevplatform:
+kdevplatform:
+kdevplatform:
+kdevplatform:
+kdevplatform:
+kdevplatform:
+kdevplatform:
diff --git a/testing/source/vtown/kde/slack-desc/kdewebdev b/testing/source/vtown/kde/slack-desc/kdewebdev
new file mode 100644
index 00000000..8513dd1d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdewebdev
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdewebdev: kdewebdev (web development package for the KDE Platform)
+kdewebdev:
+kdewebdev: The kdewebdev package contains applications which are useful for web
+kdewebdev: development.
+kdewebdev:
+kdewebdev:
+kdewebdev:
+kdewebdev:
+kdewebdev:
+kdewebdev:
+kdewebdev:
diff --git a/testing/source/vtown/kde/slack-desc/kdewebkit b/testing/source/vtown/kde/slack-desc/kdewebkit
new file mode 100644
index 00000000..d8c85ad1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdewebkit
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdewebkit: kdewebkit (WebKit rendering engine for KDE)
+kdewebkit:
+kdewebkit: This library provides KDE integration of the QtWebKit library. If you
+kdewebkit: are using QtWebKit in your KDE application, you are encouraged to use
+kdewebkit: this layer instead of using the QtWebKit classes directly. In
+kdewebkit: particular, you should use KWebView in place of QWebView,
+kdewebkit: KGraphicsWebView in place of QGraphicsWebView and KWebPage in place of
+kdewebkit: QWebPage. See the documentation for more information.
+kdewebkit:
+kdewebkit:
+kdewebkit:
diff --git a/testing/source/vtown/kde/slack-desc/kdf b/testing/source/vtown/kde/slack-desc/kdf
new file mode 100644
index 00000000..fb2fb4cb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdf
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkdiskfrees the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdf: kdf (show available disk space)
+kdf:
+kdf: kdf (KDiskFree) displays the available file devices (hard drive
+kdf: partitions, floppy and CD/DVD drives, etc.) along with information on
+kdf: their capacity, free space, type and mount point.
+kdf:
+kdf: Homepage: http://utils.kde.org/projects/kdf
+kdf:
+kdf:
+kdf:
+kdf:
diff --git a/testing/source/vtown/kde/slack-desc/kdiagram b/testing/source/vtown/kde/slack-desc/kdiagram
new file mode 100644
index 00000000..b5031ee1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdiagram
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdiagram: kdiagram (libraries for creating business diagrams)
+kdiagram:
+kdiagram: Powerful libraries (KChart, KGantt) for creating business diagrams.
+kdiagram:
+kdiagram: Homepage: https://github.com/KDE/kdiagram
+kdiagram:
+kdiagram:
+kdiagram:
+kdiagram:
+kdiagram:
+kdiagram:
diff --git a/testing/source/vtown/kde/slack-desc/kdialog b/testing/source/vtown/kde/slack-desc/kdialog
new file mode 100644
index 00000000..cb1d52f5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdialog
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdialog: kdialog (shell dialog box utility)
+kdialog:
+kdialog: A utility for displaying dialog boxes from shell scripts.
+kdialog:
+kdialog:
+kdialog:
+kdialog:
+kdialog:
+kdialog:
+kdialog:
+kdialog:
diff --git a/testing/source/vtown/kde/slack-desc/kdiamond b/testing/source/vtown/kde/slack-desc/kdiamond
new file mode 100644
index 00000000..c25a2712
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdiamond
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdiamond: kdiamond (three-in-a-row game for KDE)
+kdiamond:
+kdiamond: KDiamond is a single player puzzle game. The object of the game is to
+kdiamond: build and remove lines of three similar diamonds.
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
diff --git a/testing/source/vtown/kde/slack-desc/kdnssd b/testing/source/vtown/kde/slack-desc/kdnssd
new file mode 100644
index 00000000..bb97b243
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdnssd
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdnssd: kdnssd (network monitor for zeroconf)
+kdnssd:
+kdnssd: A network monitor for DNS-SD services (Zeroconf).
+kdnssd:
+kdnssd:
+kdnssd:
+kdnssd:
+kdnssd:
+kdnssd:
+kdnssd:
+kdnssd:
diff --git a/testing/source/vtown/kde/slack-desc/kdoctools b/testing/source/vtown/kde/slack-desc/kdoctools
new file mode 100644
index 00000000..9945d8b8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kdoctools
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kdoctools: kdoctools (Create documentation from DocBook)
+kdoctools:
+kdoctools: KDocTools provides tools to generate documentation in various formats
+kdoctools: from DocBook files.
+kdoctools:
+kdoctools:
+kdoctools:
+kdoctools:
+kdoctools:
+kdoctools:
+kdoctools:
diff --git a/testing/source/vtown/kde/slack-desc/keditbookmarks b/testing/source/vtown/kde/slack-desc/keditbookmarks
new file mode 100644
index 00000000..eb71edd2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/keditbookmarks
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+keditbookmarks: keditbookmarks (Bookmark organizer and editor)
+keditbookmarks:
+keditbookmarks: Bookmark organizer and editor.
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
+keditbookmarks:
diff --git a/testing/source/vtown/kde/slack-desc/kemoticons b/testing/source/vtown/kde/slack-desc/kemoticons
new file mode 100644
index 00000000..81ea009a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kemoticons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kemoticons: kemoticons (Convert text emoticons to graphical emoticons)
+kemoticons:
+kemoticons: KEmoticons converts emoticons from text to a graphical representation
+kemoticons: with images in HTML. It supports setting different themes for
+kemoticons: emoticons coming from different providers.
+kemoticons:
+kemoticons:
+kemoticons:
+kemoticons:
+kemoticons:
+kemoticons:
diff --git a/testing/source/vtown/kde/slack-desc/kfilemetadata b/testing/source/vtown/kde/slack-desc/kfilemetadata
new file mode 100644
index 00000000..419a1623
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kfilemetadata
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kfilemetadata: kfilemetadata (a library for extracting file metadata)
+kfilemetadata:
+kfilemetadata: KFileMetaData provides a simple library for extracting the text and
+kfilemetadata: metadata from a number of different files. This library is typically
+kfilemetadata: used by file indexers to retreive the metadata. This library can also
+kfilemetadata: be used by applications to write metadata.
+kfilemetadata:
+kfilemetadata:
+kfilemetadata:
+kfilemetadata:
+kfilemetadata:
diff --git a/testing/source/vtown/kde/slack-desc/kfind b/testing/source/vtown/kde/slack-desc/kfind
new file mode 100644
index 00000000..e08d2900
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kfind
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kfind: kfind (find files and directories in KDE)
+kfind:
+kfind: The Find Files tool is a useful method of searching for specific files
+kfind: on your computer, or for searching for files that match a pattern. An
+kfind: example of this could include searching for files of a particular type
+kfind: or with certain letters in the filename, or that contain a certain
+kfind: piece of text in their contents.
+kfind:
+kfind:
+kfind:
+kfind:
diff --git a/testing/source/vtown/kde/slack-desc/kfloppy b/testing/source/vtown/kde/slack-desc/kfloppy
new file mode 100644
index 00000000..4eb1e3b1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kfloppy
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkfloppys the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kfloppy: kfloppy (floppy disk formatter)
+kfloppy:
+kfloppy: KFloppy is a utility that provides a straightforward graphical means
+kfloppy: to format 3.5" and 5.25" floppy disks.
+kfloppy:
+kfloppy: Homepage: http://utils.kde.org/projects/kfloppy
+kfloppy:
+kfloppy:
+kfloppy:
+kfloppy:
+kfloppy:
diff --git a/testing/source/vtown/kde/slack-desc/kfourinline b/testing/source/vtown/kde/slack-desc/kfourinline
new file mode 100644
index 00000000..f1797bc9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kfourinline
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kfourinline: kfourinline (four-in-a-row board game)
+kfourinline:
+kfourinline: KFourInLine is a board game for two players based on the Connect-Four
+kfourinline: game. The players try to build up a row of four pieces using different
+kfourinline: strategies.
+kfourinline:
+kfourinline:
+kfourinline:
+kfourinline:
+kfourinline:
+kfourinline:
diff --git a/testing/source/vtown/kde/slack-desc/kgamma5 b/testing/source/vtown/kde/slack-desc/kgamma5
new file mode 100644
index 00000000..9dc98c89
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kgamma5
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kgamma5: kgamma5 (display gamma configuration)
+kgamma5:
+kgamma5: A KDE system settings module to configure display gamma.
+kgamma5:
+kgamma5:
+kgamma5:
+kgamma5:
+kgamma5:
+kgamma5:
+kgamma5:
+kgamma5:
diff --git a/testing/source/vtown/kde/slack-desc/kgeography b/testing/source/vtown/kde/slack-desc/kgeography
new file mode 100644
index 00000000..244bb793
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kgeography
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kgeography: kgeography (a geography learning tool)
+kgeography:
+kgeography: KGeography is a geography learning tool with three usage modes:
+kgeography:
+kgeography: Browse the maps clicking in a map division to see it's name.
+kgeography: The game tells you a map division name and you have to click on it.
+kgeography: The game shows you a map division flag and you have to guess its name.
+kgeography:
+kgeography: Homepage: http://kgeography.berlios.de/
+kgeography:
+kgeography:
diff --git a/testing/source/vtown/kde/slack-desc/kget b/testing/source/vtown/kde/slack-desc/kget
new file mode 100644
index 00000000..86259cce
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kget
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kget: kget (download manager for KDE)
+kget:
+kget: kget is a download manager for KDE.
+kget:
+kget:
+kget:
+kget:
+kget:
+kget:
+kget:
+kget:
diff --git a/testing/source/vtown/kde/slack-desc/kglobalaccel b/testing/source/vtown/kde/slack-desc/kglobalaccel
new file mode 100644
index 00000000..bb348ffe
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kglobalaccel
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kglobalaccel: kglobalaccel (Global desktop keyboard shortcuts)
+kglobalaccel:
+kglobalaccel: KGlobalAccel allows you to have global accelerators that are
+kglobalaccel: independent of the focused window. Unlike regular shortcuts, the
+kglobalaccel: application's window does not need focus for them to be activated.
+kglobalaccel:
+kglobalaccel:
+kglobalaccel:
+kglobalaccel:
+kglobalaccel:
+kglobalaccel:
diff --git a/testing/source/vtown/kde/slack-desc/kgoldrunner b/testing/source/vtown/kde/slack-desc/kgoldrunner
new file mode 100644
index 00000000..aeec5c91
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kgoldrunner
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kgoldrunner: kgoldrunner (Hunt gold, dodge enemies and solve puzzles)
+kgoldrunner:
+kgoldrunner: KGoldrunner is a maze-threading game with a puzzle flavor. It has
+kgoldrunner: hundreds of levels where pieces of gold must be collected, with
+kgoldrunner: enemies in hot pursuit.
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
diff --git a/testing/source/vtown/kde/slack-desc/kgpg b/testing/source/vtown/kde/slack-desc/kgpg
new file mode 100644
index 00000000..c9f17855
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kgpg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkgpgs the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kgpg: kgpg (KDE GUI for GnuPG)
+kgpg:
+kgpg: KGpg is a simple interface for GnuPG, a powerful encryption utility.
+kgpg:
+kgpg: Homepage: http://utils.kde.org/projects/kgpg
+kgpg:
+kgpg:
+kgpg:
+kgpg:
+kgpg:
+kgpg:
diff --git a/testing/source/vtown/kde/slack-desc/kguiaddons b/testing/source/vtown/kde/slack-desc/kguiaddons
new file mode 100644
index 00000000..acae05fd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kguiaddons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kguiaddons: kguiaddons (KDE GUI Addons)
+kguiaddons:
+kguiaddons: The KDE GUI addons provide utilities for graphical user interfaces in
+kguiaddons: the areas of colors, fonts, text, images, and keyboard input.
+kguiaddons:
+kguiaddons:
+kguiaddons:
+kguiaddons:
+kguiaddons:
+kguiaddons:
+kguiaddons:
diff --git a/testing/source/vtown/kde/slack-desc/khangman b/testing/source/vtown/kde/slack-desc/khangman
new file mode 100644
index 00000000..3aea5490
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/khangman
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+khangman: khangman (hangman game)
+khangman:
+khangman: KHangman is the classical hangman game. The child should guess a word
+khangman: letter by letter. At each miss, the picture of a hangman appears.
+khangman: After 10 tries, if the word is not guessed, the game is over and
+khangman: the answer is displayed.
+khangman:
+khangman:
+khangman:
+khangman:
+khangman:
diff --git a/testing/source/vtown/kde/slack-desc/khelpcenter b/testing/source/vtown/kde/slack-desc/khelpcenter
new file mode 100644
index 00000000..c5f1d4d4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/khelpcenter
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+khelpcenter: khelpcenter (KDE help center)
+khelpcenter:
+khelpcenter: The KDE Help Center displays documentation on how to use the KDE
+khelpcenter: plasma workspaces and applications, as well as man and info pages.
+khelpcenter: It can search through documentation using the 'htdig' package.
+khelpcenter:
+khelpcenter:
+khelpcenter:
+khelpcenter:
+khelpcenter:
+khelpcenter:
diff --git a/testing/source/vtown/kde/slack-desc/kholidays b/testing/source/vtown/kde/slack-desc/kholidays
new file mode 100644
index 00000000..f2f1faa2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kholidays
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kholidays: kholidays (KDE library for regional holiday information)
+kholidays:
+kholidays: The KHolidays library in kdepimlibs provides details on public
+kholidays: holidays for a given country and date range. A separate library and
+kholidays: file format is required as iCalendar is not capable of expressing
+kholidays: recurrence rules for all possible holidays.
+kholidays:
+kholidays:
+kholidays:
+kholidays:
+kholidays:
diff --git a/testing/source/vtown/kde/slack-desc/khotkeys b/testing/source/vtown/kde/slack-desc/khotkeys
new file mode 100644
index 00000000..1ee232a2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/khotkeys
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+khotkeys: khotkeys (custom shortcuts)
+khotkeys:
+khotkeys: The Custom Shortcuts systemsettings module allows you to configure
+khotkeys: custom keyboard shortcuts and mouse gestures. You can use them to
+khotkeys: control applications, run specific commands, and more.
+khotkeys:
+khotkeys:
+khotkeys:
+khotkeys:
+khotkeys:
+khotkeys:
diff --git a/testing/source/vtown/kde/slack-desc/khtml b/testing/source/vtown/kde/slack-desc/khtml
new file mode 100644
index 00000000..67094495
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/khtml
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+khtml: khtml (HTML rendering engine)
+khtml:
+khtml: KHTML is a web rendering engine based on the KParts technology and
+khtml: using KJS for JavaScript support.
+khtml:
+khtml:
+khtml:
+khtml:
+khtml:
+khtml:
+khtml:
diff --git a/testing/source/vtown/kde/slack-desc/ki18n b/testing/source/vtown/kde/slack-desc/ki18n
new file mode 100644
index 00000000..fd7df2d3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ki18n
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ki18n: ki18n (UI text internationalization)
+ki18n:
+ki18n: KI18n provides functionality for internationalizing user interface
+ki18n: text in applications, based on the GNU Gettext translation system.
+ki18n: It wraps the standard Gettext functionality, so that the programmers
+ki18n: and translators can use the familiar Gettext tools and workflows.
+ki18n: KI18n also provides argument capturing, customizable markup, and
+ki18n: translation scripting.
+ki18n:
+ki18n:
+ki18n:
diff --git a/testing/source/vtown/kde/slack-desc/kiconthemes b/testing/source/vtown/kde/slack-desc/kiconthemes
new file mode 100644
index 00000000..fc57bc80
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kiconthemes
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kiconthemes: kiconthemes (Icon GUI utilities)
+kiconthemes:
+kiconthemes: The KIconThemes library contains classes to improve the handling of
+kiconthemes: icons in applications using the KDE Frameworks.
+kiconthemes:
+kiconthemes:
+kiconthemes:
+kiconthemes:
+kiconthemes:
+kiconthemes:
+kiconthemes:
diff --git a/testing/source/vtown/kde/slack-desc/kid3 b/testing/source/vtown/kde/slack-desc/kid3
new file mode 100644
index 00000000..4f707ee4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kid3
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kid3: kid3 (audio tagger)
+kid3:
+kid3: If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
+kid3: MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files
+kid3: (e.g. full albums) without typing the same information again and again
+kid3: and have control over both ID3v1 and ID3v2 tags, then Kid3 is the
+kid3: program you are looking for.
+kid3:
+kid3: Homepage: http://kid3.kde.org/
+kid3:
+kid3:
diff --git a/testing/source/vtown/kde/slack-desc/kidentitymanagement b/testing/source/vtown/kde/slack-desc/kidentitymanagement
new file mode 100644
index 00000000..1c4cf74e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kidentitymanagement
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kidentitymanagement: kidentitymanagement (Manage PIM identity)
+kidentitymanagement:
+kidentitymanagement: kidentitymanagement contains the KIdentityManagement Library.
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
+kidentitymanagement:
diff --git a/testing/source/vtown/kde/slack-desc/kidletime b/testing/source/vtown/kde/slack-desc/kidletime
new file mode 100644
index 00000000..cb4a6fc4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kidletime
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kidletime: kidletime (report system/user idle time)
+kidletime:
+kidletime: KIdleTime is a singleton reporting information on idle time. It is
+kidletime: useful not only for finding out about the current idle time of the
+kidletime: system, but also for getting notified upon idle time events, such as
+kidletime: custom timeouts or user activity.
+kidletime:
+kidletime:
+kidletime:
+kidletime:
+kidletime:
diff --git a/testing/source/vtown/kde/slack-desc/kig b/testing/source/vtown/kde/slack-desc/kig
new file mode 100644
index 00000000..30799c2d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kig
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kig: kig (interactive geometry game)
+kig:
+kig: Kig is an application meant to allow high school students to
+kig: interactively explore mathematical concepts, much like Dr.Geo, KGeo,
+kig: KSeg and Cabri.
+kig:
+kig: Homepage: http://edu.kde.org/kig/
+kig:
+kig:
+kig:
+kig:
diff --git a/testing/source/vtown/kde/slack-desc/kigo b/testing/source/vtown/kde/slack-desc/kigo
new file mode 100644
index 00000000..a55de88a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kigo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kigo: kigo (Go board game for KDE)
+kigo:
+kigo: Kigo is an open-source implementation of the popular Go game. Go is a
+kigo: strategic board game for two players. It is also known as igo
+kigo: (Japanese), weiqi or wei ch'i (Chinese) or baduk (Korean). Go is noted
+kigo: for being rich in strategic complexity despite its simple rules. The
+kigo: game is played by two players who alternately place black and white
+kigo: pieces on the vacant intersections of a grid of 19x19 lines (9x9 or
+kigo: 13x13 for easier games).
+kigo:
+kigo:
diff --git a/testing/source/vtown/kde/slack-desc/kile b/testing/source/vtown/kde/slack-desc/kile
new file mode 100644
index 00000000..40ba95e3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kile
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kile: kile (TeX/LaTeX frontend for Plasma5)
+kile:
+kile: kile is a user-friendly TeX/LaTeX editor for the KDE desktop environment.
+kile:
+kile: Homepage: https://kile.sourceforge.io
+kile:
+kile:
+kile:
+kile:
+kile:
+kile:
diff --git a/testing/source/vtown/kde/slack-desc/killbots b/testing/source/vtown/kde/slack-desc/killbots
new file mode 100644
index 00000000..59b53524
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/killbots
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+killbots: killbots (Robots-like game for KDE)
+killbots:
+killbots: Killbots is a simple game of evading killer robots.
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
diff --git a/testing/source/vtown/kde/slack-desc/kimageformats b/testing/source/vtown/kde/slack-desc/kimageformats
new file mode 100644
index 00000000..8ded68aa
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kimageformats
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kimageformats: kimageformats (QImage format plugins)
+kimageformats:
+kimageformats: This framework provides additional image format plugins for QtGui. As
+kimageformats: such it is not required for the compilation of any other software, but
+kimageformats: may be a runtime requirement for Qt-based software to support certain
+kimageformats: image formats.
+kimageformats:
+kimageformats:
+kimageformats:
+kimageformats:
+kimageformats:
diff --git a/testing/source/vtown/kde/slack-desc/kimagemapeditor b/testing/source/vtown/kde/slack-desc/kimagemapeditor
new file mode 100644
index 00000000..4a865735
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kimagemapeditor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kimagemapeditor: kimagemapeditor (HTML image map editor)
+kimagemapeditor:
+kimagemapeditor: An HTML image map editor.
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
+kimagemapeditor:
diff --git a/testing/source/vtown/kde/slack-desc/kimap b/testing/source/vtown/kde/slack-desc/kimap
new file mode 100644
index 00000000..20b36167
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kimap
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kimap: kimap (API for the handling of IMAP data)
+kimap:
+kimap: The kimap library contains an API for the handling of IMAP data.
+kimap:
+kimap:
+kimap:
+kimap:
+kimap:
+kimap:
+kimap:
+kimap:
diff --git a/testing/source/vtown/kde/slack-desc/kinfocenter b/testing/source/vtown/kde/slack-desc/kinfocenter
new file mode 100644
index 00000000..67313cfc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kinfocenter
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kinfocenter: kinfocenter (info about your computer)
+kinfocenter:
+kinfocenter: KInfocenter gives you a host of information about your hardware and
+kinfocenter: its capabilities.
+kinfocenter:
+kinfocenter:
+kinfocenter:
+kinfocenter:
+kinfocenter:
+kinfocenter:
+kinfocenter:
diff --git a/testing/source/vtown/kde/slack-desc/kinit b/testing/source/vtown/kde/slack-desc/kinit
new file mode 100644
index 00000000..03d0c730
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kinit
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kinit: kinit (startup helper library)
+kinit:
+kinit: kdeinit is a process launcher somewhat similar to the famous init used
+kinit: for booting. It launches processes by forking and then loading a
+kinit: dynamic library which should contain a 'kdemain(...)' function. Using
+kinit: kdeinit to launch KDE applications makes starting a typical KDE
+kinit: application 2.5 times faster and reduces memory consumption.
+kinit:
+kinit:
+kinit:
+kinit:
diff --git a/testing/source/vtown/kde/slack-desc/kio b/testing/source/vtown/kde/slack-desc/kio
new file mode 100644
index 00000000..09ab48a4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kio
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kio: kio (network transparent file library)
+kio:
+kio: This framework implements almost all the file management functions you
+kio: will ever need. In fact, the KDE file manager (Dolphin) and the KDE
+kio: file dialog also use this to provide network-enabled file management.
+kio: It supports accessing files locally as well as via HTTP and FTP out of
+kio: the box and can be extended by plugins to support other protocols as
+kio: well. There are a variety of plugins available, e.g. to support access
+kio: via SSH.
+kio:
+kio:
diff --git a/testing/source/vtown/kde/slack-desc/kio-extras b/testing/source/vtown/kde/slack-desc/kio-extras
new file mode 100644
index 00000000..aa3fce96
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kio-extras
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kio-extras: kio-extras (Additional components for KIO)
+kio-extras:
+kio-extras: Additional components to increase the functionality of KIO.
+kio-extras:
+kio-extras:
+kio-extras:
+kio-extras:
+kio-extras:
+kio-extras:
+kio-extras:
+kio-extras:
diff --git a/testing/source/vtown/kde/slack-desc/kio-gdrive b/testing/source/vtown/kde/slack-desc/kio-gdrive
new file mode 100644
index 00000000..69e147f5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kio-gdrive
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kio-gdrive: kio-gdrive (Google Drive KIO helper)
+kio-gdrive:
+kio-gdrive: KIO GDrive is a KIO helper that enables KIO-aware applications (such
+kio-gdrive: as Dolphin, Kate or Gwenview) to access and edit Google Drive files in
+kio-gdrive: the cloud.
+kio-gdrive:
+kio-gdrive: Homepage: https://community.kde.org/KIO_GDrive
+kio-gdrive:
+kio-gdrive:
+kio-gdrive:
+kio-gdrive:
diff --git a/testing/source/vtown/kde/slack-desc/kipi-plugins b/testing/source/vtown/kde/slack-desc/kipi-plugins
new file mode 100644
index 00000000..b93915be
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kipi-plugins
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kipi-plugins: kipi-plugins (graphics and image plugins)
+kipi-plugins:
+kipi-plugins: A collection of plugins extending the KDE graphics and image
+kipi-plugins: applications.
+kipi-plugins:
+kipi-plugins: Homepage: https://userbase.kde.org/KIPI
+kipi-plugins:
+kipi-plugins:
+kipi-plugins:
+kipi-plugins:
+kipi-plugins:
diff --git a/testing/source/vtown/kde/slack-desc/kirigami-gallery b/testing/source/vtown/kde/slack-desc/kirigami-gallery
new file mode 100644
index 00000000..dac6e223
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kirigami-gallery
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kirigami-gallery: kirigami-gallery (Gallery application built using Kirigami)
+kirigami-gallery:
+kirigami-gallery: Kirigami-gallery is an example gallery application built using
+kirigami-gallery: Kirigami.
+kirigami-gallery:
+kirigami-gallery: Homepage: https://www.kde.org/products/kirigami/
+kirigami-gallery:
+kirigami-gallery:
+kirigami-gallery:
+kirigami-gallery:
+kirigami-gallery:
diff --git a/testing/source/vtown/kde/slack-desc/kirigami2 b/testing/source/vtown/kde/slack-desc/kirigami2
new file mode 100644
index 00000000..5516ec19
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kirigami2
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kirigami2: kirigami2 (interface components for QtQuick)
+kirigami2:
+kirigami2: Kirigami is a set of user interface components created to enable the
+kirigami2: creation of pleasant, efficient applications by KDE's Plasma team and
+kirigami2: the KDE Visual Design Group.
+kirigami2:
+kirigami2:
+kirigami2:
+kirigami2:
+kirigami2:
+kirigami2:
diff --git a/testing/source/vtown/kde/slack-desc/kiriki b/testing/source/vtown/kde/slack-desc/kiriki
new file mode 100644
index 00000000..84cb958b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kiriki
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kiriki: kiriki (yahtzee-like dice game for KDE)
+kiriki:
+kiriki: Kiriki is an addictive and fun dice game for KDE, designed to be
+kiriki: played by as many as six players. Participants have to collect points
+kiriki: by rolling five dice for up to three times per single turn.
+kiriki:
+kiriki:
+kiriki:
+kiriki:
+kiriki:
+kiriki:
diff --git a/testing/source/vtown/kde/slack-desc/kitemmodels b/testing/source/vtown/kde/slack-desc/kitemmodels
new file mode 100644
index 00000000..3febf932
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kitemmodels
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kitemmodels: kitemmodels (Qt model-view extensions)
+kitemmodels:
+kitemmodels: KItemModels is a set of item models extending the Qt model-view
+kitemmodels: framework.
+kitemmodels:
+kitemmodels:
+kitemmodels:
+kitemmodels:
+kitemmodels:
+kitemmodels:
+kitemmodels:
diff --git a/testing/source/vtown/kde/slack-desc/kitemviews b/testing/source/vtown/kde/slack-desc/kitemviews
new file mode 100644
index 00000000..eb622577
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kitemviews
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kitemviews: kitemviews (Qt item-view extensions)
+kitemviews:
+kitemviews: KItemViews includes a set of views, which can be used with item
+kitemviews: models. It includes views for categorizing lists and to add search
+kitemviews: filters to flat and hierarchical lists.
+kitemviews:
+kitemviews:
+kitemviews:
+kitemviews:
+kitemviews:
+kitemviews:
diff --git a/testing/source/vtown/kde/slack-desc/kiten b/testing/source/vtown/kde/slack-desc/kiten
new file mode 100644
index 00000000..04cf5448
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kiten
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kiten: kiten (Japanese reference tool)
+kiten:
+kiten: Kiten is a Japanese reference tool. Kiten works mainly as a Japanese
+kiten: -> English dictionary, but it works from English -> Japanese too. This
+kiten: means you can write in English, Hiragana, Katakana, or Kanji to search
+kiten: in the dictionaries.
+kiten:
+kiten: Homepage: https://www.kde.org/applications/education/kiten
+kiten:
+kiten:
+kiten:
diff --git a/testing/source/vtown/kde/slack-desc/kitinerary b/testing/source/vtown/kde/slack-desc/kitinerary
new file mode 100644
index 00000000..d381509c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kitinerary
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kitinerary: kitinerary (library for itinerary data)
+kitinerary:
+kitinerary: Data model and extraction system for travel reservation information.
+kitinerary:
+kitinerary: Homepage: https://api.kde.org/kdepim/kitinerary/html/index.html
+kitinerary:
+kitinerary:
+kitinerary:
+kitinerary:
+kitinerary:
+kitinerary:
diff --git a/testing/source/vtown/kde/slack-desc/kjobwidgets b/testing/source/vtown/kde/slack-desc/kjobwidgets
new file mode 100644
index 00000000..dd254dd4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kjobwidgets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kjobwidgets: kjobwidgets (job progress widgets)
+kjobwidgets:
+kjobwidgets: KJobWIdgets provides widgets for showing progress of asynchronous
+kjobwidgets: jobs.
+kjobwidgets:
+kjobwidgets:
+kjobwidgets:
+kjobwidgets:
+kjobwidgets:
+kjobwidgets:
+kjobwidgets:
diff --git a/testing/source/vtown/kde/slack-desc/kjots b/testing/source/vtown/kde/slack-desc/kjots
new file mode 100644
index 00000000..055f8c18
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kjots
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kjots: kjots (KDE note-taking application)
+kjots:
+kjots: KJots is a note-taking application that organises all of your notes
+kjots: into separate books.
+kjots:
+kjots: Homepage: https://www.kde.org/applications/utilities/kjots/
+kjots:
+kjots:
+kjots:
+kjots:
+kjots:
diff --git a/testing/source/vtown/kde/slack-desc/kjs b/testing/source/vtown/kde/slack-desc/kjs
new file mode 100644
index 00000000..69482577
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kjs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kjs: kjs (Javascript engine)
+kjs:
+kjs: The KJS library provides an ECMAScript compatible interpreter. The
+kjs: ECMA standard is based on well known scripting languages such as
+kjs: Mozilla's JavaScript and Microsoft's JScript.
+kjs:
+kjs:
+kjs:
+kjs:
+kjs:
+kjs:
diff --git a/testing/source/vtown/kde/slack-desc/kjsembed b/testing/source/vtown/kde/slack-desc/kjsembed
new file mode 100644
index 00000000..9ac83cce
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kjsembed
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kjsembed: kjsembed (Binding Javascript to QObjects)
+kjsembed:
+kjsembed: KSJEmbed provides a method of binding JavaScript objects to QObjects
+kjsembed: so you can script your applications.
+kjsembed:
+kjsembed:
+kjsembed:
+kjsembed:
+kjsembed:
+kjsembed:
+kjsembed:
diff --git a/testing/source/vtown/kde/slack-desc/kjumpingcube b/testing/source/vtown/kde/slack-desc/kjumpingcube
new file mode 100644
index 00000000..37d0f470
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kjumpingcube
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kjumpingcube: kjumpingcube (territory capture game)
+kjumpingcube:
+kjumpingcube: KJumpingcube is a simple dice driven tactical game. The playing area
+kjumpingcube: consists of squares containing points. Players move by clicking on
+kjumpingcube: either a vacant square, or on one of their own squares.
+kjumpingcube:
+kjumpingcube:
+kjumpingcube:
+kjumpingcube:
+kjumpingcube:
+kjumpingcube:
diff --git a/testing/source/vtown/kde/slack-desc/kldap b/testing/source/vtown/kde/slack-desc/kldap
new file mode 100644
index 00000000..6e029835
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kldap
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kldap: kldap (LDAP access API for KDE)
+kldap:
+kldap: kldap allows LDAP accessing with a convenient Qt style C++ API.
+kldap:
+kldap:
+kldap:
+kldap:
+kldap:
+kldap:
+kldap:
+kldap:
diff --git a/testing/source/vtown/kde/slack-desc/kleopatra b/testing/source/vtown/kde/slack-desc/kleopatra
new file mode 100644
index 00000000..c2da9436
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kleopatra
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kleopatra: kleopatra (KDE Crypto Certificate manager)
+kleopatra:
+kleopatra: Certificate Manager and Unified Crypto GUI.
+kleopatra:
+kleopatra:
+kleopatra:
+kleopatra:
+kleopatra:
+kleopatra:
+kleopatra:
+kleopatra:
diff --git a/testing/source/vtown/kde/slack-desc/klettres b/testing/source/vtown/kde/slack-desc/klettres
new file mode 100644
index 00000000..67e28fc5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/klettres
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+klettres: klettres (language learning program)
+klettres:
+klettres: KLettres aims to help to learn the alphabet and then to read some
+klettres: syllables in different languages. It is meant to help learning the
+klettres: very first sounds of a new language, for children or for adults.
+klettres:
+klettres: Homepage: http://edu.kde.org/klettres
+klettres:
+klettres:
+klettres:
+klettres:
diff --git a/testing/source/vtown/kde/slack-desc/klickety b/testing/source/vtown/kde/slack-desc/klickety
new file mode 100644
index 00000000..87e64cf2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/klickety
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+klickety: klickety (strategy game)
+klickety:
+klickety: Klickety is a strategy game for KDE, an adaption of the Clickomania
+klickety: game. The rules are similar to those of the Same game: your goal is to
+klickety: clear the board by clicking on groups to destroy them.
+klickety:
+klickety:
+klickety:
+klickety:
+klickety:
+klickety:
diff --git a/testing/source/vtown/kde/slack-desc/klines b/testing/source/vtown/kde/slack-desc/klines
new file mode 100644
index 00000000..470fbc66
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/klines
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+klines: klines (tactical game for KDE)
+klines:
+klines: KLines is a simple but highly addictive, one player game for KDE.
+klines: KLines has been inspired by well known game of Color Lines, written
+klines: by Olga Demina, Igor Ivkin and Gennady Denisov back in 1992. You can
+klines: also play an online demo version of this game.
+klines:
+klines:
+klines:
+klines:
+klines:
diff --git a/testing/source/vtown/kde/slack-desc/kmag b/testing/source/vtown/kde/slack-desc/kmag
new file mode 100644
index 00000000..581da62e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmag
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmag: kmag (Screen magnifier)
+kmag:
+kmag: KMag is a small utility for Linux to magnify a part of the screen.
+kmag: KMag is very useful for people with visual disabilities and for those
+kmag: working in the fields of image analysis, web development etc.
+kmag:
+kmag: Homepage: https://kde.org/applications/utilities/org.kde.kmag
+kmag:
+kmag:
+kmag:
+kmag:
diff --git a/testing/source/vtown/kde/slack-desc/kmahjongg b/testing/source/vtown/kde/slack-desc/kmahjongg
new file mode 100644
index 00000000..dacf5f58
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmahjongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmahjongg: kmahjongg (KDE port of Mahjongg game)
+kmahjongg:
+kmahjongg: KMahjongg is a clone of the well known tile based patience game of
+kmahjongg: the same name. In the game you have to empty a game board filled with
+kmahjongg: pieces, by pairwise removal of pieces of the same type.
+kmahjongg:
+kmahjongg:
+kmahjongg:
+kmahjongg:
+kmahjongg:
+kmahjongg:
diff --git a/testing/source/vtown/kde/slack-desc/kmail b/testing/source/vtown/kde/slack-desc/kmail
new file mode 100644
index 00000000..af496900
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmail
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmail: kmail (KDE mail client)
+kmail:
+kmail: KMail is a state-of-the-art email client that integrates well with
+kmail: widely used email providers like GMail. It provides many tools and
+kmail: features to maximize your productivity and makes working with large
+kmail: email accounts easy and fast. KMail supports a large variety of email
+kmail: protocols - POP3, IMAP, Microsoft Exchange (EWS) and more.
+kmail:
+kmail: Homepage: https://kde.org/applications/en/internet/org.kde.kmail2
+kmail:
+kmail:
diff --git a/testing/source/vtown/kde/slack-desc/kmail-account-wizard b/testing/source/vtown/kde/slack-desc/kmail-account-wizard
new file mode 100644
index 00000000..029fe114
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmail-account-wizard
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmail-account-wizard: kmail-account-wizard (KMail account wizard)
+kmail-account-wizard:
+kmail-account-wizard: This is a setup wizard for KMail that will take you through the
+kmail-account-wizard: process of creating your email accounts.
+kmail-account-wizard:
+kmail-account-wizard:
+kmail-account-wizard:
+kmail-account-wizard:
+kmail-account-wizard:
+kmail-account-wizard:
+kmail-account-wizard:
diff --git a/testing/source/vtown/kde/slack-desc/kmailtransport b/testing/source/vtown/kde/slack-desc/kmailtransport
new file mode 100644
index 00000000..e310fce0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmailtransport
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmailtransport: kmailtransport (mail transport service)
+kmailtransport:
+kmailtransport: Mail Transport Service for KMail.
+kmailtransport:
+kmailtransport:
+kmailtransport:
+kmailtransport:
+kmailtransport:
+kmailtransport:
+kmailtransport:
+kmailtransport:
diff --git a/testing/source/vtown/kde/slack-desc/kmbox b/testing/source/vtown/kde/slack-desc/kmbox
new file mode 100644
index 00000000..078e76ce
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmbox
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmbox: kmbox (access mail storage in mbox format)
+kmbox:
+kmbox: kmbox contains a library for accessing mail storage in MBox format.
+kmbox:
+kmbox:
+kmbox:
+kmbox:
+kmbox:
+kmbox:
+kmbox:
+kmbox:
diff --git a/testing/source/vtown/kde/slack-desc/kmediaplayer b/testing/source/vtown/kde/slack-desc/kmediaplayer
new file mode 100644
index 00000000..ead6fe34
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmediaplayer
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kmediaplayer: kmediaplayer (Interface for media player KParts)
+kmediaplayer:
+kmediaplayer: KMediaPlayer builds on the KParts framework to provide a common
+kmediaplayer: interface for KParts that can play media files.
+kmediaplayer:
+kmediaplayer:
+kmediaplayer:
+kmediaplayer:
+kmediaplayer:
+kmediaplayer:
+kmediaplayer:
diff --git a/testing/source/vtown/kde/slack-desc/kmenuedit b/testing/source/vtown/kde/slack-desc/kmenuedit
new file mode 100644
index 00000000..c7238919
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmenuedit
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kmenuedit: kmenuedit (XDG menu editor)
+kmenuedit:
+kmenuedit: This package provides a menu editor which may be used to edit the KDE
+kmenuedit: Plasma workspaces menu or any other XDG menu.
+kmenuedit:
+kmenuedit:
+kmenuedit:
+kmenuedit:
+kmenuedit:
+kmenuedit:
+kmenuedit:
diff --git a/testing/source/vtown/kde/slack-desc/kmime b/testing/source/vtown/kde/slack-desc/kmime
new file mode 100644
index 00000000..a80b5ba7
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmime
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmime: kmime (API for the handling of MIME data)
+kmime:
+kmime: The kmime library contains an API for the handling of MIME data.
+kmime:
+kmime:
+kmime:
+kmime:
+kmime:
+kmime:
+kmime:
+kmime:
diff --git a/testing/source/vtown/kde/slack-desc/kmines b/testing/source/vtown/kde/slack-desc/kmines
new file mode 100644
index 00000000..ffe6780f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmines
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmines: kmines (minesweeper clone for KDE)
+kmines:
+kmines: KMines is the classic Minesweeper game. The idea is to uncover all
+kmines: the squares without blowing up any mines. When a mine is blown up,
+kmines: the game is over.
+kmines:
+kmines:
+kmines:
+kmines:
+kmines:
+kmines:
diff --git a/testing/source/vtown/kde/slack-desc/kmix b/testing/source/vtown/kde/slack-desc/kmix
new file mode 100644
index 00000000..31afd187
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmix
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmix: kmix (sound mixer)
+kmix:
+kmix: KMix is an application to allow you to change the volume of your sound
+kmix: card. Though small, it is full-featured, and it supports several
+kmix: platforms and sound drivers.
+kmix:
+kmix:
+kmix:
+kmix:
+kmix:
+kmix:
diff --git a/testing/source/vtown/kde/slack-desc/kmousetool b/testing/source/vtown/kde/slack-desc/kmousetool
new file mode 100644
index 00000000..722d2662
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmousetool
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmousetool: kmousetool (Automatic mouse clicks)
+kmousetool:
+kmousetool: Clicks the mouse for you, reducing hand strain.
+kmousetool:
+kmousetool:
+kmousetool:
+kmousetool:
+kmousetool:
+kmousetool:
+kmousetool:
+kmousetool:
diff --git a/testing/source/vtown/kde/slack-desc/kmouth b/testing/source/vtown/kde/slack-desc/kmouth
new file mode 100644
index 00000000..ef568259
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmouth
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmouth: kmouth (Speech synthesis frontend)
+kmouth:
+kmouth: The computer speaks the entered text for talking with people.
+kmouth:
+kmouth:
+kmouth:
+kmouth:
+kmouth:
+kmouth:
+kmouth:
+kmouth:
diff --git a/testing/source/vtown/kde/slack-desc/kmplot b/testing/source/vtown/kde/slack-desc/kmplot
new file mode 100644
index 00000000..513547d9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmplot
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmplot: kmplot (a mathematical function plotter)
+kmplot:
+kmplot: KmPlot is a mathematical function plotter for the KDE-Desktop. It has
+kmplot: a built-in powerful parser. You can plot different functions
+kmplot: simultaneously and combine them into new functions. KmPlot supports
+kmplot: functions with parameters and functions in polar coordinates.
+kmplot: Several grid modes are possible. Plots may be printed with high
+kmplot: precision in correct scale.
+kmplot:
+kmplot:
+kmplot:
diff --git a/testing/source/vtown/kde/slack-desc/kmymoney b/testing/source/vtown/kde/slack-desc/kmymoney
new file mode 100644
index 00000000..d1eaff55
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kmymoney
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmymoney: kmymoney (personal finance manager)
+kmymoney:
+kmymoney: KMymoney is a personal finance manager for KDE which operates
+kmymoney: similarly to Microsoft Money or Quicken.
+kmymoney:
+kmymoney: Homepage: https://kmymoney.org/
+kmymoney:
+kmymoney:
+kmymoney:
+kmymoney:
+kmymoney:
diff --git a/testing/source/vtown/kde/slack-desc/knavalbattle b/testing/source/vtown/kde/slack-desc/knavalbattle
new file mode 100644
index 00000000..b5602a3f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knavalbattle
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knavalbattle: knavalbattle (KDE version of battleship game)
+knavalbattle:
+knavalbattle: KNavalBattle is a battleship game with built-in game server. Ships are
+knavalbattle: placed on a board which represents the sea. Players try to hit each
+knavalbattle: others ships in turns without knowing where they are placed. The first
+knavalbattle: player to destroy all ships wins the game.
+knavalbattle:
+knavalbattle:
+knavalbattle:
+knavalbattle:
+knavalbattle:
diff --git a/testing/source/vtown/kde/slack-desc/knetwalk b/testing/source/vtown/kde/slack-desc/knetwalk
new file mode 100644
index 00000000..1fed9149
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knetwalk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knetwalk: knetwalk (single player logic game)
+knetwalk:
+knetwalk: KNetwalk is a single player logic game. Construct the network,
+knetwalk: connecting all the terminals to the server in the fewest turns
+knetwalk: possible.
+knetwalk:
+knetwalk:
+knetwalk:
+knetwalk:
+knetwalk:
+knetwalk:
diff --git a/testing/source/vtown/kde/slack-desc/knewstuff b/testing/source/vtown/kde/slack-desc/knewstuff
new file mode 100644
index 00000000..fc7d25f2
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knewstuff
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+knewstuff: knewstuff (data sharing framework)
+knewstuff:
+knewstuff: The KNewStuff library implements collaborative data sharing for
+knewstuff: applications. It uses libattica to support the Open Collaboration
+knewstuff: Services specification.
+knewstuff:
+knewstuff:
+knewstuff:
+knewstuff:
+knewstuff:
+knewstuff:
diff --git a/testing/source/vtown/kde/slack-desc/knights b/testing/source/vtown/kde/slack-desc/knights
new file mode 100644
index 00000000..74c68312
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knights
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knights: knights (Chess board with XBoard protocol support)
+knights:
+knights: KNights is a chess game. As a player, your goal is to defeat your
+knights: opponent by checkmating their king.
+knights:
+knights: Homepage: https://www.kde.org/applications/games/knights/
+knights:
+knights:
+knights:
+knights:
+knights:
diff --git a/testing/source/vtown/kde/slack-desc/knotes b/testing/source/vtown/kde/slack-desc/knotes
new file mode 100644
index 00000000..5be4c3d5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knotes
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knotes: knotes (KDE sticky notes application)
+knotes:
+knotes: KDE sticky notes application.
+knotes:
+knotes:
+knotes:
+knotes:
+knotes:
+knotes:
+knotes:
+knotes:
diff --git a/testing/source/vtown/kde/slack-desc/knotifications b/testing/source/vtown/kde/slack-desc/knotifications
new file mode 100644
index 00000000..50b2c028
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knotifications
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+knotifications: knotifications (Desktop notifications)
+knotifications:
+knotifications: KNotifications is used to notify the user of an event. It covers
+knotifications: feedback and persistent events.
+knotifications:
+knotifications:
+knotifications:
+knotifications:
+knotifications:
+knotifications:
+knotifications:
diff --git a/testing/source/vtown/kde/slack-desc/knotifyconfig b/testing/source/vtown/kde/slack-desc/knotifyconfig
new file mode 100644
index 00000000..12ace8a3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/knotifyconfig
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+knotifyconfig: knotifyconfig (configure notifications)
+knotifyconfig:
+knotifyconfig: KNotifyConfig provides a configuration dialog for desktop
+knotifyconfig: notifications which can be embedded in your application.
+knotifyconfig:
+knotifyconfig:
+knotifyconfig:
+knotifyconfig:
+knotifyconfig:
+knotifyconfig:
+knotifyconfig:
diff --git a/testing/source/vtown/kde/slack-desc/kolf b/testing/source/vtown/kde/slack-desc/kolf
new file mode 100644
index 00000000..140eaf4c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kolf
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kolf: kolf (miniature golf game for KDE)
+kolf:
+kolf: Kolf is a miniature golf game. The game is played from an overhead
+kolf: view, with a short bar representing the golf club. Kolf features many
+kolf: different types of objects, such water hazards, slopes, sand traps,
+kolf: and black holes (warps), among others.
+kolf:
+kolf:
+kolf:
+kolf:
+kolf:
diff --git a/testing/source/vtown/kde/slack-desc/kollision b/testing/source/vtown/kde/slack-desc/kollision
new file mode 100644
index 00000000..e03c19d0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kollision
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kollision: kollision (simple ball dodging game)
+kollision:
+kollision: Kollision is a simple ball dodging game.
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
diff --git a/testing/source/vtown/kde/slack-desc/kolourpaint b/testing/source/vtown/kde/slack-desc/kolourpaint
new file mode 100644
index 00000000..4f2be355
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kolourpaint
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kolourpaint: kolourpaint (easy to use paint program)
+kolourpaint:
+kolourpaint: KolourPaint is a easy-to-use paint program for KDE. It aims to be
+kolourpaint: conceptually simply to understand; providing a level of functionality
+kolourpaint: targeted towards the average user. It's designed for tasks like:
+kolourpaint: * Painting - drawing diagrams and "finger painting"
+kolourpaint: * Image Manipulation - editing photos and applying effects
+kolourpaint: * Icon Editing - drawing clipart and logos with transparency
+kolourpaint:
+kolourpaint:
+kolourpaint:
diff --git a/testing/source/vtown/kde/slack-desc/kompare b/testing/source/vtown/kde/slack-desc/kompare
new file mode 100644
index 00000000..d1588088
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kompare
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kompare: kompare (graphical diff utility)
+kompare:
+kompare: kompare is a graphical file differences tool.
+kompare:
+kompare:
+kompare:
+kompare:
+kompare:
+kompare:
+kompare:
+kompare:
diff --git a/testing/source/vtown/kde/slack-desc/konqueror b/testing/source/vtown/kde/slack-desc/konqueror
new file mode 100644
index 00000000..5ee33172
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/konqueror
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+konqueror: konqueror (web browser and file manager)
+konqueror:
+konqueror: Konqueror is a web browser and file manager that provides web access
+konqueror: and file-viewer functionality for file systems (such as local files,
+konqueror: files on a remote server, and files in a disk image).
+konqueror:
+konqueror: Homepage: https://kde.org/applications/internet/org.kde.konqueror
+konqueror:
+konqueror:
+konqueror:
+konqueror:
diff --git a/testing/source/vtown/kde/slack-desc/konquest b/testing/source/vtown/kde/slack-desc/konquest
new file mode 100644
index 00000000..cfdfff65
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/konquest
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+konquest: konquest (KDE version of Gnu-Lactic Konquest)
+konquest:
+konquest: This the KDE version of Gnu-Lactic Konquest, a multi-player strategy
+konquest: game. The goal of the game is to expand your interstellar empire
+konquest: across the galaxy.
+konquest:
+konquest:
+konquest:
+konquest:
+konquest:
+konquest:
diff --git a/testing/source/vtown/kde/slack-desc/konsole b/testing/source/vtown/kde/slack-desc/konsole
new file mode 100644
index 00000000..81a8616f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/konsole
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+konsole: konsole (KDE's terminal emulator)
+konsole:
+konsole: Konsole is a powerful and customizable terminal emulator.
+konsole:
+konsole: Homepage: https://konsole.kde.org
+konsole:
+konsole:
+konsole:
+konsole:
+konsole:
+konsole:
diff --git a/testing/source/vtown/kde/slack-desc/kontact b/testing/source/vtown/kde/slack-desc/kontact
new file mode 100644
index 00000000..fe96076c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kontact
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kontact: kontact (KDE Personal Information Manager)
+kontact:
+kontact: KDE Personal Information Manager.
+kontact:
+kontact:
+kontact:
+kontact:
+kontact:
+kontact:
+kontact:
+kontact:
diff --git a/testing/source/vtown/kde/slack-desc/kontactinterface b/testing/source/vtown/kde/slack-desc/kontactinterface
new file mode 100644
index 00000000..cc58769a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kontactinterface
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kontactinterface: kontactinterface (kontact plugin interface library)
+kontactinterface:
+kontactinterface: kontactinterface is a library for embedding KParts in a Kontact
+kontactinterface: component.
+kontactinterface:
+kontactinterface:
+kontactinterface:
+kontactinterface:
+kontactinterface:
+kontactinterface:
+kontactinterface:
diff --git a/testing/source/vtown/kde/slack-desc/kopete b/testing/source/vtown/kde/slack-desc/kopete
new file mode 100644
index 00000000..4971b06f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kopete
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kopete: kopete (multi-protocol instant messaging system)
+kopete:
+kopete: The goals of Kopete are to provide users with a standard and easy to
+kopete: use interface between all of their instant messaging systems, but at
+kopete: the same time also providing developers with the ease of writing
+kopete: plugins to support a new protocol.
+kopete:
+kopete: Homepage: http://userbase.kde.org/Kopete
+kopete:
+kopete:
+kopete:
diff --git a/testing/source/vtown/kde/slack-desc/korganizer b/testing/source/vtown/kde/slack-desc/korganizer
new file mode 100644
index 00000000..9621fadc
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/korganizer
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+korganizer: korganizer (calendar and scheduling program)
+korganizer:
+korganizer: Calendar and scheduling program.
+korganizer:
+korganizer:
+korganizer:
+korganizer:
+korganizer:
+korganizer:
+korganizer:
+korganizer:
diff --git a/testing/source/vtown/kde/slack-desc/kpackage b/testing/source/vtown/kde/slack-desc/kpackage
new file mode 100644
index 00000000..9e632e08
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpackage
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpackage: kpackage (KDE application package manager)
+kpackage:
+kpackage: KPackage is a KDE 5 Framework that lets applications manage user
+kpackage: installable packages of non-binary assets.
+kpackage:
+kpackage:
+kpackage:
+kpackage:
+kpackage:
+kpackage:
+kpackage:
diff --git a/testing/source/vtown/kde/slack-desc/kparts b/testing/source/vtown/kde/slack-desc/kparts
new file mode 100644
index 00000000..b4739553
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kparts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kparts: kparts (UI framework)
+kparts:
+kparts: The KParts library implements the framework for KDE parts, which are
+kparts: elaborate widgets with a user-interface defined in terms of actions
+kparts: (menu items, toolbar icons).
+kparts:
+kparts:
+kparts:
+kparts:
+kparts:
+kparts:
diff --git a/testing/source/vtown/kde/slack-desc/kpat b/testing/source/vtown/kde/slack-desc/kpat
new file mode 100644
index 00000000..8b077a57
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpat
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpat: kpat (patience card game for KDE)
+kpat:
+kpat: KPat (aka KPatience) is a relaxing card sorting game. To win the game
+kpat: a player has to arrange a single deck of cards in certain order
+kpat: amongst each other.
+kpat:
+kpat:
+kpat:
+kpat:
+kpat:
+kpat:
diff --git a/testing/source/vtown/kde/slack-desc/kpeople b/testing/source/vtown/kde/slack-desc/kpeople
new file mode 100644
index 00000000..17a7a887
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpeople
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpeople: kpeople (library providing access to your contacts)
+kpeople:
+kpeople: KPeople Provides access to all contacts and aggregates them by person.
+kpeople: KPeople offers unified access to our contacts from different sources,
+kpeople: grouping them by person while still exposing all the data. The sources
+kpeople: are plugin-based, allowing to easily extend the contacts collection.
+kpeople:
+kpeople:
+kpeople:
+kpeople:
+kpeople:
diff --git a/testing/source/vtown/kde/slack-desc/kpeoplevcard b/testing/source/vtown/kde/slack-desc/kpeoplevcard
new file mode 100644
index 00000000..39dea953
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpeoplevcard
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpeoplevcard: kpeoplevcard (library to expose vcards to kpeople)
+kpeoplevcard:
+kpeoplevcard: kpeoplevcard is a library to expose vcards to kpeople.
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
+kpeoplevcard:
diff --git a/testing/source/vtown/kde/slack-desc/kpimtextedit b/testing/source/vtown/kde/slack-desc/kpimtextedit
new file mode 100644
index 00000000..983a1486
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpimtextedit
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpimtextedit: kpimtextedit (textedit with PIM-specific features)
+kpimtextedit:
+kpimtextedit: KPIMTextedit is a library that provides an enchanced text edit class,
+kpimtextedit: see TextEdit. This text is highlighted with a EMailQuoteHighlighter.
+kpimtextedit: It also provides so-called rich text builders, that can convert the
+kpimtextedit: formatted text in the text edit to all kinds of markup, like HTML or
+kpimtextedit: BBCODE.
+kpimtextedit:
+kpimtextedit:
+kpimtextedit:
+kpimtextedit:
diff --git a/testing/source/vtown/kde/slack-desc/kpkpass b/testing/source/vtown/kde/slack-desc/kpkpass
new file mode 100644
index 00000000..baa5182d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpkpass
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpkpass: kpkpass (Apple Wallet Pass reader)
+kpkpass:
+kpkpass: KpKPass is a library to deal with Apple Wallet pass files.
+kpkpass:
+kpkpass:
+kpkpass:
+kpkpass:
+kpkpass:
+kpkpass:
+kpkpass:
+kpkpass:
diff --git a/testing/source/vtown/kde/slack-desc/kplotting b/testing/source/vtown/kde/slack-desc/kplotting
new file mode 100644
index 00000000..953fed42
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kplotting
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kplotting: kplotting (Data plotting)
+kplotting:
+kplotting: KPlotWidget is a QWidget-derived class that provides a virtual base
+kplotting: class for easy data-plotting. The idea behind KPlotWidget is that you
+kplotting: only have to specify information in data units; i.e., the natural
+kplotting: units of the data being plotted. KPlotWidget automatically converts
+kplotting: everything to screen pixel units. KPlotWidget draws X and Y axes with
+kplotting: tick marks and tick labels, and automatically determines how many tick
+kplotting: marks to use and where they should be, based on the data limits
+kplotting: specified for the plot.
+kplotting:
diff --git a/testing/source/vtown/kde/slack-desc/kpmcore b/testing/source/vtown/kde/slack-desc/kpmcore
new file mode 100644
index 00000000..1f87af1e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpmcore
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpmcore: kpmcore (KDE partitionmanager libraries)
+kpmcore:
+kpmcore: kpmcore is a library for managing partitions. It contains common code
+kpmcore: for KDE Partition Manager and other projects.
+kpmcore:
+kpmcore: See also:
+kpmcore: https://www.kde.org/applications/system/kdepartitionmanager
+kpmcore:
+kpmcore:
+kpmcore:
+kpmcore:
diff --git a/testing/source/vtown/kde/slack-desc/kpty b/testing/source/vtown/kde/slack-desc/kpty
new file mode 100644
index 00000000..f02911c6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kpty
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kpty: kpty (pseudo terminal library)
+kpty:
+kpty: The KPty library provides primitives to interface with pseudo terminal
+kpty: devices as well as a KProcess derived class for running child
+kpty: processes and communicating with them using a pty.
+kpty:
+kpty:
+kpty:
+kpty:
+kpty:
+kpty:
diff --git a/testing/source/vtown/kde/slack-desc/kqtquickcharts b/testing/source/vtown/kde/slack-desc/kqtquickcharts
new file mode 100644
index 00000000..50ffbd90
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kqtquickcharts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kqtquickcharts: kqtquickcharts (chart rendering plugin)
+kqtquickcharts:
+kqtquickcharts: kqtquickcharts is a QtQuick plugin to render beautiful and interactive
+kqtquickcharts: charts.
+kqtquickcharts:
+kqtquickcharts:
+kqtquickcharts:
+kqtquickcharts:
+kqtquickcharts:
+kqtquickcharts:
+kqtquickcharts:
diff --git a/testing/source/vtown/kde/slack-desc/kquickcharts b/testing/source/vtown/kde/slack-desc/kquickcharts
new file mode 100644
index 00000000..acbcfd9e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kquickcharts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kquickcharts: kquickcharts (QtQuick chart module)
+kquickcharts:
+kquickcharts: The Quick Charts module provides a set of charts that can be used
+kquickcharts: from QtQuick applications. They are intended to be used for both
+kquickcharts: simple display of data as well as continuous display of high-volume
+kquickcharts: data (often referred to as plotters). The charts use a system called
+kquickcharts: distance fields for their accelerated rendering, which provides ways
+kquickcharts: of using the GPU for rendering 2D shapes without loss of quality.
+kquickcharts:
+kquickcharts: See: https://api.kde.org/frameworks/kquickcharts/html/index.html
+kquickcharts:
diff --git a/testing/source/vtown/kde/slack-desc/krdc b/testing/source/vtown/kde/slack-desc/krdc
new file mode 100644
index 00000000..d6f6089d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krdc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+krdc: krdc (remote desktop client for KDE)
+krdc:
+krdc: KRDC is a client application that allows you to view or even control
+krdc: the desktop session on another machine that is running a compatible
+krdc: server. VNC and RDP is supported.
+krdc:
+krdc: Homepage: https://www.kde.org/applications/internet/krdc/
+krdc:
+krdc:
+krdc:
+krdc:
diff --git a/testing/source/vtown/kde/slack-desc/krename b/testing/source/vtown/kde/slack-desc/krename
new file mode 100644
index 00000000..288d08bd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krename
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+krename: krename (batch file rename tool)
+krename:
+krename: KRename is a powerful batch renamer for KDE. It allows you to easily
+krename: rename hundreds or even more files in one go. The filenames can be
+krename: created by parts of the original filename, numbering the files or
+krename: accessing information about the file, like creation date or Exif
+krename: information from an image.
+krename:
+krename: Homepage: http://www.krename.net/
+krename:
+krename:
diff --git a/testing/source/vtown/kde/slack-desc/kreversi b/testing/source/vtown/kde/slack-desc/kreversi
new file mode 100644
index 00000000..b0a16c47
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kreversi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kreversi: kreversi (reversi board game for KDE)
+kreversi:
+kreversi: KReversi is a simple one player strategy game played against the
+kreversi: computer. If a player's piece is captured by an opposing player, that
+kreversi: piece is turned over to reveal the color of that player. A winner is
+kreversi: declared when one player has more pieces of his own color on the board
+kreversi: and there are no more possible moves.
+kreversi:
+kreversi:
+kreversi:
+kreversi:
diff --git a/testing/source/vtown/kde/slack-desc/krfb b/testing/source/vtown/kde/slack-desc/krfb
new file mode 100644
index 00000000..1263ecdf
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krfb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+krfb: krfb (desktop sharing)
+krfb:
+krfb: Krfb Desktop Sharing is a server application that allows you to share
+krfb: your current session with a user on another machine, who can use a
+krfb: VNC client to view or even control the desktop.
+krfb:
+krfb: Homepage: https://www.kde.org/applications/system/krfb/
+krfb:
+krfb:
+krfb:
+krfb:
diff --git a/testing/source/vtown/kde/slack-desc/krita b/testing/source/vtown/kde/slack-desc/krita
new file mode 100644
index 00000000..d39f4fc3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krita
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+krita: krita (painting program)
+krita:
+krita: Krita is a professional free and open source painting program. It is
+krita: made by artists that want to see affordable art tools for everyone.
+krita:
+krita: Homepage: http://www.krita.org/
+krita:
+krita:
+krita:
+krita:
+krita:
diff --git a/testing/source/vtown/kde/slack-desc/kross b/testing/source/vtown/kde/slack-desc/kross
new file mode 100644
index 00000000..9b88e716
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kross
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kross: kross (script embedding)
+kross:
+kross: Kross is a scripting bridge to embed scripting functionality into an
+kross: application. It supports QtScript as a scripting interpreter backend.
+kross: Kross is able to optional dynamic load modules which provide
+kross: additional functionality for scripts.
+kross:
+kross:
+kross:
+kross:
+kross:
diff --git a/testing/source/vtown/kde/slack-desc/kross-interpreters b/testing/source/vtown/kde/slack-desc/kross-interpreters
new file mode 100644
index 00000000..7b7b5493
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kross-interpreters
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kross-interpreters: kross-interpreters (Kross interpreters)
+kross-interpreters:
+kross-interpreters: Set of interpreter plugins for the Kross archtecture in KDE.
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
+kross-interpreters:
diff --git a/testing/source/vtown/kde/slack-desc/kruler b/testing/source/vtown/kde/slack-desc/kruler
new file mode 100644
index 00000000..5a6ea8a0
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kruler
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kruler: kruler (a screen ruler for KDE)
+kruler:
+kruler: A screen ruler and color measurement tool for KDE.
+kruler:
+kruler:
+kruler:
+kruler:
+kruler:
+kruler:
+kruler:
+kruler:
diff --git a/testing/source/vtown/kde/slack-desc/krunner b/testing/source/vtown/kde/slack-desc/krunner
new file mode 100644
index 00000000..03a66285
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krunner
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+krunner: krunner (KDE plasma launcher)
+krunner:
+krunner: KRunner is the launcher built into the Plasma desktop. While its basic
+krunner: function is to launch programs from a sort of mini-command-line, its
+krunner: functionality can be extended by runners to assist the user to
+krunner: accomplish a lot of tasks.
+krunner:
+krunner:
+krunner:
+krunner:
+krunner:
diff --git a/testing/source/vtown/kde/slack-desc/krusader b/testing/source/vtown/kde/slack-desc/krusader
new file mode 100644
index 00000000..9a54488a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/krusader
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+krusader: krusader (twin panel file manager)
+krusader:
+krusader: Krusader is an advanced twin panel (commander style) file manager for
+krusader: KDE and other desktops, similar to Midnight Commander or Total
+krusader: Commander.
+krusader:
+krusader: Homepage: http://krusader.org
+krusader:
+krusader:
+krusader:
+krusader:
diff --git a/testing/source/vtown/kde/slack-desc/kscreen b/testing/source/vtown/kde/slack-desc/kscreen
new file mode 100644
index 00000000..55d06415
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kscreen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kscreen: kscreen (KDE screen management)
+kscreen:
+kscreen: KScreen is the new screen management software for KDE Plasma
+kscreen: Workspaces which tries to be as magic and automatic as possible for
+kscreen: users with basic needs and easy to configure for those who want
+kscreen: special setups.
+kscreen:
+kscreen: Homepage: http://community.kde.org/Solid/Projects/ScreenManagement
+kscreen:
+kscreen:
+kscreen:
diff --git a/testing/source/vtown/kde/slack-desc/kscreenlocker b/testing/source/vtown/kde/slack-desc/kscreenlocker
new file mode 100644
index 00000000..ed46864b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kscreenlocker
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kscreenlocker: kscreenlocker (secure lock screen architecture)
+kscreenlocker:
+kscreenlocker: Library and components for secure lock screen architecture.
+kscreenlocker:
+kscreenlocker: Homepage: https://projects.kde.org/kscreenlocker
+kscreenlocker:
+kscreenlocker:
+kscreenlocker:
+kscreenlocker:
+kscreenlocker:
+kscreenlocker:
diff --git a/testing/source/vtown/kde/slack-desc/kservice b/testing/source/vtown/kde/slack-desc/kservice
new file mode 100644
index 00000000..94c6ca60
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kservice
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kservice: kservice (desktop services plugin framework)
+kservice:
+kservice: KService provides a plugin framework for handling desktop services.
+kservice: Services can be applications or libraries. They can be bound to MIME
+kservice: types or handled by application specific code.
+kservice:
+kservice:
+kservice:
+kservice:
+kservice:
+kservice:
diff --git a/testing/source/vtown/kde/slack-desc/kshisen b/testing/source/vtown/kde/slack-desc/kshisen
new file mode 100644
index 00000000..c922410c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kshisen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kshisen: kshisen (Shisen-Sho Mahjongg-like tile game)
+kshisen:
+kshisen: KShisen is a solitaire-like game played using the standard set of
+kshisen: Mahjong tiles. Unlike Mahjong however, KShisen has only one layer
+kshisen: of scrambled tiles.
+kshisen:
+kshisen:
+kshisen:
+kshisen:
+kshisen:
+kshisen:
diff --git a/testing/source/vtown/kde/slack-desc/ksirk b/testing/source/vtown/kde/slack-desc/ksirk
new file mode 100644
index 00000000..8befe9d4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksirk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksirk: ksirk (conquer the world board game)
+ksirk:
+ksirk: KsirK is a computerized version of the well known strategic board game
+ksirk: R***. The goal of the game is simply to conquer the world by attacking
+ksirk: your neighbors with your armies.
+ksirk:
+ksirk:
+ksirk:
+ksirk:
+ksirk:
+ksirk:
diff --git a/testing/source/vtown/kde/slack-desc/ksmtp b/testing/source/vtown/kde/slack-desc/ksmtp
new file mode 100644
index 00000000..da3fcf89
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksmtp
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksmtp: ksmtp (SMTP library)
+ksmtp:
+ksmtp: ksmtp is a job-based library to send email through an SMTP server.
+ksmtp:
+ksmtp:
+ksmtp:
+ksmtp:
+ksmtp:
+ksmtp:
+ksmtp:
+ksmtp:
diff --git a/testing/source/vtown/kde/slack-desc/ksnakeduel b/testing/source/vtown/kde/slack-desc/ksnakeduel
new file mode 100644
index 00000000..ba4ff00a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksnakeduel
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksnakeduel: ksnakeduel (simple snake duel game)
+ksnakeduel:
+ksnakeduel: KSnakeDuel is a simple snake duel game for KDE. You can play
+ksnakeduel: KSnakeDuel against the computer or a friend. The aim of the game is to
+ksnakeduel: live longer than your opponent. To do that, avoid running into a wall,
+ksnakeduel: your own tail, or that of your opponent.
+ksnakeduel:
+ksnakeduel:
+ksnakeduel:
+ksnakeduel:
+ksnakeduel:
diff --git a/testing/source/vtown/kde/slack-desc/kspaceduel b/testing/source/vtown/kde/slack-desc/kspaceduel
new file mode 100644
index 00000000..b792d810
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kspaceduel
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kspaceduel: kspaceduel (space arcade game)
+kspaceduel:
+kspaceduel: In KSpaceduel each of two possible players controls a satellite
+kspaceduel: spaceship orbiting the sun. As the game progresses players have to
+kspaceduel: eliminate the opponent's spacecraft.
+kspaceduel:
+kspaceduel:
+kspaceduel:
+kspaceduel:
+kspaceduel:
+kspaceduel:
diff --git a/testing/source/vtown/kde/slack-desc/ksquares b/testing/source/vtown/kde/slack-desc/ksquares
new file mode 100644
index 00000000..46eb34cb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksquares
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksquares: ksquares (connect the dots to create squares)
+ksquares:
+ksquares: KSquares is a fun and exciting game for the desktop environment. The
+ksquares: game is modeled after the well known pen and paper based game of Dots
+ksquares: and Boxes.
+ksquares:
+ksquares:
+ksquares:
+ksquares:
+ksquares:
+ksquares:
diff --git a/testing/source/vtown/kde/slack-desc/ksshaskpass b/testing/source/vtown/kde/slack-desc/ksshaskpass
new file mode 100644
index 00000000..a89d9446
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksshaskpass
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksshaskpass: ksshaskpass (GUI for entering ssh key passwords)
+ksshaskpass:
+ksshaskpass: If you access computers with ssh keys but those keys have passwords
+ksshaskpass: this module will give you a graphical UI to enter those passwords.
+ksshaskpass:
+ksshaskpass:
+ksshaskpass:
+ksshaskpass:
+ksshaskpass:
+ksshaskpass:
+ksshaskpass:
diff --git a/testing/source/vtown/kde/slack-desc/kstars b/testing/source/vtown/kde/slack-desc/kstars
new file mode 100644
index 00000000..e81ae9cd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kstars
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kstars: kstars (a desktop planetarium)
+kstars:
+kstars: KStars is free, open source, cross-platform Astronomy Software.
+kstars: It provides an accurate graphical simulation of the night sky, from
+kstars: any location on Earth, at any date and time. The display includes up
+kstars: to 100 million stars, 13,000 deep-sky objects, all 8 planets, the Sun
+kstars: and Moon, and thousands of comets, asteroids, supernovae, and
+kstars: satellites.
+kstars:
+kstars: Homepage: https://edu.kde.org/kstars
+kstars:
diff --git a/testing/source/vtown/kde/slack-desc/ksudoku b/testing/source/vtown/kde/slack-desc/ksudoku
new file mode 100644
index 00000000..958e7429
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksudoku
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksudoku: ksudoku (sudoku game)
+ksudoku:
+ksudoku: KSudoku is a logic-based symbol placement puzzle. The player has to
+ksudoku: fill a grid so that each column, row as well as each square block on
+ksudoku: the game field contains only one instance of each symbol.
+ksudoku:
+ksudoku:
+ksudoku:
+ksudoku:
+ksudoku:
+ksudoku:
diff --git a/testing/source/vtown/kde/slack-desc/ksysguard b/testing/source/vtown/kde/slack-desc/ksysguard
new file mode 100644
index 00000000..00d5225d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksysguard
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ksysguard: ksysguard (process monitor and system statistics)
+ksysguard:
+ksysguard: System Guard allows you to monitor various statistics about your
+ksysguard: system. In addition to monitoring the local system, it can connect to
+ksysguard: remote systems running the System Guard Daemon, which is in the
+ksysguard: ksysguardd package.
+ksysguard:
+ksysguard:
+ksysguard:
+ksysguard:
+ksysguard:
diff --git a/testing/source/vtown/kde/slack-desc/ksystemlog b/testing/source/vtown/kde/slack-desc/ksystemlog
new file mode 100644
index 00000000..40178bbb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ksystemlog
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksystemlog: ksystemlog (system log viewer)
+ksystemlog:
+ksystemlog: KSystemLog is a system log viewer tool. This program is developed for
+ksystemlog: beginner users, who don't know how to find information about their
+ksystemlog: Linux system, and don't know where log files are. It is also of course
+ksystemlog: designed for advanced users, who quickly want to understand problems
+ksystemlog: of their machine with a more powerful and graphical tool than
+ksystemlog: 'tail -f' and 'less' commands ;-)
+ksystemlog:
+ksystemlog: Homepage: https://www.kde.org/applications/system/ksystemlog/
+ksystemlog:
diff --git a/testing/source/vtown/kde/slack-desc/kteatime b/testing/source/vtown/kde/slack-desc/kteatime
new file mode 100644
index 00000000..dfff12c3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kteatime
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kteatime: kteatime (tea cooker)
+kteatime:
+kteatime: KTeaTime is a handy timer for steeping tea. No longer will you have
+kteatime: to guess at how long it takes for your tea to be ready. Simply select
+kteatime: the type of tea you have, and it will alert you when the tea is ready
+kteatime: to drink.
+kteatime:
+kteatime: Homepage: https://www.kde.org/applications/games/kteatime/
+kteatime:
+kteatime:
+kteatime:
diff --git a/testing/source/vtown/kde/slack-desc/ktexteditor b/testing/source/vtown/kde/slack-desc/ktexteditor
new file mode 100644
index 00000000..9ec11770
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktexteditor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ktexteditor: ktexteditor (text editor component)
+ktexteditor:
+ktexteditor: KTextEditor provides a powerful text editor component that you can
+ktexteditor: embed in your application, either as a KPart or using the
+ktexteditor: KF5::TextEditor library. The text editor component contains many
+ktexteditor: useful features, from syntax highlighting and automatic indentation to
+ktexteditor: advanced scripting support, making it suitable for everything from a
+ktexteditor: simple embedded text-file editor to an advanced IDE.
+ktexteditor:
+ktexteditor:
+ktexteditor:
diff --git a/testing/source/vtown/kde/slack-desc/ktextwidgets b/testing/source/vtown/kde/slack-desc/ktextwidgets
new file mode 100644
index 00000000..c00a6c8a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktextwidgets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ktextwidgets: ktextwidgets (text editing widgets)
+ktextwidgets:
+ktextwidgets: KTextWidgets provides widgets for displaying and editing text. It
+ktextwidgets: supports rich text as well as plain text.
+ktextwidgets:
+ktextwidgets:
+ktextwidgets:
+ktextwidgets:
+ktextwidgets:
+ktextwidgets:
+ktextwidgets:
diff --git a/testing/source/vtown/kde/slack-desc/ktimer b/testing/source/vtown/kde/slack-desc/ktimer
new file mode 100644
index 00000000..1a39458a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktimer
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mktimers the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktimer: ktimer (program scheduler)
+ktimer:
+ktimer: KTimer is a little tool to execute programs after some time.
+ktimer:
+ktimer: Homepage: http://utils.kde.org/projects/ktimer
+ktimer:
+ktimer:
+ktimer:
+ktimer:
+ktimer:
+ktimer:
diff --git a/testing/source/vtown/kde/slack-desc/ktimetracker b/testing/source/vtown/kde/slack-desc/ktimetracker
new file mode 100644
index 00000000..e1a050a3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktimetracker
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktimetracker: ktimetracker (personal time tracker)
+ktimetracker:
+ktimetracker: KTimeTracker is a personal time tracker for busy people implemented as
+ktimetracker: a Qt/KF5-based desktop application.
+ktimetracker:
+ktimetracker:
+ktimetracker:
+ktimetracker:
+ktimetracker:
+ktimetracker:
+ktimetracker:
diff --git a/testing/source/vtown/kde/slack-desc/ktnef b/testing/source/vtown/kde/slack-desc/ktnef
new file mode 100644
index 00000000..65f2be26
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktnef
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktnef: ktnef (API for the handling of TNEF data)
+ktnef:
+ktnef: The ktnef library contains an API for the handling of TNEF data. The
+ktnef: API permits access to the actual attachments, the message properties
+ktnef: (TNEF/MAPI), and allows one to view/extract message formatted text in
+ktnef: Rich Text Format format.
+ktnef:
+ktnef:
+ktnef:
+ktnef:
+ktnef:
diff --git a/testing/source/vtown/kde/slack-desc/ktorrent b/testing/source/vtown/kde/slack-desc/ktorrent
new file mode 100644
index 00000000..a4749284
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktorrent
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktorrent: ktorrent (KDE BitTorrent program)
+ktorrent:
+ktorrent: KTorrent is a BitTorrent program with many features:
+ktorrent: Download torrent files (of course :-), upload and download speed
+ktorrent: capping, Internet searching, UDP trackers, port forwarding with UPnP,
+ktorrent: IP blocking, importing of partially or fully downloaded files, support
+ktorrent: for distributed hash tables, protocol encryption, bandwidth
+ktorrent: scheduling, and much more. KTorrent's developers are Joris Guisson and
+ktorrent: Ivan Vasic.
+ktorrent:
+ktorrent: Homepage: https://kde.org/applications/en/internet/org.kde.ktorrent
diff --git a/testing/source/vtown/kde/slack-desc/ktouch b/testing/source/vtown/kde/slack-desc/ktouch
new file mode 100644
index 00000000..d10acd35
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktouch
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktouch: ktouch (touch typing tutor)
+ktouch:
+ktouch: KTouch is a typewriter trainer for learning to touch type. It provides
+ktouch: you with text to train on and adjusts to different levels depending on
+ktouch: how good you are.
+ktouch:
+ktouch: Homepage: https://kde.org/applications/en/education/org.kde.ktouch
+ktouch:
+ktouch:
+ktouch:
+ktouch:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-accounts-kcm b/testing/source/vtown/kde/slack-desc/ktp-accounts-kcm
new file mode 100644
index 00000000..812b095c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-accounts-kcm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-accounts-kcm: ktp-accounts-kcm (Telepathy Account Configuration)
+ktp-accounts-kcm:
+ktp-accounts-kcm: KDE Configuration Module for Telepathy Instant Messaging Accounts.
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
+ktp-accounts-kcm:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-approver b/testing/source/vtown/kde/slack-desc/ktp-approver
new file mode 100644
index 00000000..214e62a4
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-approver
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-approver: ktp-approver (Channel approver for Telepathy)
+ktp-approver:
+ktp-approver: KDE Channel Approver for Telepathy.
+ktp-approver:
+ktp-approver:
+ktp-approver:
+ktp-approver:
+ktp-approver:
+ktp-approver:
+ktp-approver:
+ktp-approver:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-auth-handler b/testing/source/vtown/kde/slack-desc/ktp-auth-handler
new file mode 100644
index 00000000..bbf40025
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-auth-handler
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-auth-handler: ktp-auth-handler (KDE Authentication UI/KWallet Integration)
+ktp-auth-handler:
+ktp-auth-handler: Provide UI/KWallet Integration For Passwords and SSL Errors on
+ktp-auth-handler: Account Connect.
+ktp-auth-handler:
+ktp-auth-handler:
+ktp-auth-handler:
+ktp-auth-handler:
+ktp-auth-handler:
+ktp-auth-handler:
+ktp-auth-handler:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-call-ui b/testing/source/vtown/kde/slack-desc/ktp-call-ui
new file mode 100644
index 00000000..cb1717cd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-call-ui
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-call-ui: ktp-call-ui (Telepathy call handler)
+ktp-call-ui:
+ktp-call-ui: KDE UI for handling telepathy calls.
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
+ktp-call-ui:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-common-internals b/testing/source/vtown/kde/slack-desc/ktp-common-internals
new file mode 100644
index 00000000..70902618
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-common-internals
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-common-internals: ktp-common-internals (Common internals for KDE Telepathy)
+ktp-common-internals:
+ktp-common-internals: Common internal libraries for KDE Telepathy.
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
+ktp-common-internals:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-contact-list b/testing/source/vtown/kde/slack-desc/ktp-contact-list
new file mode 100644
index 00000000..1d54de3c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-contact-list
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-contact-list: ktp-contact-list (Telepathy contact list)
+ktp-contact-list:
+ktp-contact-list: KDE UI for listing Telepathy contacts.
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
+ktp-contact-list:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-contact-runner b/testing/source/vtown/kde/slack-desc/ktp-contact-runner
new file mode 100644
index 00000000..42059c0c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-contact-runner
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-contact-runner: ktp-contact-runner (Plasma runner for KDE Telepathy)
+ktp-contact-runner:
+ktp-contact-runner: Krunner integration for Telepathy.
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
+ktp-contact-runner:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-desktop-applets b/testing/source/vtown/kde/slack-desc/ktp-desktop-applets
new file mode 100644
index 00000000..aea5018e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-desktop-applets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-desktop-applets: ktp-desktop-applets (KDE Telepathy desktop applets)
+ktp-desktop-applets:
+ktp-desktop-applets: KDE Telepathy desktop applets, including:
+ktp-desktop-applets: * contacts
+ktp-desktop-applets: * presence
+ktp-desktop-applets:
+ktp-desktop-applets:
+ktp-desktop-applets:
+ktp-desktop-applets:
+ktp-desktop-applets:
+ktp-desktop-applets:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-filetransfer-handler b/testing/source/vtown/kde/slack-desc/ktp-filetransfer-handler
new file mode 100644
index 00000000..e405111b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-filetransfer-handler
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-filetransfer-handler: ktp-filetransfer-handler (Telepathy file transfer handler)
+ktp-filetransfer-handler:
+ktp-filetransfer-handler: Telepathy-KDE file transfer handler. It basically does two thigs:
+ktp-filetransfer-handler: Send files to your contact
+ktp-filetransfer-handler: Receive files from your contact
+ktp-filetransfer-handler:
+ktp-filetransfer-handler:
+ktp-filetransfer-handler:
+ktp-filetransfer-handler:
+ktp-filetransfer-handler:
+ktp-filetransfer-handler:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-kded-module b/testing/source/vtown/kde/slack-desc/ktp-kded-module
new file mode 100644
index 00000000..062617a1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-kded-module
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-kded-module: ktp-kded-module (KDE integration for telepathy)
+ktp-kded-module:
+ktp-kded-module: This module sits in KDED and takes care of various bits of system
+ktp-kded-module: integration like setting user to auto-away or handling connection
+ktp-kded-module: errors.
+ktp-kded-module:
+ktp-kded-module:
+ktp-kded-module:
+ktp-kded-module:
+ktp-kded-module:
+ktp-kded-module:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-send-file b/testing/source/vtown/kde/slack-desc/ktp-send-file
new file mode 100644
index 00000000..1000bd28
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-send-file
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-send-file: ktp-send-file (Send files via Telepathy)
+ktp-send-file:
+ktp-send-file: A File manager plugin to launch file transfer jobs.
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
+ktp-send-file:
diff --git a/testing/source/vtown/kde/slack-desc/ktp-text-ui b/testing/source/vtown/kde/slack-desc/ktp-text-ui
new file mode 100644
index 00000000..bf25c465
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktp-text-ui
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktp-text-ui: ktp-text-ui (Telepathy text chat handler)
+ktp-text-ui:
+ktp-text-ui: KDE UI for handling Telepathy text chats.
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
+ktp-text-ui:
diff --git a/testing/source/vtown/kde/slack-desc/ktuberling b/testing/source/vtown/kde/slack-desc/ktuberling
new file mode 100644
index 00000000..d76af46e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/ktuberling
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktuberling: ktuberling (picture game for children)
+ktuberling:
+ktuberling: KTuberling a simple constructor game suitable for children and adults
+ktuberling: alike. The idea of the game is based around a once popular doll making
+ktuberling: concept.
+ktuberling:
+ktuberling:
+ktuberling:
+ktuberling:
+ktuberling:
+ktuberling:
diff --git a/testing/source/vtown/kde/slack-desc/kturtle b/testing/source/vtown/kde/slack-desc/kturtle
new file mode 100644
index 00000000..91dde602
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kturtle
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kturtle: kturtle (Logo-like programming environment)
+kturtle:
+kturtle: KTurtle is an educational programming environment for learning how to
+kturtle: program. It provides all programming tools from its user interface.
+kturtle: The programming language used is TurtleScript, which is loosely based
+kturtle: on Logo. All commands and messages are translated into the user's
+kturtle: language. KTurtle features an intuitive syntax highlighting, simple
+kturtle: error messages, integrated canvas to make drawings, an integrated
+kturtle: help, slow-motion and step execution.
+kturtle:
+kturtle: Homepage: https://kde.org/applications/en/education/org.kde.kturtle
diff --git a/testing/source/vtown/kde/slack-desc/kubrick b/testing/source/vtown/kde/slack-desc/kubrick
new file mode 100644
index 00000000..b2b9f027
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kubrick
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kubrick: kubrick (3-D game based on Rubik's Cube)
+kubrick:
+kubrick: Kubrick is a game based on the Rubik's Cube puzzle. The cube sizes
+kubrick: range from 2x2x2 up to 6x6x6, or you can play with irregular "bricks"
+kubrick: such as 5x3x2 or "mats" such as 6x4x1 or 2x2x1. The game has a
+kubrick: selection of puzzles at several levels of difficulty, as well as demos
+kubrick: of pretty patterns and solution moves, or you can make up your own
+kubrick: puzzles.
+kubrick:
+kubrick:
+kubrick:
diff --git a/testing/source/vtown/kde/slack-desc/kunitconversion b/testing/source/vtown/kde/slack-desc/kunitconversion
new file mode 100644
index 00000000..1f460bc3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kunitconversion
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kunitconversion: kunitconversion (convert physical units)
+kunitconversion:
+kunitconversion: KUnitConversion provides functions to convert values in different
+kunitconversion: physical units. It supports converting different prefixes (e.g. kilo,
+kunitconversion: mega, giga) as well as converting between different unit systems (e.g.
+kunitconversion: liters, gallons).
+kunitconversion:
+kunitconversion:
+kunitconversion:
+kunitconversion:
+kunitconversion:
diff --git a/testing/source/vtown/kde/slack-desc/kuser b/testing/source/vtown/kde/slack-desc/kuser
new file mode 100644
index 00000000..7890886a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kuser
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kuser: kuser (user manager for KDE)
+kuser:
+kuser: kuser is KDE's user manager (/etc/passwd and other methods).
+kuser:
+kuser:
+kuser:
+kuser:
+kuser:
+kuser:
+kuser:
+kuser:
diff --git a/testing/source/vtown/kde/slack-desc/kwallet b/testing/source/vtown/kde/slack-desc/kwallet
new file mode 100644
index 00000000..72ca6c3a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwallet
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkwallets the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwallet: kwallet (KDE wallet manager)
+kwallet:
+kwallet: KDE Wallet Manager is a tool to manage your passwords under KDE.
+kwallet:
+kwallet: Homepage: https://projects.kde.org/projects/kde/kdeutils
+kwallet:
+kwallet:
+kwallet:
+kwallet:
+kwallet:
+kwallet:
diff --git a/testing/source/vtown/kde/slack-desc/kwallet-pam b/testing/source/vtown/kde/slack-desc/kwallet-pam
new file mode 100644
index 00000000..7966b649
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwallet-pam
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwallet-pam: kwallet-pam (KWallet PAM integration)
+kwallet-pam:
+kwallet-pam: KWallet PAM integration.
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
+kwallet-pam:
diff --git a/testing/source/vtown/kde/slack-desc/kwalletmanager b/testing/source/vtown/kde/slack-desc/kwalletmanager
new file mode 100644
index 00000000..181a8e12
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwalletmanager
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side mkwalletmanagers the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwalletmanager: kwalletmanager (KDE wallet manager)
+kwalletmanager:
+kwalletmanager: KDE Wallet Manager is a tool to manage your passwords under KDE.
+kwalletmanager:
+kwalletmanager: Homepage: https://projects.kde.org/projects/kde/kdeutils
+kwalletmanager:
+kwalletmanager:
+kwalletmanager:
+kwalletmanager:
+kwalletmanager:
+kwalletmanager:
diff --git a/testing/source/vtown/kde/slack-desc/kwave b/testing/source/vtown/kde/slack-desc/kwave
new file mode 100644
index 00000000..2bf0ac2f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwave
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwave: kwave (A sound editor for KDE)
+kwave:
+kwave: Kwave is a sound editor built on the KDE Frameworks 5. With Kwave you
+kwave: can record, play back, import and edit many sorts of audio files
+kwave: including multi channel files. Kwave includes some plugins to
+kwave: transform audio files in several ways and presents a graphical view
+kwave: with zoom and scroll capability.
+kwave:
+kwave: Homepage: http://kwave.sourceforge.net
+kwave:
+kwave:
diff --git a/testing/source/vtown/kde/slack-desc/kwayland b/testing/source/vtown/kde/slack-desc/kwayland
new file mode 100644
index 00000000..ad0eb265
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwayland
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwayland: kwayland (wayland wrapper library for KDE)
+kwayland:
+kwayland: Kwayland is a KDE Frameworks 5 library that wraps Client and Server
+kwayland: Wayland libraries.
+kwayland:
+kwayland:
+kwayland:
+kwayland:
+kwayland:
+kwayland:
+kwayland:
diff --git a/testing/source/vtown/kde/slack-desc/kwayland-integration b/testing/source/vtown/kde/slack-desc/kwayland-integration
new file mode 100644
index 00000000..47c6ab3c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwayland-integration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwayland-integration: kwayland-integration (wayland integration plugins for KDE Frameworks)
+kwayland-integration:
+kwayland-integration: Kwayland-integration provides integration plugins for various KDE
+kwayland-integration: Frameworks for Wayland.
+kwayland-integration:
+kwayland-integration:
+kwayland-integration:
+kwayland-integration:
+kwayland-integration:
+kwayland-integration:
+kwayland-integration:
diff --git a/testing/source/vtown/kde/slack-desc/kwayland-server b/testing/source/vtown/kde/slack-desc/kwayland-server
new file mode 100644
index 00000000..30f35ef9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwayland-server
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwayland-server: kwayland-server (wayland server components)
+kwayland-server:
+kwayland-server: Wayland server components built on KDE Frameworks.
+kwayland-server:
+kwayland-server:
+kwayland-server:
+kwayland-server:
+kwayland-server:
+kwayland-server:
+kwayland-server:
+kwayland-server:
diff --git a/testing/source/vtown/kde/slack-desc/kwebkitpart b/testing/source/vtown/kde/slack-desc/kwebkitpart
new file mode 100644
index 00000000..ef44c0a6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwebkitpart
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwebkitpart: kwebkitpart (WebKit browser component)
+kwebkitpart:
+kwebkitpart: KWebKitPart is a web browser component for KDE based on (Qt)WebKit.
+kwebkitpart: You can use it for example for browsing the web in Konqueror.
+kwebkitpart:
+kwebkitpart: Homepage: https://github.com/KDE/kwebkitpart
+kwebkitpart:
+kwebkitpart:
+kwebkitpart:
+kwebkitpart:
+kwebkitpart:
diff --git a/testing/source/vtown/kde/slack-desc/kwidgetsaddons b/testing/source/vtown/kde/slack-desc/kwidgetsaddons
new file mode 100644
index 00000000..d04ae50f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwidgetsaddons
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kwidgetsaddons: kwidgetsaddons (desktop widgets)
+kwidgetsaddons:
+kwidgetsaddons: This repository contains add-on widgets and classes for applications
+kwidgetsaddons: that use the Qt Widgets module. Provided are action classes that can
+kwidgetsaddons: be added to toolbars or menus, a wide range of widgets for selecting
+kwidgetsaddons: characters, fonts, colors, actions, dates and times, or MIME types,
+kwidgetsaddons: as well as platform-aware dialogs for configuration pages, message
+kwidgetsaddons: boxes, and password requests.
+kwidgetsaddons:
+kwidgetsaddons:
+kwidgetsaddons:
diff --git a/testing/source/vtown/kde/slack-desc/kwin b/testing/source/vtown/kde/slack-desc/kwin
new file mode 100644
index 00000000..13c282ad
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwin
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kwin: kwin (KDE window manager)
+kwin:
+kwin: KWin is a window manager for the X Window System. It is an integral
+kwin: part, and the default window manager of the Plasma Workspaces, but it
+kwin: can also be used on its own or with other desktop environments.
+kwin:
+kwin:
+kwin:
+kwin:
+kwin:
+kwin:
diff --git a/testing/source/vtown/kde/slack-desc/kwindowsystem b/testing/source/vtown/kde/slack-desc/kwindowsystem
new file mode 100644
index 00000000..3d3cda8a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwindowsystem
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kwindowsystem: kwindowsystem (windowing system access)
+kwindowsystem:
+kwindowsystem: KWindowSystem provides information about the windowing system and
+kwindowsystem: allows interaction with the windowing system. It provides a high level
+kwindowsystem: API which is windowing system independent and has platform specific
+kwindowsystem: implementations. This API is inspired by X11 and thus not all
+kwindowsystem: functionality is available on all windowing systems.
+kwindowsystem:
+kwindowsystem:
+kwindowsystem:
+kwindowsystem:
diff --git a/testing/source/vtown/kde/slack-desc/kwordquiz b/testing/source/vtown/kde/slack-desc/kwordquiz
new file mode 100644
index 00000000..d74cda83
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwordquiz
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kwordquiz: kwordquiz (flash card program)
+kwordquiz:
+kwordquiz: KWordQuiz is a general purpose flash card program. It can be used for
+kwordquiz: vocabulary learning and many other subjects.
+kwordquiz:
+kwordquiz:
+kwordquiz:
+kwordquiz:
+kwordquiz:
+kwordquiz:
+kwordquiz:
diff --git a/testing/source/vtown/kde/slack-desc/kwrited b/testing/source/vtown/kde/slack-desc/kwrited
new file mode 100644
index 00000000..3c50df5f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kwrited
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kwrited: kwrited (write daemon)
+kwrited:
+kwrited: Watch for messages from local users sent with write(1) or wall(1).
+kwrited:
+kwrited:
+kwrited:
+kwrited:
+kwrited:
+kwrited:
+kwrited:
+kwrited:
diff --git a/testing/source/vtown/kde/slack-desc/kxmlgui b/testing/source/vtown/kde/slack-desc/kxmlgui
new file mode 100644
index 00000000..b3f1340c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kxmlgui
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kxmlgui: kxmlgui (menu and toolbar framework)
+kxmlgui:
+kxmlgui: KXMLGUI provides a framework for managing menu and toolbar actions in
+kxmlgui: an abstract way. The actions are configured through an XML description
+kxmlgui: and hooks in the application code. The framework supports merging of
+kxmlgui: multiple description for example for integrating actions from plugins.
+kxmlgui:
+kxmlgui:
+kxmlgui:
+kxmlgui:
+kxmlgui:
diff --git a/testing/source/vtown/kde/slack-desc/kxmlrpcclient b/testing/source/vtown/kde/slack-desc/kxmlrpcclient
new file mode 100644
index 00000000..d9697706
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/kxmlrpcclient
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kxmlrpcclient: kxmlrpcclient (library providing API to access XML RPC)
+kxmlrpcclient:
+kxmlrpcclient: Tier 3 KDE Frameworks 5 library providing API to access XML RPC.
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
+kxmlrpcclient:
diff --git a/testing/source/vtown/kde/slack-desc/labplot b/testing/source/vtown/kde/slack-desc/labplot
new file mode 100644
index 00000000..2c6aa27b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/labplot
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+labplot: labplot (plot scientific data)
+labplot:
+labplot: LabPlot is a KDE application for interactive graphing and analysis of
+labplot: scientific data. LabPlot provides an easy way to create, manage and
+labplot: edit plots and to perform data analysis.
+labplot:
+labplot: Homepage: http://labplot.kde.org/
+labplot:
+labplot:
+labplot:
+labplot:
diff --git a/testing/source/vtown/kde/slack-desc/latte-dock b/testing/source/vtown/kde/slack-desc/latte-dock
new file mode 100644
index 00000000..7ab73ac3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/latte-dock
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+latte-dock: latte-dock (alternative dock for Plasma5)
+latte-dock:
+latte-dock: Latte is a dock based on Plasma Frameworks providing an elegant and
+latte-dock: intuitive experience for your tasks and plasmoids. It animates its
+latte-dock: contents by using parabolic zoom effect and tries to be there only
+latte-dock: when it is needed. "Art in Coffee"
+latte-dock:
+latte-dock: Homepage: https://github.com/KDE/latte-dock
+latte-dock:
+latte-dock:
+latte-dock:
diff --git a/testing/source/vtown/kde/slack-desc/libgravatar b/testing/source/vtown/kde/slack-desc/libgravatar
new file mode 100644
index 00000000..6e6a7656
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libgravatar
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgravatar: libgravatar (Gravatar support library)
+libgravatar:
+libgravatar: libgravatar is a KDE PIM library providing Gravatar support.
+libgravatar:
+libgravatar:
+libgravatar:
+libgravatar:
+libgravatar:
+libgravatar:
+libgravatar:
+libgravatar:
diff --git a/testing/source/vtown/kde/slack-desc/libkcddb b/testing/source/vtown/kde/slack-desc/libkcddb
new file mode 100644
index 00000000..e67f04d6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkcddb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkcddb: libkcddb (KDE CDDB retrieval library)
+libkcddb:
+libkcddb: A KDE CDDB retrieval library.
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
diff --git a/testing/source/vtown/kde/slack-desc/libkcompactdisc b/testing/source/vtown/kde/slack-desc/libkcompactdisc
new file mode 100644
index 00000000..3ebfa258
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkcompactdisc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkcompactdisc: libkcompactdisc (CD playing/ripping library)
+libkcompactdisc:
+libkcompactdisc: A KDE library for playing and ripping CDs.
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
diff --git a/testing/source/vtown/kde/slack-desc/libkdcraw b/testing/source/vtown/kde/slack-desc/libkdcraw
new file mode 100644
index 00000000..dad7b783
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkdcraw
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkdcraw: libkdcraw (library wrapper around dcraw)
+libkdcraw:
+libkdcraw: Libkdcraw is a C++ interface around the dcraw binary program, used to
+libkdcraw: decode RAW picture files.
+libkdcraw:
+libkdcraw:
+libkdcraw:
+libkdcraw:
+libkdcraw:
+libkdcraw:
+libkdcraw:
diff --git a/testing/source/vtown/kde/slack-desc/libkdegames b/testing/source/vtown/kde/slack-desc/libkdegames
new file mode 100644
index 00000000..33cfe9ae
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkdegames
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkdegames: libkdegames (KDE game library)
+libkdegames:
+libkdegames: Libkdegames contains common code and data for many KDE games.
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
diff --git a/testing/source/vtown/kde/slack-desc/libkdepim b/testing/source/vtown/kde/slack-desc/libkdepim
new file mode 100644
index 00000000..90a4c1b9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkdepim
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkdepim: libkdepim (KDE PIM libraries)
+libkdepim:
+libkdepim: The package contains libraries for KDE PIM applications.
+libkdepim:
+libkdepim:
+libkdepim:
+libkdepim:
+libkdepim:
+libkdepim:
+libkdepim:
+libkdepim:
diff --git a/testing/source/vtown/kde/slack-desc/libkeduvocdocument b/testing/source/vtown/kde/slack-desc/libkeduvocdocument
new file mode 100644
index 00000000..55e52790
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkeduvocdocument
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkeduvocdocument: libkeduvocdocument (KVTML library)
+libkeduvocdocument:
+libkeduvocdocument: A library (formerly part of kdeedu) for reading from/writing to the
+libkeduvocdocument: KVTML format (and others too).
+libkeduvocdocument:
+libkeduvocdocument:
+libkeduvocdocument:
+libkeduvocdocument:
+libkeduvocdocument:
+libkeduvocdocument:
+libkeduvocdocument:
diff --git a/testing/source/vtown/kde/slack-desc/libkexiv2 b/testing/source/vtown/kde/slack-desc/libkexiv2
new file mode 100644
index 00000000..389c8442
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkexiv2
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkexiv2: libkexiv2 (wrapper library for exiv2)
+libkexiv2:
+libkexiv2: Libkexiv2 is a KDE wrapper around the Exiv2 library to manipulate
+libkexiv2: image metadata.
+libkexiv2:
+libkexiv2:
+libkexiv2:
+libkexiv2:
+libkexiv2:
+libkexiv2:
+libkexiv2:
diff --git a/testing/source/vtown/kde/slack-desc/libkgapi b/testing/source/vtown/kde/slack-desc/libkgapi
new file mode 100644
index 00000000..205f724e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkgapi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkgapi: libkgapi (Google service API library)
+libkgapi:
+libkgapi: A KDE-based library for accessing various Google services via their
+libkgapi: public API.
+libkgapi:
+libkgapi:
+libkgapi:
+libkgapi:
+libkgapi:
+libkgapi:
+libkgapi:
diff --git a/testing/source/vtown/kde/slack-desc/libkgeomap b/testing/source/vtown/kde/slack-desc/libkgeomap
new file mode 100644
index 00000000..9f2121e3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkgeomap
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkgeomap: libkgeomap (world map library)
+libkgeomap:
+libkgeomap: Libkgeomap is a wrapper around world map components as Marble,
+libkgeomap: OpenstreetMap and GoogleMap, for browsing and arranging photos on a
+libkgeomap: map.
+libkgeomap:
+libkgeomap: Homepage: https://github.com/KDE/libkgeomap
+libkgeomap:
+libkgeomap:
+libkgeomap:
+libkgeomap:
diff --git a/testing/source/vtown/kde/slack-desc/libkipi b/testing/source/vtown/kde/slack-desc/libkipi
new file mode 100644
index 00000000..652e9886
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkipi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkipi: libkipi (KDE Image Plugin Interface)
+libkipi:
+libkipi: This package provides a generic KDE Image Plug-in Interface used by
+libkipi: some KDE image applications. Plug-ins for this interface are in the
+libkipi: kipi-plugins package.
+libkipi:
+libkipi: Homepage: https://github.com/KDE/libkipi
+libkipi:
+libkipi:
+libkipi:
+libkipi:
diff --git a/testing/source/vtown/kde/slack-desc/libkleo b/testing/source/vtown/kde/slack-desc/libkleo
new file mode 100644
index 00000000..2f4e968d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkleo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkleo: libkleo (KDE key manager library)
+libkleo:
+libkleo: This is libkleo, a library used by KDE PIM applications to handle
+libkleo: cryptographic key and certificate management.
+libkleo:
+libkleo:
+libkleo:
+libkleo:
+libkleo:
+libkleo:
+libkleo:
diff --git a/testing/source/vtown/kde/slack-desc/libkmahjongg b/testing/source/vtown/kde/slack-desc/libkmahjongg
new file mode 100644
index 00000000..5d194964
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkmahjongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkmahjongg: libkmahjongg (Mahjongg tilesets library)
+libkmahjongg:
+libkmahjongg: libkmahjongg is a library used by several KDE games for loading and
+libkmahjongg: rendering of Mahjongg tilesets.
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
diff --git a/testing/source/vtown/kde/slack-desc/libkomparediff2 b/testing/source/vtown/kde/slack-desc/libkomparediff2
new file mode 100644
index 00000000..d18a578c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkomparediff2
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkomparediff2: libkomparediff2 (file comparison library)
+libkomparediff2:
+libkomparediff2: libkomparediff2 is a shared library to compare files and strings using
+libkomparediff2: kdelibs and GNU diff, used in Kompare and KDevelop.
+libkomparediff2:
+libkomparediff2:
+libkomparediff2:
+libkomparediff2:
+libkomparediff2:
+libkomparediff2:
+libkomparediff2:
diff --git a/testing/source/vtown/kde/slack-desc/libksane b/testing/source/vtown/kde/slack-desc/libksane
new file mode 100644
index 00000000..da1a96aa
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libksane
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libksane: libksane (KDE scanner library)
+libksane:
+libksane: Libksane is a library to add scan support to KDE applications.
+libksane:
+libksane:
+libksane:
+libksane:
+libksane:
+libksane:
+libksane:
+libksane:
diff --git a/testing/source/vtown/kde/slack-desc/libkscreen b/testing/source/vtown/kde/slack-desc/libkscreen
new file mode 100644
index 00000000..e1518e5c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libkscreen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkscreen: libkscreen (screen management library)
+libkscreen:
+libkscreen: LibKScreen is a library that provides access to current configuration
+libkscreen: of connected displays and ways to change the configuration.
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen:
diff --git a/testing/source/vtown/kde/slack-desc/libksieve b/testing/source/vtown/kde/slack-desc/libksieve
new file mode 100644
index 00000000..31d771f6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libksieve
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libksieve: libksieve (sieve mailfilter library)
+libksieve:
+libksieve: libksieve is a KDE PIM library for managing sieve mailfilters.
+libksieve:
+libksieve:
+libksieve:
+libksieve:
+libksieve:
+libksieve:
+libksieve:
+libksieve:
diff --git a/testing/source/vtown/kde/slack-desc/libksysguard b/testing/source/vtown/kde/slack-desc/libksysguard
new file mode 100644
index 00000000..fa83fd8d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libksysguard
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libksysguard: libksysguard (system information library)
+libksysguard:
+libksysguard: Library to retrieve information on the current status of your computer
+libksysguard: hardware.
+libksysguard:
+libksysguard:
+libksysguard:
+libksysguard:
+libksysguard:
+libksysguard:
+libksysguard:
diff --git a/testing/source/vtown/kde/slack-desc/libktorrent b/testing/source/vtown/kde/slack-desc/libktorrent
new file mode 100644
index 00000000..c9f0f8ad
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/libktorrent
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libktorrent: libktorrent (KDE BitTorrent library)
+libktorrent:
+libktorrent: Libktorrent is the BitTorrent protocol library for ktorrent, which
+libktorrent: contains all the torrent downloading code. Although it is closely
+libktorrent: related to ktorrent, the goal is to make libktorrent an independent
+libktorrent: library which can be used by other applications.
+libktorrent:
+libktorrent: Homepage: https://kde.org/applications/en/internet/org.kde.ktorrent
+libktorrent:
+libktorrent:
+libktorrent:
diff --git a/testing/source/vtown/kde/slack-desc/lokalize b/testing/source/vtown/kde/slack-desc/lokalize
new file mode 100644
index 00000000..120a19d8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/lokalize
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lokalize: lokalize (computer-aided translation system)
+lokalize:
+lokalize: Lokalize is a computer-aided translation system that focuses on
+lokalize: productivity and quality assurance. It has components usual for CAT
+lokalize: tools: translation memory, glossary, and also a unique translation
+lokalize: merging (synchronization) capability. It is primarily targeted for
+lokalize: software translation and also integrates external conversion tools
+lokalize: for freelance office document translation.
+lokalize:
+lokalize: Homepage: https://www.kde.org/applications/development/lokalize/
+lokalize:
diff --git a/testing/source/vtown/kde/slack-desc/lskat b/testing/source/vtown/kde/slack-desc/lskat
new file mode 100644
index 00000000..b432dcda
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/lskat
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lskat: lskat (Lieutenant Skat card game)
+lskat:
+lskat: Lieutenant Skat (from German "Offiziersskat") is a fun and engaging
+lskat: card game for two players, where the second player is either live
+lskat: opponent, or a built in artificial intelligence.
+lskat:
+lskat:
+lskat:
+lskat:
+lskat:
+lskat:
diff --git a/testing/source/vtown/kde/slack-desc/mailcommon b/testing/source/vtown/kde/slack-desc/mailcommon
new file mode 100644
index 00000000..ec793ec3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/mailcommon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mailcommon: mailcommon (mail application library)
+mailcommon:
+mailcommon: KDE PIM library providing support for mail applications.
+mailcommon:
+mailcommon:
+mailcommon:
+mailcommon:
+mailcommon:
+mailcommon:
+mailcommon:
+mailcommon:
diff --git a/testing/source/vtown/kde/slack-desc/mailimporter b/testing/source/vtown/kde/slack-desc/mailimporter
new file mode 100644
index 00000000..3cf6f737
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/mailimporter
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mailimporter: mailimporter (mail importer library)
+mailimporter:
+mailimporter: A mail importer library.
+mailimporter:
+mailimporter:
+mailimporter:
+mailimporter:
+mailimporter:
+mailimporter:
+mailimporter:
+mailimporter:
diff --git a/testing/source/vtown/kde/slack-desc/make_slack-desc.sh b/testing/source/vtown/kde/slack-desc/make_slack-desc.sh
new file mode 100755
index 00000000..13148a28
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/make_slack-desc.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Parameter #1: packagename
+#
+if [ -z "$1" ]; then
+ echo "Need package name as 1st parameter!"
+ exit 1
+fi
+PRGNAM="$1"
+
+if [ -f "$PRGNAM" ]; then
+ echo "A slack-desc file with name '$PRGNAM' already exists, will not overwrite!"
+ exit 1
+fi
+
+HOMEPAGE=${HOMEPAGE:-"http://www.kde.org/"}
+DESCR=${DESCR:-"short description here"}
+MAXDESCR=$(( 70-3-${#PRGNAM} ))
+if [ ${#DESCR} -gt $MAXDESCR ]; then
+ DESCR=${DESCR:0:$MAXDESCR}
+fi
+
+SPCS=""; while [ ${#SPCS} -lt ${#PRGNAM} ]; do SPCS=" $SPCS";done
+
+cat <<EOT > "$PRGNAM"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+${SPCS}|-----handy-ruler------------------------------------------------------|
+${PRGNAM}: ${PRGNAM} (${DESCR})
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}: Home page: ${HOMEPAGE}
+${PRGNAM}:
+EOT
diff --git a/testing/source/vtown/kde/slack-desc/marble b/testing/source/vtown/kde/slack-desc/marble
new file mode 100644
index 00000000..93d389d1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/marble
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+marble: marble (virtual globe)
+marble:
+marble: Marble is a virtual globe with advanced routing capabilities. You can
+marble: download maps from a variety of themes and explore the surroundings.
+marble: Record your trip and share it with your friends. Features online and
+marble: offline routing, GPS tracking and recording, themable maps
+marble: (OpenStreetMap, Satellite Map and more), support for different
+marble: projections (globe, flat map, ...) and other planets, and download of
+marble: maps and route data for offline usage.
+marble:
+marble:
diff --git a/testing/source/vtown/kde/slack-desc/mbox-importer b/testing/source/vtown/kde/slack-desc/mbox-importer
new file mode 100644
index 00000000..09568e9c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/mbox-importer
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mbox-importer: mbox-importer (import mbox files to KMail)
+mbox-importer:
+mbox-importer: Import mbox files to KMail.
+mbox-importer:
+mbox-importer:
+mbox-importer:
+mbox-importer:
+mbox-importer:
+mbox-importer:
+mbox-importer:
+mbox-importer:
diff --git a/testing/source/vtown/kde/slack-desc/messagelib b/testing/source/vtown/kde/slack-desc/messagelib
new file mode 100644
index 00000000..064bff4e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/messagelib
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+messagelib: messagelib (KDE PIM messaging library)
+messagelib:
+messagelib: KDE PIM messaging library.
+messagelib:
+messagelib:
+messagelib:
+messagelib:
+messagelib:
+messagelib:
+messagelib:
+messagelib:
diff --git a/testing/source/vtown/kde/slack-desc/milou b/testing/source/vtown/kde/slack-desc/milou
new file mode 100644
index 00000000..ee9a7fec
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/milou
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+milou: milou (Plasma search applet)
+milou:
+milou: A Plasma applet that can search files, emails, contacts, events and
+milou: more data indexed by KDE Desktop Search.
+milou:
+milou:
+milou:
+milou:
+milou:
+milou:
+milou:
diff --git a/testing/source/vtown/kde/slack-desc/minuet b/testing/source/vtown/kde/slack-desc/minuet
new file mode 100644
index 00000000..b2b2bdfd
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/minuet
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+minuet: minuet (software for music education)
+minuet:
+minuet: Minuet is the KDE software for music education, such as ear training,
+minuet: first-sight reading, solfa, scales, rhythm, harmony, and
+minuet: improvisation. Minuet makes extensive use of MIDI capabilities.
+minuet:
+minuet:
+minuet:
+minuet:
+minuet:
+minuet:
diff --git a/testing/source/vtown/kde/slack-desc/modemmanager-qt b/testing/source/vtown/kde/slack-desc/modemmanager-qt
new file mode 100644
index 00000000..bcbcce12
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/modemmanager-qt
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+modemmanager-qt: modemmanager-qt (ModemManager Qt bindings)
+modemmanager-qt:
+modemmanager-qt: modemmanager-qt is a Tier 1 KDE Frameworks module wrapping the
+modemmanager-qt: ModemManager DBus API.
+modemmanager-qt:
+modemmanager-qt:
+modemmanager-qt:
+modemmanager-qt:
+modemmanager-qt:
+modemmanager-qt:
+modemmanager-qt:
diff --git a/testing/source/vtown/kde/slack-desc/networkmanager-qt b/testing/source/vtown/kde/slack-desc/networkmanager-qt
new file mode 100644
index 00000000..ab44d4d8
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/networkmanager-qt
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+networkmanager-qt: networkmanager-qt (NetworkManager Qt bindings)
+networkmanager-qt:
+networkmanager-qt: This package contains Qt bindings for NetworkManager.
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
+networkmanager-qt:
diff --git a/testing/source/vtown/kde/slack-desc/okteta b/testing/source/vtown/kde/slack-desc/okteta
new file mode 100644
index 00000000..4c67f1ce
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/okteta
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+okteta: okteta (hex editor for KDE)
+okteta:
+okteta: A KDE hex editor for viewing and editing the raw data of files.
+okteta:
+okteta:
+okteta:
+okteta:
+okteta:
+okteta:
+okteta:
+okteta:
diff --git a/testing/source/vtown/kde/slack-desc/okular b/testing/source/vtown/kde/slack-desc/okular
new file mode 100644
index 00000000..5969cb7a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/okular
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+okular: okular (a document viewer)
+okular:
+okular: Okular is the unified document viewer for KDE. Okular combines
+okular: excellent functionalities with the versatility of supporting different
+okular: kinds of documents, like PDF, Postscript, DjVu, CHM, XPS, ePub, and
+okular: others.
+okular:
+okular: Homepage: https://okular.kde.org
+okular:
+okular:
+okular:
diff --git a/testing/source/vtown/kde/slack-desc/oxygen b/testing/source/vtown/kde/slack-desc/oxygen
new file mode 100644
index 00000000..cd8709f1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/oxygen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen: oxygen (KDE window manager theme)
+oxygen:
+oxygen: Oxygen KDE window manager theme.
+oxygen:
+oxygen:
+oxygen:
+oxygen:
+oxygen:
+oxygen:
+oxygen:
+oxygen:
diff --git a/testing/source/vtown/kde/slack-desc/oxygen-fonts b/testing/source/vtown/kde/slack-desc/oxygen-fonts
new file mode 100644
index 00000000..516507eb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/oxygen-fonts
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-fonts: oxygen-fonts (KDE desktop fonts)
+oxygen-fonts:
+oxygen-fonts: Desktop/GUI font family for integrated use with the KDE desktop.
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
+oxygen-fonts:
diff --git a/testing/source/vtown/kde/slack-desc/oxygen-gtk2 b/testing/source/vtown/kde/slack-desc/oxygen-gtk2
new file mode 100644
index 00000000..b0679dc9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/oxygen-gtk2
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-gtk2: oxygen-gtk2 (Oxygen GTK+ engine)
+oxygen-gtk2:
+oxygen-gtk2: Oxygen-Gtk2 is a port of the KDE widget theme Oxygen, to GTK+. Its
+oxygen-gtk2: primary goal is to ensure visual consistency between GTK+ and qt-based
+oxygen-gtk2: applications running under KDE. A secondary objective is to also have
+oxygen-gtk2: a stand-alone nice looking GTK+ theme that would behave well on other
+oxygen-gtk2: desktop environments. Unlike other attempts made to port the KDE
+oxygen-gtk2: oxygen theme to GTK+, this attempt does not depend on Qt.
+oxygen-gtk2:
+oxygen-gtk2: See: http://projects.kde.org/projects/playground/artwork/oxygen-gtk
+oxygen-gtk2:
diff --git a/testing/source/vtown/kde/slack-desc/oxygen-icons5 b/testing/source/vtown/kde/slack-desc/oxygen-icons5
new file mode 100644
index 00000000..837296f9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/oxygen-icons5
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-icons5: oxygen-icons5 (Oxygen theme for KDE)
+oxygen-icons5:
+oxygen-icons5: Oxygen provides a complete and modern icon theme for KDE.
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
+oxygen-icons5:
diff --git a/testing/source/vtown/kde/slack-desc/palapeli b/testing/source/vtown/kde/slack-desc/palapeli
new file mode 100644
index 00000000..0c61e023
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/palapeli
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+palapeli: palapeli (jigsaw puzzle game)
+palapeli:
+palapeli: Palapeli is a single-player jigsaw puzzle game. Unlike other games in
+palapeli: that genre, you are not limited to aligning pieces on imaginary grids.
+palapeli: The pieces are freely moveable. Also, Palapeli features real
+palapeli: persistency, i.e. everything you do is saved immediately.
+palapeli:
+palapeli:
+palapeli:
+palapeli:
+palapeli:
diff --git a/testing/source/vtown/kde/slack-desc/parley b/testing/source/vtown/kde/slack-desc/parley
new file mode 100644
index 00000000..03a32573
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/parley
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+parley: parley (vocabulary trainer)
+parley:
+parley: Parley is a vocabulary trainer for KDE.
+parley:
+parley:
+parley:
+parley:
+parley:
+parley:
+parley:
+parley:
diff --git a/testing/source/vtown/kde/slack-desc/partitionmanager b/testing/source/vtown/kde/slack-desc/partitionmanager
new file mode 100644
index 00000000..d72ac9b3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/partitionmanager
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+partitionmanager: partitionmanager (Graphical partition manager)
+partitionmanager:
+partitionmanager: Easily manage disks, partitions and filesystems on your KDE desktop.
+partitionmanager: Create, resize, move, copy, back up, restore or delete partitions.
+partitionmanager:
+partitionmanager:
+partitionmanager:
+partitionmanager:
+partitionmanager:
+partitionmanager:
+partitionmanager:
diff --git a/testing/source/vtown/kde/slack-desc/picmi b/testing/source/vtown/kde/slack-desc/picmi
new file mode 100644
index 00000000..ca091079
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/picmi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+picmi: picmi (logic puzzle game)
+picmi:
+picmi: Picmi is a single player logic-based puzzle game. The goal is to color
+picmi: cells according to numbers given at the side of the board in order to
+picmi: uncover a hidden pattern or picture.
+picmi:
+picmi:
+picmi:
+picmi:
+picmi:
+picmi:
diff --git a/testing/source/vtown/kde/slack-desc/pim-data-exporter b/testing/source/vtown/kde/slack-desc/pim-data-exporter
new file mode 100644
index 00000000..890a42b3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/pim-data-exporter
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pim-data-exporter: pim-data-exporter (export KDE PIM settings)
+pim-data-exporter:
+pim-data-exporter: Import and export KDE PIM settings.
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
+pim-data-exporter:
diff --git a/testing/source/vtown/kde/slack-desc/pim-sieve-editor b/testing/source/vtown/kde/slack-desc/pim-sieve-editor
new file mode 100644
index 00000000..06aef234
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/pim-sieve-editor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pim-sieve-editor: pim-sieve-editor (Sieve script editor)
+pim-sieve-editor:
+pim-sieve-editor: pim-sieve-editor is an editor for Sieve scripts used for email
+pim-sieve-editor: filtering on a mail server.
+pim-sieve-editor:
+pim-sieve-editor:
+pim-sieve-editor:
+pim-sieve-editor:
+pim-sieve-editor:
+pim-sieve-editor:
+pim-sieve-editor:
diff --git a/testing/source/vtown/kde/slack-desc/pimcommon b/testing/source/vtown/kde/slack-desc/pimcommon
new file mode 100644
index 00000000..072251ca
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/pimcommon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pimcommon: pimcommon (common libraries for KDE PIM)
+pimcommon:
+pimcommon: pimcommon contains common libraries for KDE PIM.
+pimcommon:
+pimcommon:
+pimcommon:
+pimcommon:
+pimcommon:
+pimcommon:
+pimcommon:
+pimcommon:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-browser-integration b/testing/source/vtown/kde/slack-desc/plasma-browser-integration
new file mode 100644
index 00000000..6ac2012d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-browser-integration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-browser-integration: plasma-browser-integration (integrate browsers into Plasma)
+plasma-browser-integration:
+plasma-browser-integration: The plasma-browser-integration package contains components necessary
+plasma-browser-integration: to integrate browsers into the Plasma Desktop
+plasma-browser-integration:
+plasma-browser-integration:
+plasma-browser-integration:
+plasma-browser-integration:
+plasma-browser-integration:
+plasma-browser-integration:
+plasma-browser-integration:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-desktop b/testing/source/vtown/kde/slack-desc/plasma-desktop
new file mode 100644
index 00000000..d2746d90
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-desktop
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-desktop: plasma-desktop (KDE Plasma Desktop)
+plasma-desktop:
+plasma-desktop: Provides the environment for running and managing applications and
+plasma-desktop: integrating interaction of applications. It is designed as a generic
+plasma-desktop: environment for all kinds of desktop applications, not only
+plasma-desktop: applications built on the KDE Platform. It integrates best with
+plasma-desktop: applications following the standards used by the KDE Platform.
+plasma-desktop:
+plasma-desktop:
+plasma-desktop:
+plasma-desktop:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-disks b/testing/source/vtown/kde/slack-desc/plasma-disks
new file mode 100644
index 00000000..bcef8e16
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-disks
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-disks: plasma-disks (disk health monitor)
+plasma-disks:
+plasma-disks: Plasma Disks monitors S.M.A.R.T. data of disks and alerts the user
+plasma-disks: when signs of imminent failure appear.
+plasma-disks:
+plasma-disks:
+plasma-disks:
+plasma-disks:
+plasma-disks:
+plasma-disks:
+plasma-disks:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-framework b/testing/source/vtown/kde/slack-desc/plasma-framework
new file mode 100644
index 00000000..a73c03c7
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-framework
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-framework: plasma-framework (Plasma libraries and components)
+plasma-framework:
+plasma-framework: This package contains Plasma libraries and runtime components such as
+plasma-framework: QML support for Plasma.
+plasma-framework:
+plasma-framework:
+plasma-framework:
+plasma-framework:
+plasma-framework:
+plasma-framework:
+plasma-framework:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-integration b/testing/source/vtown/kde/slack-desc/plasma-integration
new file mode 100644
index 00000000..67f88629
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-integration
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-integration: plasma-integration (Plasma theme integration plugins)
+plasma-integration:
+plasma-integration: Plasma Integration is a set of plugins responsible for better
+plasma-integration: integration of Qt applications when running on a KDE Plasma workspace.
+plasma-integration:
+plasma-integration:
+plasma-integration:
+plasma-integration:
+plasma-integration:
+plasma-integration:
+plasma-integration:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-nm b/testing/source/vtown/kde/slack-desc/plasma-nm
new file mode 100644
index 00000000..bab1307c
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-nm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-nm: plasma-nm (KDE networkmanagement applet)
+plasma-nm:
+plasma-nm: This package contains the KDE networkmanagement applet for Plasma.
+plasma-nm:
+plasma-nm:
+plasma-nm:
+plasma-nm:
+plasma-nm:
+plasma-nm:
+plasma-nm:
+plasma-nm:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-pa b/testing/source/vtown/kde/slack-desc/plasma-pa
new file mode 100644
index 00000000..1e14238b
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-pa
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-pa: plasma-pa (Plasma PA volume applet)
+plasma-pa:
+plasma-pa: Plasma applet for audio volume management using PulseAudio.
+plasma-pa:
+plasma-pa:
+plasma-pa:
+plasma-pa:
+plasma-pa:
+plasma-pa:
+plasma-pa:
+plasma-pa:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-sdk b/testing/source/vtown/kde/slack-desc/plasma-sdk
new file mode 100644
index 00000000..eebb0cbb
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-sdk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-sdk: plasma-sdk (Plasma development applications)
+plasma-sdk:
+plasma-sdk: Applications useful for Plasma Development.
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
+plasma-sdk:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-vault b/testing/source/vtown/kde/slack-desc/plasma-vault
new file mode 100644
index 00000000..e0bd497d
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-vault
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-vault: plasma-vault (create encrypted vaults)
+plasma-vault:
+plasma-vault: Plasma applet and services for creating encrypted vaults. Plasma Vault
+plasma-vault: offers strong encryption features presented in a user-friendly way.
+plasma-vault: Lock and encrypt documents and hide them when the user is logged in.
+plasma-vault: These 'vaults' can be decrypted and opened easily.
+plasma-vault:
+plasma-vault:
+plasma-vault:
+plasma-vault:
+plasma-vault:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-wayland-protocols b/testing/source/vtown/kde/slack-desc/plasma-wayland-protocols
new file mode 100644
index 00000000..6d64c965
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-wayland-protocols
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-wayland-protocols: plasma-wayland-protocols (Plasma protocols for Wayland)
+plasma-wayland-protocols:
+plasma-wayland-protocols: This project contains xml files of non-standard Wayland protocols used
+plasma-wayland-protocols: by Plasma.
+plasma-wayland-protocols:
+plasma-wayland-protocols:
+plasma-wayland-protocols:
+plasma-wayland-protocols:
+plasma-wayland-protocols:
+plasma-wayland-protocols:
+plasma-wayland-protocols:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-workspace b/testing/source/vtown/kde/slack-desc/plasma-workspace
new file mode 100644
index 00000000..58e4503a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-workspace
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-workspace: plasma-workspace (KDE Plasma Workspace)
+plasma-workspace:
+plasma-workspace: The Plasma Workspace provides support for KDE Plasma Widgets,
+plasma-workspace: integrated search, hardware management, and a high degree of
+plasma-workspace: customizability.
+plasma-workspace:
+plasma-workspace:
+plasma-workspace:
+plasma-workspace:
+plasma-workspace:
+plasma-workspace:
diff --git a/testing/source/vtown/kde/slack-desc/plasma-workspace-wallpapers b/testing/source/vtown/kde/slack-desc/plasma-workspace-wallpapers
new file mode 100644
index 00000000..c44ec306
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/plasma-workspace-wallpapers
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+plasma-workspace-wallpapers: plasma-workspace-wallpapers (Wallpapers for Plasma)
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers: Additional wallpapers for the KDE Plasma Workspace.
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
+plasma-workspace-wallpapers:
diff --git a/testing/source/vtown/kde/slack-desc/polkit-kde-agent-1 b/testing/source/vtown/kde/slack-desc/polkit-kde-agent-1
new file mode 100644
index 00000000..0815eb3a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/polkit-kde-agent-1
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+polkit-kde-agent-1: polkit-kde-agent-1 (KDE polkit authenticator)
+polkit-kde-agent-1:
+polkit-kde-agent-1: This daemon provides a polkit authenticator UI for KDE.
+polkit-kde-agent-1:
+polkit-kde-agent-1: See also:
+polkit-kde-agent-1: https://projects.kde.org/projects/kde/workspace/polkit-kde-agent-1
+polkit-kde-agent-1:
+polkit-kde-agent-1:
+polkit-kde-agent-1:
+polkit-kde-agent-1:
+polkit-kde-agent-1:
diff --git a/testing/source/vtown/kde/slack-desc/powerdevil b/testing/source/vtown/kde/slack-desc/powerdevil
new file mode 100644
index 00000000..8bf8eefa
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/powerdevil
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+powerdevil: powerdevil (power management tool)
+powerdevil:
+powerdevil: PowerDevil is a is a configuration tool for Power Management in
+powerdevil: Plasma. Through this module, you can define your computer's behavior
+powerdevil: in various situations, allowing you to save as much energy as
+powerdevil: possible.
+powerdevil:
+powerdevil:
+powerdevil:
+powerdevil:
+powerdevil:
diff --git a/testing/source/vtown/kde/slack-desc/poxml b/testing/source/vtown/kde/slack-desc/poxml
new file mode 100644
index 00000000..d3cc1f55
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/poxml
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+poxml: poxml (translate DocBook XML files)
+poxml:
+poxml: This is a collection of tools that facilitate translating DocBook XML
+poxml: files using Gettext message files (PO files). Also included are
+poxml: several command-line utilities for manipulating DocBook XML files, PO
+poxml: files and PO template files.
+poxml:
+poxml:
+poxml:
+poxml:
+poxml:
diff --git a/testing/source/vtown/kde/slack-desc/print-manager b/testing/source/vtown/kde/slack-desc/print-manager
new file mode 100644
index 00000000..35f04420
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/print-manager
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+print-manager: print-manager (manage print jobs and printers)
+print-manager:
+print-manager: Print Manager is a system tray utility that shows current print jobs,
+print-manager: printer warnings, and errors.
+print-manager:
+print-manager: Homepage: https://projects.kde.org/projects/kde/kdeutils/print-manager
+print-manager:
+print-manager:
+print-manager:
+print-manager:
+print-manager:
diff --git a/testing/source/vtown/kde/slack-desc/prison b/testing/source/vtown/kde/slack-desc/prison
new file mode 100644
index 00000000..2a8b7722
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/prison
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+prison: prison (Qt based Barcode API)
+prison:
+prison: Prison is a barcode API currently offering a Qt API to produce QRCode
+prison: barcodes and DotMatrix barcodes.
+prison:
+prison: Homepage: http://anongit.kde.org/prison
+prison:
+prison:
+prison:
+prison:
+prison:
diff --git a/testing/source/vtown/kde/slack-desc/pulseaudio-qt b/testing/source/vtown/kde/slack-desc/pulseaudio-qt
new file mode 100644
index 00000000..a367730a
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/pulseaudio-qt
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pulseaudio-qt: pulseaudio-qt (PulseAudio Qt bindings)
+pulseaudio-qt:
+pulseaudio-qt: PulseaudioQt allows programs using the Qt library to control volume
+pulseaudio-qt: and react to changes on systems which use PulseAudio.
+pulseaudio-qt:
+pulseaudio-qt: Homepage: https://cgit.kde.org/pulseaudio-qt.git/
+pulseaudio-qt:
+pulseaudio-qt:
+pulseaudio-qt:
+pulseaudio-qt:
+pulseaudio-qt:
diff --git a/testing/source/vtown/kde/slack-desc/purpose b/testing/source/vtown/kde/slack-desc/purpose
new file mode 100644
index 00000000..a285cf75
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/purpose
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+purpose: purpose (offers actions for a specific purpose)
+purpose:
+purpose: This framework offers the possibility to create integrate services and
+purpose: actions on any application without having to implement them
+purpose: specifically. Purpose will offer them mechanisms to list the different
+purpose: alternatives to execute given the requested action type and will
+purpose: facilitate components so that all the plugins can receive all the
+purpose: information they need.
+purpose:
+purpose:
+purpose:
diff --git a/testing/source/vtown/kde/slack-desc/qqc2-desktop-style b/testing/source/vtown/kde/slack-desc/qqc2-desktop-style
new file mode 100644
index 00000000..4826a899
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/qqc2-desktop-style
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qqc2-desktop-style: qqc2-desktop-style (desktop integration for Qt Quick Controls 2)
+qqc2-desktop-style:
+qqc2-desktop-style: QQC2-Desktop-Style is a style for Qt Quick Controls 2 (QQC2) which
+qqc2-desktop-style: uses QStyle to paint the controls in order to give them a native look
+qqc2-desktop-style: and feel.
+qqc2-desktop-style:
+qqc2-desktop-style: Homepage: https://api.kde.org/frameworks/qqc2-desktop-style/html/
+qqc2-desktop-style:
+qqc2-desktop-style:
+qqc2-desktop-style:
+qqc2-desktop-style:
diff --git a/testing/source/vtown/kde/slack-desc/rocs b/testing/source/vtown/kde/slack-desc/rocs
new file mode 100644
index 00000000..1be6d310
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/rocs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rocs: rocs (graph theory IDE)
+rocs:
+rocs: Rocs is a Graph Theory IDE for everybody interested in designing and
+rocs: analyzing graph algorithms (e.g., lecturers, students, researchers).
+rocs: For all these users, Rocs provides an easy to use visual data
+rocs: structure editor and a powerful scripting engine to execute
+rocs: algorithms. Algorithms are specified in JavaScript.
+rocs:
+rocs: Homepage: https://www.kde.org/applications/education/rocs
+rocs:
+rocs:
diff --git a/testing/source/vtown/kde/slack-desc/sddm b/testing/source/vtown/kde/slack-desc/sddm
new file mode 100644
index 00000000..1cd2d058
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/sddm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sddm: sddm (QML based X11 display manager)
+sddm:
+sddm: SDDM is a modern display manager for X11 aiming to be fast, simple and
+sddm: beautiful. It uses modern technologies like QtQuick, which in turn
+sddm: gives the designer the ability to create smooth, animated user
+sddm: interfaces. SDDM is extremely themeable. There are a few sample themes
+sddm: distributed with SDDM. They can be used as a starting point for new
+sddm: themes.
+sddm:
+sddm: Homepage: https://github.com/sddm/
+sddm:
diff --git a/testing/source/vtown/kde/slack-desc/sddm-kcm b/testing/source/vtown/kde/slack-desc/sddm-kcm
new file mode 100644
index 00000000..cbd03d57
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/sddm-kcm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sddm-kcm: sddm-kcm (configure SDDM in kde)
+sddm-kcm:
+sddm-kcm: KCM module for SDDM. This module allows for configuring SDDM in the
+sddm-kcm: KDE System Settings.
+sddm-kcm:
+sddm-kcm: Homepage: https://github.com/sddm/sddm-kcm
+sddm-kcm:
+sddm-kcm:
+sddm-kcm:
+sddm-kcm:
+sddm-kcm:
diff --git a/testing/source/vtown/kde/slack-desc/signon-kwallet-extension b/testing/source/vtown/kde/slack-desc/signon-kwallet-extension
new file mode 100644
index 00000000..8d9417b9
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/signon-kwallet-extension
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+signon-kwallet-extension: signon-kwallet-extension (KWallet SignOn extension)
+signon-kwallet-extension:
+signon-kwallet-extension: KWallet integration for the SignOn framework.
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
+signon-kwallet-extension:
diff --git a/testing/source/vtown/kde/slack-desc/skanlite b/testing/source/vtown/kde/slack-desc/skanlite
new file mode 100644
index 00000000..8b0c4c13
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/skanlite
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+skanlite: skanlite (scanning program)
+skanlite:
+skanlite: Skanlite is a lightweight scanning application based on libksane.
+skanlite:
+skanlite:
+skanlite:
+skanlite:
+skanlite:
+skanlite:
+skanlite:
+skanlite:
diff --git a/testing/source/vtown/kde/slack-desc/solid b/testing/source/vtown/kde/slack-desc/solid
new file mode 100644
index 00000000..ad17f337
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/solid
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+solid: solid (Desktop hardware abstraction)
+solid:
+solid: Solid is a device integration framework. It provides a way of querying
+solid: and interacting with hardware independently of the underlying
+solid: operating system. It provides hardware discovery, power management,
+solid: and network management features.
+solid:
+solid: Homepage: https://api.kde.org/frameworks/solid/html/
+solid:
+solid:
+solid:
diff --git a/testing/source/vtown/kde/slack-desc/sonnet b/testing/source/vtown/kde/slack-desc/sonnet
new file mode 100644
index 00000000..96547af3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/sonnet
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+sonnet: sonnet (Multi-language spell checker)
+sonnet:
+sonnet: Sonnet is a plugin-based spell checking library for Qt-based
+sonnet: applications. It supports several different plugins, including HSpell,
+sonnet: Enchant, ASpell and HUNSPELL. It also supports automated language
+sonnet: detection, based on a combination of different algorithms.
+sonnet:
+sonnet:
+sonnet:
+sonnet:
+sonnet:
diff --git a/testing/source/vtown/kde/slack-desc/spectacle b/testing/source/vtown/kde/slack-desc/spectacle
new file mode 100644
index 00000000..2cd6ef1e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/spectacle
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+spectacle: spectacle (screen capture program)
+spectacle:
+spectacle: Spectacle is screenshot taking utility for the KDE desktop. Spectacle
+spectacle: can also be used in non-KDE X11 desktop environments.
+spectacle:
+spectacle:
+spectacle:
+spectacle:
+spectacle:
+spectacle:
+spectacle:
diff --git a/testing/source/vtown/kde/slack-desc/step b/testing/source/vtown/kde/slack-desc/step
new file mode 100644
index 00000000..76d6c9c1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/step
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+step: step (interactive physics simulator)
+step:
+step: Step is an interactive physical simulator. It works like this: you
+step: place some bodies on the scene, add some forces such as gravity or
+step: springs, then click "Simulate" and Step shows you how your scene will
+step: evolve according to the laws of physics. With Step you can not only
+step: learn but feel how physics works!
+step:
+step:
+step:
+step:
diff --git a/testing/source/vtown/kde/slack-desc/svgpart b/testing/source/vtown/kde/slack-desc/svgpart
new file mode 100644
index 00000000..134adc0f
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/svgpart
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+svgpart: svgpart (SVG plugin for KDE)
+svgpart:
+svgpart: KPart for viewing SVG files in KDE.
+svgpart:
+svgpart:
+svgpart:
+svgpart:
+svgpart:
+svgpart:
+svgpart:
+svgpart:
diff --git a/testing/source/vtown/kde/slack-desc/sweeper b/testing/source/vtown/kde/slack-desc/sweeper
new file mode 100644
index 00000000..d2984070
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/sweeper
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side msweepers the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sweeper: sweeper (remove traces of your activities)
+sweeper:
+sweeper: Sweeper helps to clean unwanted traces the user leaves on the system.
+sweeper:
+sweeper: Homepage: https://projects.kde.org/projects/kde/kdeutils/sweeper
+sweeper:
+sweeper:
+sweeper:
+sweeper:
+sweeper:
+sweeper:
diff --git a/testing/source/vtown/kde/slack-desc/syndication b/testing/source/vtown/kde/slack-desc/syndication
new file mode 100644
index 00000000..278b49b7
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/syndication
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+syndication: syndication (RSS/Atom parser library)
+syndication:
+syndication: Syndication is a RSS/Atom parser library supporting RSS (0.9/1.0,
+syndication: 0.91..2.0) and Atom (0.3 and 1.0) feeds. Syndication offers a unified,
+syndication: format-agnostic view on the parsed feed, so that the using application
+syndication: does not need to distinguish between feed formats.
+syndication:
+syndication:
+syndication:
+syndication:
+syndication:
diff --git a/testing/source/vtown/kde/slack-desc/syntax-highlighting b/testing/source/vtown/kde/slack-desc/syntax-highlighting
new file mode 100644
index 00000000..a330c3f3
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/syntax-highlighting
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+syntax-highlighting: syntax-highlighting (syntax highlighting for Kate)
+syntax-highlighting:
+syntax-highlighting: Syntax highlighting engine for structured text and code.
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
+syntax-highlighting:
diff --git a/testing/source/vtown/kde/slack-desc/systemsettings b/testing/source/vtown/kde/slack-desc/systemsettings
new file mode 100644
index 00000000..bfe212fe
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/systemsettings
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+systemsettings: systemsettings (system settings utility)
+systemsettings:
+systemsettings: Control center for KDE software and workspaces.
+systemsettings:
+systemsettings:
+systemsettings:
+systemsettings:
+systemsettings:
+systemsettings:
+systemsettings:
+systemsettings:
diff --git a/testing/source/vtown/kde/slack-desc/threadweaver b/testing/source/vtown/kde/slack-desc/threadweaver
new file mode 100644
index 00000000..a8e9a223
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/threadweaver
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+threadweaver: threadweaver (threaded programming helper)
+threadweaver:
+threadweaver: ThreadWeaver is a helper for multithreaded programming. It uses a job-
+threadweaver: based interface to queue tasks and execute them in an efficient way.
+threadweaver: You simply divide the workload into jobs, state the dependencies
+threadweaver: between the jobs and ThreadWeaver will work out the most efficient way
+threadweaver: of dividing the work between threads within a set of resource limits.
+threadweaver:
+threadweaver:
+threadweaver:
+threadweaver:
diff --git a/testing/source/vtown/kde/slack-desc/umbrello b/testing/source/vtown/kde/slack-desc/umbrello
new file mode 100644
index 00000000..94bde3f6
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/umbrello
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+umbrello: umbrello (UML diagramming GUI)
+umbrello:
+umbrello: umbrello is a GUI for diagramming Unified Modelling Language (UML).
+umbrello:
+umbrello:
+umbrello:
+umbrello:
+umbrello:
+umbrello:
+umbrello:
+umbrello:
diff --git a/testing/source/vtown/kde/slack-desc/user-manager b/testing/source/vtown/kde/slack-desc/user-manager
new file mode 100644
index 00000000..57a895a1
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/user-manager
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+user-manager: user-manager (manage the users of your system)
+user-manager:
+user-manager: User-manager is a system settings module to manage the users of your
+user-manager: system.
+user-manager:
+user-manager:
+user-manager:
+user-manager:
+user-manager:
+user-manager:
+user-manager:
diff --git a/testing/source/vtown/kde/slack-desc/wacomtablet b/testing/source/vtown/kde/slack-desc/wacomtablet
new file mode 100644
index 00000000..de9b11d5
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/wacomtablet
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+wacomtablet: wacomtablet (kcm for Wacom tablets)
+wacomtablet:
+wacomtablet: This module implements a GUI for the Wacom Linux Drivers and extends
+wacomtablet: it with profile support to handle different button / pen layouts per
+wacomtablet: profile.
+wacomtablet:
+wacomtablet: Homepage: https://github.com/KDE/wacomtablet
+wacomtablet:
+wacomtablet:
+wacomtablet:
+wacomtablet:
diff --git a/testing/source/vtown/kde/slack-desc/xdg-desktop-portal-kde b/testing/source/vtown/kde/slack-desc/xdg-desktop-portal-kde
new file mode 100644
index 00000000..8edffed7
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/xdg-desktop-portal-kde
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xdg-desktop-portal-kde: xdg-desktop-portal-kde (implementation for xdg-desktop-portal)
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde: A backend implementation for xdg-desktop-portal using Qt/KF5.
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
+xdg-desktop-portal-kde:
diff --git a/testing/source/vtown/kde/slack-desc/yakuake b/testing/source/vtown/kde/slack-desc/yakuake
new file mode 100644
index 00000000..c901c64e
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/yakuake
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+yakuake: yakuake (drop-down terminal)
+yakuake:
+yakuake: Yakuake is a drop-down terminal emulator based on KDE Konsole.
+yakuake:
+yakuake: Some of the features of Yakuake include:
+yakuake: Smoothly rolls down from the top of your screen
+yakuake: Tabbed, skinnable interface
+yakuake: Configurable dimensions and animation speed
+yakuake: Sophisticated D-Bus interface
+yakuake:
+yakuake:
diff --git a/testing/source/vtown/kde/slack-desc/zeroconf-ioslave b/testing/source/vtown/kde/slack-desc/zeroconf-ioslave
new file mode 100644
index 00000000..0a881c20
--- /dev/null
+++ b/testing/source/vtown/kde/slack-desc/zeroconf-ioslave
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+zeroconf-ioslave: zeroconf-ioslave (network monitor for zeroconf)
+zeroconf-ioslave:
+zeroconf-ioslave: A network monitor for DNS-SD services (Zeroconf).
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
+zeroconf-ioslave:
diff --git a/testing/source/vtown/kde/src/applications-extra/fetch-kjots.sh b/testing/source/vtown/kde/src/applications-extra/fetch-kjots.sh
new file mode 100755
index 00000000..2df1f14c
--- /dev/null
+++ b/testing/source/vtown/kde/src/applications-extra/fetch-kjots.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=kjots
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/KDE/${PKGNAM}
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/testing/source/vtown/kde/src/applications-extra/fetch-krita.sh b/testing/source/vtown/kde/src/applications-extra/fetch-krita.sh
new file mode 100755
index 00000000..00720591
--- /dev/null
+++ b/testing/source/vtown/kde/src/applications-extra/fetch-krita.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=krita
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/KDE/${PKGNAM}
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/testing/source/vtown/kde/src/plasma-extra/fetch-wacomtablet.sh b/testing/source/vtown/kde/src/plasma-extra/fetch-wacomtablet.sh
new file mode 100755
index 00000000..f75dbc50
--- /dev/null
+++ b/testing/source/vtown/kde/src/plasma-extra/fetch-wacomtablet.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=wacomtablet
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/KDE/${PKGNAM}
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo