
This patch only moves or duplicates files. No code changes. - Move virtualization layer to plugins/kimchi - Move kimchi-specific Web UI to plugins/kimchi - Copy autogen, configure, build-aux, m4 files to plugins/kimchi - Copy documentation files to plugins/kimchi Signed-off-by: Lucio Correia <luciojhc@linux.vnet.ibm.com> Signed-off-by: Gustavo Y. Ribeiro <gyr@linux.vnet.ibm.com> --- plugins/kimchi/.gitignore | 43 ++ {src => plugins}/kimchi/API.json | 0 plugins/kimchi/INSTALL | 369 ++++++++++ plugins/kimchi/Makefile.am | 165 +++++ README.md => plugins/kimchi/README.md | 0 VERSION => plugins/kimchi/VERSION | 0 plugins/kimchi/autogen.sh | 21 + plugins/kimchi/build-aux/config.rpath | 672 +++++++++++++++++ plugins/kimchi/build-aux/genChangelog | 25 + plugins/kimchi/build-aux/pkg-version | 59 ++ plugins/kimchi/config.rpath | 672 +++++++++++++++++ plugins/kimchi/configure.ac | 147 ++++ .../kimchi/contrib}/DEBIAN/Makefile.am | 0 .../kimchi/contrib}/DEBIAN/control.in | 0 {contrib => plugins/kimchi/contrib}/Makefile.am | 0 plugins/kimchi/contrib/check_i18n.py | 82 ++ .../kimchi/contrib}/kimchi.spec.fedora.in | 0 .../kimchi/contrib}/kimchi.spec.suse.in | 0 {contrib => plugins/kimchi/contrib}/make-deb.sh.in | 0 {src => plugins}/kimchi/control/Makefile.am | 0 {src => plugins}/kimchi/control/__init__.py | 0 {src => plugins}/kimchi/control/config.py | 0 {src => plugins}/kimchi/control/cpuinfo.py | 0 {src => plugins}/kimchi/control/debugreports.py | 0 {src => plugins}/kimchi/control/groups.py | 0 {src => plugins}/kimchi/control/host.py | 0 {src => plugins}/kimchi/control/interfaces.py | 0 {src => plugins}/kimchi/control/networks.py | 0 {src => plugins}/kimchi/control/peers.py | 0 {src => plugins}/kimchi/control/storagepools.py | 0 {src => plugins}/kimchi/control/storageservers.py | 0 {src => plugins}/kimchi/control/storagevolumes.py | 0 {src => plugins}/kimchi/control/tasks.py | 0 {src => plugins}/kimchi/control/templates.py | 0 {src => plugins}/kimchi/control/users.py | 0 {src => plugins}/kimchi/control/vm/Makefile.am | 0 {src => plugins}/kimchi/control/vm/__init__.py | 0 {src => plugins}/kimchi/control/vm/hostdevs.py | 0 {src => plugins}/kimchi/control/vm/ifaces.py | 0 {src => plugins}/kimchi/control/vm/snapshots.py | 0 {src => plugins}/kimchi/control/vm/storages.py | 0 {src => plugins}/kimchi/control/vms.py | 0 {src => plugins}/kimchi/disks.py | 0 {src => plugins}/kimchi/distroloader.py | 0 {src => plugins/kimchi}/distros.d/Makefile.am | 0 {src => plugins/kimchi}/distros.d/debian.json | 0 {src => plugins/kimchi}/distros.d/fedora.json | 0 {src => plugins/kimchi}/distros.d/gentoo.json | 0 {src => plugins/kimchi}/distros.d/opensuse.json | 0 {src => plugins/kimchi}/distros.d/ubuntu.json | 0 {docs => plugins/kimchi/docs}/API.md | 0 {docs => plugins/kimchi/docs}/Makefile.am | 0 {docs => plugins/kimchi/docs}/README-federation.md | 0 {docs => plugins/kimchi/docs}/README.md | 0 {docs => plugins/kimchi/docs}/kimchi-guest.png | Bin 192281 -> 192281 bytes {docs => plugins/kimchi/docs}/kimchi-login.png | Bin 318041 -> 318041 bytes {docs => plugins/kimchi/docs}/kimchi-templates.png | Bin 329678 -> 329678 bytes {src => plugins}/kimchi/i18n.py | 0 {src => plugins}/kimchi/imageinfo.py | 0 {src => plugins}/kimchi/iscsi.py | 0 {src => plugins}/kimchi/isoinfo.py | 0 {src => plugins}/kimchi/kvmusertests.py | 0 plugins/kimchi/m4/ac_python_module.m4 | 30 + plugins/kimchi/m4/gettext.m4 | 383 ++++++++++ plugins/kimchi/m4/iconv.m4 | 214 ++++++ plugins/kimchi/m4/intlmacosx.m4 | 51 ++ plugins/kimchi/m4/lib-ld.m4 | 110 +++ plugins/kimchi/m4/lib-link.m4 | 774 ++++++++++++++++++++ plugins/kimchi/m4/lib-prefix.m4 | 224 ++++++ plugins/kimchi/m4/nls.m4 | 32 + plugins/kimchi/m4/po.m4 | 449 ++++++++++++ plugins/kimchi/m4/progtest.m4 | 92 +++ {src => plugins}/kimchi/mockmodel.py | 0 {src => plugins}/kimchi/model/Makefile.am | 0 {src => plugins}/kimchi/model/__init__.py | 0 {src => plugins}/kimchi/model/config.py | 0 {src => plugins}/kimchi/model/cpuinfo.py | 0 {src => plugins}/kimchi/model/debugreports.py | 0 {src => plugins}/kimchi/model/diskutils.py | 0 {src => plugins}/kimchi/model/featuretests.py | 0 {src => plugins}/kimchi/model/groups.py | 0 {src => plugins}/kimchi/model/host.py | 0 {src => plugins}/kimchi/model/hostdev.py | 0 {src => plugins}/kimchi/model/interfaces.py | 0 {src => plugins}/kimchi/model/libvirtconnection.py | 0 .../kimchi/model/libvirtstoragepool.py | 0 {src => plugins}/kimchi/model/model.py | 0 {src => plugins}/kimchi/model/networks.py | 0 {src => plugins}/kimchi/model/peers.py | 0 {src => plugins}/kimchi/model/storagepools.py | 0 {src => plugins}/kimchi/model/storageservers.py | 0 {src => plugins}/kimchi/model/storagetargets.py | 0 {src => plugins}/kimchi/model/storagevolumes.py | 0 {src => plugins}/kimchi/model/tasks.py | 0 {src => plugins}/kimchi/model/templates.py | 0 {src => plugins}/kimchi/model/users.py | 0 {src => plugins}/kimchi/model/utils.py | 0 {src => plugins}/kimchi/model/vmhostdevs.py | 0 {src => plugins}/kimchi/model/vmifaces.py | 0 {src => plugins}/kimchi/model/vms.py | 0 {src => plugins}/kimchi/model/vmsnapshots.py | 0 {src => plugins}/kimchi/model/vmstorages.py | 0 {src => plugins}/kimchi/osinfo.py | 0 {po => plugins/kimchi/po}/LINGUAS | 0 {po => plugins/kimchi/po}/Makefile.in.in | 0 {po => plugins/kimchi/po}/Makevars | 0 {po => plugins/kimchi/po}/POTFILES.in | 0 {po => plugins/kimchi/po}/de_DE.po | 0 {po => plugins/kimchi/po}/en_US.po | 0 {po => plugins/kimchi/po}/es_ES.po | 0 {po => plugins/kimchi/po}/fr_FR.po | 0 {po => plugins/kimchi/po}/gen-pot.in | 0 {po => plugins/kimchi/po}/it_IT.po | 0 {po => plugins/kimchi/po}/ja_JP.po | 0 {po => plugins/kimchi/po}/kimchi.pot | 0 {po => plugins/kimchi/po}/ko_KR.po | 0 {po => plugins/kimchi/po}/pt_BR.po | 0 {po => plugins/kimchi/po}/ru_RU.po | 0 {po => plugins/kimchi/po}/zh_CN.po | 0 {po => plugins/kimchi/po}/zh_TW.po | 0 {src => plugins}/kimchi/repositories.py | 0 {src => plugins}/kimchi/scan.py | 0 {src => plugins}/kimchi/screenshot.py | 0 {src => plugins}/kimchi/swupdate.py | 0 {src => plugins/kimchi}/template.conf | 0 {tests => plugins/kimchi/tests}/Makefile.am | 0 {tests => plugins/kimchi/tests}/iso_gen.py | 0 {tests => plugins/kimchi/tests}/run_tests.sh.in | 0 .../kimchi/tests}/test_authorization.py | 0 {tests => plugins/kimchi/tests}/test_config.py.in | 0 {tests => plugins/kimchi/tests}/test_exception.py | 0 {tests => plugins/kimchi/tests}/test_host.py | 0 .../kimchi/tests}/test_mock_network.py | 0 .../kimchi/tests}/test_mock_storagepool.py | 0 .../kimchi/tests}/test_mock_storagevolume.py | 0 {tests => plugins/kimchi/tests}/test_mockmodel.py | 0 {tests => plugins/kimchi/tests}/test_model.py | 0 .../kimchi/tests}/test_model_network.py | 0 .../kimchi/tests}/test_model_storagepool.py | 0 .../kimchi/tests}/test_model_storagevolume.py | 0 {tests => plugins/kimchi/tests}/test_networkxml.py | 0 .../kimchi/tests}/test_objectstore.py | 0 {tests => plugins/kimchi/tests}/test_osinfo.py | 0 {tests => plugins/kimchi/tests}/test_plugin.py | 0 {tests => plugins/kimchi/tests}/test_rest.py | 0 .../kimchi/tests}/test_rollbackcontext.py | 0 {tests => plugins/kimchi/tests}/test_server.py | 0 .../kimchi/tests}/test_storagepoolxml.py | 0 {tests => plugins/kimchi/tests}/test_template.py | 0 {tests => plugins/kimchi/tests}/test_utils.py | 0 {tests => plugins/kimchi/tests}/test_vmtemplate.py | 0 {tests => plugins/kimchi/tests}/test_yumparser.py | 0 {tests => plugins/kimchi/tests}/utils.py | 0 {config => plugins/kimchi/ui}/Makefile.am | 0 .../ui => plugins/kimchi/ui/config}/Makefile.am | 0 .../kimchi/ui/config/tab-ext.xml | 0 {ui => plugins/kimchi/ui}/css/Makefile.am | 0 .../kimchi/ui}/css/theme-default/button.css | 0 .../kimchi/ui}/css/theme-default/circleGauge.css | 0 .../kimchi/ui}/css/theme-default/form.css | 0 .../kimchi/ui}/css/theme-default/grid.css | 0 .../kimchi/ui}/css/theme-default/guest-edit.css | 0 .../ui}/css/theme-default/guest-storage-add.css | 0 .../kimchi/ui}/css/theme-default/host.css | 0 .../ui}/css/theme-default/jquery-ui.custom.css | 0 .../kimchi/ui}/css/theme-default/line-chart.css | 0 .../kimchi/ui}/css/theme-default/list.css | 0 .../kimchi/ui}/css/theme-default/message.css | 0 .../kimchi/ui}/css/theme-default/network.css | 0 .../kimchi/ui}/css/theme-default/popover.css | 0 .../kimchi/ui}/css/theme-default/report-add.css | 0 .../kimchi/ui}/css/theme-default/report-rename.css | 0 .../ui}/css/theme-default/repository-add.css | 0 .../ui}/css/theme-default/repository-edit.css | 0 .../kimchi/ui}/css/theme-default/storage.css | 0 .../css/theme-default/storagepool-add-volume.css | 0 .../kimchi/ui}/css/theme-default/template-edit.css | 0 .../kimchi/ui}/css/theme-default/template.css | 0 .../kimchi/ui}/css/theme-default/template_add.css | 0 .../kimchi/ui}/css/theme-default/template_list.css | 0 .../kimchi/ui}/css/theme-default/tile-check.css | 0 .../kimchi/ui}/css/theme-default/toolbar.css | 0 {ui => plugins/kimchi/ui}/images/Makefile.am | 0 {ui => plugins/kimchi/ui}/images/icon-centos.png | Bin 4734 -> 4734 bytes {ui => plugins/kimchi/ui}/images/icon-debian.png | Bin 4239 -> 4239 bytes {ui => plugins/kimchi/ui}/images/icon-fedora.png | Bin 4449 -> 4449 bytes {ui => plugins/kimchi/ui}/images/icon-gentoo.png | Bin 15307 -> 15307 bytes {ui => plugins/kimchi/ui}/images/icon-opensuse.png | Bin 3046 -> 3046 bytes {ui => plugins/kimchi/ui}/images/icon-ubuntu.png | Bin 4818 -> 4818 bytes {ui => plugins/kimchi/ui}/images/icon-vm.png | Bin 2976 -> 2976 bytes {ui => plugins/kimchi/ui}/images/logo.ico | Bin 1214 -> 1214 bytes .../kimchi/ui}/images/theme-default/Makefile.am | 0 .../kimchi/ui}/images/theme-default/ac22_pause.png | Bin 1219 -> 1219 bytes .../ui}/images/theme-default/ac22_pause_grey.png | Bin 1175 -> 1175 bytes .../ui}/images/theme-default/ac24_resume.png | Bin 1341 -> 1341 bytes .../ui}/images/theme-default/ac24_resume_grey.png | Bin 1282 -> 1282 bytes .../kimchi/ui}/images/theme-default/alert.png | Bin 3537 -> 3537 bytes .../ui/images/theme-default/arrow-down-black.png | Bin 2958 -> 2942 bytes .../images/theme-default/arrow-down-disable.png | Bin 472 -> 472 bytes .../kimchi/ui}/images/theme-default/arrow-down.png | Bin 537 -> 537 bytes .../kimchi/ui}/images/theme-default/arrow-up.png | Bin 510 -> 510 bytes .../kimchi/ui}/images/theme-default/arrow_out.png | Bin 3048 -> 3048 bytes .../kimchi/ui/images/theme-default/bg-mask.png | Bin 2958 -> 2899 bytes .../ui}/images/theme-default/check-green.png | Bin 3501 -> 3501 bytes .../kimchi/ui}/images/theme-default/check-grey.png | Bin 3535 -> 3535 bytes .../ui/images/theme-default/folder-arrow-down.png | Bin 2958 -> 2956 bytes .../images/theme-default/folder-arrow-right.png | Bin 2958 -> 2958 bytes .../kimchi/ui}/images/theme-default/group.png | Bin 1703 -> 1703 bytes .../ui}/images/theme-default/host-icon-sprite.png | Bin 1034 -> 1034 bytes .../kimchi/ui}/images/theme-default/icon-alert.png | Bin 3545 -> 3545 bytes .../kimchi/ui}/images/theme-default/icon-back.png | Bin 244 -> 244 bytes .../ui}/images/theme-default/icon-camera.png | Bin 4860 -> 4860 bytes .../ui}/images/theme-default/icon-design.png | Bin 4562 -> 4562 bytes .../ui}/images/theme-default/icon-detail.png | Bin 3079 -> 3079 bytes .../kimchi/ui}/images/theme-default/icon-event.png | Bin 3791 -> 3791 bytes .../kimchi/ui}/images/theme-default/icon-iso.png | Bin 4188 -> 4188 bytes .../kimchi/ui}/images/theme-default/icon-list.png | Bin 2983 -> 2983 bytes .../kimchi/ui}/images/theme-default/icon-load.png | Bin 3678 -> 3678 bytes .../kimchi/ui}/images/theme-default/icon-local.png | Bin 425 -> 425 bytes .../ui}/images/theme-default/icon-power-down.png | Bin 4372 -> 4372 bytes .../ui}/images/theme-default/icon-power-up.png | Bin 4367 -> 4367 bytes .../kimchi/ui}/images/theme-default/icon-qcow2.png | Bin 4684 -> 4684 bytes .../kimchi/ui}/images/theme-default/icon-raw.png | Bin 4679 -> 4679 bytes .../ui}/images/theme-default/icon-remote.png | Bin 1005 -> 1005 bytes .../kimchi/ui}/images/theme-default/icon-reset.png | Bin 4576 -> 4576 bytes .../ui}/images/theme-default/icon-search.png | Bin 4197 -> 4197 bytes .../ui}/images/theme-default/icon-setting.png | Bin 3664 -> 3664 bytes .../kimchi/ui}/images/theme-default/icon-sort.png | Bin 3421 -> 3421 bytes .../kimchi/ui}/images/theme-default/icon-tool.png | Bin 4466 -> 4466 bytes .../kimchi/ui}/images/theme-default/icon-tree.png | Bin 3526 -> 3526 bytes .../kimchi/ui}/images/theme-default/icon-user.png | Bin 5366 -> 5366 bytes .../images/theme-default/icon-volume-default.png | Bin 4265 -> 4265 bytes .../ui}/images/theme-default/kimchi-loading.gif | Bin 6181 -> 6181 bytes .../images/theme-default/kimchi-loading15x15.gif | Bin 1653 -> 1653 bytes .../kimchi/ui}/images/theme-default/loading.gif | Bin 2190 -> 2190 bytes .../kimchi/ui}/images/theme-default/logo-white.png | Bin 9879 -> 9879 bytes .../ui}/images/theme-default/thumb-guest.png | Bin 3896 -> 3896 bytes .../kimchi/ui}/images/theme-default/thumb-host.png | Bin 5069 -> 5069 bytes .../kimchi/ui}/images/theme-default/user.png | Bin 1322 -> 1322 bytes {ui => plugins/kimchi/ui}/js/Makefile.am | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.api.js | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.form.js | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.grid.js | 0 .../kimchi/ui}/js/src/kimchi.guest_add_main.js | 0 .../kimchi/ui}/js/src/kimchi.guest_edit_main.js | 0 .../kimchi/ui}/js/src/kimchi.guest_main.js | 0 .../kimchi/ui}/js/src/kimchi.guest_media_main.js | 0 .../ui}/js/src/kimchi.guest_storage_add.main.js | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.host.js | 0 .../kimchi/ui}/js/src/kimchi.line-chart.js | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.network.js | 0 .../kimchi/ui}/js/src/kimchi.report_add_main.js | 0 .../kimchi/ui}/js/src/kimchi.report_rename_main.js | 0 .../ui}/js/src/kimchi.repository_add_main.js | 0 .../ui}/js/src/kimchi.repository_edit_main.js | 0 {ui => plugins/kimchi/ui}/js/src/kimchi.select.js | 0 .../kimchi/ui}/js/src/kimchi.storage_main.js | 0 .../ui}/js/src/kimchi.storagepool_add_main.js | 0 .../js/src/kimchi.storagepool_add_volume_main.js | 0 .../kimchi/ui}/js/src/kimchi.template_add_main.js | 0 .../kimchi/ui}/js/src/kimchi.template_edit_main.js | 0 .../kimchi/ui}/js/src/kimchi.template_main.js | 0 .../kimchi/ui}/js/widgets/circleGauge.js | 0 {ui => plugins/kimchi/ui}/libs/Makefile.am | 0 {ui => plugins/kimchi/ui}/libs/themes/Makefile.am | 0 .../kimchi/ui}/libs/themes/base/Makefile.am | 0 .../kimchi/ui}/libs/themes/base/images/Makefile.am | 0 .../libs/themes/base/images/animated-overlay.gif | Bin 1738 -> 1738 bytes .../base/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 180 bytes .../base/images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 178 bytes .../base/images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 120 bytes .../base/images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 105 bytes .../base/images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 111 bytes .../base/images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 110 bytes .../base/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 101 bytes .../themes/base/images/ui-icons_222222_256x240.png | Bin 4369 -> 4369 bytes .../themes/base/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 4369 bytes .../themes/base/images/ui-icons_454545_256x240.png | Bin 4369 -> 4369 bytes .../themes/base/images/ui-icons_888888_256x240.png | Bin 4369 -> 4369 bytes .../themes/base/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 4369 bytes {ui => plugins/kimchi/ui}/pages/Makefile.am | 0 {ui => plugins/kimchi/ui}/pages/error.html.tmpl | 0 .../kimchi/ui}/pages/guest-add.html.tmpl | 0 .../kimchi/ui}/pages/guest-edit.html.tmpl | 0 .../kimchi/ui}/pages/guest-storage-add.html.tmpl | 0 {ui => plugins/kimchi/ui}/pages/guest.html.tmpl | 0 {ui => plugins/kimchi/ui}/pages/help/Makefile.am | 0 .../kimchi/ui}/pages/help/de_DE/Makefile.am | 0 .../kimchi/ui}/pages/help/de_DE/guests.dita | 0 .../kimchi/ui}/pages/help/de_DE/host.dita | 0 .../kimchi/ui}/pages/help/de_DE/network.dita | 0 .../kimchi/ui}/pages/help/de_DE/storage.dita | 0 .../kimchi/ui}/pages/help/de_DE/templates.dita | 0 {ui => plugins/kimchi/ui}/pages/help/dita-help.xsl | 0 .../kimchi/ui}/pages/help/en_US/Makefile.am | 0 .../kimchi/ui}/pages/help/en_US/guests.dita | 0 .../kimchi/ui}/pages/help/en_US/host.dita | 0 .../kimchi/ui}/pages/help/en_US/network.dita | 0 .../kimchi/ui}/pages/help/en_US/storage.dita | 0 .../kimchi/ui}/pages/help/en_US/templates.dita | 0 .../kimchi/ui}/pages/help/es_ES/Makefile.am | 0 .../kimchi/ui}/pages/help/es_ES/guests.dita | 0 .../kimchi/ui}/pages/help/es_ES/host.dita | 0 .../kimchi/ui}/pages/help/es_ES/network.dita | 0 .../kimchi/ui}/pages/help/es_ES/storage.dita | 0 .../kimchi/ui}/pages/help/es_ES/templates.dita | 0 .../kimchi/ui}/pages/help/fr_FR/Makefile.am | 0 .../kimchi/ui}/pages/help/fr_FR/guests.dita | 0 .../kimchi/ui}/pages/help/fr_FR/host.dita | 0 .../kimchi/ui}/pages/help/fr_FR/network.dita | 0 .../kimchi/ui}/pages/help/fr_FR/storage.dita | 0 .../kimchi/ui}/pages/help/fr_FR/templates.dita | 0 {ui => plugins/kimchi/ui}/pages/help/gen-index.py | 0 .../kimchi/ui}/pages/help/it_IT/Makefile.am | 0 .../kimchi/ui}/pages/help/it_IT/guests.dita | 0 .../kimchi/ui}/pages/help/it_IT/host.dita | 0 .../kimchi/ui}/pages/help/it_IT/network.dita | 0 .../kimchi/ui}/pages/help/it_IT/storage.dita | 0 .../kimchi/ui}/pages/help/it_IT/templates.dita | 0 .../kimchi/ui}/pages/help/ja_JP/Makefile.am | 0 .../kimchi/ui}/pages/help/ja_JP/guests.dita | 0 .../kimchi/ui}/pages/help/ja_JP/host.dita | 0 .../kimchi/ui}/pages/help/ja_JP/network.dita | 0 .../kimchi/ui}/pages/help/ja_JP/storage.dita | 0 .../kimchi/ui}/pages/help/ja_JP/templates.dita | 0 {ui => plugins/kimchi/ui}/pages/help/kimchi.css | 0 .../kimchi/ui}/pages/help/ko_KR/Makefile.am | 0 .../kimchi/ui}/pages/help/ko_KR/guests.dita | 0 .../kimchi/ui}/pages/help/ko_KR/host.dita | 0 .../kimchi/ui}/pages/help/ko_KR/network.dita | 0 .../kimchi/ui}/pages/help/ko_KR/storage.dita | 0 .../kimchi/ui}/pages/help/ko_KR/templates.dita | 0 .../kimchi/ui}/pages/help/pt_BR/Makefile.am | 0 .../kimchi/ui}/pages/help/pt_BR/guests.dita | 0 .../kimchi/ui}/pages/help/pt_BR/host.dita | 0 .../kimchi/ui}/pages/help/pt_BR/network.dita | 0 .../kimchi/ui}/pages/help/pt_BR/storage.dita | 0 .../kimchi/ui}/pages/help/pt_BR/templates.dita | 0 .../kimchi/ui}/pages/help/ru_RU/Makefile.am | 0 .../kimchi/ui}/pages/help/ru_RU/guests.dita | 0 .../kimchi/ui}/pages/help/ru_RU/host.dita | 0 .../kimchi/ui}/pages/help/ru_RU/network.dita | 0 .../kimchi/ui}/pages/help/ru_RU/storage.dita | 0 .../kimchi/ui}/pages/help/ru_RU/templates.dita | 0 .../kimchi/ui}/pages/help/zh_CN/Makefile.am | 0 .../kimchi/ui}/pages/help/zh_CN/guests.dita | 0 .../kimchi/ui}/pages/help/zh_CN/host.dita | 0 .../kimchi/ui}/pages/help/zh_CN/network.dita | 0 .../kimchi/ui}/pages/help/zh_CN/storage.dita | 0 .../kimchi/ui}/pages/help/zh_CN/templates.dita | 0 .../kimchi/ui}/pages/help/zh_TW/Makefile.am | 0 .../kimchi/ui}/pages/help/zh_TW/guests.dita | 0 .../kimchi/ui}/pages/help/zh_TW/host.dita | 0 .../kimchi/ui}/pages/help/zh_TW/network.dita | 0 .../kimchi/ui}/pages/help/zh_TW/storage.dita | 0 .../kimchi/ui}/pages/help/zh_TW/templates.dita | 0 {ui => plugins/kimchi/ui}/pages/i18n.json.tmpl | 0 .../kimchi/ui}/pages/report-add.html.tmpl | 0 .../kimchi/ui}/pages/report-rename.html.tmpl | 0 .../kimchi/ui}/pages/repository-add.html.tmpl | 0 .../kimchi/ui}/pages/repository-edit.html.tmpl | 0 .../ui}/pages/storagepool-add-volume.html.tmpl | 0 .../kimchi/ui}/pages/storagepool-add.html.tmpl | 0 {ui => plugins/kimchi/ui}/pages/tabs/Makefile.am | 0 .../kimchi/ui}/pages/tabs/guests.html.tmpl | 0 .../kimchi/ui}/pages/tabs/host.html.tmpl | 0 .../kimchi/ui}/pages/tabs/network.html.tmpl | 0 .../kimchi/ui}/pages/tabs/storage.html.tmpl | 0 .../kimchi/ui}/pages/tabs/templates.html.tmpl | 0 .../kimchi/ui}/pages/template-add.html.tmpl | 0 .../kimchi/ui}/pages/template-edit.html.tmpl | 0 {ui => plugins/kimchi/ui}/robots.txt | 0 {ui => plugins/kimchi/ui}/spice-html5/Makefile.am | 0 .../kimchi/ui}/spice-html5/atKeynames.js | 0 {ui => plugins/kimchi/ui}/spice-html5/bitmap.js | 0 .../kimchi/ui}/spice-html5/css/Makefile.am | 0 .../kimchi/ui}/spice-html5/css/spice.css | 0 {ui => plugins/kimchi/ui}/spice-html5/cursor.js | 0 {ui => plugins/kimchi/ui}/spice-html5/display.js | 0 {ui => plugins/kimchi/ui}/spice-html5/enums.js | 0 {ui => plugins/kimchi/ui}/spice-html5/inputs.js | 0 {ui => plugins/kimchi/ui}/spice-html5/lz.js | 0 {ui => plugins/kimchi/ui}/spice-html5/main.js | 0 .../kimchi/ui}/spice-html5/pages/Makefile.am | 0 .../kimchi/ui}/spice-html5/pages/spice_auto.html | 0 {ui => plugins/kimchi/ui}/spice-html5/playback.js | 0 {ui => plugins/kimchi/ui}/spice-html5/png.js | 0 {ui => plugins/kimchi/ui}/spice-html5/quic.js | 0 {ui => plugins/kimchi/ui}/spice-html5/resize.js | 0 .../kimchi/ui}/spice-html5/simulatecursor.js | 0 .../kimchi/ui}/spice-html5/spicearraybuffer.js | 0 {ui => plugins/kimchi/ui}/spice-html5/spiceconn.js | 0 .../kimchi/ui}/spice-html5/spicedataview.js | 0 {ui => plugins/kimchi/ui}/spice-html5/spicemsg.js | 0 {ui => plugins/kimchi/ui}/spice-html5/spicetype.js | 0 .../kimchi/ui}/spice-html5/thirdparty/Makefile.am | 0 .../kimchi/ui}/spice-html5/thirdparty/jsbn.js | 0 .../kimchi/ui}/spice-html5/thirdparty/prng4.js | 0 .../kimchi/ui}/spice-html5/thirdparty/rng.js | 0 .../kimchi/ui}/spice-html5/thirdparty/rsa.js | 0 .../kimchi/ui}/spice-html5/thirdparty/sha1.js | 0 {ui => plugins/kimchi/ui}/spice-html5/ticket.js | 0 {ui => plugins/kimchi/ui}/spice-html5/utils.js | 0 {ui => plugins/kimchi/ui}/spice-html5/webm.js | 0 {ui => plugins/kimchi/ui}/spice-html5/wire.js | 0 {src => plugins}/kimchi/vmtemplate.py | 0 {src => plugins}/kimchi/xmlutils/Makefile.am | 0 {src => plugins}/kimchi/xmlutils/__init__.py | 0 {src => plugins}/kimchi/xmlutils/cpu.py | 0 {src => plugins}/kimchi/xmlutils/disk.py | 0 {src => plugins}/kimchi/xmlutils/graphics.py | 0 {src => plugins}/kimchi/xmlutils/interface.py | 0 {src => plugins}/kimchi/xmlutils/network.py | 0 {src => plugins}/kimchi/xmlutils/qemucmdline.py | 0 {src => plugins}/kimchi/yumparser.py | 0 416 files changed, 4614 insertions(+), 0 deletions(-) create mode 100644 plugins/kimchi/.gitignore rename {src => plugins}/kimchi/API.json (100%) create mode 100644 plugins/kimchi/INSTALL create mode 100644 plugins/kimchi/Makefile.am rename README.md => plugins/kimchi/README.md (100%) rename VERSION => plugins/kimchi/VERSION (100%) create mode 100755 plugins/kimchi/autogen.sh create mode 100644 plugins/kimchi/build-aux/config.rpath create mode 100755 plugins/kimchi/build-aux/genChangelog create mode 100755 plugins/kimchi/build-aux/pkg-version create mode 100644 plugins/kimchi/config.rpath create mode 100644 plugins/kimchi/configure.ac rename {contrib => plugins/kimchi/contrib}/DEBIAN/Makefile.am (100%) rename {contrib => plugins/kimchi/contrib}/DEBIAN/control.in (100%) rename {contrib => plugins/kimchi/contrib}/Makefile.am (100%) create mode 100755 plugins/kimchi/contrib/check_i18n.py rename {contrib => plugins/kimchi/contrib}/kimchi.spec.fedora.in (100%) rename {contrib => plugins/kimchi/contrib}/kimchi.spec.suse.in (100%) rename {contrib => plugins/kimchi/contrib}/make-deb.sh.in (100%) rename {src => plugins}/kimchi/control/Makefile.am (100%) rename {src => plugins}/kimchi/control/__init__.py (100%) rename {src => plugins}/kimchi/control/config.py (100%) rename {src => plugins}/kimchi/control/cpuinfo.py (100%) rename {src => plugins}/kimchi/control/debugreports.py (100%) rename {src => plugins}/kimchi/control/groups.py (100%) rename {src => plugins}/kimchi/control/host.py (100%) rename {src => plugins}/kimchi/control/interfaces.py (100%) rename {src => plugins}/kimchi/control/networks.py (100%) rename {src => plugins}/kimchi/control/peers.py (100%) rename {src => plugins}/kimchi/control/storagepools.py (100%) rename {src => plugins}/kimchi/control/storageservers.py (100%) rename {src => plugins}/kimchi/control/storagevolumes.py (100%) rename {src => plugins}/kimchi/control/tasks.py (100%) rename {src => plugins}/kimchi/control/templates.py (100%) rename {src => plugins}/kimchi/control/users.py (100%) rename {src => plugins}/kimchi/control/vm/Makefile.am (100%) rename {src => plugins}/kimchi/control/vm/__init__.py (100%) rename {src => plugins}/kimchi/control/vm/hostdevs.py (100%) rename {src => plugins}/kimchi/control/vm/ifaces.py (100%) rename {src => plugins}/kimchi/control/vm/snapshots.py (100%) rename {src => plugins}/kimchi/control/vm/storages.py (100%) rename {src => plugins}/kimchi/control/vms.py (100%) rename {src => plugins}/kimchi/disks.py (100%) rename {src => plugins}/kimchi/distroloader.py (100%) rename {src => plugins/kimchi}/distros.d/Makefile.am (100%) rename {src => plugins/kimchi}/distros.d/debian.json (100%) rename {src => plugins/kimchi}/distros.d/fedora.json (100%) rename {src => plugins/kimchi}/distros.d/gentoo.json (100%) rename {src => plugins/kimchi}/distros.d/opensuse.json (100%) rename {src => plugins/kimchi}/distros.d/ubuntu.json (100%) rename {docs => plugins/kimchi/docs}/API.md (100%) rename {docs => plugins/kimchi/docs}/Makefile.am (100%) rename {docs => plugins/kimchi/docs}/README-federation.md (100%) rename {docs => plugins/kimchi/docs}/README.md (100%) rename {docs => plugins/kimchi/docs}/kimchi-guest.png (100%) rename {docs => plugins/kimchi/docs}/kimchi-login.png (100%) rename {docs => plugins/kimchi/docs}/kimchi-templates.png (100%) rename {src => plugins}/kimchi/i18n.py (100%) rename {src => plugins}/kimchi/imageinfo.py (100%) rename {src => plugins}/kimchi/iscsi.py (100%) rename {src => plugins}/kimchi/isoinfo.py (100%) rename {src => plugins}/kimchi/kvmusertests.py (100%) create mode 100644 plugins/kimchi/m4/ac_python_module.m4 create mode 100644 plugins/kimchi/m4/gettext.m4 create mode 100644 plugins/kimchi/m4/iconv.m4 create mode 100644 plugins/kimchi/m4/intlmacosx.m4 create mode 100644 plugins/kimchi/m4/lib-ld.m4 create mode 100644 plugins/kimchi/m4/lib-link.m4 create mode 100644 plugins/kimchi/m4/lib-prefix.m4 create mode 100644 plugins/kimchi/m4/nls.m4 create mode 100644 plugins/kimchi/m4/po.m4 create mode 100644 plugins/kimchi/m4/progtest.m4 rename {src => plugins}/kimchi/mockmodel.py (100%) rename {src => plugins}/kimchi/model/Makefile.am (100%) rename {src => plugins}/kimchi/model/__init__.py (100%) rename {src => plugins}/kimchi/model/config.py (100%) rename {src => plugins}/kimchi/model/cpuinfo.py (100%) rename {src => plugins}/kimchi/model/debugreports.py (100%) rename {src => plugins}/kimchi/model/diskutils.py (100%) rename {src => plugins}/kimchi/model/featuretests.py (100%) rename {src => plugins}/kimchi/model/groups.py (100%) rename {src => plugins}/kimchi/model/host.py (100%) rename {src => plugins}/kimchi/model/hostdev.py (100%) rename {src => plugins}/kimchi/model/interfaces.py (100%) rename {src => plugins}/kimchi/model/libvirtconnection.py (100%) rename {src => plugins}/kimchi/model/libvirtstoragepool.py (100%) rename {src => plugins}/kimchi/model/model.py (100%) rename {src => plugins}/kimchi/model/networks.py (100%) rename {src => plugins}/kimchi/model/peers.py (100%) rename {src => plugins}/kimchi/model/storagepools.py (100%) rename {src => plugins}/kimchi/model/storageservers.py (100%) rename {src => plugins}/kimchi/model/storagetargets.py (100%) rename {src => plugins}/kimchi/model/storagevolumes.py (100%) rename {src => plugins}/kimchi/model/tasks.py (100%) rename {src => plugins}/kimchi/model/templates.py (100%) rename {src => plugins}/kimchi/model/users.py (100%) rename {src => plugins}/kimchi/model/utils.py (100%) rename {src => plugins}/kimchi/model/vmhostdevs.py (100%) rename {src => plugins}/kimchi/model/vmifaces.py (100%) rename {src => plugins}/kimchi/model/vms.py (100%) rename {src => plugins}/kimchi/model/vmsnapshots.py (100%) rename {src => plugins}/kimchi/model/vmstorages.py (100%) rename {src => plugins}/kimchi/osinfo.py (100%) rename {po => plugins/kimchi/po}/LINGUAS (100%) rename {po => plugins/kimchi/po}/Makefile.in.in (100%) rename {po => plugins/kimchi/po}/Makevars (100%) rename {po => plugins/kimchi/po}/POTFILES.in (100%) rename {po => plugins/kimchi/po}/de_DE.po (100%) rename {po => plugins/kimchi/po}/en_US.po (100%) rename {po => plugins/kimchi/po}/es_ES.po (100%) rename {po => plugins/kimchi/po}/fr_FR.po (100%) rename {po => plugins/kimchi/po}/gen-pot.in (100%) rename {po => plugins/kimchi/po}/it_IT.po (100%) rename {po => plugins/kimchi/po}/ja_JP.po (100%) rename {po => plugins/kimchi/po}/kimchi.pot (100%) rename {po => plugins/kimchi/po}/ko_KR.po (100%) rename {po => plugins/kimchi/po}/pt_BR.po (100%) rename {po => plugins/kimchi/po}/ru_RU.po (100%) rename {po => plugins/kimchi/po}/zh_CN.po (100%) rename {po => plugins/kimchi/po}/zh_TW.po (100%) rename {src => plugins}/kimchi/repositories.py (100%) rename {src => plugins}/kimchi/scan.py (100%) rename {src => plugins}/kimchi/screenshot.py (100%) rename {src => plugins}/kimchi/swupdate.py (100%) rename {src => plugins/kimchi}/template.conf (100%) rename {tests => plugins/kimchi/tests}/Makefile.am (100%) rename {tests => plugins/kimchi/tests}/iso_gen.py (100%) rename {tests => plugins/kimchi/tests}/run_tests.sh.in (100%) rename {tests => plugins/kimchi/tests}/test_authorization.py (100%) rename {tests => plugins/kimchi/tests}/test_config.py.in (100%) rename {tests => plugins/kimchi/tests}/test_exception.py (100%) rename {tests => plugins/kimchi/tests}/test_host.py (100%) rename {tests => plugins/kimchi/tests}/test_mock_network.py (100%) rename {tests => plugins/kimchi/tests}/test_mock_storagepool.py (100%) rename {tests => plugins/kimchi/tests}/test_mock_storagevolume.py (100%) rename {tests => plugins/kimchi/tests}/test_mockmodel.py (100%) rename {tests => plugins/kimchi/tests}/test_model.py (100%) rename {tests => plugins/kimchi/tests}/test_model_network.py (100%) rename {tests => plugins/kimchi/tests}/test_model_storagepool.py (100%) rename {tests => plugins/kimchi/tests}/test_model_storagevolume.py (100%) rename {tests => plugins/kimchi/tests}/test_networkxml.py (100%) rename {tests => plugins/kimchi/tests}/test_objectstore.py (100%) rename {tests => plugins/kimchi/tests}/test_osinfo.py (100%) rename {tests => plugins/kimchi/tests}/test_plugin.py (100%) rename {tests => plugins/kimchi/tests}/test_rest.py (100%) rename {tests => plugins/kimchi/tests}/test_rollbackcontext.py (100%) rename {tests => plugins/kimchi/tests}/test_server.py (100%) rename {tests => plugins/kimchi/tests}/test_storagepoolxml.py (100%) rename {tests => plugins/kimchi/tests}/test_template.py (100%) rename {tests => plugins/kimchi/tests}/test_utils.py (100%) rename {tests => plugins/kimchi/tests}/test_vmtemplate.py (100%) rename {tests => plugins/kimchi/tests}/test_yumparser.py (100%) rename {tests => plugins/kimchi/tests}/utils.py (100%) rename {config => plugins/kimchi/ui}/Makefile.am (100%) rename {config/ui => plugins/kimchi/ui/config}/Makefile.am (100%) rename config/ui/tabs.xml => plugins/kimchi/ui/config/tab-ext.xml (100%) rename {ui => plugins/kimchi/ui}/css/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/button.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/circleGauge.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/form.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/grid.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/guest-edit.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/guest-storage-add.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/host.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/jquery-ui.custom.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/line-chart.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/list.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/message.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/network.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/popover.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/report-add.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/report-rename.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/repository-add.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/repository-edit.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/storage.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/storagepool-add-volume.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/template-edit.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/template.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/template_add.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/template_list.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/tile-check.css (100%) rename {ui => plugins/kimchi/ui}/css/theme-default/toolbar.css (100%) rename {ui => plugins/kimchi/ui}/images/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/images/icon-centos.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-debian.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-fedora.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-gentoo.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-opensuse.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-ubuntu.png (100%) rename {ui => plugins/kimchi/ui}/images/icon-vm.png (100%) rename {ui => plugins/kimchi/ui}/images/logo.ico (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/ac22_pause.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/ac22_pause_grey.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/ac24_resume.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/ac24_resume_grey.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/alert.png (100%) copy ui/images/theme-default/folder-arrow-right.png => plugins/kimchi/ui/images/theme-default/arrow-down-black.png (90%) rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-down-disable.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-down.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-up.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/arrow_out.png (100%) copy ui/images/theme-default/folder-arrow-right.png => plugins/kimchi/ui/images/theme-default/bg-mask.png (90%) rename {ui => plugins/kimchi/ui}/images/theme-default/check-green.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/check-grey.png (100%) copy ui/images/theme-default/folder-arrow-right.png => plugins/kimchi/ui/images/theme-default/folder-arrow-down.png (90%) rename {ui => plugins/kimchi/ui}/images/theme-default/folder-arrow-right.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/group.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/host-icon-sprite.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-alert.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-back.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-camera.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-design.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-detail.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-event.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-iso.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-list.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-load.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-local.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-power-down.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-power-up.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-qcow2.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-raw.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-remote.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-reset.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-search.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-setting.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-sort.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-tool.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-tree.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-user.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/icon-volume-default.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/kimchi-loading.gif (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/kimchi-loading15x15.gif (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/loading.gif (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/logo-white.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/thumb-guest.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/thumb-host.png (100%) rename {ui => plugins/kimchi/ui}/images/theme-default/user.png (100%) rename {ui => plugins/kimchi/ui}/js/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.api.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.form.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.grid.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.guest_add_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.guest_edit_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.guest_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.guest_media_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.guest_storage_add.main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.host.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.line-chart.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.network.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.report_add_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.report_rename_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.repository_add_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.repository_edit_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.select.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.storage_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.storagepool_add_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.storagepool_add_volume_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.template_add_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.template_edit_main.js (100%) rename {ui => plugins/kimchi/ui}/js/src/kimchi.template_main.js (100%) rename {ui => plugins/kimchi/ui}/js/widgets/circleGauge.js (100%) rename {ui => plugins/kimchi/ui}/libs/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/libs/themes/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/animated-overlay.gif (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_flat_75_ffffff_40x100.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_glass_65_ffffff_1x400.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_glass_75_dadada_1x400.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-icons_222222_256x240.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-icons_2e83ff_256x240.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-icons_454545_256x240.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-icons_888888_256x240.png (100%) rename {ui => plugins/kimchi/ui}/libs/themes/base/images/ui-icons_cd0a0a_256x240.png (100%) rename {ui => plugins/kimchi/ui}/pages/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/error.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/guest-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/guest-edit.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/guest-storage-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/guest.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/help/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/de_DE/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/dita-help.xsl (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/en_US/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/es_ES/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/gen-index.py (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/it_IT/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/kimchi.css (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/guests.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/host.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/network.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/storage.dita (100%) rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/templates.dita (100%) rename {ui => plugins/kimchi/ui}/pages/i18n.json.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/report-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/report-rename.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/repository-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/repository-edit.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/storagepool-add-volume.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/storagepool-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/guests.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/host.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/network.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/storage.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/tabs/templates.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/template-add.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/pages/template-edit.html.tmpl (100%) rename {ui => plugins/kimchi/ui}/robots.txt (100%) rename {ui => plugins/kimchi/ui}/spice-html5/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/spice-html5/atKeynames.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/bitmap.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/css/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/spice-html5/css/spice.css (100%) rename {ui => plugins/kimchi/ui}/spice-html5/cursor.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/display.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/enums.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/inputs.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/lz.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/main.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/pages/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/spice-html5/pages/spice_auto.html (100%) rename {ui => plugins/kimchi/ui}/spice-html5/playback.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/png.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/quic.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/resize.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/simulatecursor.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/spicearraybuffer.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/spiceconn.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/spicedataview.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/spicemsg.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/spicetype.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/Makefile.am (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/jsbn.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/prng4.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/rng.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/rsa.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/sha1.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/ticket.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/utils.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/webm.js (100%) rename {ui => plugins/kimchi/ui}/spice-html5/wire.js (100%) rename {src => plugins}/kimchi/vmtemplate.py (100%) rename {src => plugins}/kimchi/xmlutils/Makefile.am (100%) rename {src => plugins}/kimchi/xmlutils/__init__.py (100%) rename {src => plugins}/kimchi/xmlutils/cpu.py (100%) rename {src => plugins}/kimchi/xmlutils/disk.py (100%) rename {src => plugins}/kimchi/xmlutils/graphics.py (100%) rename {src => plugins}/kimchi/xmlutils/interface.py (100%) rename {src => plugins}/kimchi/xmlutils/network.py (100%) rename {src => plugins}/kimchi/xmlutils/qemucmdline.py (100%) rename {src => plugins}/kimchi/yumparser.py (100%) diff --git a/plugins/kimchi/.gitignore b/plugins/kimchi/.gitignore new file mode 100644 index 0000000..b3988b6 --- /dev/null +++ b/plugins/kimchi/.gitignore @@ -0,0 +1,43 @@ +*.pyc +*~ +i18n/mo/* +log +data +mo +autom4te.cache +Makefile +Makefile.in +aclocal.m4 +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/install-sh +build-aux/missing +build-aux/py-compile +configure +config.log +config.status +contrib/DEBIAN/control +contrib/kimchi.spec.fedora +contrib/kimchi.spec.suse +contrib/make-deb.sh +docs/kimchid.8 +*.min.css +*.min.js +*.gmo +stamp-po +kimchi-*.tar.gz +src/kimchid +src/kimchi.conf +src/nginx/kimchi.conf +src/kimchi/config.py +tests/run_tests.sh +tests/test_config.py +plugins/sample/po/POTFILES +plugins/sample/sample.conf +po/POTFILES +po/gen-pot +*.orig +*.rej +*.pem +ui/pages/help/*/*.html diff --git a/src/kimchi/API.json b/plugins/kimchi/API.json similarity index 100% rename from src/kimchi/API.json rename to plugins/kimchi/API.json diff --git a/plugins/kimchi/INSTALL b/plugins/kimchi/INSTALL new file mode 100644 index 0000000..63bf076 --- /dev/null +++ b/plugins/kimchi/INSTALL @@ -0,0 +1,369 @@ +Installation Instructions +************************* + +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + + The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. diff --git a/plugins/kimchi/Makefile.am b/plugins/kimchi/Makefile.am new file mode 100644 index 0000000..1a0c8e7 --- /dev/null +++ b/plugins/kimchi/Makefile.am @@ -0,0 +1,165 @@ +# +# Kimchi +# +# Copyright IBM Corp, 2013 +# +# 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.1 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 Street, Fifth Floor, Boston, MA 02110-1301 USA +SUBDIRS = src ui docs contrib tests po config plugins + +man_MANS = docs/kimchid.8 + +AUTOMAKE_OPTIONS = foreign + +ACLOCAL_AMFLAGS = --install -I m4 + +EXTRA_DIST = \ + config.rpath \ + autogen.sh \ + COPYING.ASL2 \ + COPYING.LGPL \ + CONTRIBUTE.md \ + VERSION \ + build-aux/pkg-version \ + $(NULL) + + +PEP8_BLACKLIST = *src/kimchi/config.py,*src/kimchi/i18n.py,*tests/test_config.py + +SKIP_PYFLAKES_ERR = "\./src/kimchi/websocket\.py" + +I18N_FILES = plugins/*/i18n.py \ + src/kimchi/i18n.py \ + $(NULL) + +check-local: + PYTHONPATH=src contrib/check_i18n.py $(I18N_FILES) + find . -path './.git' -prune -type f -o \ + -name '*.py' -o -name '*.py.in' | xargs $(PYFLAKES) | \ + grep -w -v $(SKIP_PYFLAKES_ERR) | \ + while read LINE; do echo "$$LINE"; false; done + + $(PEP8) --version + $(PEP8) --filename '*.py,*.py.in' --exclude="$(PEP8_BLACKLIST)" . + + +# Link built mo files in the source tree to enable use of translations from +# within the source tree +all-local: + while read L && test -n "$$L"; do \ + dir=mo/$$L/LC_MESSAGES ; \ + $(MKDIR_P) $$dir ; \ + ln -sf ../../../po/$$L.gmo $$dir/kimchi.mo ; \ + done < po/LINGUAS + +# +# Packaging helpers +# + +install-deb: install + cp -R $(top_srcdir)/contrib/DEBIAN $(DESTDIR)/ + mkdir -p $(DESTDIR)/var/lib/kimchi/debugreports + mkdir -p $(DESTDIR)/var/lib/kimchi/screenshots + mkdir -p $(DESTDIR)/var/lib/kimchi/vnc-tokens + mkdir -p $(DESTDIR)/var/lib/kimchi/isos + touch $(DESTDIR)/var/lib/kimchi/objectstore + $(MKDIR_P) $(DESTDIR)/etc/init + $(MKDIR_P) $(DESTDIR)/usr/lib/firewalld/services + cp -R $(top_srcdir)/contrib/kimchid-upstart.conf.debian \ + $(DESTDIR)/etc/init/kimchid.conf + cp -R $(top_srcdir)/src/firewalld.xml \ + $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml + + +deb: contrib/make-deb.sh + $(top_srcdir)/contrib/make-deb.sh + +kimchi.spec: contrib/kimchi.spec.fedora contrib/kimchi.spec.suse + @if test -e /etc/redhat-release; then \ + ln -sf contrib/kimchi.spec.fedora $@ ; \ + elif test -e /etc/SuSE-release; then \ + ln -sf contrib/kimchi.spec.suse $@ ; \ + else \ + echo "Unable to select a spec file for RPM build" ; \ + /bin/false ; \ + fi + +rpm: dist kimchi.spec + $(MKDIR_P) rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS + cp $(top_srcdir)/kimchi.spec rpm/SPECS/kimchi.spec + cp $(DIST_ARCHIVES) rpm/SOURCES + rpmbuild -ba --define "_topdir `pwd`/rpm" rpm/SPECS/kimchi.spec + +fedora-rpm: contrib/kimchi.spec.fedora + ln -sf contrib/kimchi.spec.fedora kimchi.spec + $(MAKE) rpm + +suse-rpm: contrib/kimchi.spec.suse + ln -sf contrib/kimchi.spec.suse kimchi.spec + $(MAKE) rpm + +ChangeLog: + @if test -d .git; then \ + $(top_srcdir)/build-aux/genChangelog --release > $@; \ + fi + +install-data-local: + @if test -d $(systemdsystemunitdir) ; then \ + mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ + $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + else \ + mkdir -p $(DESTDIR)/etc/init.d/ \ + $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \ + chmod +x $(DESTDIR)/etc/init.d/kimchid; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos} + touch $(DESTDIR)/var/lib/kimchi/objectstore + mkdir -p $(DESTDIR)/var/log/kimchi/ + touch $(DESTDIR)/var/log/kimchi/kimchi-access.log + touch $(DESTDIR)/var/log/kimchi/kimchi-error.log + mkdir -p $(DESTDIR)/etc/kimchi/ + $(INSTALL_DATA) src/dhparams.pem $(DESTDIR)/etc/kimchi/dhparams.pem + touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + +uninstall-local: + @if test -f $(systemdsystemunitdir)/kimchid.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \ + elif test -f /etc/init.d/kimchid; then \ + $(RM) $(DESTDIR)/etc/init.d/kimchid; \ + $(RM) $(DESTDIR)/etc/init/kimchi.conf; \ + fi; \ + if test -d /usr/lib/firewalld/services/; then \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + fi; \ + $(RM) -rf $(DESTDIR)/var/lib/kimchi + $(RM) -rf $(DESTDIR)/var/log/kimchi + $(RM) -rf $(DESTDIR)/etc/kimchi + $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf + +VERSION: + @if test -d .git; then \ + git describe --abbrev=0 > $@; \ + fi + +.PHONY: deb install-deb rpm fedora-rpm suse-rpm ChangeLog VERSION + + +clean-local: + rm -rf mo rpm + +CLEANFILES = kimchi.spec `find "$(top_srcdir)" -type f -name "*.pyc" -print` diff --git a/README.md b/plugins/kimchi/README.md similarity index 100% rename from README.md rename to plugins/kimchi/README.md diff --git a/VERSION b/plugins/kimchi/VERSION similarity index 100% rename from VERSION rename to plugins/kimchi/VERSION diff --git a/plugins/kimchi/autogen.sh b/plugins/kimchi/autogen.sh new file mode 100755 index 0000000..0f22dba --- /dev/null +++ b/plugins/kimchi/autogen.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +aclocal +automake --add-missing +autoreconf + +if [ ! -f "configure" ]; then + echo "Failed to generate configure script. Check to make sure autoconf, " + echo "automake, and other build dependencies are properly installed." + exit 1 +fi + +if [ "x$1" == "x--system" ]; then + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var +else + if [ $# -gt 0 ]; then + ./configure $@ + else + ./configure --prefix=/usr/local + fi +fi diff --git a/plugins/kimchi/build-aux/config.rpath b/plugins/kimchi/build-aux/config.rpath new file mode 100644 index 0000000..17298f2 --- /dev/null +++ b/plugins/kimchi/build-aux/config.rpath @@ -0,0 +1,672 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2010 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + library_names_spec='$libname.a' + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd1*) + ;; + freebsd* | dragonfly*) + case "$host_os" in + freebsd[123]*) + library_names_spec='$libname$shrext$versuffix' ;; + *) + library_names_spec='$libname$shrext' ;; + esac + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + nto-qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF + +# How to pass a linker flag through the compiler. +wl="$escaped_wl" + +# Static library suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally "so"). +shlibext="$shlibext" + +# Format of library name prefix. +libname_spec="$escaped_libname_spec" + +# Library names that the linker finds when passed -lNAME. +library_names_spec="$escaped_library_names_spec" + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="$hardcode_libdir_separator" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="$hardcode_direct" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="$hardcode_minus_L" + +EOF diff --git a/plugins/kimchi/build-aux/genChangelog b/plugins/kimchi/build-aux/genChangelog new file mode 100755 index 0000000..803f24e --- /dev/null +++ b/plugins/kimchi/build-aux/genChangelog @@ -0,0 +1,25 @@ +#!/bin/bash + +# This script is based on code from the Kandan project: +# https://github.com/kandanapp/kandan/blob/master/gen-changelog.sh + +echo "CHANGELOG" +echo "=========" +echo +git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | tac |grep -v '^$' | while read TAG ; do + if [ $NEXT ]; then + echo "#### [$NEXT] ####" + elif [ "$1" != "--release" ]; then + echo "#### [Current] ####" + else + NEXT=$TAG + continue + fi + GIT_PAGER=cat git log --pretty=format:" * [%h] %<(78,trunc)%s (%an)" $TAG..$NEXT + NEXT=$TAG + echo; echo +done +FIRST=$(git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | head -1) + +echo "#### [$FIRST] ####" +GIT_PAGER=cat git log --pretty=format:" * [%h] %<(78,trunc)%s (%an)" $FIRST diff --git a/plugins/kimchi/build-aux/pkg-version b/plugins/kimchi/build-aux/pkg-version new file mode 100755 index 0000000..749cf6c --- /dev/null +++ b/plugins/kimchi/build-aux/pkg-version @@ -0,0 +1,59 @@ +#!/bin/sh +# +# Copyright 2008-2012 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# tags and output versions: +# - 4.9.0 => 4.9.0 (upstream clean) +# - 4.9.0-1 => 4.9.0 (downstream clean) +# - 4.9.0-2-g34e62f => 4.9.0 (upstream dirty) +# - 4.9.0-1-2-g34e62f => 4.9.0 (downstream dirty) +AWK_VERSION=' + BEGIN { FS="-" } + /^[0-9]/ { + print $1 + }' + +# tags and output releases: +# - 4.9.0 => 0 (upstream clean) +# - 4.9.0-1 => 1 (downstream clean) +# - 4.9.0-2-g34e62f1 => 2.git34e62f1 (upstream dirty) +# - 4.9.0-1-2-g34e62f1 => 1.2.git34e62f1 (downstream dirty) +AWK_RELEASE=' + BEGIN { FS="-"; OFS="." } + /^[0-9]/ { + if (NF == 1) print 0 + else if (NF == 2) print $2 + else if (NF == 3) print $2, "git" substr($3, 2) + else if (NF == 4) print $2, $3, "git" substr($4, 2) + }' + +if [ ! -d .git ]; then + PKG_VERSION=`cat VERSION` +else + PKG_VERSION=`git describe --tags --match "[0-9]*" || cat VERSION` +fi + +if test "x$1" = "x--full"; then + echo $PKG_VERSION | tr -d '[:space:]' +elif test "x$1" = "x--version"; then + echo $PKG_VERSION | awk "$AWK_VERSION" | tr -cd '[:alnum:].' +elif test "x$1" = "x--release"; then + echo $PKG_VERSION | awk "$AWK_RELEASE" | tr -cd '[:alnum:].' +else + echo "usage: $0 [--full|--version|--release]" + exit 1 +fi diff --git a/plugins/kimchi/config.rpath b/plugins/kimchi/config.rpath new file mode 100644 index 0000000..17298f2 --- /dev/null +++ b/plugins/kimchi/config.rpath @@ -0,0 +1,672 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2010 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + library_names_spec='$libname.a' + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd1*) + ;; + freebsd* | dragonfly*) + case "$host_os" in + freebsd[123]*) + library_names_spec='$libname$shrext$versuffix' ;; + *) + library_names_spec='$libname$shrext' ;; + esac + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + nto-qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF + +# How to pass a linker flag through the compiler. +wl="$escaped_wl" + +# Static library suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally "so"). +shlibext="$shlibext" + +# Format of library name prefix. +libname_spec="$escaped_libname_spec" + +# Library names that the linker finds when passed -lNAME. +library_names_spec="$escaped_library_names_spec" + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="$hardcode_libdir_separator" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="$hardcode_direct" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="$hardcode_minus_L" + +EOF diff --git a/plugins/kimchi/configure.ac b/plugins/kimchi/configure.ac new file mode 100644 index 0000000..0261b5f --- /dev/null +++ b/plugins/kimchi/configure.ac @@ -0,0 +1,147 @@ +# +# Kimchi +# +# Copyright IBM Corp, 2013-2015 +# +# 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.1 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 Street, Fifth Floor, Boston, MA 02110-1301 USA + +AC_INIT([kimchi], [m4_esyscmd([./build-aux/pkg-version --version])]) + +AC_SUBST([PACKAGE_VERSION], + [m4_esyscmd([./build-aux/pkg-version --version])]) + +AC_SUBST([PACKAGE_RELEASE], + [m4_esyscmd([./build-aux/pkg-version --release])]) + +# Testing for version and release +AS_IF([test "x$PACKAGE_VERSION" = x], + AC_MSG_ERROR([package version not defined])) +AS_IF([test "x$PACKAGE_RELEASE" = x], + AC_MSG_ERROR([package release not defined])) + +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE([-Wno-portability]) +AM_PATH_PYTHON([2.6]) +AC_PATH_PROG([PEP8], [pep8], [/usr/bin/pep8]) +AC_PYTHON_MODULE([unittest]) +AC_SUBST([HAVE_PYMOD_UNITTEST]) +AC_SUBST([PYTHON_VERSION]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.10]) +AC_PATH_PROG([CHEETAH], [cheetah], [/usr/bin/cheetah]) + +# Checking for pyflakes +AC_PATH_PROG([PYFLAKES], [pyflakes]) +if test "x$PYFLAKES" = "x"; then + AC_MSG_WARN([pyflakes not found]) +fi + +AC_ARG_ENABLE( + [sample], + [AS_HELP_STRING( + [--enable-sample], + [enable sample plugin @<:@default=no@:>@] + )], + , + [enable_sample="no"] +) + +if test "${enable_sample}" = "yes"; then +AC_SUBST([ENABLE_SAMPLE], [True]) +else +AC_SUBST([ENABLE_SAMPLE], [False]) +fi + +# check for systemd +PKG_PROG_PKG_CONFIG +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi + +AC_ARG_WITH( + [spice-html5], + [AS_HELP_STRING([--with-spice-html5], + [Build Kimchi with spice-html5 @<:@default=no@:>@])], + , + [with_spice_html5="no"] +) +AM_CONDITIONAL([WITH_SPICE], [test "x$with_spice_html5" = xyes]) + +AC_CONFIG_FILES([ + po/Makefile.in + po/gen-pot + Makefile + docs/Makefile + docs/kimchid.8 + src/Makefile + src/distros.d/Makefile + src/nginx/Makefile + src/kimchi/Makefile + src/kimchi/control/Makefile + src/kimchi/control/vm/Makefile + src/kimchi/model/Makefile + src/kimchi/xmlutils/Makefile + plugins/Makefile + plugins/sample/Makefile + plugins/sample/po/Makefile.in + plugins/sample/sample.conf + plugins/sample/ui/Makefile + plugins/sample/ui/config/Makefile + plugins/sample/ui/js/Makefile + plugins/sample/ui/pages/Makefile + ui/Makefile + ui/css/Makefile + ui/images/Makefile + ui/images/theme-default/Makefile + ui/js/Makefile + ui/spice-html5/Makefile + ui/spice-html5/css/Makefile + ui/spice-html5/pages/Makefile + ui/spice-html5/thirdparty/Makefile + ui/libs/Makefile + ui/libs/themes/Makefile + ui/libs/themes/base/Makefile + ui/libs/themes/base/images/Makefile + ui/pages/Makefile + ui/pages/help/Makefile + ui/pages/help/en_US/Makefile + ui/pages/help/de_DE/Makefile + ui/pages/help/es_ES/Makefile + ui/pages/help/fr_FR/Makefile + ui/pages/help/it_IT/Makefile + ui/pages/help/ja_JP/Makefile + ui/pages/help/ko_KR/Makefile + ui/pages/help/pt_BR/Makefile + ui/pages/help/ru_RU/Makefile + ui/pages/help/zh_CN/Makefile + ui/pages/help/zh_TW/Makefile + ui/pages/tabs/Makefile + ui/pages/websockify/Makefile + contrib/Makefile + contrib/DEBIAN/Makefile + contrib/DEBIAN/control + contrib/kimchi.spec.fedora + contrib/kimchi.spec.suse + tests/Makefile + config/Makefile + config/ui/Makefile +],[ + chmod +x po/gen-pot +]) + +AC_OUTPUT diff --git a/contrib/DEBIAN/Makefile.am b/plugins/kimchi/contrib/DEBIAN/Makefile.am similarity index 100% rename from contrib/DEBIAN/Makefile.am rename to plugins/kimchi/contrib/DEBIAN/Makefile.am diff --git a/contrib/DEBIAN/control.in b/plugins/kimchi/contrib/DEBIAN/control.in similarity index 100% rename from contrib/DEBIAN/control.in rename to plugins/kimchi/contrib/DEBIAN/control.in diff --git a/contrib/Makefile.am b/plugins/kimchi/contrib/Makefile.am similarity index 100% rename from contrib/Makefile.am rename to plugins/kimchi/contrib/Makefile.am diff --git a/plugins/kimchi/contrib/check_i18n.py b/plugins/kimchi/contrib/check_i18n.py new file mode 100755 index 0000000..6a2603c --- /dev/null +++ b/plugins/kimchi/contrib/check_i18n.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python2 +# +# Project Kimchi +# +# Copyright IBM, Corp. 2014-2015 +# +# 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.1 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 Street, Fifth Floor, Boston, MA 02110-1301 USA + +import imp +import os +import re +import sys + + +# Match all conversion specifier with mapping key +PATTERN = re.compile(r'''%\([^)]+\) # Mapping key + [#0\-+]? # Conversion flags (optional) + (\d+|\*)? # Minimum field width (optional) + (\.(\d+|\*))? # Precision (optional) + [lLh]? # Length modifier (optional) + [cdeEfFgGioursxX%] # Conversion type''', + re.VERBOSE) +BAD_PATTERN = re.compile(r"%\([^)]*?\)") + + +def load_i18n_module(i18nfile): + path = os.path.dirname(i18nfile) + mname = i18nfile.replace("/", "_").rstrip(".py") + mobj = imp.find_module("i18n", [path]) + return imp.load_module(mname, *mobj) + + +def check_string_formatting(messages): + for k, v in messages.iteritems(): + if BAD_PATTERN.findall(PATTERN.sub(" ", v)): + print "bad i18n string formatting:" + print " %s: %s" % (k, v) + exit(1) + + +def check_obsolete_messages(path, messages): + def find_message_key(path, k): + for root, dirs, files in os.walk(path): + for f in files: + fname = os.path.join(root, f) + if (not fname.endswith("i18n.py") and fname.endswith(".py") or + fname.endswith(".json")): + with open(fname) as f: + string = "".join(f.readlines()) + if k in string: + return True + return False + + for k in messages.iterkeys(): + if not find_message_key(path, k): + print " %s is obsolete, it is no longer in use" % k + exit(1) + + +def main(): + print "Checking for invalid i18n string..." + for f in sys.argv[1:]: + messages = load_i18n_module(f).messages + check_string_formatting(messages) + check_obsolete_messages(os.path.dirname(f), messages) + print "Checking for invalid i18n string successfully" + + +if __name__ == '__main__': + main() diff --git a/contrib/kimchi.spec.fedora.in b/plugins/kimchi/contrib/kimchi.spec.fedora.in similarity index 100% rename from contrib/kimchi.spec.fedora.in rename to plugins/kimchi/contrib/kimchi.spec.fedora.in diff --git a/contrib/kimchi.spec.suse.in b/plugins/kimchi/contrib/kimchi.spec.suse.in similarity index 100% rename from contrib/kimchi.spec.suse.in rename to plugins/kimchi/contrib/kimchi.spec.suse.in diff --git a/contrib/make-deb.sh.in b/plugins/kimchi/contrib/make-deb.sh.in similarity index 100% rename from contrib/make-deb.sh.in rename to plugins/kimchi/contrib/make-deb.sh.in diff --git a/src/kimchi/control/Makefile.am b/plugins/kimchi/control/Makefile.am similarity index 100% rename from src/kimchi/control/Makefile.am rename to plugins/kimchi/control/Makefile.am diff --git a/src/kimchi/control/__init__.py b/plugins/kimchi/control/__init__.py similarity index 100% rename from src/kimchi/control/__init__.py rename to plugins/kimchi/control/__init__.py diff --git a/src/kimchi/control/config.py b/plugins/kimchi/control/config.py similarity index 100% rename from src/kimchi/control/config.py rename to plugins/kimchi/control/config.py diff --git a/src/kimchi/control/cpuinfo.py b/plugins/kimchi/control/cpuinfo.py similarity index 100% rename from src/kimchi/control/cpuinfo.py rename to plugins/kimchi/control/cpuinfo.py diff --git a/src/kimchi/control/debugreports.py b/plugins/kimchi/control/debugreports.py similarity index 100% rename from src/kimchi/control/debugreports.py rename to plugins/kimchi/control/debugreports.py diff --git a/src/kimchi/control/groups.py b/plugins/kimchi/control/groups.py similarity index 100% rename from src/kimchi/control/groups.py rename to plugins/kimchi/control/groups.py diff --git a/src/kimchi/control/host.py b/plugins/kimchi/control/host.py similarity index 100% rename from src/kimchi/control/host.py rename to plugins/kimchi/control/host.py diff --git a/src/kimchi/control/interfaces.py b/plugins/kimchi/control/interfaces.py similarity index 100% rename from src/kimchi/control/interfaces.py rename to plugins/kimchi/control/interfaces.py diff --git a/src/kimchi/control/networks.py b/plugins/kimchi/control/networks.py similarity index 100% rename from src/kimchi/control/networks.py rename to plugins/kimchi/control/networks.py diff --git a/src/kimchi/control/peers.py b/plugins/kimchi/control/peers.py similarity index 100% rename from src/kimchi/control/peers.py rename to plugins/kimchi/control/peers.py diff --git a/src/kimchi/control/storagepools.py b/plugins/kimchi/control/storagepools.py similarity index 100% rename from src/kimchi/control/storagepools.py rename to plugins/kimchi/control/storagepools.py diff --git a/src/kimchi/control/storageservers.py b/plugins/kimchi/control/storageservers.py similarity index 100% rename from src/kimchi/control/storageservers.py rename to plugins/kimchi/control/storageservers.py diff --git a/src/kimchi/control/storagevolumes.py b/plugins/kimchi/control/storagevolumes.py similarity index 100% rename from src/kimchi/control/storagevolumes.py rename to plugins/kimchi/control/storagevolumes.py diff --git a/src/kimchi/control/tasks.py b/plugins/kimchi/control/tasks.py similarity index 100% rename from src/kimchi/control/tasks.py rename to plugins/kimchi/control/tasks.py diff --git a/src/kimchi/control/templates.py b/plugins/kimchi/control/templates.py similarity index 100% rename from src/kimchi/control/templates.py rename to plugins/kimchi/control/templates.py diff --git a/src/kimchi/control/users.py b/plugins/kimchi/control/users.py similarity index 100% rename from src/kimchi/control/users.py rename to plugins/kimchi/control/users.py diff --git a/src/kimchi/control/vm/Makefile.am b/plugins/kimchi/control/vm/Makefile.am similarity index 100% rename from src/kimchi/control/vm/Makefile.am rename to plugins/kimchi/control/vm/Makefile.am diff --git a/src/kimchi/control/vm/__init__.py b/plugins/kimchi/control/vm/__init__.py similarity index 100% rename from src/kimchi/control/vm/__init__.py rename to plugins/kimchi/control/vm/__init__.py diff --git a/src/kimchi/control/vm/hostdevs.py b/plugins/kimchi/control/vm/hostdevs.py similarity index 100% rename from src/kimchi/control/vm/hostdevs.py rename to plugins/kimchi/control/vm/hostdevs.py diff --git a/src/kimchi/control/vm/ifaces.py b/plugins/kimchi/control/vm/ifaces.py similarity index 100% rename from src/kimchi/control/vm/ifaces.py rename to plugins/kimchi/control/vm/ifaces.py diff --git a/src/kimchi/control/vm/snapshots.py b/plugins/kimchi/control/vm/snapshots.py similarity index 100% rename from src/kimchi/control/vm/snapshots.py rename to plugins/kimchi/control/vm/snapshots.py diff --git a/src/kimchi/control/vm/storages.py b/plugins/kimchi/control/vm/storages.py similarity index 100% rename from src/kimchi/control/vm/storages.py rename to plugins/kimchi/control/vm/storages.py diff --git a/src/kimchi/control/vms.py b/plugins/kimchi/control/vms.py similarity index 100% rename from src/kimchi/control/vms.py rename to plugins/kimchi/control/vms.py diff --git a/src/kimchi/disks.py b/plugins/kimchi/disks.py similarity index 100% rename from src/kimchi/disks.py rename to plugins/kimchi/disks.py diff --git a/src/kimchi/distroloader.py b/plugins/kimchi/distroloader.py similarity index 100% rename from src/kimchi/distroloader.py rename to plugins/kimchi/distroloader.py diff --git a/src/distros.d/Makefile.am b/plugins/kimchi/distros.d/Makefile.am similarity index 100% rename from src/distros.d/Makefile.am rename to plugins/kimchi/distros.d/Makefile.am diff --git a/src/distros.d/debian.json b/plugins/kimchi/distros.d/debian.json similarity index 100% rename from src/distros.d/debian.json rename to plugins/kimchi/distros.d/debian.json diff --git a/src/distros.d/fedora.json b/plugins/kimchi/distros.d/fedora.json similarity index 100% rename from src/distros.d/fedora.json rename to plugins/kimchi/distros.d/fedora.json diff --git a/src/distros.d/gentoo.json b/plugins/kimchi/distros.d/gentoo.json similarity index 100% rename from src/distros.d/gentoo.json rename to plugins/kimchi/distros.d/gentoo.json diff --git a/src/distros.d/opensuse.json b/plugins/kimchi/distros.d/opensuse.json similarity index 100% rename from src/distros.d/opensuse.json rename to plugins/kimchi/distros.d/opensuse.json diff --git a/src/distros.d/ubuntu.json b/plugins/kimchi/distros.d/ubuntu.json similarity index 100% rename from src/distros.d/ubuntu.json rename to plugins/kimchi/distros.d/ubuntu.json diff --git a/docs/API.md b/plugins/kimchi/docs/API.md similarity index 100% rename from docs/API.md rename to plugins/kimchi/docs/API.md diff --git a/docs/Makefile.am b/plugins/kimchi/docs/Makefile.am similarity index 100% rename from docs/Makefile.am rename to plugins/kimchi/docs/Makefile.am diff --git a/docs/README-federation.md b/plugins/kimchi/docs/README-federation.md similarity index 100% rename from docs/README-federation.md rename to plugins/kimchi/docs/README-federation.md diff --git a/docs/README.md b/plugins/kimchi/docs/README.md similarity index 100% rename from docs/README.md rename to plugins/kimchi/docs/README.md diff --git a/src/kimchi/i18n.py b/plugins/kimchi/i18n.py similarity index 100% rename from src/kimchi/i18n.py rename to plugins/kimchi/i18n.py diff --git a/src/kimchi/imageinfo.py b/plugins/kimchi/imageinfo.py similarity index 100% rename from src/kimchi/imageinfo.py rename to plugins/kimchi/imageinfo.py diff --git a/src/kimchi/iscsi.py b/plugins/kimchi/iscsi.py similarity index 100% rename from src/kimchi/iscsi.py rename to plugins/kimchi/iscsi.py diff --git a/src/kimchi/isoinfo.py b/plugins/kimchi/isoinfo.py similarity index 100% rename from src/kimchi/isoinfo.py rename to plugins/kimchi/isoinfo.py diff --git a/src/kimchi/kvmusertests.py b/plugins/kimchi/kvmusertests.py similarity index 100% rename from src/kimchi/kvmusertests.py rename to plugins/kimchi/kvmusertests.py diff --git a/plugins/kimchi/m4/ac_python_module.m4 b/plugins/kimchi/m4/ac_python_module.m4 new file mode 100644 index 0000000..32b9d72 --- /dev/null +++ b/plugins/kimchi/m4/ac_python_module.m4 @@ -0,0 +1,30 @@ +dnl @synopsis AC_PYTHON_MODULE(modname[, fatal]) +dnl +dnl Checks for Python module. +dnl +dnl If fatal is non-empty then absence of a module will trigger an +dnl error. +dnl +dnl @category InstalledPackages +dnl @author Andrew Collier <colliera@nu.ac.za>. +dnl @version 2004-07-14 +dnl @license AllPermissive + +AC_DEFUN([AC_PYTHON_MODULE],[ + AC_MSG_CHECKING(python module: $1) + python -c "import $1" 2>/dev/null + if test $? -eq 0; + then + AC_MSG_RESULT(yes) + eval AS_TR_CPP(HAVE_PYMOD_$1)=yes + else + AC_MSG_RESULT(no) + eval AS_TR_CPP(HAVE_PYMOD_$1)=no + # + if test -n "$2" + then + AC_MSG_ERROR(failed to find required module $1) + exit 1 + fi + fi +]) diff --git a/plugins/kimchi/m4/gettext.m4 b/plugins/kimchi/m4/gettext.m4 new file mode 100644 index 0000000..f84e6a5 --- /dev/null +++ b/plugins/kimchi/m4/gettext.m4 @@ -0,0 +1,383 @@ +# gettext.m4 serial 63 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH([included-gettext], + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_TRY_LINK([#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE([HAVE_GETTEXT], [1], + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST([INTLLIBS]) + + dnl Make all documented variables known to autoconf. + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/plugins/kimchi/m4/iconv.m4 b/plugins/kimchi/m4/iconv.m4 new file mode 100644 index 0000000..e2041b9 --- /dev/null +++ b/plugins/kimchi/m4/iconv.m4 @@ -0,0 +1,214 @@ +# iconv.m4 serial 11 (gettext-0.18.1) +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include <stdlib.h> +#include <iconv.h>], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + AC_TRY_RUN([ +#include <iconv.h> +#include <string.h> +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_TRY_COMPILE([ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/plugins/kimchi/m4/intlmacosx.m4 b/plugins/kimchi/m4/intlmacosx.m4 new file mode 100644 index 0000000..dd91025 --- /dev/null +++ b/plugins/kimchi/m4/intlmacosx.m4 @@ -0,0 +1,51 @@ +# intlmacosx.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/plugins/kimchi/m4/lib-ld.m4 b/plugins/kimchi/m4/lib-ld.m4 new file mode 100644 index 0000000..ebb3052 --- /dev/null +++ b/plugins/kimchi/m4/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes ;; +*) + acl_cv_prog_gnu_ld=no ;; +esac]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH([gnu-ld], +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT([$LD]) +else + AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/plugins/kimchi/m4/lib-link.m4 b/plugins/kimchi/m4/lib-link.m4 new file mode 100644 index 0000000..c73bd8e --- /dev/null +++ b/plugins/kimchi/m4/lib-link.m4 @@ -0,0 +1,774 @@ +# lib-link.m4 serial 21 (gettext-0.18) +dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.54]) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + popdef([NAME]) + popdef([Name]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, + dnl because these -l options might require -L options that are present in + dnl LIBS. -l options benefit only from the -L options listed before it. + dnl Otherwise, add it to the front of LIBS, because it may be a static + dnl library that depends on another static library that is present in LIBS. + dnl Static libraries benefit only from the static libraries listed after + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; + *) LIBS="$LIB[]NAME $LIBS" ;; + esac + AC_TRY_LINK([$3], [$4], + [ac_cv_lib[]Name=yes], + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + popdef([NAME]) + popdef([Name]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl acl_libext, +dnl acl_shlibext, +dnl acl_hardcode_libdir_flag_spec, +dnl acl_hardcode_libdir_separator, +dnl acl_hardcode_direct, +dnl acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/plugins/kimchi/m4/lib-prefix.m4 b/plugins/kimchi/m4/lib-prefix.m4 new file mode 100644 index 0000000..1601cea --- /dev/null +++ b/plugins/kimchi/m4/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/plugins/kimchi/m4/nls.m4 b/plugins/kimchi/m4/nls.m4 new file mode 100644 index 0000000..003704c --- /dev/null +++ b/plugins/kimchi/m4/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/plugins/kimchi/m4/po.m4 b/plugins/kimchi/m4/po.m4 new file mode 100644 index 0000000..8bc921d --- /dev/null +++ b/plugins/kimchi/m4/po.m4 @@ -0,0 +1,449 @@ +# po.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_PREREQ([2.50]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AC_PROG_MKDIR_P])dnl defined by autoconf + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat <<EOT +$* +EOT + } + gt_echo='echo_func' + fi + fi + + # A sed script that extracts the value of VARIABLE from a Makefile. + sed_x_variable=' +# Test if the hold space is empty. +x +s/P/P/ +x +ta +# Yes it was empty. Look if we have the expected variable definition. +/^[ ]*VARIABLE[ ]*=/{ + # Seen the first line of the variable definition. + s/^[ ]*VARIABLE[ ]*=// + ba +} +bd +:a +# Here we are processing a line from the variable definition. +# Remove comment, more precisely replace it with a space. +s/#.*$/ / +# See if the line ends in a backslash. +tb +:b +s/\\$// +# Print the line, without the trailing backslash. +p +tc +# There was no trailing backslash. The end of the variable definition is +# reached. Clear the hold space. +s/^.*$// +x +bd +:c +# A trailing backslash means that the variable definition continues in the +# next line. Put a nonempty string into the hold space to indicate this. +s/^.*$/P/ +x +:d +' +changequote([,])dnl + + # Set POTFILES to the value of the Makefile variable POTFILES. + sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'` + POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"` + # Compute POTFILES_DEPS as + # $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) + POTFILES_DEPS= + for file in $POTFILES; do + POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file" + done + POMAKEFILEDEPS="" + + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. + sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` + ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` + fi + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + # Compute PROPERTIESFILES + # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) + # Compute CLASSFILES + # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) + # Compute QMFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) + # Compute MSGFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg) + # Compute RESOURCESDLLFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + PROPERTIESFILES= + CLASSFILES= + QMFILES= + MSGFILES= + RESOURCESDLLFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" + CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" + QMFILES="$QMFILES $srcdirpre$lang.qm" + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + JAVACATALOGS= + QTCATALOGS= + TCLCATALOGS= + CSHARPCATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties" + QTCATALOGS="$QTCATALOGS $lang.qm" + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg" + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll" + done + fi + + sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" <<EOF +$frobbedlang.msg: $lang.po + @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ + \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF + done + fi + if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <<EOF +$frobbedlang/\$(DOMAIN).resources.dll: $lang.po + @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ + \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF + done + fi + if test -n "$POMAKEFILEDEPS"; then + cat >> "$ac_file.tmp" <<EOF +Makefile: $POMAKEFILEDEPS +EOF + fi + mv "$ac_file.tmp" "$ac_file" +]) + +dnl Initializes the accumulator used by AM_XGETTEXT_OPTION. +AC_DEFUN([AM_XGETTEXT_OPTION_INIT], +[ + XGETTEXT_EXTRA_OPTIONS= +]) + +dnl Registers an option to be passed to xgettext in the po subdirectory. +AC_DEFUN([AM_XGETTEXT_OPTION], +[ + AC_REQUIRE([AM_XGETTEXT_OPTION_INIT]) + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1" +]) diff --git a/plugins/kimchi/m4/progtest.m4 b/plugins/kimchi/m4/progtest.m4 new file mode 100644 index 0000000..2d804ac --- /dev/null +++ b/plugins/kimchi/m4/progtest.m4 @@ -0,0 +1,92 @@ +# progtest.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper <drepper@cygnus.com>, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/src/kimchi/mockmodel.py b/plugins/kimchi/mockmodel.py similarity index 100% rename from src/kimchi/mockmodel.py rename to plugins/kimchi/mockmodel.py diff --git a/src/kimchi/model/Makefile.am b/plugins/kimchi/model/Makefile.am similarity index 100% rename from src/kimchi/model/Makefile.am rename to plugins/kimchi/model/Makefile.am diff --git a/src/kimchi/model/__init__.py b/plugins/kimchi/model/__init__.py similarity index 100% rename from src/kimchi/model/__init__.py rename to plugins/kimchi/model/__init__.py diff --git a/src/kimchi/model/config.py b/plugins/kimchi/model/config.py similarity index 100% rename from src/kimchi/model/config.py rename to plugins/kimchi/model/config.py diff --git a/src/kimchi/model/cpuinfo.py b/plugins/kimchi/model/cpuinfo.py similarity index 100% rename from src/kimchi/model/cpuinfo.py rename to plugins/kimchi/model/cpuinfo.py diff --git a/src/kimchi/model/debugreports.py b/plugins/kimchi/model/debugreports.py similarity index 100% rename from src/kimchi/model/debugreports.py rename to plugins/kimchi/model/debugreports.py diff --git a/src/kimchi/model/diskutils.py b/plugins/kimchi/model/diskutils.py similarity index 100% rename from src/kimchi/model/diskutils.py rename to plugins/kimchi/model/diskutils.py diff --git a/src/kimchi/model/featuretests.py b/plugins/kimchi/model/featuretests.py similarity index 100% rename from src/kimchi/model/featuretests.py rename to plugins/kimchi/model/featuretests.py diff --git a/src/kimchi/model/groups.py b/plugins/kimchi/model/groups.py similarity index 100% rename from src/kimchi/model/groups.py rename to plugins/kimchi/model/groups.py diff --git a/src/kimchi/model/host.py b/plugins/kimchi/model/host.py similarity index 100% rename from src/kimchi/model/host.py rename to plugins/kimchi/model/host.py diff --git a/src/kimchi/model/hostdev.py b/plugins/kimchi/model/hostdev.py similarity index 100% rename from src/kimchi/model/hostdev.py rename to plugins/kimchi/model/hostdev.py diff --git a/src/kimchi/model/interfaces.py b/plugins/kimchi/model/interfaces.py similarity index 100% rename from src/kimchi/model/interfaces.py rename to plugins/kimchi/model/interfaces.py diff --git a/src/kimchi/model/libvirtconnection.py b/plugins/kimchi/model/libvirtconnection.py similarity index 100% rename from src/kimchi/model/libvirtconnection.py rename to plugins/kimchi/model/libvirtconnection.py diff --git a/src/kimchi/model/libvirtstoragepool.py b/plugins/kimchi/model/libvirtstoragepool.py similarity index 100% rename from src/kimchi/model/libvirtstoragepool.py rename to plugins/kimchi/model/libvirtstoragepool.py diff --git a/src/kimchi/model/model.py b/plugins/kimchi/model/model.py similarity index 100% rename from src/kimchi/model/model.py rename to plugins/kimchi/model/model.py diff --git a/src/kimchi/model/networks.py b/plugins/kimchi/model/networks.py similarity index 100% rename from src/kimchi/model/networks.py rename to plugins/kimchi/model/networks.py diff --git a/src/kimchi/model/peers.py b/plugins/kimchi/model/peers.py similarity index 100% rename from src/kimchi/model/peers.py rename to plugins/kimchi/model/peers.py diff --git a/src/kimchi/model/storagepools.py b/plugins/kimchi/model/storagepools.py similarity index 100% rename from src/kimchi/model/storagepools.py rename to plugins/kimchi/model/storagepools.py diff --git a/src/kimchi/model/storageservers.py b/plugins/kimchi/model/storageservers.py similarity index 100% rename from src/kimchi/model/storageservers.py rename to plugins/kimchi/model/storageservers.py diff --git a/src/kimchi/model/storagetargets.py b/plugins/kimchi/model/storagetargets.py similarity index 100% rename from src/kimchi/model/storagetargets.py rename to plugins/kimchi/model/storagetargets.py diff --git a/src/kimchi/model/storagevolumes.py b/plugins/kimchi/model/storagevolumes.py similarity index 100% rename from src/kimchi/model/storagevolumes.py rename to plugins/kimchi/model/storagevolumes.py diff --git a/src/kimchi/model/tasks.py b/plugins/kimchi/model/tasks.py similarity index 100% rename from src/kimchi/model/tasks.py rename to plugins/kimchi/model/tasks.py diff --git a/src/kimchi/model/templates.py b/plugins/kimchi/model/templates.py similarity index 100% rename from src/kimchi/model/templates.py rename to plugins/kimchi/model/templates.py diff --git a/src/kimchi/model/users.py b/plugins/kimchi/model/users.py similarity index 100% rename from src/kimchi/model/users.py rename to plugins/kimchi/model/users.py diff --git a/src/kimchi/model/utils.py b/plugins/kimchi/model/utils.py similarity index 100% rename from src/kimchi/model/utils.py rename to plugins/kimchi/model/utils.py diff --git a/src/kimchi/model/vmhostdevs.py b/plugins/kimchi/model/vmhostdevs.py similarity index 100% rename from src/kimchi/model/vmhostdevs.py rename to plugins/kimchi/model/vmhostdevs.py diff --git a/src/kimchi/model/vmifaces.py b/plugins/kimchi/model/vmifaces.py similarity index 100% rename from src/kimchi/model/vmifaces.py rename to plugins/kimchi/model/vmifaces.py diff --git a/src/kimchi/model/vms.py b/plugins/kimchi/model/vms.py similarity index 100% rename from src/kimchi/model/vms.py rename to plugins/kimchi/model/vms.py diff --git a/src/kimchi/model/vmsnapshots.py b/plugins/kimchi/model/vmsnapshots.py similarity index 100% rename from src/kimchi/model/vmsnapshots.py rename to plugins/kimchi/model/vmsnapshots.py diff --git a/src/kimchi/model/vmstorages.py b/plugins/kimchi/model/vmstorages.py similarity index 100% rename from src/kimchi/model/vmstorages.py rename to plugins/kimchi/model/vmstorages.py diff --git a/src/kimchi/osinfo.py b/plugins/kimchi/osinfo.py similarity index 100% rename from src/kimchi/osinfo.py rename to plugins/kimchi/osinfo.py diff --git a/po/LINGUAS b/plugins/kimchi/po/LINGUAS similarity index 100% rename from po/LINGUAS rename to plugins/kimchi/po/LINGUAS diff --git a/po/Makefile.in.in b/plugins/kimchi/po/Makefile.in.in similarity index 100% rename from po/Makefile.in.in rename to plugins/kimchi/po/Makefile.in.in diff --git a/po/Makevars b/plugins/kimchi/po/Makevars similarity index 100% rename from po/Makevars rename to plugins/kimchi/po/Makevars diff --git a/po/POTFILES.in b/plugins/kimchi/po/POTFILES.in similarity index 100% rename from po/POTFILES.in rename to plugins/kimchi/po/POTFILES.in diff --git a/po/de_DE.po b/plugins/kimchi/po/de_DE.po similarity index 100% rename from po/de_DE.po rename to plugins/kimchi/po/de_DE.po diff --git a/po/en_US.po b/plugins/kimchi/po/en_US.po similarity index 100% rename from po/en_US.po rename to plugins/kimchi/po/en_US.po diff --git a/po/es_ES.po b/plugins/kimchi/po/es_ES.po similarity index 100% rename from po/es_ES.po rename to plugins/kimchi/po/es_ES.po diff --git a/po/fr_FR.po b/plugins/kimchi/po/fr_FR.po similarity index 100% rename from po/fr_FR.po rename to plugins/kimchi/po/fr_FR.po diff --git a/po/gen-pot.in b/plugins/kimchi/po/gen-pot.in similarity index 100% rename from po/gen-pot.in rename to plugins/kimchi/po/gen-pot.in diff --git a/po/it_IT.po b/plugins/kimchi/po/it_IT.po similarity index 100% rename from po/it_IT.po rename to plugins/kimchi/po/it_IT.po diff --git a/po/ja_JP.po b/plugins/kimchi/po/ja_JP.po similarity index 100% rename from po/ja_JP.po rename to plugins/kimchi/po/ja_JP.po diff --git a/po/kimchi.pot b/plugins/kimchi/po/kimchi.pot similarity index 100% rename from po/kimchi.pot rename to plugins/kimchi/po/kimchi.pot diff --git a/po/ko_KR.po b/plugins/kimchi/po/ko_KR.po similarity index 100% rename from po/ko_KR.po rename to plugins/kimchi/po/ko_KR.po diff --git a/po/pt_BR.po b/plugins/kimchi/po/pt_BR.po similarity index 100% rename from po/pt_BR.po rename to plugins/kimchi/po/pt_BR.po diff --git a/po/ru_RU.po b/plugins/kimchi/po/ru_RU.po similarity index 100% rename from po/ru_RU.po rename to plugins/kimchi/po/ru_RU.po diff --git a/po/zh_CN.po b/plugins/kimchi/po/zh_CN.po similarity index 100% rename from po/zh_CN.po rename to plugins/kimchi/po/zh_CN.po diff --git a/po/zh_TW.po b/plugins/kimchi/po/zh_TW.po similarity index 100% rename from po/zh_TW.po rename to plugins/kimchi/po/zh_TW.po diff --git a/src/kimchi/repositories.py b/plugins/kimchi/repositories.py similarity index 100% rename from src/kimchi/repositories.py rename to plugins/kimchi/repositories.py diff --git a/src/kimchi/scan.py b/plugins/kimchi/scan.py similarity index 100% rename from src/kimchi/scan.py rename to plugins/kimchi/scan.py diff --git a/src/kimchi/screenshot.py b/plugins/kimchi/screenshot.py similarity index 100% rename from src/kimchi/screenshot.py rename to plugins/kimchi/screenshot.py diff --git a/src/kimchi/swupdate.py b/plugins/kimchi/swupdate.py similarity index 100% rename from src/kimchi/swupdate.py rename to plugins/kimchi/swupdate.py diff --git a/src/template.conf b/plugins/kimchi/template.conf similarity index 100% rename from src/template.conf rename to plugins/kimchi/template.conf diff --git a/tests/Makefile.am b/plugins/kimchi/tests/Makefile.am similarity index 100% rename from tests/Makefile.am rename to plugins/kimchi/tests/Makefile.am diff --git a/tests/iso_gen.py b/plugins/kimchi/tests/iso_gen.py similarity index 100% rename from tests/iso_gen.py rename to plugins/kimchi/tests/iso_gen.py diff --git a/tests/run_tests.sh.in b/plugins/kimchi/tests/run_tests.sh.in similarity index 100% rename from tests/run_tests.sh.in rename to plugins/kimchi/tests/run_tests.sh.in diff --git a/tests/test_authorization.py b/plugins/kimchi/tests/test_authorization.py similarity index 100% rename from tests/test_authorization.py rename to plugins/kimchi/tests/test_authorization.py diff --git a/tests/test_config.py.in b/plugins/kimchi/tests/test_config.py.in similarity index 100% rename from tests/test_config.py.in rename to plugins/kimchi/tests/test_config.py.in diff --git a/tests/test_exception.py b/plugins/kimchi/tests/test_exception.py similarity index 100% rename from tests/test_exception.py rename to plugins/kimchi/tests/test_exception.py diff --git a/tests/test_host.py b/plugins/kimchi/tests/test_host.py similarity index 100% rename from tests/test_host.py rename to plugins/kimchi/tests/test_host.py diff --git a/tests/test_mock_network.py b/plugins/kimchi/tests/test_mock_network.py similarity index 100% rename from tests/test_mock_network.py rename to plugins/kimchi/tests/test_mock_network.py diff --git a/tests/test_mock_storagepool.py b/plugins/kimchi/tests/test_mock_storagepool.py similarity index 100% rename from tests/test_mock_storagepool.py rename to plugins/kimchi/tests/test_mock_storagepool.py diff --git a/tests/test_mock_storagevolume.py b/plugins/kimchi/tests/test_mock_storagevolume.py similarity index 100% rename from tests/test_mock_storagevolume.py rename to plugins/kimchi/tests/test_mock_storagevolume.py diff --git a/tests/test_mockmodel.py b/plugins/kimchi/tests/test_mockmodel.py similarity index 100% rename from tests/test_mockmodel.py rename to plugins/kimchi/tests/test_mockmodel.py diff --git a/tests/test_model.py b/plugins/kimchi/tests/test_model.py similarity index 100% rename from tests/test_model.py rename to plugins/kimchi/tests/test_model.py diff --git a/tests/test_model_network.py b/plugins/kimchi/tests/test_model_network.py similarity index 100% rename from tests/test_model_network.py rename to plugins/kimchi/tests/test_model_network.py diff --git a/tests/test_model_storagepool.py b/plugins/kimchi/tests/test_model_storagepool.py similarity index 100% rename from tests/test_model_storagepool.py rename to plugins/kimchi/tests/test_model_storagepool.py diff --git a/tests/test_model_storagevolume.py b/plugins/kimchi/tests/test_model_storagevolume.py similarity index 100% rename from tests/test_model_storagevolume.py rename to plugins/kimchi/tests/test_model_storagevolume.py diff --git a/tests/test_networkxml.py b/plugins/kimchi/tests/test_networkxml.py similarity index 100% rename from tests/test_networkxml.py rename to plugins/kimchi/tests/test_networkxml.py diff --git a/tests/test_objectstore.py b/plugins/kimchi/tests/test_objectstore.py similarity index 100% rename from tests/test_objectstore.py rename to plugins/kimchi/tests/test_objectstore.py diff --git a/tests/test_osinfo.py b/plugins/kimchi/tests/test_osinfo.py similarity index 100% rename from tests/test_osinfo.py rename to plugins/kimchi/tests/test_osinfo.py diff --git a/tests/test_plugin.py b/plugins/kimchi/tests/test_plugin.py similarity index 100% rename from tests/test_plugin.py rename to plugins/kimchi/tests/test_plugin.py diff --git a/tests/test_rest.py b/plugins/kimchi/tests/test_rest.py similarity index 100% rename from tests/test_rest.py rename to plugins/kimchi/tests/test_rest.py diff --git a/tests/test_rollbackcontext.py b/plugins/kimchi/tests/test_rollbackcontext.py similarity index 100% rename from tests/test_rollbackcontext.py rename to plugins/kimchi/tests/test_rollbackcontext.py diff --git a/tests/test_server.py b/plugins/kimchi/tests/test_server.py similarity index 100% rename from tests/test_server.py rename to plugins/kimchi/tests/test_server.py diff --git a/tests/test_storagepoolxml.py b/plugins/kimchi/tests/test_storagepoolxml.py similarity index 100% rename from tests/test_storagepoolxml.py rename to plugins/kimchi/tests/test_storagepoolxml.py diff --git a/tests/test_template.py b/plugins/kimchi/tests/test_template.py similarity index 100% rename from tests/test_template.py rename to plugins/kimchi/tests/test_template.py diff --git a/tests/test_utils.py b/plugins/kimchi/tests/test_utils.py similarity index 100% rename from tests/test_utils.py rename to plugins/kimchi/tests/test_utils.py diff --git a/tests/test_vmtemplate.py b/plugins/kimchi/tests/test_vmtemplate.py similarity index 100% rename from tests/test_vmtemplate.py rename to plugins/kimchi/tests/test_vmtemplate.py diff --git a/tests/test_yumparser.py b/plugins/kimchi/tests/test_yumparser.py similarity index 100% rename from tests/test_yumparser.py rename to plugins/kimchi/tests/test_yumparser.py diff --git a/tests/utils.py b/plugins/kimchi/tests/utils.py similarity index 100% rename from tests/utils.py rename to plugins/kimchi/tests/utils.py diff --git a/config/Makefile.am b/plugins/kimchi/ui/Makefile.am similarity index 100% rename from config/Makefile.am rename to plugins/kimchi/ui/Makefile.am diff --git a/config/ui/Makefile.am b/plugins/kimchi/ui/config/Makefile.am similarity index 100% rename from config/ui/Makefile.am rename to plugins/kimchi/ui/config/Makefile.am diff --git a/config/ui/tabs.xml b/plugins/kimchi/ui/config/tab-ext.xml similarity index 100% rename from config/ui/tabs.xml rename to plugins/kimchi/ui/config/tab-ext.xml diff --git a/ui/css/Makefile.am b/plugins/kimchi/ui/css/Makefile.am similarity index 100% rename from ui/css/Makefile.am rename to plugins/kimchi/ui/css/Makefile.am diff --git a/ui/css/theme-default/button.css b/plugins/kimchi/ui/css/theme-default/button.css similarity index 100% rename from ui/css/theme-default/button.css rename to plugins/kimchi/ui/css/theme-default/button.css diff --git a/ui/css/theme-default/circleGauge.css b/plugins/kimchi/ui/css/theme-default/circleGauge.css similarity index 100% rename from ui/css/theme-default/circleGauge.css rename to plugins/kimchi/ui/css/theme-default/circleGauge.css diff --git a/ui/css/theme-default/form.css b/plugins/kimchi/ui/css/theme-default/form.css similarity index 100% rename from ui/css/theme-default/form.css rename to plugins/kimchi/ui/css/theme-default/form.css diff --git a/ui/css/theme-default/grid.css b/plugins/kimchi/ui/css/theme-default/grid.css similarity index 100% rename from ui/css/theme-default/grid.css rename to plugins/kimchi/ui/css/theme-default/grid.css diff --git a/ui/css/theme-default/guest-edit.css b/plugins/kimchi/ui/css/theme-default/guest-edit.css similarity index 100% rename from ui/css/theme-default/guest-edit.css rename to plugins/kimchi/ui/css/theme-default/guest-edit.css diff --git a/ui/css/theme-default/guest-storage-add.css b/plugins/kimchi/ui/css/theme-default/guest-storage-add.css similarity index 100% rename from ui/css/theme-default/guest-storage-add.css rename to plugins/kimchi/ui/css/theme-default/guest-storage-add.css diff --git a/ui/css/theme-default/host.css b/plugins/kimchi/ui/css/theme-default/host.css similarity index 100% rename from ui/css/theme-default/host.css rename to plugins/kimchi/ui/css/theme-default/host.css diff --git a/ui/css/theme-default/jquery-ui.custom.css b/plugins/kimchi/ui/css/theme-default/jquery-ui.custom.css similarity index 100% rename from ui/css/theme-default/jquery-ui.custom.css rename to plugins/kimchi/ui/css/theme-default/jquery-ui.custom.css diff --git a/ui/css/theme-default/line-chart.css b/plugins/kimchi/ui/css/theme-default/line-chart.css similarity index 100% rename from ui/css/theme-default/line-chart.css rename to plugins/kimchi/ui/css/theme-default/line-chart.css diff --git a/ui/css/theme-default/list.css b/plugins/kimchi/ui/css/theme-default/list.css similarity index 100% rename from ui/css/theme-default/list.css rename to plugins/kimchi/ui/css/theme-default/list.css diff --git a/ui/css/theme-default/message.css b/plugins/kimchi/ui/css/theme-default/message.css similarity index 100% rename from ui/css/theme-default/message.css rename to plugins/kimchi/ui/css/theme-default/message.css diff --git a/ui/css/theme-default/network.css b/plugins/kimchi/ui/css/theme-default/network.css similarity index 100% rename from ui/css/theme-default/network.css rename to plugins/kimchi/ui/css/theme-default/network.css diff --git a/ui/css/theme-default/popover.css b/plugins/kimchi/ui/css/theme-default/popover.css similarity index 100% rename from ui/css/theme-default/popover.css rename to plugins/kimchi/ui/css/theme-default/popover.css diff --git a/ui/css/theme-default/report-add.css b/plugins/kimchi/ui/css/theme-default/report-add.css similarity index 100% rename from ui/css/theme-default/report-add.css rename to plugins/kimchi/ui/css/theme-default/report-add.css diff --git a/ui/css/theme-default/report-rename.css b/plugins/kimchi/ui/css/theme-default/report-rename.css similarity index 100% rename from ui/css/theme-default/report-rename.css rename to plugins/kimchi/ui/css/theme-default/report-rename.css diff --git a/ui/css/theme-default/repository-add.css b/plugins/kimchi/ui/css/theme-default/repository-add.css similarity index 100% rename from ui/css/theme-default/repository-add.css rename to plugins/kimchi/ui/css/theme-default/repository-add.css diff --git a/ui/css/theme-default/repository-edit.css b/plugins/kimchi/ui/css/theme-default/repository-edit.css similarity index 100% rename from ui/css/theme-default/repository-edit.css rename to plugins/kimchi/ui/css/theme-default/repository-edit.css diff --git a/ui/css/theme-default/storage.css b/plugins/kimchi/ui/css/theme-default/storage.css similarity index 100% rename from ui/css/theme-default/storage.css rename to plugins/kimchi/ui/css/theme-default/storage.css diff --git a/ui/css/theme-default/storagepool-add-volume.css b/plugins/kimchi/ui/css/theme-default/storagepool-add-volume.css similarity index 100% rename from ui/css/theme-default/storagepool-add-volume.css rename to plugins/kimchi/ui/css/theme-default/storagepool-add-volume.css diff --git a/ui/css/theme-default/template-edit.css b/plugins/kimchi/ui/css/theme-default/template-edit.css similarity index 100% rename from ui/css/theme-default/template-edit.css rename to plugins/kimchi/ui/css/theme-default/template-edit.css diff --git a/ui/css/theme-default/template.css b/plugins/kimchi/ui/css/theme-default/template.css similarity index 100% rename from ui/css/theme-default/template.css rename to plugins/kimchi/ui/css/theme-default/template.css diff --git a/ui/css/theme-default/template_add.css b/plugins/kimchi/ui/css/theme-default/template_add.css similarity index 100% rename from ui/css/theme-default/template_add.css rename to plugins/kimchi/ui/css/theme-default/template_add.css diff --git a/ui/css/theme-default/template_list.css b/plugins/kimchi/ui/css/theme-default/template_list.css similarity index 100% rename from ui/css/theme-default/template_list.css rename to plugins/kimchi/ui/css/theme-default/template_list.css diff --git a/ui/css/theme-default/tile-check.css b/plugins/kimchi/ui/css/theme-default/tile-check.css similarity index 100% rename from ui/css/theme-default/tile-check.css rename to plugins/kimchi/ui/css/theme-default/tile-check.css diff --git a/ui/css/theme-default/toolbar.css b/plugins/kimchi/ui/css/theme-default/toolbar.css similarity index 100% rename from ui/css/theme-default/toolbar.css rename to plugins/kimchi/ui/css/theme-default/toolbar.css diff --git a/ui/images/Makefile.am b/plugins/kimchi/ui/images/Makefile.am similarity index 100% rename from ui/images/Makefile.am rename to plugins/kimchi/ui/images/Makefile.am diff --git a/ui/images/theme-default/Makefile.am b/plugins/kimchi/ui/images/theme-default/Makefile.am similarity index 100% rename from ui/images/theme-default/Makefile.am rename to plugins/kimchi/ui/images/theme-default/Makefile.am diff --git a/ui/images/theme-default/folder-arrow-right.png b/plugins/kimchi/ui/images/theme-default/arrow-down-black.png similarity index 90% copy from ui/images/theme-default/folder-arrow-right.png copy to plugins/kimchi/ui/images/theme-default/arrow-down-black.png index 71a1832791df9b57ecca8b184d4e0e4bcf9aea7f..2c05f00498232213a081497051c94d16537daab8 100644 GIT binary patch delta 234 zcmV<G02Tj^7ycF@iBL{Q4GJ0x0000DNk~Le0000E000092nGNE00K=NX|W-n3V*3d zL_t(|+MLlnN<&c)hT(S(3O7Gk*sAFQ(_V0GW-D<sE<%uljfElEK_Xb>wK-Qbpb44k zE9T*YnNT@rE&w884%`8gBl}z69oU3QMBHZP>eRMc>ui7p=rVJA0$KpC1wb9EU9I)% z2zqRBU0T=ypTOl`xS==T33w^(I6wRU@F9wb4}QKwE$URgR{P9UU8)c2y*e6phvWRh kz!<mz`j(%+o7#L0056AMLI?@#xBvhE07*qoM6N<$g3sGtjsO4v delta 250 zcmV<W00sa47LFGoiBL{Q4GJ0x0000DNk~Le000090000D2nGNE0DAyL2C*TZ3V*pt zL_t(|+Jw<DO2;r12jDLySX>&Rn}Xor3G_T(%FzRO2T#yhbaChjIyi{5;=gfeH1t0h z2=DQJA3Q=r&e?w_LI~jwCwRdd-mw<cZ1rXsh6mi@8fR7Z+ca(48prV-S9@5{9AngV zooSjL_pqQ9VvJHs1%8%!bM%rw_)na3UUJUIsKCDO&(YTF=AFC50bf`PdfkBqADBZ3 zYuth-NGV<5y9N-pZ;3eF>QaLmHQNn1)Bt`40BrC*$)(cHf&c&j07*qoM6N<$f=Huh Ar~m)} diff --git a/ui/images/theme-default/folder-arrow-right.png b/plugins/kimchi/ui/images/theme-default/bg-mask.png similarity index 90% copy from ui/images/theme-default/folder-arrow-right.png copy to plugins/kimchi/ui/images/theme-default/bg-mask.png index 71a1832791df9b57ecca8b184d4e0e4bcf9aea7f..e93afac51302bb32de2e1fba046d9f6b6fa40b2d 100644 GIT binary patch delta 191 zcmeAZzbvNM8Q|y6%O%Cdz`(%k>ERLtq%}a8gAGXb{M(VcQE@(3eVwO^V@SoVH&+e0 z8Vm$jFB(4J{PwSv{f_mGm4Vqm59LS(@kk$vUX}IO=<eCtRj&%aUEMoThJ8+BXQ6vS zmdpW<zS;9E4A<>`eqhUv%x1V?^<NdQML1FY#FV>?3=IGOGc$-dKYM8R^H3H)&`k`U Lu6{1-oD!M<n9@rR delta 250 zcmV<W00sZk7LFGoiBL{Q4GJ0x0000DNk~Le000090000D2nGNE0DAyL2C*TZ3V*pt zL_t(|+Jw<DO2;r12jDLySX>&Rn}Xor3G_T(%FzRO2T#yhbaChjIyi{5;=gfeH1t0h z2=DQJA3Q=r&e?w_LI~jwCwRdd-mw<cZ1rXsh6mi@8fR7Z+ca(48prV-S9@5{9AngV zooSjL_pqQ9VvJHs1%8%!bM%rw_)na3UUJUIsKCDO&(YTF=AFC50bf`PdfkBqADBZ3 zYuth-NGV<5y9N-pZ;3eF>QaLmHQNn1)Bt`40BrC*$)(cHf&c&j07*qoM6N<$f*z%3 AeE<Le diff --git a/ui/images/theme-default/folder-arrow-right.png b/plugins/kimchi/ui/images/theme-default/folder-arrow-down.png similarity index 90% copy from ui/images/theme-default/folder-arrow-right.png copy to plugins/kimchi/ui/images/theme-default/folder-arrow-down.png index 71a1832791df9b57ecca8b184d4e0e4bcf9aea7f..6e7baefac8193d8d60cabc1c7d42b5d3aa674c78 100644 GIT binary patch delta 248 zcmV<U00;k$7mODniBL{Q4GJ0x0000DNk~Le0000D000092nGNE0O@+BYOx`o3V*jr zL_t(|+LX{S3c_FvhT%8$*J2CpAn2l=pw|$*gZFfBa_lKOiJ<%)1*Ns0ODk3EV3sW3 zlaQDs{w)V!W;<XDEC+HYU=JLDi%G)FHhG>O!Z5@+H@G3ovJj{{Gy!HsQJj+``3ciB zT>uZ@<^Uwsz!h+1S=MnJf5Ua#D@~xGdxWGw(n!+Cd#|dh)YeMUTv8+{=)&)DJvjB= y{{}#J(+32`Km-_Y2kvIp45A(kTJ-D#fY$(%?sL@jCu{it0000<MNUMnLSTaYsb*XN delta 250 zcmV<W00sYy7mgPpiBL{Q4GJ0x0000DNk~Le000090000D2nGNE0DAyL2C*TZ3V*pt zL_t(|+Jw<DO2;r12jDLySX>&Rn}Xor3G_T(%FzRO2T#yhbaChjIyi{5;=gfeH1t0h z2=DQJA3Q=r&e?w_LI~jwCwRdd-mw<cZ1rXsh6mi@8fR7Z+ca(48prV-S9@5{9AngV zooSjL_pqQ9VvJHs1%8%!bM%rw_)na3UUJUIsKCDO&(YTF=AFC50bf`PdfkBqADBZ3 zYuth-NGV<5y9N-pZ;3eF>QaLmHQNn1)Bt`40BrC*$)(cHf&c&j07*qoM6N<$g4#J} AHvj+t diff --git a/ui/js/Makefile.am b/plugins/kimchi/ui/js/Makefile.am similarity index 100% rename from ui/js/Makefile.am rename to plugins/kimchi/ui/js/Makefile.am diff --git a/ui/js/src/kimchi.api.js b/plugins/kimchi/ui/js/src/kimchi.api.js similarity index 100% rename from ui/js/src/kimchi.api.js rename to plugins/kimchi/ui/js/src/kimchi.api.js diff --git a/ui/js/src/kimchi.form.js b/plugins/kimchi/ui/js/src/kimchi.form.js similarity index 100% rename from ui/js/src/kimchi.form.js rename to plugins/kimchi/ui/js/src/kimchi.form.js diff --git a/ui/js/src/kimchi.grid.js b/plugins/kimchi/ui/js/src/kimchi.grid.js similarity index 100% rename from ui/js/src/kimchi.grid.js rename to plugins/kimchi/ui/js/src/kimchi.grid.js diff --git a/ui/js/src/kimchi.guest_add_main.js b/plugins/kimchi/ui/js/src/kimchi.guest_add_main.js similarity index 100% rename from ui/js/src/kimchi.guest_add_main.js rename to plugins/kimchi/ui/js/src/kimchi.guest_add_main.js diff --git a/ui/js/src/kimchi.guest_edit_main.js b/plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js similarity index 100% rename from ui/js/src/kimchi.guest_edit_main.js rename to plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js diff --git a/ui/js/src/kimchi.guest_main.js b/plugins/kimchi/ui/js/src/kimchi.guest_main.js similarity index 100% rename from ui/js/src/kimchi.guest_main.js rename to plugins/kimchi/ui/js/src/kimchi.guest_main.js diff --git a/ui/js/src/kimchi.guest_media_main.js b/plugins/kimchi/ui/js/src/kimchi.guest_media_main.js similarity index 100% rename from ui/js/src/kimchi.guest_media_main.js rename to plugins/kimchi/ui/js/src/kimchi.guest_media_main.js diff --git a/ui/js/src/kimchi.guest_storage_add.main.js b/plugins/kimchi/ui/js/src/kimchi.guest_storage_add.main.js similarity index 100% rename from ui/js/src/kimchi.guest_storage_add.main.js rename to plugins/kimchi/ui/js/src/kimchi.guest_storage_add.main.js diff --git a/ui/js/src/kimchi.host.js b/plugins/kimchi/ui/js/src/kimchi.host.js similarity index 100% rename from ui/js/src/kimchi.host.js rename to plugins/kimchi/ui/js/src/kimchi.host.js diff --git a/ui/js/src/kimchi.line-chart.js b/plugins/kimchi/ui/js/src/kimchi.line-chart.js similarity index 100% rename from ui/js/src/kimchi.line-chart.js rename to plugins/kimchi/ui/js/src/kimchi.line-chart.js diff --git a/ui/js/src/kimchi.network.js b/plugins/kimchi/ui/js/src/kimchi.network.js similarity index 100% rename from ui/js/src/kimchi.network.js rename to plugins/kimchi/ui/js/src/kimchi.network.js diff --git a/ui/js/src/kimchi.report_add_main.js b/plugins/kimchi/ui/js/src/kimchi.report_add_main.js similarity index 100% rename from ui/js/src/kimchi.report_add_main.js rename to plugins/kimchi/ui/js/src/kimchi.report_add_main.js diff --git a/ui/js/src/kimchi.report_rename_main.js b/plugins/kimchi/ui/js/src/kimchi.report_rename_main.js similarity index 100% rename from ui/js/src/kimchi.report_rename_main.js rename to plugins/kimchi/ui/js/src/kimchi.report_rename_main.js diff --git a/ui/js/src/kimchi.repository_add_main.js b/plugins/kimchi/ui/js/src/kimchi.repository_add_main.js similarity index 100% rename from ui/js/src/kimchi.repository_add_main.js rename to plugins/kimchi/ui/js/src/kimchi.repository_add_main.js diff --git a/ui/js/src/kimchi.repository_edit_main.js b/plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js similarity index 100% rename from ui/js/src/kimchi.repository_edit_main.js rename to plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js diff --git a/ui/js/src/kimchi.select.js b/plugins/kimchi/ui/js/src/kimchi.select.js similarity index 100% rename from ui/js/src/kimchi.select.js rename to plugins/kimchi/ui/js/src/kimchi.select.js diff --git a/ui/js/src/kimchi.storage_main.js b/plugins/kimchi/ui/js/src/kimchi.storage_main.js similarity index 100% rename from ui/js/src/kimchi.storage_main.js rename to plugins/kimchi/ui/js/src/kimchi.storage_main.js diff --git a/ui/js/src/kimchi.storagepool_add_main.js b/plugins/kimchi/ui/js/src/kimchi.storagepool_add_main.js similarity index 100% rename from ui/js/src/kimchi.storagepool_add_main.js rename to plugins/kimchi/ui/js/src/kimchi.storagepool_add_main.js diff --git a/ui/js/src/kimchi.storagepool_add_volume_main.js b/plugins/kimchi/ui/js/src/kimchi.storagepool_add_volume_main.js similarity index 100% rename from ui/js/src/kimchi.storagepool_add_volume_main.js rename to plugins/kimchi/ui/js/src/kimchi.storagepool_add_volume_main.js diff --git a/ui/js/src/kimchi.template_add_main.js b/plugins/kimchi/ui/js/src/kimchi.template_add_main.js similarity index 100% rename from ui/js/src/kimchi.template_add_main.js rename to plugins/kimchi/ui/js/src/kimchi.template_add_main.js diff --git a/ui/js/src/kimchi.template_edit_main.js b/plugins/kimchi/ui/js/src/kimchi.template_edit_main.js similarity index 100% rename from ui/js/src/kimchi.template_edit_main.js rename to plugins/kimchi/ui/js/src/kimchi.template_edit_main.js diff --git a/ui/js/src/kimchi.template_main.js b/plugins/kimchi/ui/js/src/kimchi.template_main.js similarity index 100% rename from ui/js/src/kimchi.template_main.js rename to plugins/kimchi/ui/js/src/kimchi.template_main.js diff --git a/ui/js/widgets/circleGauge.js b/plugins/kimchi/ui/js/widgets/circleGauge.js similarity index 100% rename from ui/js/widgets/circleGauge.js rename to plugins/kimchi/ui/js/widgets/circleGauge.js diff --git a/ui/libs/Makefile.am b/plugins/kimchi/ui/libs/Makefile.am similarity index 100% rename from ui/libs/Makefile.am rename to plugins/kimchi/ui/libs/Makefile.am diff --git a/ui/libs/themes/Makefile.am b/plugins/kimchi/ui/libs/themes/Makefile.am similarity index 100% rename from ui/libs/themes/Makefile.am rename to plugins/kimchi/ui/libs/themes/Makefile.am diff --git a/ui/libs/themes/base/Makefile.am b/plugins/kimchi/ui/libs/themes/base/Makefile.am similarity index 100% rename from ui/libs/themes/base/Makefile.am rename to plugins/kimchi/ui/libs/themes/base/Makefile.am diff --git a/ui/libs/themes/base/images/Makefile.am b/plugins/kimchi/ui/libs/themes/base/images/Makefile.am similarity index 100% rename from ui/libs/themes/base/images/Makefile.am rename to plugins/kimchi/ui/libs/themes/base/images/Makefile.am diff --git a/ui/pages/Makefile.am b/plugins/kimchi/ui/pages/Makefile.am similarity index 100% rename from ui/pages/Makefile.am rename to plugins/kimchi/ui/pages/Makefile.am diff --git a/ui/pages/error.html.tmpl b/plugins/kimchi/ui/pages/error.html.tmpl similarity index 100% rename from ui/pages/error.html.tmpl rename to plugins/kimchi/ui/pages/error.html.tmpl diff --git a/ui/pages/guest-add.html.tmpl b/plugins/kimchi/ui/pages/guest-add.html.tmpl similarity index 100% rename from ui/pages/guest-add.html.tmpl rename to plugins/kimchi/ui/pages/guest-add.html.tmpl diff --git a/ui/pages/guest-edit.html.tmpl b/plugins/kimchi/ui/pages/guest-edit.html.tmpl similarity index 100% rename from ui/pages/guest-edit.html.tmpl rename to plugins/kimchi/ui/pages/guest-edit.html.tmpl diff --git a/ui/pages/guest-storage-add.html.tmpl b/plugins/kimchi/ui/pages/guest-storage-add.html.tmpl similarity index 100% rename from ui/pages/guest-storage-add.html.tmpl rename to plugins/kimchi/ui/pages/guest-storage-add.html.tmpl diff --git a/ui/pages/guest.html.tmpl b/plugins/kimchi/ui/pages/guest.html.tmpl similarity index 100% rename from ui/pages/guest.html.tmpl rename to plugins/kimchi/ui/pages/guest.html.tmpl diff --git a/ui/pages/help/Makefile.am b/plugins/kimchi/ui/pages/help/Makefile.am similarity index 100% rename from ui/pages/help/Makefile.am rename to plugins/kimchi/ui/pages/help/Makefile.am diff --git a/ui/pages/help/de_DE/Makefile.am b/plugins/kimchi/ui/pages/help/de_DE/Makefile.am similarity index 100% rename from ui/pages/help/de_DE/Makefile.am rename to plugins/kimchi/ui/pages/help/de_DE/Makefile.am diff --git a/ui/pages/help/de_DE/guests.dita b/plugins/kimchi/ui/pages/help/de_DE/guests.dita similarity index 100% rename from ui/pages/help/de_DE/guests.dita rename to plugins/kimchi/ui/pages/help/de_DE/guests.dita diff --git a/ui/pages/help/de_DE/host.dita b/plugins/kimchi/ui/pages/help/de_DE/host.dita similarity index 100% rename from ui/pages/help/de_DE/host.dita rename to plugins/kimchi/ui/pages/help/de_DE/host.dita diff --git a/ui/pages/help/de_DE/network.dita b/plugins/kimchi/ui/pages/help/de_DE/network.dita similarity index 100% rename from ui/pages/help/de_DE/network.dita rename to plugins/kimchi/ui/pages/help/de_DE/network.dita diff --git a/ui/pages/help/de_DE/storage.dita b/plugins/kimchi/ui/pages/help/de_DE/storage.dita similarity index 100% rename from ui/pages/help/de_DE/storage.dita rename to plugins/kimchi/ui/pages/help/de_DE/storage.dita diff --git a/ui/pages/help/de_DE/templates.dita b/plugins/kimchi/ui/pages/help/de_DE/templates.dita similarity index 100% rename from ui/pages/help/de_DE/templates.dita rename to plugins/kimchi/ui/pages/help/de_DE/templates.dita diff --git a/ui/pages/help/dita-help.xsl b/plugins/kimchi/ui/pages/help/dita-help.xsl similarity index 100% rename from ui/pages/help/dita-help.xsl rename to plugins/kimchi/ui/pages/help/dita-help.xsl diff --git a/ui/pages/help/en_US/Makefile.am b/plugins/kimchi/ui/pages/help/en_US/Makefile.am similarity index 100% rename from ui/pages/help/en_US/Makefile.am rename to plugins/kimchi/ui/pages/help/en_US/Makefile.am diff --git a/ui/pages/help/en_US/guests.dita b/plugins/kimchi/ui/pages/help/en_US/guests.dita similarity index 100% rename from ui/pages/help/en_US/guests.dita rename to plugins/kimchi/ui/pages/help/en_US/guests.dita diff --git a/ui/pages/help/en_US/host.dita b/plugins/kimchi/ui/pages/help/en_US/host.dita similarity index 100% rename from ui/pages/help/en_US/host.dita rename to plugins/kimchi/ui/pages/help/en_US/host.dita diff --git a/ui/pages/help/en_US/network.dita b/plugins/kimchi/ui/pages/help/en_US/network.dita similarity index 100% rename from ui/pages/help/en_US/network.dita rename to plugins/kimchi/ui/pages/help/en_US/network.dita diff --git a/ui/pages/help/en_US/storage.dita b/plugins/kimchi/ui/pages/help/en_US/storage.dita similarity index 100% rename from ui/pages/help/en_US/storage.dita rename to plugins/kimchi/ui/pages/help/en_US/storage.dita diff --git a/ui/pages/help/en_US/templates.dita b/plugins/kimchi/ui/pages/help/en_US/templates.dita similarity index 100% rename from ui/pages/help/en_US/templates.dita rename to plugins/kimchi/ui/pages/help/en_US/templates.dita diff --git a/ui/pages/help/es_ES/Makefile.am b/plugins/kimchi/ui/pages/help/es_ES/Makefile.am similarity index 100% rename from ui/pages/help/es_ES/Makefile.am rename to plugins/kimchi/ui/pages/help/es_ES/Makefile.am diff --git a/ui/pages/help/es_ES/guests.dita b/plugins/kimchi/ui/pages/help/es_ES/guests.dita similarity index 100% rename from ui/pages/help/es_ES/guests.dita rename to plugins/kimchi/ui/pages/help/es_ES/guests.dita diff --git a/ui/pages/help/es_ES/host.dita b/plugins/kimchi/ui/pages/help/es_ES/host.dita similarity index 100% rename from ui/pages/help/es_ES/host.dita rename to plugins/kimchi/ui/pages/help/es_ES/host.dita diff --git a/ui/pages/help/es_ES/network.dita b/plugins/kimchi/ui/pages/help/es_ES/network.dita similarity index 100% rename from ui/pages/help/es_ES/network.dita rename to plugins/kimchi/ui/pages/help/es_ES/network.dita diff --git a/ui/pages/help/es_ES/storage.dita b/plugins/kimchi/ui/pages/help/es_ES/storage.dita similarity index 100% rename from ui/pages/help/es_ES/storage.dita rename to plugins/kimchi/ui/pages/help/es_ES/storage.dita diff --git a/ui/pages/help/es_ES/templates.dita b/plugins/kimchi/ui/pages/help/es_ES/templates.dita similarity index 100% rename from ui/pages/help/es_ES/templates.dita rename to plugins/kimchi/ui/pages/help/es_ES/templates.dita diff --git a/ui/pages/help/fr_FR/Makefile.am b/plugins/kimchi/ui/pages/help/fr_FR/Makefile.am similarity index 100% rename from ui/pages/help/fr_FR/Makefile.am rename to plugins/kimchi/ui/pages/help/fr_FR/Makefile.am diff --git a/ui/pages/help/fr_FR/guests.dita b/plugins/kimchi/ui/pages/help/fr_FR/guests.dita similarity index 100% rename from ui/pages/help/fr_FR/guests.dita rename to plugins/kimchi/ui/pages/help/fr_FR/guests.dita diff --git a/ui/pages/help/fr_FR/host.dita b/plugins/kimchi/ui/pages/help/fr_FR/host.dita similarity index 100% rename from ui/pages/help/fr_FR/host.dita rename to plugins/kimchi/ui/pages/help/fr_FR/host.dita diff --git a/ui/pages/help/fr_FR/network.dita b/plugins/kimchi/ui/pages/help/fr_FR/network.dita similarity index 100% rename from ui/pages/help/fr_FR/network.dita rename to plugins/kimchi/ui/pages/help/fr_FR/network.dita diff --git a/ui/pages/help/fr_FR/storage.dita b/plugins/kimchi/ui/pages/help/fr_FR/storage.dita similarity index 100% rename from ui/pages/help/fr_FR/storage.dita rename to plugins/kimchi/ui/pages/help/fr_FR/storage.dita diff --git a/ui/pages/help/fr_FR/templates.dita b/plugins/kimchi/ui/pages/help/fr_FR/templates.dita similarity index 100% rename from ui/pages/help/fr_FR/templates.dita rename to plugins/kimchi/ui/pages/help/fr_FR/templates.dita diff --git a/ui/pages/help/gen-index.py b/plugins/kimchi/ui/pages/help/gen-index.py similarity index 100% rename from ui/pages/help/gen-index.py rename to plugins/kimchi/ui/pages/help/gen-index.py diff --git a/ui/pages/help/it_IT/Makefile.am b/plugins/kimchi/ui/pages/help/it_IT/Makefile.am similarity index 100% rename from ui/pages/help/it_IT/Makefile.am rename to plugins/kimchi/ui/pages/help/it_IT/Makefile.am diff --git a/ui/pages/help/it_IT/guests.dita b/plugins/kimchi/ui/pages/help/it_IT/guests.dita similarity index 100% rename from ui/pages/help/it_IT/guests.dita rename to plugins/kimchi/ui/pages/help/it_IT/guests.dita diff --git a/ui/pages/help/it_IT/host.dita b/plugins/kimchi/ui/pages/help/it_IT/host.dita similarity index 100% rename from ui/pages/help/it_IT/host.dita rename to plugins/kimchi/ui/pages/help/it_IT/host.dita diff --git a/ui/pages/help/it_IT/network.dita b/plugins/kimchi/ui/pages/help/it_IT/network.dita similarity index 100% rename from ui/pages/help/it_IT/network.dita rename to plugins/kimchi/ui/pages/help/it_IT/network.dita diff --git a/ui/pages/help/it_IT/storage.dita b/plugins/kimchi/ui/pages/help/it_IT/storage.dita similarity index 100% rename from ui/pages/help/it_IT/storage.dita rename to plugins/kimchi/ui/pages/help/it_IT/storage.dita diff --git a/ui/pages/help/it_IT/templates.dita b/plugins/kimchi/ui/pages/help/it_IT/templates.dita similarity index 100% rename from ui/pages/help/it_IT/templates.dita rename to plugins/kimchi/ui/pages/help/it_IT/templates.dita diff --git a/ui/pages/help/ja_JP/Makefile.am b/plugins/kimchi/ui/pages/help/ja_JP/Makefile.am similarity index 100% rename from ui/pages/help/ja_JP/Makefile.am rename to plugins/kimchi/ui/pages/help/ja_JP/Makefile.am diff --git a/ui/pages/help/ja_JP/guests.dita b/plugins/kimchi/ui/pages/help/ja_JP/guests.dita similarity index 100% rename from ui/pages/help/ja_JP/guests.dita rename to plugins/kimchi/ui/pages/help/ja_JP/guests.dita diff --git a/ui/pages/help/ja_JP/host.dita b/plugins/kimchi/ui/pages/help/ja_JP/host.dita similarity index 100% rename from ui/pages/help/ja_JP/host.dita rename to plugins/kimchi/ui/pages/help/ja_JP/host.dita diff --git a/ui/pages/help/ja_JP/network.dita b/plugins/kimchi/ui/pages/help/ja_JP/network.dita similarity index 100% rename from ui/pages/help/ja_JP/network.dita rename to plugins/kimchi/ui/pages/help/ja_JP/network.dita diff --git a/ui/pages/help/ja_JP/storage.dita b/plugins/kimchi/ui/pages/help/ja_JP/storage.dita similarity index 100% rename from ui/pages/help/ja_JP/storage.dita rename to plugins/kimchi/ui/pages/help/ja_JP/storage.dita diff --git a/ui/pages/help/ja_JP/templates.dita b/plugins/kimchi/ui/pages/help/ja_JP/templates.dita similarity index 100% rename from ui/pages/help/ja_JP/templates.dita rename to plugins/kimchi/ui/pages/help/ja_JP/templates.dita diff --git a/ui/pages/help/kimchi.css b/plugins/kimchi/ui/pages/help/kimchi.css similarity index 100% rename from ui/pages/help/kimchi.css rename to plugins/kimchi/ui/pages/help/kimchi.css diff --git a/ui/pages/help/ko_KR/Makefile.am b/plugins/kimchi/ui/pages/help/ko_KR/Makefile.am similarity index 100% rename from ui/pages/help/ko_KR/Makefile.am rename to plugins/kimchi/ui/pages/help/ko_KR/Makefile.am diff --git a/ui/pages/help/ko_KR/guests.dita b/plugins/kimchi/ui/pages/help/ko_KR/guests.dita similarity index 100% rename from ui/pages/help/ko_KR/guests.dita rename to plugins/kimchi/ui/pages/help/ko_KR/guests.dita diff --git a/ui/pages/help/ko_KR/host.dita b/plugins/kimchi/ui/pages/help/ko_KR/host.dita similarity index 100% rename from ui/pages/help/ko_KR/host.dita rename to plugins/kimchi/ui/pages/help/ko_KR/host.dita diff --git a/ui/pages/help/ko_KR/network.dita b/plugins/kimchi/ui/pages/help/ko_KR/network.dita similarity index 100% rename from ui/pages/help/ko_KR/network.dita rename to plugins/kimchi/ui/pages/help/ko_KR/network.dita diff --git a/ui/pages/help/ko_KR/storage.dita b/plugins/kimchi/ui/pages/help/ko_KR/storage.dita similarity index 100% rename from ui/pages/help/ko_KR/storage.dita rename to plugins/kimchi/ui/pages/help/ko_KR/storage.dita diff --git a/ui/pages/help/ko_KR/templates.dita b/plugins/kimchi/ui/pages/help/ko_KR/templates.dita similarity index 100% rename from ui/pages/help/ko_KR/templates.dita rename to plugins/kimchi/ui/pages/help/ko_KR/templates.dita diff --git a/ui/pages/help/pt_BR/Makefile.am b/plugins/kimchi/ui/pages/help/pt_BR/Makefile.am similarity index 100% rename from ui/pages/help/pt_BR/Makefile.am rename to plugins/kimchi/ui/pages/help/pt_BR/Makefile.am diff --git a/ui/pages/help/pt_BR/guests.dita b/plugins/kimchi/ui/pages/help/pt_BR/guests.dita similarity index 100% rename from ui/pages/help/pt_BR/guests.dita rename to plugins/kimchi/ui/pages/help/pt_BR/guests.dita diff --git a/ui/pages/help/pt_BR/host.dita b/plugins/kimchi/ui/pages/help/pt_BR/host.dita similarity index 100% rename from ui/pages/help/pt_BR/host.dita rename to plugins/kimchi/ui/pages/help/pt_BR/host.dita diff --git a/ui/pages/help/pt_BR/network.dita b/plugins/kimchi/ui/pages/help/pt_BR/network.dita similarity index 100% rename from ui/pages/help/pt_BR/network.dita rename to plugins/kimchi/ui/pages/help/pt_BR/network.dita diff --git a/ui/pages/help/pt_BR/storage.dita b/plugins/kimchi/ui/pages/help/pt_BR/storage.dita similarity index 100% rename from ui/pages/help/pt_BR/storage.dita rename to plugins/kimchi/ui/pages/help/pt_BR/storage.dita diff --git a/ui/pages/help/pt_BR/templates.dita b/plugins/kimchi/ui/pages/help/pt_BR/templates.dita similarity index 100% rename from ui/pages/help/pt_BR/templates.dita rename to plugins/kimchi/ui/pages/help/pt_BR/templates.dita diff --git a/ui/pages/help/ru_RU/Makefile.am b/plugins/kimchi/ui/pages/help/ru_RU/Makefile.am similarity index 100% rename from ui/pages/help/ru_RU/Makefile.am rename to plugins/kimchi/ui/pages/help/ru_RU/Makefile.am diff --git a/ui/pages/help/ru_RU/guests.dita b/plugins/kimchi/ui/pages/help/ru_RU/guests.dita similarity index 100% rename from ui/pages/help/ru_RU/guests.dita rename to plugins/kimchi/ui/pages/help/ru_RU/guests.dita diff --git a/ui/pages/help/ru_RU/host.dita b/plugins/kimchi/ui/pages/help/ru_RU/host.dita similarity index 100% rename from ui/pages/help/ru_RU/host.dita rename to plugins/kimchi/ui/pages/help/ru_RU/host.dita diff --git a/ui/pages/help/ru_RU/network.dita b/plugins/kimchi/ui/pages/help/ru_RU/network.dita similarity index 100% rename from ui/pages/help/ru_RU/network.dita rename to plugins/kimchi/ui/pages/help/ru_RU/network.dita diff --git a/ui/pages/help/ru_RU/storage.dita b/plugins/kimchi/ui/pages/help/ru_RU/storage.dita similarity index 100% rename from ui/pages/help/ru_RU/storage.dita rename to plugins/kimchi/ui/pages/help/ru_RU/storage.dita diff --git a/ui/pages/help/ru_RU/templates.dita b/plugins/kimchi/ui/pages/help/ru_RU/templates.dita similarity index 100% rename from ui/pages/help/ru_RU/templates.dita rename to plugins/kimchi/ui/pages/help/ru_RU/templates.dita diff --git a/ui/pages/help/zh_CN/Makefile.am b/plugins/kimchi/ui/pages/help/zh_CN/Makefile.am similarity index 100% rename from ui/pages/help/zh_CN/Makefile.am rename to plugins/kimchi/ui/pages/help/zh_CN/Makefile.am diff --git a/ui/pages/help/zh_CN/guests.dita b/plugins/kimchi/ui/pages/help/zh_CN/guests.dita similarity index 100% rename from ui/pages/help/zh_CN/guests.dita rename to plugins/kimchi/ui/pages/help/zh_CN/guests.dita diff --git a/ui/pages/help/zh_CN/host.dita b/plugins/kimchi/ui/pages/help/zh_CN/host.dita similarity index 100% rename from ui/pages/help/zh_CN/host.dita rename to plugins/kimchi/ui/pages/help/zh_CN/host.dita diff --git a/ui/pages/help/zh_CN/network.dita b/plugins/kimchi/ui/pages/help/zh_CN/network.dita similarity index 100% rename from ui/pages/help/zh_CN/network.dita rename to plugins/kimchi/ui/pages/help/zh_CN/network.dita diff --git a/ui/pages/help/zh_CN/storage.dita b/plugins/kimchi/ui/pages/help/zh_CN/storage.dita similarity index 100% rename from ui/pages/help/zh_CN/storage.dita rename to plugins/kimchi/ui/pages/help/zh_CN/storage.dita diff --git a/ui/pages/help/zh_CN/templates.dita b/plugins/kimchi/ui/pages/help/zh_CN/templates.dita similarity index 100% rename from ui/pages/help/zh_CN/templates.dita rename to plugins/kimchi/ui/pages/help/zh_CN/templates.dita diff --git a/ui/pages/help/zh_TW/Makefile.am b/plugins/kimchi/ui/pages/help/zh_TW/Makefile.am similarity index 100% rename from ui/pages/help/zh_TW/Makefile.am rename to plugins/kimchi/ui/pages/help/zh_TW/Makefile.am diff --git a/ui/pages/help/zh_TW/guests.dita b/plugins/kimchi/ui/pages/help/zh_TW/guests.dita similarity index 100% rename from ui/pages/help/zh_TW/guests.dita rename to plugins/kimchi/ui/pages/help/zh_TW/guests.dita diff --git a/ui/pages/help/zh_TW/host.dita b/plugins/kimchi/ui/pages/help/zh_TW/host.dita similarity index 100% rename from ui/pages/help/zh_TW/host.dita rename to plugins/kimchi/ui/pages/help/zh_TW/host.dita diff --git a/ui/pages/help/zh_TW/network.dita b/plugins/kimchi/ui/pages/help/zh_TW/network.dita similarity index 100% rename from ui/pages/help/zh_TW/network.dita rename to plugins/kimchi/ui/pages/help/zh_TW/network.dita diff --git a/ui/pages/help/zh_TW/storage.dita b/plugins/kimchi/ui/pages/help/zh_TW/storage.dita similarity index 100% rename from ui/pages/help/zh_TW/storage.dita rename to plugins/kimchi/ui/pages/help/zh_TW/storage.dita diff --git a/ui/pages/help/zh_TW/templates.dita b/plugins/kimchi/ui/pages/help/zh_TW/templates.dita similarity index 100% rename from ui/pages/help/zh_TW/templates.dita rename to plugins/kimchi/ui/pages/help/zh_TW/templates.dita diff --git a/ui/pages/i18n.json.tmpl b/plugins/kimchi/ui/pages/i18n.json.tmpl similarity index 100% rename from ui/pages/i18n.json.tmpl rename to plugins/kimchi/ui/pages/i18n.json.tmpl diff --git a/ui/pages/report-add.html.tmpl b/plugins/kimchi/ui/pages/report-add.html.tmpl similarity index 100% rename from ui/pages/report-add.html.tmpl rename to plugins/kimchi/ui/pages/report-add.html.tmpl diff --git a/ui/pages/report-rename.html.tmpl b/plugins/kimchi/ui/pages/report-rename.html.tmpl similarity index 100% rename from ui/pages/report-rename.html.tmpl rename to plugins/kimchi/ui/pages/report-rename.html.tmpl diff --git a/ui/pages/repository-add.html.tmpl b/plugins/kimchi/ui/pages/repository-add.html.tmpl similarity index 100% rename from ui/pages/repository-add.html.tmpl rename to plugins/kimchi/ui/pages/repository-add.html.tmpl diff --git a/ui/pages/repository-edit.html.tmpl b/plugins/kimchi/ui/pages/repository-edit.html.tmpl similarity index 100% rename from ui/pages/repository-edit.html.tmpl rename to plugins/kimchi/ui/pages/repository-edit.html.tmpl diff --git a/ui/pages/storagepool-add-volume.html.tmpl b/plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl similarity index 100% rename from ui/pages/storagepool-add-volume.html.tmpl rename to plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl diff --git a/ui/pages/storagepool-add.html.tmpl b/plugins/kimchi/ui/pages/storagepool-add.html.tmpl similarity index 100% rename from ui/pages/storagepool-add.html.tmpl rename to plugins/kimchi/ui/pages/storagepool-add.html.tmpl diff --git a/ui/pages/tabs/Makefile.am b/plugins/kimchi/ui/pages/tabs/Makefile.am similarity index 100% rename from ui/pages/tabs/Makefile.am rename to plugins/kimchi/ui/pages/tabs/Makefile.am diff --git a/ui/pages/tabs/guests.html.tmpl b/plugins/kimchi/ui/pages/tabs/guests.html.tmpl similarity index 100% rename from ui/pages/tabs/guests.html.tmpl rename to plugins/kimchi/ui/pages/tabs/guests.html.tmpl diff --git a/ui/pages/tabs/host.html.tmpl b/plugins/kimchi/ui/pages/tabs/host.html.tmpl similarity index 100% rename from ui/pages/tabs/host.html.tmpl rename to plugins/kimchi/ui/pages/tabs/host.html.tmpl diff --git a/ui/pages/tabs/network.html.tmpl b/plugins/kimchi/ui/pages/tabs/network.html.tmpl similarity index 100% rename from ui/pages/tabs/network.html.tmpl rename to plugins/kimchi/ui/pages/tabs/network.html.tmpl diff --git a/ui/pages/tabs/storage.html.tmpl b/plugins/kimchi/ui/pages/tabs/storage.html.tmpl similarity index 100% rename from ui/pages/tabs/storage.html.tmpl rename to plugins/kimchi/ui/pages/tabs/storage.html.tmpl diff --git a/ui/pages/tabs/templates.html.tmpl b/plugins/kimchi/ui/pages/tabs/templates.html.tmpl similarity index 100% rename from ui/pages/tabs/templates.html.tmpl rename to plugins/kimchi/ui/pages/tabs/templates.html.tmpl diff --git a/ui/pages/template-add.html.tmpl b/plugins/kimchi/ui/pages/template-add.html.tmpl similarity index 100% rename from ui/pages/template-add.html.tmpl rename to plugins/kimchi/ui/pages/template-add.html.tmpl diff --git a/ui/pages/template-edit.html.tmpl b/plugins/kimchi/ui/pages/template-edit.html.tmpl similarity index 100% rename from ui/pages/template-edit.html.tmpl rename to plugins/kimchi/ui/pages/template-edit.html.tmpl diff --git a/ui/robots.txt b/plugins/kimchi/ui/robots.txt similarity index 100% rename from ui/robots.txt rename to plugins/kimchi/ui/robots.txt diff --git a/ui/spice-html5/Makefile.am b/plugins/kimchi/ui/spice-html5/Makefile.am similarity index 100% rename from ui/spice-html5/Makefile.am rename to plugins/kimchi/ui/spice-html5/Makefile.am diff --git a/ui/spice-html5/atKeynames.js b/plugins/kimchi/ui/spice-html5/atKeynames.js similarity index 100% rename from ui/spice-html5/atKeynames.js rename to plugins/kimchi/ui/spice-html5/atKeynames.js diff --git a/ui/spice-html5/bitmap.js b/plugins/kimchi/ui/spice-html5/bitmap.js similarity index 100% rename from ui/spice-html5/bitmap.js rename to plugins/kimchi/ui/spice-html5/bitmap.js diff --git a/ui/spice-html5/css/Makefile.am b/plugins/kimchi/ui/spice-html5/css/Makefile.am similarity index 100% rename from ui/spice-html5/css/Makefile.am rename to plugins/kimchi/ui/spice-html5/css/Makefile.am diff --git a/ui/spice-html5/css/spice.css b/plugins/kimchi/ui/spice-html5/css/spice.css similarity index 100% rename from ui/spice-html5/css/spice.css rename to plugins/kimchi/ui/spice-html5/css/spice.css diff --git a/ui/spice-html5/cursor.js b/plugins/kimchi/ui/spice-html5/cursor.js similarity index 100% rename from ui/spice-html5/cursor.js rename to plugins/kimchi/ui/spice-html5/cursor.js diff --git a/ui/spice-html5/display.js b/plugins/kimchi/ui/spice-html5/display.js similarity index 100% rename from ui/spice-html5/display.js rename to plugins/kimchi/ui/spice-html5/display.js diff --git a/ui/spice-html5/enums.js b/plugins/kimchi/ui/spice-html5/enums.js similarity index 100% rename from ui/spice-html5/enums.js rename to plugins/kimchi/ui/spice-html5/enums.js diff --git a/ui/spice-html5/inputs.js b/plugins/kimchi/ui/spice-html5/inputs.js similarity index 100% rename from ui/spice-html5/inputs.js rename to plugins/kimchi/ui/spice-html5/inputs.js diff --git a/ui/spice-html5/lz.js b/plugins/kimchi/ui/spice-html5/lz.js similarity index 100% rename from ui/spice-html5/lz.js rename to plugins/kimchi/ui/spice-html5/lz.js diff --git a/ui/spice-html5/main.js b/plugins/kimchi/ui/spice-html5/main.js similarity index 100% rename from ui/spice-html5/main.js rename to plugins/kimchi/ui/spice-html5/main.js diff --git a/ui/spice-html5/pages/Makefile.am b/plugins/kimchi/ui/spice-html5/pages/Makefile.am similarity index 100% rename from ui/spice-html5/pages/Makefile.am rename to plugins/kimchi/ui/spice-html5/pages/Makefile.am diff --git a/ui/spice-html5/pages/spice_auto.html b/plugins/kimchi/ui/spice-html5/pages/spice_auto.html similarity index 100% rename from ui/spice-html5/pages/spice_auto.html rename to plugins/kimchi/ui/spice-html5/pages/spice_auto.html diff --git a/ui/spice-html5/playback.js b/plugins/kimchi/ui/spice-html5/playback.js similarity index 100% rename from ui/spice-html5/playback.js rename to plugins/kimchi/ui/spice-html5/playback.js diff --git a/ui/spice-html5/png.js b/plugins/kimchi/ui/spice-html5/png.js similarity index 100% rename from ui/spice-html5/png.js rename to plugins/kimchi/ui/spice-html5/png.js diff --git a/ui/spice-html5/quic.js b/plugins/kimchi/ui/spice-html5/quic.js similarity index 100% rename from ui/spice-html5/quic.js rename to plugins/kimchi/ui/spice-html5/quic.js diff --git a/ui/spice-html5/resize.js b/plugins/kimchi/ui/spice-html5/resize.js similarity index 100% rename from ui/spice-html5/resize.js rename to plugins/kimchi/ui/spice-html5/resize.js diff --git a/ui/spice-html5/simulatecursor.js b/plugins/kimchi/ui/spice-html5/simulatecursor.js similarity index 100% rename from ui/spice-html5/simulatecursor.js rename to plugins/kimchi/ui/spice-html5/simulatecursor.js diff --git a/ui/spice-html5/spicearraybuffer.js b/plugins/kimchi/ui/spice-html5/spicearraybuffer.js similarity index 100% rename from ui/spice-html5/spicearraybuffer.js rename to plugins/kimchi/ui/spice-html5/spicearraybuffer.js diff --git a/ui/spice-html5/spiceconn.js b/plugins/kimchi/ui/spice-html5/spiceconn.js similarity index 100% rename from ui/spice-html5/spiceconn.js rename to plugins/kimchi/ui/spice-html5/spiceconn.js diff --git a/ui/spice-html5/spicedataview.js b/plugins/kimchi/ui/spice-html5/spicedataview.js similarity index 100% rename from ui/spice-html5/spicedataview.js rename to plugins/kimchi/ui/spice-html5/spicedataview.js diff --git a/ui/spice-html5/spicemsg.js b/plugins/kimchi/ui/spice-html5/spicemsg.js similarity index 100% rename from ui/spice-html5/spicemsg.js rename to plugins/kimchi/ui/spice-html5/spicemsg.js diff --git a/ui/spice-html5/spicetype.js b/plugins/kimchi/ui/spice-html5/spicetype.js similarity index 100% rename from ui/spice-html5/spicetype.js rename to plugins/kimchi/ui/spice-html5/spicetype.js diff --git a/ui/spice-html5/thirdparty/Makefile.am b/plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am similarity index 100% rename from ui/spice-html5/thirdparty/Makefile.am rename to plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am diff --git a/ui/spice-html5/thirdparty/jsbn.js b/plugins/kimchi/ui/spice-html5/thirdparty/jsbn.js similarity index 100% rename from ui/spice-html5/thirdparty/jsbn.js rename to plugins/kimchi/ui/spice-html5/thirdparty/jsbn.js diff --git a/ui/spice-html5/thirdparty/prng4.js b/plugins/kimchi/ui/spice-html5/thirdparty/prng4.js similarity index 100% rename from ui/spice-html5/thirdparty/prng4.js rename to plugins/kimchi/ui/spice-html5/thirdparty/prng4.js diff --git a/ui/spice-html5/thirdparty/rng.js b/plugins/kimchi/ui/spice-html5/thirdparty/rng.js similarity index 100% rename from ui/spice-html5/thirdparty/rng.js rename to plugins/kimchi/ui/spice-html5/thirdparty/rng.js diff --git a/ui/spice-html5/thirdparty/rsa.js b/plugins/kimchi/ui/spice-html5/thirdparty/rsa.js similarity index 100% rename from ui/spice-html5/thirdparty/rsa.js rename to plugins/kimchi/ui/spice-html5/thirdparty/rsa.js diff --git a/ui/spice-html5/thirdparty/sha1.js b/plugins/kimchi/ui/spice-html5/thirdparty/sha1.js similarity index 100% rename from ui/spice-html5/thirdparty/sha1.js rename to plugins/kimchi/ui/spice-html5/thirdparty/sha1.js diff --git a/ui/spice-html5/ticket.js b/plugins/kimchi/ui/spice-html5/ticket.js similarity index 100% rename from ui/spice-html5/ticket.js rename to plugins/kimchi/ui/spice-html5/ticket.js diff --git a/ui/spice-html5/utils.js b/plugins/kimchi/ui/spice-html5/utils.js similarity index 100% rename from ui/spice-html5/utils.js rename to plugins/kimchi/ui/spice-html5/utils.js diff --git a/ui/spice-html5/webm.js b/plugins/kimchi/ui/spice-html5/webm.js similarity index 100% rename from ui/spice-html5/webm.js rename to plugins/kimchi/ui/spice-html5/webm.js diff --git a/ui/spice-html5/wire.js b/plugins/kimchi/ui/spice-html5/wire.js similarity index 100% rename from ui/spice-html5/wire.js rename to plugins/kimchi/ui/spice-html5/wire.js diff --git a/src/kimchi/vmtemplate.py b/plugins/kimchi/vmtemplate.py similarity index 100% rename from src/kimchi/vmtemplate.py rename to plugins/kimchi/vmtemplate.py diff --git a/src/kimchi/xmlutils/Makefile.am b/plugins/kimchi/xmlutils/Makefile.am similarity index 100% rename from src/kimchi/xmlutils/Makefile.am rename to plugins/kimchi/xmlutils/Makefile.am diff --git a/src/kimchi/xmlutils/__init__.py b/plugins/kimchi/xmlutils/__init__.py similarity index 100% rename from src/kimchi/xmlutils/__init__.py rename to plugins/kimchi/xmlutils/__init__.py diff --git a/src/kimchi/xmlutils/cpu.py b/plugins/kimchi/xmlutils/cpu.py similarity index 100% rename from src/kimchi/xmlutils/cpu.py rename to plugins/kimchi/xmlutils/cpu.py diff --git a/src/kimchi/xmlutils/disk.py b/plugins/kimchi/xmlutils/disk.py similarity index 100% rename from src/kimchi/xmlutils/disk.py rename to plugins/kimchi/xmlutils/disk.py diff --git a/src/kimchi/xmlutils/graphics.py b/plugins/kimchi/xmlutils/graphics.py similarity index 100% rename from src/kimchi/xmlutils/graphics.py rename to plugins/kimchi/xmlutils/graphics.py diff --git a/src/kimchi/xmlutils/interface.py b/plugins/kimchi/xmlutils/interface.py similarity index 100% rename from src/kimchi/xmlutils/interface.py rename to plugins/kimchi/xmlutils/interface.py diff --git a/src/kimchi/xmlutils/network.py b/plugins/kimchi/xmlutils/network.py similarity index 100% rename from src/kimchi/xmlutils/network.py rename to plugins/kimchi/xmlutils/network.py diff --git a/src/kimchi/xmlutils/qemucmdline.py b/plugins/kimchi/xmlutils/qemucmdline.py similarity index 100% rename from src/kimchi/xmlutils/qemucmdline.py rename to plugins/kimchi/xmlutils/qemucmdline.py diff --git a/src/kimchi/yumparser.py b/plugins/kimchi/yumparser.py similarity index 100% rename from src/kimchi/yumparser.py rename to plugins/kimchi/yumparser.py -- 1.7.1