From michael.sole at soledevelopment.com Thu Jul 2 11:03:39 2015 Content-Type: multipart/mixed; boundary="===============1138692533997783926==" MIME-Version: 1.0 From: Michael Sole To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] CentOS Init Script Date: Thu, 02 Jul 2015 11:03:29 -0400 Message-ID: <30b85ec14768e6c7d0c3da30dc9435e3.squirrel@mail.soledevelopment.com> --===============1138692533997783926== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I created a very simple CentOS 6 compatible init script. Its a little hacky but it does work. I know I am supposed to make a patch but perhaps someone can evaluate and decide if you want to include it: #!/bin/sh # # Name: Kimchi init script for CentOS 6 # Author: Michael Sole # Email: michael.sole(at)soledevelopment.com # # Description: Very simple init script to start, stop and restart the Kimchi control panel # # Usage: /etc/init.d/kimchid start|stop|restart ### BEGIN INIT INFO # Provides: kimchid # Required-Start: $local_fs $syslog # Required-Stop: $local_fs $syslog # Default-Start: 2345 # Default-Stop: 90 # Short-Description: run kimchi daemon # Description: Very simple init script to start, stop and restart the Kimchi control panel ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions exec=3D"/usr/bin/kimchid" prog=3D"kimchid" lockfile=3D/var/lock/subsys/$prog start() { if [ -f "$lockfile" ] then echo "Lock file found, is the daemon already running?" exit 5 fi echo -n $"Starting $prog: " nohup $exec > /dev/null 2>&1 & echo "OK" touch $lockfile return 0 } stop() { echo -n $"Stopping $prog: " rm -f $lockfile ps aux | grep -ie $prog | awk '{print $2}' | xargs kill -9 > /dev/null 2>&1 return 0 } restart() { stop start } case "$1" in start) $1 ;; stop) $1 ;; restart) $1 ;; *) echo $"Usage: $0 {start|stop|restart}" exit 2 esac exit $? --===============1138692533997783926==-- From alinefm at linux.vnet.ibm.com Fri Jul 3 08:40:09 2015 Content-Type: multipart/mixed; boundary="===============5351031183972573532==" MIME-Version: 1.0 From: Aline Manera To: kimchi-devel at ovirt.org Subject: Re: [Kimchi-devel] [PATCH 2/2] Review changes for Kimchi Date: Fri, 03 Jul 2015 09:39:56 -0300 Message-ID: <5596829C.5080904@linux.vnet.ibm.com> In-Reply-To: 1435704502-8836-1-git-send-email-kersten@us.ibm.com --===============5351031183972573532== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 30/06/2015 19:48, Kersten wrote: > Made changes to 3 files per comments from Aline. > > Signed-off-by: Kersten > --- > ui/pages/help/en_US/guests.dita | 30 +++++++++++++++--------------- > ui/pages/help/en_US/storage.dita | 8 ++++---- > ui/pages/help/en_US/templates.dita | 15 +++++++++------ > 3 files changed, 28 insertions(+), 25 deletions(-) > > diff --git a/ui/pages/help/en_US/guests.dita b/ui/pages/help/en_US/guests= .dita > index 7d0d453..45cf7da 100644 > --- a/ui/pages/help/en_US/guests.dita > +++ b/ui/pages/help/en_US/guests.dita > @@ -10,14 +10,14 @@ https://w3.opensource.ibm.com/projects/dita-cshelp/--> > > Guests > The Guests page lists the defined > -guests or virtual machines. > +guests for your server. > >

For each guest, the following information is displayed:

>
Name
> -
Name of the virtual machine.
> +
Name of the guest.
>
>
CPU
> -
Percentage of processor utilization in the virtual machine.
> +
Percentage of processor utilization in the guest.
>
>
Disk I/O
>
Disk input/output transmission rate in KB per seconds.
> @@ -53,16 +53,16 @@ existing guest. Guests can be edited only while stopp= ed. >
  • Select Power Off to force an immediate > shut down of the guest.
  • >
  • Select Delete to delete the guest.
  • > -To create a guest, or virtual machine, click the plus > -(+) icon on the page.

    > +To create a guest, click the plus (+) icon > +on the page.

    > > > -Create a guest (virtual machine) > +Create a guest > Create a guest by using an existing template. > >

      > -
    1. Type the name to be used to identify the virtual machine.
    2. > -
    3. Select a template.
        > +
      • Type the name to be used to identify the guest.
      • > +
      • Select a template.
          >
        • If templates exist, select from displayed templates.
        • >
        • If no templates exist, click Create a template to > create a template.
        • > @@ -73,9 +73,9 @@ create a template. > > > Edit guest > -Edit the properties of an existing virtual machine. Some > -properties can be edited only while guest is stopped. Others will > -take effect in next boot. > +Edit the properties of an existing guest. Some properties > +can be edited only while guest is stopped. Others will take effect > +in next boot. > >
          >
          General
          > @@ -124,11 +124,11 @@ guest. > iSCSI volumes or if the target pool does not have enough space, the > clone will be created on a default storage pool. >
    > -

    A guest appears in your list with the label "cloning..." When the > -process is complete, the cloned guest is available to use.

    -Caret 54?> > +

    A guest appears in your list with the label Cloning... When > +the process is complete, the cloned guest is available to use.

    +Caret 45?> >
    >
    > > > - > + > diff --git a/ui/pages/help/en_US/storage.dita b/ui/pages/help/en_US/stora= ge.dita > index e6f995d..53d1404 100644 > --- a/ui/pages/help/en_US/storage.dita > +++ b/ui/pages/help/en_US/storage.dita > @@ -94,16 +94,16 @@ pool is created, it will be created for you. > > > Add volume > -Adds volume to a storage pool. > +Adds volume to a storage pool. > >
    >
    Fetch from remote URL
    > -
    Specifies a location to upload the volume from. For example: https://my-server/fedora22.img.
    > +
    Specifies a location to download the volume from. For example: https://my-server/fedora22.img.
    >
    >
    Upload a file
    >
    Specifies a location on your local system.
    > -
    > +
    >
    >
    > > - > + > diff --git a/ui/pages/help/en_US/templates.dita b/ui/pages/help/en_US/tem= plates.dita > index 1c03016..ad3747c 100644 > --- a/ui/pages/help/en_US/templates.dita > +++ b/ui/pages/help/en_US/templates.dita > @@ -55,7 +55,7 @@ You can select multiple networks. >
    In the CPU Number field, specify the number > of processors that are defined for the template.
    >
    Select to Manually set CPU topology for each guest.
    > - > + > > > > @@ -69,16 +69,19 @@ ISO image to 'ISO' storage pool for following discove= ry. >
    Select to scan storage pools for installation ISO images available > on the system.
    > > +
    Local Image File
    > +
    Select to specify a path to the local image file.
    > +
    >
    Remote ISO image
    >
    Select to specify a remote location for an installation ISO image.<= /dd> > > > > > -Add template - local ISO image > -Add a template from a local ISO image. > +Add template - ISO image > +Add a template from a ISO image. > > -

    The ISO images available on the system are displayed.

    > +

    The ISO images available on the system ore remotely are displayed.

    Just a typo here 'ore' but I can fix is before applying. >
    >
    OS
    >
    Name of the operating system or distribution.
    > @@ -105,7 +108,7 @@ specify a path to the ISO image. > ISO images. > > > - > + > > > - > + --===============5351031183972573532==-- From alinefm at linux.vnet.ibm.com Fri Jul 3 08:55:32 2015 Content-Type: multipart/mixed; boundary="===============1947743293539300824==" MIME-Version: 1.0 From: Aline Manera To: kimchi-devel at ovirt.org Subject: Re: [Kimchi-devel] [PATCH] Help updates for Kimchi Date: Fri, 03 Jul 2015 12:55:25 +0000 Message-ID: <201507031255.t63CtPbr015967@d01av01.pok.ibm.com> In-Reply-To: 1435176912-32380-1-git-send-email-kersten@us.ibm.com --===============1947743293539300824== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Applied. Thanks. Regards, Aline Manera --===============1947743293539300824==-- From alinefm at linux.vnet.ibm.com Fri Jul 3 08:56:18 2015 Content-Type: multipart/mixed; boundary="===============2982109405656659015==" MIME-Version: 1.0 From: Aline Manera To: kimchi-devel at ovirt.org Subject: Re: [Kimchi-devel] [PATCH 2/2] Review changes for Kimchi Date: Fri, 03 Jul 2015 09:56:11 -0300 Message-ID: <5596866B.40108@linux.vnet.ibm.com> In-Reply-To: 1435704502-8836-1-git-send-email-kersten@us.ibm.com --===============2982109405656659015== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Applied. Thanks. Regards, Aline Manera --===============2982109405656659015==-- From alinefm at linux.vnet.ibm.com Fri Jul 3 13:55:55 2015 Content-Type: multipart/mixed; boundary="===============4316471442112581495==" MIME-Version: 1.0 From: Aline Manera To: kimchi-devel at ovirt.org Subject: Re: [Kimchi-devel] New branches upstream Date: Fri, 03 Jul 2015 14:55:45 -0300 Message-ID: <5596CCA1.1090102@linux.vnet.ibm.com> In-Reply-To: 5591C2F7.1070305@linux.vnet.ibm.com --===============4316471442112581495== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable I've just updated the wok branch upstream. It contains the latest wok = changes from Lucio + the new UI widgets patches. Please, while sending patches for review add the tag *[wok] *to have = your patch applied into wok branch or *[next] *to get the patch applied = on next branch. Thanks, Aline Manera On 29/06/2015 19:13, Aline Manera wrote: > Hi all, > > As we decided for a stabilization release after 1.5, I will create a = > new branch named 'next' to apply the patches not related to bug fixes. > Once we get 1.5.1 released, the 'next' branch will be merged into 'master' > > I will also create the 'wok' branch to handle the wok framework and = > the new UI development. > I want to use the 1.5.1 time frame to test as much as we can the wok = > framework and the new UI we can release all that right after 1.5.1 > > Summary: > - master: current release development > - next : new features > - wok : disruptive = > features (wok framework + new UI) > > The current 'wok' branch is a copy of the master branch. > I am working with Lucio to get the new UI patches merged with the = > 'wok' patches so we can update the upstream branch accordingly. > > Regards, > Aline Manera > > > _______________________________________________ > Kimchi-devel mailing list > Kimchi-devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/kimchi-devel --===============4316471442112581495== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2lu ZG93cy0xMjUyIgogICAgICBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiPgogIDwvaGVhZD4KICA8 Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIj4KICAgIDxicj4KICAgIEkndmUg anVzdCB1cGRhdGVkIHRoZSB3b2sgYnJhbmNoIHVwc3RyZWFtLiBJdCBjb250YWlucyB0aGUgbGF0 ZXN0CiAgICB3b2sgY2hhbmdlcyBmcm9tIEx1Y2lvICsgdGhlIG5ldyBVSSB3aWRnZXRzIHBhdGNo ZXMuPGJyPgogICAgPGJyPgogICAgUGxlYXNlLCB3aGlsZSBzZW5kaW5nIHBhdGNoZXMgZm9yIHJl dmlldyBhZGQgdGhlIHRhZyA8Yj5bd29rXSA8L2I+dG8KICAgIGhhdmUgeW91ciBwYXRjaCBhcHBs aWVkIGludG8gd29rIGJyYW5jaCBvciA8Yj5bbmV4dF0gPC9iPnRvIGdldAogICAgdGhlIHBhdGNo IGFwcGxpZWQgb24gbmV4dCBicmFuY2guPGJyPgogICAgPGJyPgogICAgVGhhbmtzLDxicj4KICAg IEFsaW5lIE1hbmVyYTxicj4KICAgIDxicj4KICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZp eCI+T24gMjkvMDYvMjAxNSAxOToxMywgQWxpbmUgTWFuZXJhCiAgICAgIHdyb3RlOjxicj4KICAg IDwvZGl2PgogICAgPGJsb2NrcXVvdGUgY2l0ZT0ibWlkOjU1OTFDMkY3LjEwNzAzMDVAbGludXgu dm5ldC5pYm0uY29tIgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPG1ldGEgaHR0cC1lcXVpdj0i Y29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7CiAgICAgICAgY2hhcnNldD13aW5kb3dz LTEyNTIiPgogICAgICBIaSBhbGwsPGJyPgogICAgICA8YnI+CiAgICAgIEFzIHdlIGRlY2lkZWQg Zm9yIGEgc3RhYmlsaXphdGlvbiByZWxlYXNlIGFmdGVyIDEuNSwgSSB3aWxsIGNyZWF0ZQogICAg ICBhIG5ldyBicmFuY2ggbmFtZWQgJ25leHQnIHRvIGFwcGx5IHRoZSBwYXRjaGVzIG5vdCByZWxh dGVkIHRvIGJ1ZwogICAgICBmaXhlcy48YnI+CiAgICAgIE9uY2Ugd2UgZ2V0IDEuNS4xIHJlbGVh c2VkLCB0aGUgJ25leHQnIGJyYW5jaCB3aWxsIGJlIG1lcmdlZCBpbnRvCiAgICAgICdtYXN0ZXIn PGJyPgogICAgICA8YnI+CiAgICAgIEkgd2lsbCBhbHNvIGNyZWF0ZSB0aGUgJ3dvaycgYnJhbmNo IHRvIGhhbmRsZSB0aGUgd29rIGZyYW1ld29yawogICAgICBhbmQgdGhlIG5ldyBVSSBkZXZlbG9w bWVudC48YnI+CiAgICAgIEkgd2FudCB0byB1c2UgdGhlIDEuNS4xIHRpbWUgZnJhbWUgdG8gdGVz dCBhcyBtdWNoIGFzIHdlIGNhbiB0aGUKICAgICAgd29rIGZyYW1ld29yayBhbmQgdGhlIG5ldyBV SSB3ZSBjYW4gcmVsZWFzZSBhbGwgdGhhdCByaWdodCBhZnRlcgogICAgICAxLjUuMTxicj4KICAg ICAgPGJyPgogICAgICBTdW1tYXJ5Ojxicj4KICAgICAgLSBtYXN0ZXI6IGN1cnJlbnQgcmVsZWFz ZSBkZXZlbG9wbWVudDxicj4KICAgICAgLSA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAg ICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2tpbWNoaS1wcm9qZWN0L2tpbWNoaS90cmVlL25l eHQiPm5leHQ8L2E+OgogICAgICBuZXcgZmVhdHVyZXMgPGJyPgogICAgICAtIDxhIG1vei1kby1u b3Qtc2VuZD0idHJ1ZSIKICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20va2ltY2hpLXBy b2plY3Qva2ltY2hpL3RyZWUvd29rIj53b2s8L2E+OgogICAgICBkaXNydXB0aXZlIGZlYXR1cmVz ICh3b2sgZnJhbWV3b3JrICsgbmV3IFVJKTxicj4KICAgICAgPGJyPgogICAgICBUaGUgY3VycmVu dCAnd29rJyBicmFuY2ggaXMgYSBjb3B5IG9mIHRoZSBtYXN0ZXIgYnJhbmNoLjxicj4KICAgICAg SSBhbSB3b3JraW5nIHdpdGggTHVjaW8gdG8gZ2V0IHRoZSBuZXcgVUkgcGF0Y2hlcyBtZXJnZWQg d2l0aCB0aGUKICAgICAgJ3dvaycgcGF0Y2hlcyBzbyB3ZSBjYW4gdXBkYXRlIHRoZSB1cHN0cmVh bSBicmFuY2ggYWNjb3JkaW5nbHkuPGJyPgogICAgICA8YnI+CiAgICAgIFJlZ2FyZHMsPGJyPgog ICAgICBBbGluZSBNYW5lcmE8YnI+CiAgICAgIDxicj4KICAgICAgPGZpZWxkc2V0IGNsYXNzPSJt aW1lQXR0YWNobWVudEhlYWRlciI+PC9maWVsZHNldD4KICAgICAgPGJyPgogICAgICA8cHJlIHdy YXA9IiI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KS2lt Y2hpLWRldmVsIG1haWxpbmcgbGlzdAo8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVk IiBocmVmPSJtYWlsdG86S2ltY2hpLWRldmVsQG92aXJ0Lm9yZyI+S2ltY2hpLWRldmVsQG92aXJ0 Lm9yZzwvYT4KPGEgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2xp c3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tpbWNoaS1kZXZlbCI+aHR0cDovL2xpc3Rz Lm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tpbWNoaS1kZXZlbDwvYT4KPC9wcmU+CiAgICA8 L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============4316471442112581495==-- From frediz at linux.vnet.ibm.com Mon Jul 6 11:11:05 2015 Content-Type: multipart/mixed; boundary="===============1067836086670838875==" MIME-Version: 1.0 From: =?utf-8?q?Fr=C3=A9d=C3=A9ric_Bonnard_=3Cfrediz_at_linux=2Evnet=2Eibm=2Eco?= =?utf-8?q?m=3E?= To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH] Fix minus in manpage Date: Mon, 06 Jul 2015 17:10:56 +0200 Message-ID: <1436195456-18218-1-git-send-email-frediz@linux.vnet.ibm.com> --===============1067836086670838875== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Frederic Bonnard Escape minus for options so they don't get interpreted as hyphens. --- docs/kimchid.8.in | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/kimchid.8.in b/docs/kimchid.8.in index 08e96e5..d715e87 100644 --- a/docs/kimchid.8.in +++ b/docs/kimchid.8.in @@ -17,35 +17,35 @@ supports HTML5. .SH OPTIONS The following options are supported: .TP -\fB-h\fP , \fB--help\fP +\fB\-h\fP , \fB\-\-help\fP Show this help message and exit. .TP -\fB--host\fP \fIhost\fP +\fB\-\-host\fP \fIhost\fP Specify the hostname or IP to listen on. .TP -\fB--port\fP \fIport\fP +\fB\-\-port\fP \fIport\fP Specify the HTTP port (default \fI8000\fP). .TP -\fB--ssl-port\fP \fIssl_port\fP +\fB\-\-ssl-port\fP \fIssl_port\fP Specify the HTTPS port (default \fI8001\fP). .TP -\fB--cherrypy_port\fP \fIcherrypy_port\fP +\fB\-\-cherrypy_port\fP \fIcherrypy_port\fP Specify the Cherrypy server port (default \fI8010\fP). .TP -\fB--log-level\fP [\fIdebug\fP | \fIinfo\fP | \fIwarning\fP | \fIerror\fP = | \fIcritical\fP] +\fB\-\-log-level\fP [\fIdebug\fP | \fIinfo\fP | \fIwarning\fP | \fIerror\f= P | \fIcritical\fP] Specify the log level (default \fIdebug\fP). .TP -\fB--access-log\fP \fIaccess_log\fP +\fB\-\-access-log\fP \fIaccess_log\fP Specify the access log location where kimchi should create the access log = file. .TP -\fB--environment\fP [\fIdevelopment\fP | \fIproduction\fP] +\fB\-\-environment\fP [\fIdevelopment\fP | \fIproduction\fP] Specify the running environment of kimchi server. Check cherrypy documenta= tion for more details (default \fIproduction\fP). .TP -\fB--federation\fP [\fIon\fP | \fIoff\fP] +\fB\-\-federation\fP [\fIon\fP | \fIoff\fP] Register and discover Kimchi peers in the same network using OpenSLP. Check below the \fBFEDERATION\fP section for more details (default \fIoff\fP). .TP -\fB--test\fP +\fB\-\-test\fP Run kimchi on a mock version that does not affect the system. For testing = proposals. .SH FEDERATION Federation feature is a mechanism to discover Kimchi peers in the same net= work. @@ -63,23 +63,23 @@ To enable it, do the following: ports in your firewall configuration = For system using firewalld, do: - sudo firewall-cmd --permanent --add-port=3D427/udp - sudo firewall-cmd --permanent --add-port=3D427/tcp - sudo firewall-cmd --reload + sudo firewall-cmd \-\-permanent \-\-add-port=3D427/udp + sudo firewall-cmd \-\-permanent \-\-add-port=3D427/tcp + sudo firewall-cmd \-\-reload = For openSUSE systems, do: sudo /sbin/SuSEfirewall2 open EXT TCP 427 sudo /sbin/SuSEfirewall2 open EXT UDP 427 = For system using iptables, do: - sudo iptables -A INPUT -p tcp --dport 427 -j ACCEPT - sudo iptables -A INPUT -p udp --dport 427 -j ACCEPT + sudo iptables \-A INPUT \-p tcp \-\-dport 427 \-j ACCEPT + sudo iptables \-A INPUT \-p udp \-\-dport 427 \-j ACCEPT = 3. In addition to the OpenSLP ports, you also need to allow multicast in t= he firewall configuration = For system using firewalld, do: - sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s -= j ACCEPT + sudo firewall-cmd \-\-direct \-\-add-rule ipv4 filter INPUT 0 \-s \-j ACCEPT = For openSUSE systems, do: Add the subnet to the trusted networks listed on FW_TRUSTED_NETS in @@ -87,7 +87,7 @@ To enable it, do the following: Make sure to restart /sbin/SuSEfirewall2 after modifying /etc/sysconfig= /SuSEfirewall2 = For system using iptables, do: - sudo iptables -A INPUT -s -j ACCEPT + sudo iptables \-A INPUT \-s \-j ACCEPT = 4. Start slpd service and make sure it is up while running Kimchi sudo service slpd start -- = 2.1.4 --===============1067836086670838875==-- From joserz at linux.vnet.ibm.com Wed Jul 8 13:42:55 2015 Content-Type: multipart/mixed; boundary="===============1694150384484571062==" MIME-Version: 1.0 From: Jose Ricardo Ziviani To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH 0/3] Add usb xhci controller for hotplug on Power Date: Wed, 08 Jul 2015 14:42:44 -0300 Message-ID: <1436377367-18815-1-git-send-email-joserz@linux.vnet.ibm.com> --===============1694150384484571062== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Power system requires an USB XHCI controller in order to allow PCI hotplug. This patch adds such controller by default when creating a new VM and inform the users if a VM currently doesn't have the controller. Jose Ricardo Ziviani (3): Add a new error code for pci hotplug Check for usb xhci controller in Power platform Define the USB xhci controller in the template for Power Systems src/kimchi/i18n.py | 1 + src/kimchi/model/vmhostdevs.py | 28 +++++++++++++++++++++++++++- src/kimchi/vmtemplate.py | 17 +++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) -- = 1.9.1 --===============1694150384484571062==-- From joserz at linux.vnet.ibm.com Wed Jul 8 13:42:56 2015 Content-Type: multipart/mixed; boundary="===============9176319792953547545==" MIME-Version: 1.0 From: Jose Ricardo Ziviani To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH 2/3] Check for usb xhci controller in Power platform Date: Wed, 08 Jul 2015 14:42:46 -0300 Message-ID: <1436377367-18815-3-git-send-email-joserz@linux.vnet.ibm.com> In-Reply-To: 1436377367-18815-1-git-send-email-joserz@linux.vnet.ibm.com --===============9176319792953547545== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Today it is not possible to hotplug a PCI in Power Systems without an USB xhci controller existing in the VM. This commit checks if there is such controller in the VM, displaying an error message if not. Signed-off-by: Jose Ricardo Ziviani --- src/kimchi/model/vmhostdevs.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/kimchi/model/vmhostdevs.py b/src/kimchi/model/vmhostdevs.py index ea75fce..186e542 100644 --- a/src/kimchi/model/vmhostdevs.py +++ b/src/kimchi/model/vmhostdevs.py @@ -171,6 +171,26 @@ class VMHostDevsModel(object): if rc !=3D 0: kimchi_log.warning("Unable to turn on sebool virt_use_sysf= s") = + def _have_xhci_usb_controller(self, xmlstr): + root =3D objectify.fromstring(xmlstr) + + try: + controllers =3D root.devices.controller + + except AttributeError: + return False + + for controller in controllers: + + if 'model' not in controller.attrib: + continue + + if controller.attrib['type'] =3D=3D 'usb' and \ + controller.attrib['model'] =3D=3D 'nec-xhci': + return True + + return False + def _attach_pci_device(self, vmid, dev_info): self._validate_pci_passthrough_env() = @@ -180,11 +200,17 @@ class VMHostDevsModel(object): driver =3D ('vfio' if DOM_STATE_MAP[dom.info()[0]] =3D=3D "shutoff= " and self.caps.kernel_vfio else 'kvm') = - # on powerkvm systems it must be vfio driver. distro, _, _ =3D platform.linux_distribution() if distro =3D=3D 'IBM_PowerKVM': + # on powerkvm systems, the driver must be vfio. driver =3D 'vfio' = + # powerkvm requires a xhci usb controller in order to support + # pci hotplug. + if DOM_STATE_MAP[dom.info()[0]] !=3D "shutoff" and \ + not self._have_xhci_usb_controller(dom.XMLDesc(0)): + raise InvalidOperation("KCHVMHDEV0006E", {'vmid': vmid}) + # Attach all PCI devices in the same IOMMU group dev_model =3D DeviceModel(conn=3Dself.conn) devs_model =3D DevicesModel(conn=3Dself.conn) -- = 1.9.1 --===============9176319792953547545==-- From joserz at linux.vnet.ibm.com Wed Jul 8 13:42:57 2015 Content-Type: multipart/mixed; boundary="===============5344267050191818234==" MIME-Version: 1.0 From: Jose Ricardo Ziviani To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH 3/3] Define the USB xhci controller in the template for Power Systems Date: Wed, 08 Jul 2015 14:42:47 -0300 Message-ID: <1436377367-18815-4-git-send-email-joserz@linux.vnet.ibm.com> In-Reply-To: 1436377367-18815-1-git-send-email-joserz@linux.vnet.ibm.com --===============5344267050191818234== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - When creating VMs using Kimchi in a Power System, the USB xhci controller is defined by default to have PCI hotplug support. Signed-off-by: Jose Ricardo Ziviani --- src/kimchi/vmtemplate.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/kimchi/vmtemplate.py b/src/kimchi/vmtemplate.py index 79e04ed..3e42971 100644 --- a/src/kimchi/vmtemplate.py +++ b/src/kimchi/vmtemplate.py @@ -22,6 +22,7 @@ import stat import time import urlparse import uuid +import platform = from lxml import etree from lxml.builder import E @@ -287,6 +288,19 @@ class VMTemplate(object): self.info.get('memory') << 10, cpu_topo) = + def _get_usb_controller(self): + # powerkvm systems must include xhci controller model + distro, _, _ =3D platform.linux_distribution() + if distro !=3D "IBM_PowerKVM": + return '' + + return """ + +
    + + """ + def to_vm_xml(self, vm_name, vm_uuid, **kwargs): params =3D dict(self.info) params['name'] =3D vm_name @@ -323,6 +337,8 @@ class VMTemplate(object): elif params['slots'] =3D=3D 0: params['slots'] =3D 1 = + params['usb_controller'] =3D self._get_usb_controller() + xml =3D """ %(qemu-stream-cmdline)s @@ -352,6 +368,7 @@ class VMTemplate(object): %(networks)s %(graphics)s %(input_output)s + %(usb_controller)s -- = 1.9.1 --===============5344267050191818234==-- From joserz at linux.vnet.ibm.com Wed Jul 8 13:42:57 2015 Content-Type: multipart/mixed; boundary="===============3023867521588180229==" MIME-Version: 1.0 From: Jose Ricardo Ziviani To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH 1/3] Add a new error code for pci hotplug Date: Wed, 08 Jul 2015 14:42:45 -0300 Message-ID: <1436377367-18815-2-git-send-email-joserz@linux.vnet.ibm.com> In-Reply-To: 1436377367-18815-1-git-send-email-joserz@linux.vnet.ibm.com --===============3023867521588180229== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Signed-off-by: Jose Ricardo Ziviani --- src/kimchi/i18n.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py index d2ffa34..54750d9 100644 --- a/src/kimchi/i18n.py +++ b/src/kimchi/i18n.py @@ -127,6 +127,7 @@ messages =3D { "For AMD CPU, add iommu=3Dpt iommu=3D1."), "KCHVMHDEV0004E": _('"name" should be a device name string'), "KCHVMHDEV0005E": _('The device %(name)s is probably in use by the hos= t. Unable to attach it to the guest.'), + "KCHVMHDEV0006E": _('VM %(vmid)s does not have an USB XHCI controller = to accept PCI hotplug.'), = "KCHVMIF0001E": _("Interface %(iface)s does not exist in virtual machi= ne %(name)s"), "KCHVMIF0002E": _("Network %(network)s specified for virtual machine %= (name)s does not exist"), -- = 1.9.1 --===============3023867521588180229==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:20 2015 Content-Type: multipart/mixed; boundary="===============7740032977517942233==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 00/34] Split code into Wok server and Kimchi plugin Date: Wed, 08 Jul 2015 16:17:32 -0300 Message-ID: <1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com> --===============7740032977517942233== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable v3 changes: * Rebased with new-ui * Reorganized UI files and removed unnecessary duplicated ones * Added patch 01 to fix new-ui branch * Added patch 33 to split error messages * Added patch 34 to move small specific css code to plugin Github branch URL: https://github.com/lcorreia/kimchi/tree/lcorreia/wok-v3 This patchset splits code into web server framework (Wok) and virtualization layer functionality (Kimchi, made a plugin). Wok stands for Webserver Origi= nated from Kimchi. It's now stable and working. Despite the size of patchset, the review will be straightforward. The bigge= st patches have only repetitive changes, like file/variable renames or URI cha= nges. Patches organization: * 02 to 04: just renames, no code changes. * 05: just duplications of files * 06 to 14: initial changes - mostly repetitive stuff like renames * 15 and 16: core changes - a good summary of reorganization done to the co= de * 17 to 29: small fixes necessary for the reorganization to work * 30 to 34: additional fixes Patches 02 to 29 should be applied as a single commit in order to not break functionality. They are separated here to easy the reviewers work. Thanks, Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro Lucio Correia (34): Add makefiles for fontello Create kimchi plugin Rename src/kimchi to src/wok Rename kimchi-named files to wok Duplicate some files Update wok docs Update kimchi plugin docs Update wok build files Update kimchi plugin makefiles Update wok daemon and specs Update kimchi plugin rpm specs Adapt imports to the new plugin structure Update server references to wok Use plugin relative URLs Setup wok Setup kimchi plugin Use InternalRedirect for all plugin redirects Dynamically add authed URLs to plugin conf Do not use tabs dir for kimchi plugin html templates Refer to kimchi plugin specific js/css in htmls Do not generate help index Fix import_module Make render_cheetah_file() plugin-aware Make cachebust's href() plugin-aware Default to first tab of first plugin Fix storage pool URI split Correctly join help pathes for plugins case Install plugin .mo files to default locale dir Adapt automated tests to the new plugin structure Use pool_uri to avoid case pool_name is not defined Fix Fedora RPM build issue Organize imports in all .py files Split error messages between wok and kimchi plugin Move kimchi-specific CSS to plugin .gitignore | 18 +- COPYING | 8 +- Makefile.am | 91 +- config/Makefile.am | 18 - config/ui/Makefile.am | 22 - config/ui/tabs.xml | 38 - configure.ac | 41 +- contrib/DEBIAN/control.in | 15 +- contrib/DEBIAN/postrm | 4 +- contrib/Makefile.am | 12 +- contrib/kimchi.spec.fedora.in | 189 -- contrib/kimchi.spec.suse.in | 150 - contrib/kimchid-upstart.conf.debian | 34 - contrib/kimchid-upstart.conf.fedora | 33 - contrib/kimchid.service.fedora | 13 - contrib/kimchid.sysvinit | 104 - contrib/make-deb.sh.in | 2 +- contrib/wok.spec.fedora.in | 159 + contrib/wok.spec.suse.in | 133 + contrib/wokd-upstart.conf.debian | 28 + contrib/wokd-upstart.conf.fedora | 28 + contrib/wokd.service.fedora | 13 + contrib/wokd.sysvinit | 104 + docs/API.md | 1123 +------- docs/Makefile.am | 9 +- docs/README-federation.md | 60 - docs/README.md | 202 +-- docs/{kimchid.8.in =3D> wokd.8.in} | 0 plugins/Makefile.am | 2 +- plugins/kimchi/.gitignore | 37 + plugins/kimchi/API.json | 836 ++++++ plugins/kimchi/INSTALL | 369 +++ plugins/kimchi/Makefile.am | 159 + plugins/kimchi/README.md | 1 + plugins/kimchi/VERSION | 1 + plugins/kimchi/__init__.py | 21 + 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.py.in | 139 + plugins/kimchi/config.rpath | 672 +++++ plugins/kimchi/configure.ac | 119 + plugins/kimchi/contrib/DEBIAN/Makefile.am | 17 + plugins/kimchi/contrib/DEBIAN/control.in | 36 + plugins/kimchi/contrib/Makefile.am | 34 + plugins/kimchi/contrib/check_i18n.py | 82 + plugins/kimchi/contrib/kimchi.spec.fedora.in | 124 + plugins/kimchi/contrib/kimchi.spec.suse.in | 113 + {contrib =3D> plugins/kimchi/contrib}/make-deb.sh.in | 0 plugins/kimchi/control/Makefile.am | 27 + plugins/kimchi/control/__init__.py | 26 + plugins/kimchi/control/config.py | 57 + plugins/kimchi/control/cpuinfo.py | 37 + plugins/kimchi/control/debugreports.py | 61 + plugins/kimchi/control/groups.py | 28 + plugins/kimchi/control/host.py | 157 + plugins/kimchi/control/interfaces.py | 46 + plugins/kimchi/control/networks.py | 54 + plugins/kimchi/control/peers.py | 29 + plugins/kimchi/control/storagepools.py | 116 + plugins/kimchi/control/storageservers.py | 60 + plugins/kimchi/control/storagevolumes.py | 83 + plugins/kimchi/control/tasks.py | 37 + plugins/kimchi/control/templates.py | 58 + plugins/kimchi/control/users.py | 35 + plugins/kimchi/control/vm/Makefile.am | 26 + plugins/kimchi/control/vm/__init__.py | 26 + plugins/kimchi/control/vm/hostdevs.py | 43 + plugins/kimchi/control/vm/ifaces.py | 45 + plugins/kimchi/control/vm/snapshots.py | 58 + plugins/kimchi/control/vm/storages.py | 45 + plugins/kimchi/control/vms.py | 67 + plugins/kimchi/disks.py | 196 ++ plugins/kimchi/distroloader.py | 67 + {src =3D> plugins/kimchi}/distros.d/Makefile.am | 0 {src =3D> plugins/kimchi}/distros.d/debian.json | 0 {src =3D> plugins/kimchi}/distros.d/fedora.json | 0 {src =3D> plugins/kimchi}/distros.d/gentoo.json | 0 {src =3D> plugins/kimchi}/distros.d/opensuse.json | 0 {src =3D> plugins/kimchi}/distros.d/ubuntu.json | 0 plugins/kimchi/docs/API.md | 1147 +++++++ plugins/kimchi/docs/Makefile.am | 28 + plugins/kimchi/docs/README-federation.md | 60 + plugins/kimchi/docs/README.md | 247 ++ {docs =3D> plugins/kimchi/docs}/kimchi-guest.png | Bin 192281 -> 1922= 81 bytes {docs =3D> plugins/kimchi/docs}/kimchi-login.png | Bin 318041 -> 3180= 41 bytes {docs =3D> plugins/kimchi/docs}/kimchi-templates.png | Bin 329678 -> 3296= 78 bytes plugins/kimchi/i18n.py | 336 +++ plugins/kimchi/imageinfo.py | 72 + plugins/kimchi/iscsi.py | 88 + plugins/kimchi/isoinfo.py | 506 ++++ plugins/kimchi/kimchi.conf | 45 + plugins/kimchi/kvmusertests.py | 79 + 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 + plugins/kimchi/mockmodel.py | 624 ++++ plugins/kimchi/model/Makefile.am | 25 + {src =3D> plugins}/kimchi/model/__init__.py | 0 plugins/kimchi/model/config.py | 176 ++ plugins/kimchi/model/cpuinfo.py | 126 + plugins/kimchi/model/debugreports.py | 213 ++ plugins/kimchi/model/diskutils.py | 75 + plugins/kimchi/model/featuretests.py | 259 ++ plugins/kimchi/model/groups.py | 67 + plugins/kimchi/model/host.py | 476 +++ plugins/kimchi/model/hostdev.py | 324 ++ plugins/kimchi/model/interfaces.py | 44 + plugins/kimchi/model/libvirtconnection.py | 136 + plugins/kimchi/model/libvirtstoragepool.py | 264 ++ plugins/kimchi/model/model.py | 52 + plugins/kimchi/model/networks.py | 381 +++ plugins/kimchi/model/peers.py | 72 + plugins/kimchi/model/storagepools.py | 491 +++ plugins/kimchi/model/storageservers.py | 81 + plugins/kimchi/model/storagetargets.py | 122 + plugins/kimchi/model/storagevolumes.py | 541 ++++ plugins/kimchi/model/tasks.py | 64 + plugins/kimchi/model/templates.py | 303 ++ plugins/kimchi/model/users.py | 90 + plugins/kimchi/model/utils.py | 161 + plugins/kimchi/model/vmhostdevs.py | 336 +++ plugins/kimchi/model/vmifaces.py | 186 ++ plugins/kimchi/model/vms.py | 1303 ++++++++ plugins/kimchi/model/vmsnapshots.py | 204 ++ plugins/kimchi/model/vmstorages.py | 252 ++ plugins/kimchi/osinfo.py | 214 ++ plugins/kimchi/po/LINGUAS | 11 + plugins/kimchi/po/Makefile.in.in | 398 +++ {po =3D> plugins/kimchi/po}/Makevars | 0 plugins/kimchi/po/POTFILES.in | 3 + plugins/kimchi/po/de_DE.po | 2288 ++++++++++++++ plugins/kimchi/po/en_US.po | 2075 +++++++++++++ plugins/kimchi/po/es_ES.po | 2305 ++++++++++++++ plugins/kimchi/po/fr_FR.po | 2338 +++++++++++++++ {po =3D> plugins/kimchi/po}/gen-pot.in | 0 plugins/kimchi/po/it_IT.po | 2274 ++++++++++++++ plugins/kimchi/po/ja_JP.po | 2269 ++++++++++++++ plugins/kimchi/po/kimchi.pot | 2074 +++++++++++++ plugins/kimchi/po/ko_KR.po | 2197 ++++++++++++++ plugins/kimchi/po/pt_BR.po | 2369 +++++++++++++++ plugins/kimchi/po/ru_RU.po | 2198 ++++++++++++++ plugins/kimchi/po/zh_CN.po | 2186 ++++++++++++++ plugins/kimchi/po/zh_TW.po | 2138 +++++++++++++ plugins/kimchi/repositories.py | 529 ++++ plugins/kimchi/root.py | 70 + plugins/kimchi/scan.py | 89 + plugins/kimchi/screenshot.py | 184 ++ plugins/kimchi/swupdate.py | 263 ++ {src =3D> plugins/kimchi}/template.conf | 0 plugins/kimchi/tests/Makefile.am | 50 + plugins/kimchi/tests/iso_gen.py | 212 ++ plugins/kimchi/tests/run_tests.sh.in | 55 + plugins/kimchi/tests/test_authorization.py | 166 + plugins/kimchi/tests/test_config.py.in | 195 ++ plugins/kimchi/tests/test_exception.py | 113 + plugins/kimchi/tests/test_host.py | 200 ++ plugins/kimchi/tests/test_mock_network.py | 71 + plugins/kimchi/tests/test_mock_storagepool.py | 141 + plugins/kimchi/tests/test_mock_storagevolume.py | 94 + plugins/kimchi/tests/test_mockmodel.py | 139 + plugins/kimchi/tests/test_model.py | 1240 ++++++++ plugins/kimchi/tests/test_model_network.py | 145 + plugins/kimchi/tests/test_model_storagepool.py | 115 + plugins/kimchi/tests/test_model_storagevolume.py | 272 ++ plugins/kimchi/tests/test_networkxml.py | 172 ++ plugins/kimchi/tests/test_objectstore.py | 97 + plugins/kimchi/tests/test_osinfo.py | 69 + plugins/kimchi/tests/test_plugin.py | 127 + plugins/kimchi/tests/test_rest.py | 1221 ++++++++ plugins/kimchi/tests/test_rollbackcontext.py | 99 + plugins/kimchi/tests/test_server.py | 289 ++ plugins/kimchi/tests/test_storagepoolxml.py | 171 ++ plugins/kimchi/tests/test_template.py | 362 +++ plugins/kimchi/tests/test_utils.py | 69 + plugins/kimchi/tests/test_vmtemplate.py | 116 + plugins/kimchi/tests/test_yumparser.py | 162 + plugins/kimchi/tests/utils.py | 260 ++ plugins/kimchi/ui/Makefile.am | 20 + plugins/kimchi/ui/config/Makefile.am | 22 + plugins/kimchi/ui/config/tab-ext.xml | 38 + plugins/kimchi/ui/css/Makefile.am | 26 + plugins/kimchi/ui/css/theme-default/guest-edit.css | 424 +++ .../ui}/css/theme-default/guest-storage-add.css | 0 plugins/kimchi/ui/css/theme-default/host.css | 287 ++ plugins/kimchi/ui/css/theme-default/icon.css | 106 + plugins/kimchi/ui/css/theme-default/list.css | 326 ++ plugins/kimchi/ui/css/theme-default/network.css | 267 ++ .../kimchi/ui}/css/theme-default/report-add.css | 0 .../kimchi/ui/css/theme-default/report-rename.css | 39 + .../ui}/css/theme-default/repository-add.css | 0 .../ui}/css/theme-default/repository-edit.css | 0 plugins/kimchi/ui/css/theme-default/storage.css | 550 ++++ .../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 | 317 ++ .../kimchi/ui}/css/theme-default/template_list.css | 0 plugins/kimchi/ui/images/Makefile.am | 22 + {ui =3D> plugins/kimchi/ui}/images/icon-centos.png | Bin 4734 -> 4734 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-debian.png | Bin 4239 -> 4239 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-fedora.png | Bin 4449 -> 4449 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-gentoo.png | Bin 15307 -> 15307= bytes {ui =3D> plugins/kimchi/ui}/images/icon-opensuse.png | Bin 3046 -> 3046 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-ubuntu.png | Bin 4818 -> 4818 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-vm.png | Bin 2976 -> 2976 b= ytes plugins/kimchi/ui/images/logo.ico | Bin 0 -> 1214 bytes plugins/kimchi/ui/images/theme-default/Makefile.am | 20 + .../kimchi/ui}/images/theme-default/ac22_pause.png | Bin 1219 -> 1219 byt= es .../ui}/images/theme-default/ac22_pause_grey.png | Bin 1175 -> 1175 byt= es .../ui}/images/theme-default/ac24_resume.png | Bin 1341 -> 1341 byt= es .../ui}/images/theme-default/ac24_resume_grey.png | Bin 1282 -> 1282 byt= es .../ui/images/theme-default/arrow-down-black.png | Bin 0 -> 2942 bytes .../images/theme-default/arrow-down-disable.png | Bin 472 -> 472 bytes .../kimchi/ui/images/theme-default/arrow-down.png | Bin 0 -> 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 byt= es .../kimchi/ui}/images/theme-default/group.png | Bin 1703 -> 1703 byt= es .../ui}/images/theme-default/host-icon-sprite.png | Bin 1034 -> 1034 byt= es .../kimchi/ui}/images/theme-default/icon-back.png | Bin 244 -> 244 bytes .../ui}/images/theme-default/icon-camera.png | Bin 4860 -> 4860 byt= es .../ui}/images/theme-default/icon-design.png | Bin 4562 -> 4562 byt= es .../ui}/images/theme-default/icon-detail.png | Bin 3079 -> 3079 byt= es .../kimchi/ui}/images/theme-default/icon-iso.png | Bin 4188 -> 4188 byt= es .../kimchi/ui}/images/theme-default/icon-list.png | Bin 2983 -> 2983 byt= es .../kimchi/ui}/images/theme-default/icon-load.png | Bin 3678 -> 3678 byt= es .../kimchi/ui}/images/theme-default/icon-local.png | Bin 425 -> 425 bytes .../ui}/images/theme-default/icon-power-down.png | Bin 4372 -> 4372 byt= es .../ui}/images/theme-default/icon-power-up.png | Bin 4367 -> 4367 byt= es .../kimchi/ui}/images/theme-default/icon-qcow2.png | Bin 4684 -> 4684 byt= es .../kimchi/ui}/images/theme-default/icon-raw.png | Bin 4679 -> 4679 byt= es .../ui}/images/theme-default/icon-remote.png | Bin 1005 -> 1005 byt= es .../kimchi/ui}/images/theme-default/icon-reset.png | Bin 4576 -> 4576 byt= es .../ui}/images/theme-default/icon-search.png | Bin 4197 -> 4197 byt= es .../kimchi/ui}/images/theme-default/icon-sort.png | Bin 3421 -> 3421 byt= es .../kimchi/ui}/images/theme-default/icon-tree.png | Bin 3526 -> 3526 byt= es .../kimchi/ui}/images/theme-default/icon-user.png | Bin 5366 -> 5366 byt= es .../images/theme-default/icon-volume-default.png | Bin 4265 -> 4265 byt= es .../images/theme-default/kimchi-loading15x15.gif | Bin 1653 -> 1653 byt= es .../kimchi/ui}/images/theme-default/loading.gif | Bin 2190 -> 2190 byt= es .../kimchi/ui}/images/theme-default/user.png | Bin 1322 -> 1322 byt= es plugins/kimchi/ui/js/Makefile.am | 27 + plugins/kimchi/ui/js/src/kimchi.api.js | 1355 +++++++++ plugins/kimchi/ui/js/src/kimchi.guest_add_main.js | 86 + plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js | 759 +++++ plugins/kimchi/ui/js/src/kimchi.guest_main.js | 511 ++++ .../kimchi/ui/js/src/kimchi.guest_media_main.js | 56 + .../ui/js/src/kimchi.guest_storage_add.main.js | 199 ++ plugins/kimchi/ui/js/src/kimchi.host.js | 858 ++++++ plugins/kimchi/ui/js/src/kimchi.main.js | 26 + plugins/kimchi/ui/js/src/kimchi.network.js | 442 +++ plugins/kimchi/ui/js/src/kimchi.report_add_main.js | 72 + .../kimchi/ui/js/src/kimchi.report_rename_main.js | 66 + .../kimchi/ui/js/src/kimchi.repository_add_main.js | 96 + .../ui/js/src/kimchi.repository_edit_main.js | 74 + plugins/kimchi/ui/js/src/kimchi.storage_main.js | 428 +++ .../ui/js/src/kimchi.storagepool_add_main.js | 414 +++ .../js/src/kimchi.storagepool_add_volume_main.js | 179 ++ .../kimchi/ui/js/src/kimchi.template_add_main.js | 441 +++ .../kimchi/ui/js/src/kimchi.template_edit_main.js | 343 +++ plugins/kimchi/ui/js/src/kimchi.template_main.js | 111 + plugins/kimchi/ui/pages/Makefile.am | 22 + plugins/kimchi/ui/pages/guest-add.html.tmpl | 98 + .../kimchi/ui}/pages/guest-edit.html.tmpl | 0 .../kimchi/ui/pages/guest-storage-add.html.tmpl | 103 + plugins/kimchi/ui/pages/guest.html.tmpl | 77 + plugins/kimchi/ui/pages/guests.html.tmpl | 65 + plugins/kimchi/ui/pages/help/Makefile.am | 34 + plugins/kimchi/ui/pages/help/de_DE/Makefile.am | 23 + .../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 =3D> plugins/kimchi/ui}/pages/help/dita-help.xsl | 0 plugins/kimchi/ui/pages/help/en_US/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/es_ES/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/fr_FR/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/it_IT/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/ja_JP/Makefile.am | 23 + .../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 =3D> plugins/kimchi/ui}/pages/help/kimchi.css | 0 plugins/kimchi/ui/pages/help/ko_KR/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/pt_BR/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/ru_RU/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/zh_CN/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/help/zh_TW/Makefile.am | 23 + .../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 plugins/kimchi/ui/pages/host.html.tmpl | 177 ++ plugins/kimchi/ui/pages/i18n.json.tmpl | 187 ++ plugins/kimchi/ui/pages/network.html.tmpl | 133 + plugins/kimchi/ui/pages/report-add.html.tmpl | 56 + plugins/kimchi/ui/pages/report-rename.html.tmpl | 56 + plugins/kimchi/ui/pages/repository-add.html.tmpl | 113 + plugins/kimchi/ui/pages/repository-edit.html.tmpl | 117 + plugins/kimchi/ui/pages/storage.html.tmpl | 143 + .../ui/pages/storagepool-add-volume.html.tmpl | 79 + plugins/kimchi/ui/pages/storagepool-add.html.tmpl | 186 ++ plugins/kimchi/ui/pages/template-add.html.tmpl | 233 ++ plugins/kimchi/ui/pages/template-edit.html.tmpl | 193 ++ plugins/kimchi/ui/pages/templates.html.tmpl | 77 + plugins/kimchi/ui/robots.txt | 2 + plugins/kimchi/ui/spice-html5/Makefile.am | 25 + .../kimchi/ui}/spice-html5/atKeynames.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/bitmap.js | 0 plugins/kimchi/ui/spice-html5/css/Makefile.am | 20 + .../kimchi/ui}/spice-html5/css/spice.css | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/cursor.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/display.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/enums.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/inputs.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/lz.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/main.js | 0 plugins/kimchi/ui/spice-html5/pages/Makefile.am | 20 + .../kimchi/ui/spice-html5/pages/spice_auto.html | 200 ++ {ui =3D> plugins/kimchi/ui}/spice-html5/playback.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/png.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/quic.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/resize.js | 0 .../kimchi/ui}/spice-html5/simulatecursor.js | 0 .../kimchi/ui}/spice-html5/spicearraybuffer.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/spiceconn.js | 0 .../kimchi/ui}/spice-html5/spicedataview.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/spicemsg.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/spicetype.js | 0 .../kimchi/ui/spice-html5/thirdparty/Makefile.am | 20 + .../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 =3D> plugins/kimchi/ui}/spice-html5/ticket.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/utils.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/webm.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/wire.js | 0 plugins/kimchi/utils.py | 40 + plugins/kimchi/vmtemplate.py | 431 +++ plugins/kimchi/xmlutils/Makefile.am | 25 + {src =3D> plugins}/kimchi/xmlutils/__init__.py | 0 {src =3D> plugins}/kimchi/xmlutils/cpu.py | 0 plugins/kimchi/xmlutils/disk.py | 164 + plugins/kimchi/xmlutils/graphics.py | 45 + plugins/kimchi/xmlutils/interface.py | 61 + plugins/kimchi/xmlutils/network.py | 122 + {src =3D> plugins}/kimchi/xmlutils/qemucmdline.py | 0 plugins/kimchi/yumparser.py | 283 ++ plugins/sample/API.json | 2 +- plugins/sample/__init__.py | 14 +- plugins/sample/model.py | 4 +- plugins/sample/sample.conf.in | 12 +- plugins/sample/ui/js/util.js | 6 +- .../sample/ui/pages/help/en_US/sample-tab1.html | 2 +- .../sample/ui/pages/help/en_US/sample-tab2.html | 2 +- plugins/sample/ui/pages/i18n.json.tmpl | 2 +- po/Makevars | 2 +- po/POTFILES.in | 3 +- po/de_DE.po | 2737 +++++++---------= -- po/en_US.po | 1686 +---------- po/es_ES.po | 2763 +++++++---------= -- po/fr_FR.po | 2997 ++++++++--------= --- po/gen-pot.in | 2 +- po/it_IT.po | 2706 +++++++---------= -- po/ja_JP.po | 2694 +++++++---------= -- po/kimchi.pot | 2162 -------------- po/ko_KR.po | 2558 ++++++---------- po/pt_BR.po | 3140 +++++++++-------= ---- po/ru_RU.po | 2558 ++++++---------- po/wok.pot | 553 ++++ po/zh_CN.po | 2816 ++++++++--------= -- po/zh_TW.po | 2442 ++++++---------- src/Makefile.am | 24 +- src/firewalld.xml | 4 +- src/kimchi.conf.in | 65 - src/kimchi/API.json | 836 ------ src/kimchi/Makefile.am | 61 - src/kimchi/asynctask.py | 74 - src/kimchi/auth.py | 352 --- src/kimchi/cachebust.py | 30 - src/kimchi/config.py.in | 324 -- src/kimchi/control/Makefile.am | 27 - src/kimchi/control/__init__.py | 26 - src/kimchi/control/base.py | 381 --- src/kimchi/control/config.py | 57 - src/kimchi/control/cpuinfo.py | 37 - src/kimchi/control/debugreports.py | 61 - src/kimchi/control/groups.py | 28 - src/kimchi/control/host.py | 156 - src/kimchi/control/interfaces.py | 46 - src/kimchi/control/networks.py | 54 - src/kimchi/control/peers.py | 29 - src/kimchi/control/plugins.py | 27 - src/kimchi/control/storagepools.py | 115 - src/kimchi/control/storageservers.py | 60 - src/kimchi/control/storagevolumes.py | 83 - src/kimchi/control/tasks.py | 37 - src/kimchi/control/templates.py | 58 - src/kimchi/control/users.py | 35 - src/kimchi/control/utils.py | 149 - src/kimchi/control/vm/Makefile.am | 26 - src/kimchi/control/vm/__init__.py | 26 - src/kimchi/control/vm/hostdevs.py | 43 - src/kimchi/control/vm/ifaces.py | 45 - src/kimchi/control/vm/snapshots.py | 58 - src/kimchi/control/vm/storages.py | 45 - src/kimchi/control/vms.py | 66 - src/kimchi/disks.py | 197 -- src/kimchi/distroloader.py | 66 - src/kimchi/exception.py | 102 - src/kimchi/i18n.py | 354 --- src/kimchi/imageinfo.py | 72 - src/kimchi/iscsi.py | 88 - src/kimchi/isoinfo.py | 506 ---- src/kimchi/kvmusertests.py | 79 - src/kimchi/mockmodel.py | 625 ---- src/kimchi/model/Makefile.am | 25 - src/kimchi/model/config.py | 175 -- src/kimchi/model/cpuinfo.py | 126 - src/kimchi/model/debugreports.py | 211 -- src/kimchi/model/diskutils.py | 75 - src/kimchi/model/featuretests.py | 259 -- src/kimchi/model/groups.py | 67 - src/kimchi/model/host.py | 476 --- src/kimchi/model/hostdev.py | 323 -- src/kimchi/model/interfaces.py | 43 - src/kimchi/model/libvirtconnection.py | 137 - src/kimchi/model/libvirtstoragepool.py | 264 -- src/kimchi/model/model.py | 51 - src/kimchi/model/networks.py | 382 --- src/kimchi/model/peers.py | 72 - src/kimchi/model/plugins.py | 28 - src/kimchi/model/storagepools.py | 489 --- src/kimchi/model/storageservers.py | 80 - src/kimchi/model/storagetargets.py | 121 - src/kimchi/model/storagevolumes.py | 541 ---- src/kimchi/model/tasks.py | 64 - src/kimchi/model/templates.py | 303 -- src/kimchi/model/users.py | 90 - src/kimchi/model/utils.py | 160 - src/kimchi/model/vmhostdevs.py | 336 --- src/kimchi/model/vmifaces.py | 186 -- src/kimchi/model/vms.py | 1300 -------- src/kimchi/model/vmsnapshots.py | 204 -- src/kimchi/model/vmstorages.py | 251 -- src/kimchi/objectstore.py | 133 - src/kimchi/osinfo.py | 213 -- src/kimchi/proxy.py | 105 - src/kimchi/repositories.py | 529 ---- src/kimchi/root.py | 149 - src/kimchi/scan.py | 89 - src/kimchi/screenshot.py | 184 -- src/kimchi/server.py | 188 -- src/kimchi/sslcert.py | 91 - src/kimchi/swupdate.py | 262 -- src/kimchi/template.py | 111 - src/kimchi/utils.py | 549 ---- src/kimchi/vmtemplate.py | 430 --- src/kimchi/vnc.py | 78 - src/kimchi/xmlutils/Makefile.am | 25 - src/kimchi/xmlutils/disk.py | 164 - src/kimchi/xmlutils/graphics.py | 46 - src/kimchi/xmlutils/interface.py | 62 - src/kimchi/xmlutils/network.py | 123 - src/kimchi/yumparser.py | 283 -- src/kimchid.in | 99 - src/nginx/Makefile.am | 6 +- src/nginx/kimchi.conf.in | 78 - src/nginx/wok.conf.in | 78 + src/wok.conf.in | 65 + src/wok/API.json | 6 + src/wok/Makefile.am | 61 + src/{kimchi =3D> wok}/__init__.py | 0 src/wok/asynctask.py | 74 + src/wok/auth.py | 352 +++ src/{kimchi =3D> wok}/basemodel.py | 0 src/wok/cachebust.py | 35 + src/wok/config.py.in | 202 ++ src/wok/control/Makefile.am | 25 + src/wok/control/__init__.py | 26 + src/wok/control/base.py | 381 +++ src/wok/control/plugins.py | 27 + src/wok/control/utils.py | 147 + src/wok/exception.py | 102 + src/wok/i18n.py | 47 + src/wok/model/Makefile.am | 25 + src/{kimchi =3D> wok}/model/__init__.py | 0 src/wok/model/model.py | 49 + src/wok/model/plugins.py | 28 + src/{kimchi =3D> wok}/netinfo.py | 0 src/{kimchi =3D> wok}/network.py | 0 src/wok/objectstore.py | 132 + src/wok/proxy.py | 105 + src/{kimchi =3D> wok}/rollbackcontext.py | 0 src/wok/root.py | 148 + src/wok/server.py | 203 ++ src/wok/sslcert.py | 89 + src/wok/template.py | 112 + src/wok/utils.py | 533 ++++ src/wok/vnc.py | 77 + src/wok/xmlutils/Makefile.am | 25 + src/{kimchi/model =3D> wok/xmlutils}/__init__.py | 0 src/{kimchi =3D> wok}/xmlutils/utils.py | 0 src/wokd.in | 99 + tests/Makefile.am | 50 - tests/iso_gen.py | 211 -- tests/run_tests.sh.in | 55 - tests/test_authorization.py | 166 - tests/test_config.py.in | 196 -- tests/test_exception.py | 112 - tests/test_host.py | 192 -- tests/test_mock_network.py | 71 - tests/test_mock_storagepool.py | 141 - tests/test_mock_storagevolume.py | 94 - tests/test_mockmodel.py | 138 - tests/test_model.py | 1228 -------- tests/test_model_network.py | 144 - tests/test_model_storagepool.py | 114 - tests/test_model_storagevolume.py | 269 -- tests/test_networkxml.py | 171 -- tests/test_objectstore.py | 96 - tests/test_osinfo.py | 70 - tests/test_plugin.py | 128 - tests/test_rest.py | 1208 -------- tests/test_rollbackcontext.py | 99 - tests/test_server.py | 287 -- tests/test_storagepoolxml.py | 171 -- tests/test_template.py | 362 --- tests/test_utils.py | 69 - tests/test_vmtemplate.py | 116 - tests/test_yumparser.py | 161 - tests/utils.py | 260 -- ui/Makefile.am | 4 +- ui/css/Makefile.am | 2 +- ui/css/theme-default/button.css | 85 - ui/css/theme-default/grid.css | 2 +- ui/css/theme-default/guest-edit.css | 424 --- ui/css/theme-default/host.css | 287 -- ui/css/theme-default/list.css | 326 -- ui/css/theme-default/network.css | 267 -- ui/css/theme-default/report-rename.css | 39 - ui/css/theme-default/storage.css | 554 ---- ui/css/theme-default/template_add.css | 317 -- ui/css/theme-default/topbar.css | 4 + ui/fontello/Makefile.am | 22 + ui/fontello/css/Makefile.am | 20 + ui/fontello/font/Makefile.am | 20 + ui/images/Makefile.am | 4 +- ui/images/theme-default/Makefile.am | 2 +- .../{kimchi-loading.gif =3D> wok-loading.gif} | Bin 6181 -> 6181 b= ytes ui/js/Makefile.am | 8 +- ui/js/src/kimchi.api.js | 1411 --------- ui/js/src/kimchi.cookie.js | 40 - ui/js/src/kimchi.grid.js | 528 ---- ui/js/src/kimchi.guest_add_main.js | 86 - ui/js/src/kimchi.guest_edit_main.js | 759 ----- ui/js/src/kimchi.guest_main.js | 511 ---- ui/js/src/kimchi.guest_media_main.js | 56 - ui/js/src/kimchi.guest_storage_add.main.js | 199 -- ui/js/src/kimchi.host.js | 856 ------ ui/js/src/kimchi.lang.js | 50 - ui/js/src/kimchi.line-chart.js | 202 -- ui/js/src/kimchi.login.js | 72 - ui/js/src/kimchi.main.js | 366 --- ui/js/src/kimchi.message.js | 116 - ui/js/src/kimchi.network.js | 442 --- ui/js/src/kimchi.popable.js | 34 - ui/js/src/kimchi.report_add_main.js | 72 - ui/js/src/kimchi.report_rename_main.js | 66 - ui/js/src/kimchi.repository_add_main.js | 96 - ui/js/src/kimchi.repository_edit_main.js | 74 - ui/js/src/kimchi.select.js | 50 - ui/js/src/kimchi.storage_main.js | 428 --- ui/js/src/kimchi.storagepool_add_main.js | 414 --- ui/js/src/kimchi.storagepool_add_volume_main.js | 179 -- ui/js/src/kimchi.substitute.js | 45 - ui/js/src/kimchi.template_add_main.js | 441 --- ui/js/src/kimchi.template_edit_main.js | 343 --- ui/js/src/kimchi.template_main.js | 111 - ui/js/src/kimchi.topic.js | 48 - ui/js/src/kimchi.user.js | 43 - ui/js/src/kimchi.utils.js | 193 -- ui/js/src/kimchi.window.js | 70 - ui/js/src/wok.api.js | 91 + ui/js/src/wok.cookie.js | 40 + ui/js/src/{kimchi.form.js =3D> wok.form.js} | 0 ui/js/src/wok.grid.js | 528 ++++ ui/js/src/wok.lang.js | 50 + ui/js/src/wok.line-chart.js | 202 ++ ui/js/src/wok.login.js | 72 + ui/js/src/wok.main.js | 355 +++ ui/js/src/wok.message.js | 116 + ui/js/src/{kimchi.object.js =3D> wok.object.js} | 0 ui/js/src/wok.popable.js | 34 + ui/js/src/wok.select.js | 50 + ui/js/src/{kimchi.string.js =3D> wok.string.js} | 0 ui/js/src/wok.substitute.js | 45 + ui/js/src/wok.topic.js | 48 + ui/js/src/wok.user.js | 43 + ui/js/src/wok.utils.js | 193 ++ ui/js/src/wok.window.js | 70 + ui/js/widgets/button-dropDown.js | 2 +- ui/js/widgets/button-flat.js | 2 +- ui/js/widgets/checkbox-flat.js | 4 +- ui/js/widgets/circleGauge.js | 4 +- ui/js/widgets/combobox.js | 2 +- ui/js/widgets/dialog-flat.js | 4 +- ui/js/widgets/filter-select.js | 2 +- ui/js/widgets/gauge-flat.js | 2 +- ui/js/widgets/grid.js | 2 +- ui/js/widgets/line.js | 2 +- ui/js/widgets/list-flat.js | 4 +- ui/js/widgets/menu-flat.js | 4 +- ui/js/widgets/message-flat.js | 4 +- ui/js/widgets/messagebar-flat.js | 4 +- ui/js/widgets/radio-flat.js | 4 +- ui/js/widgets/samples/grid.html | 4 +- ui/js/widgets/samples/line.html | 4 +- ui/js/widgets/samples/tabs.html | 4 +- ui/js/widgets/select-menu.js | 2 +- ui/js/widgets/selectmenu-flat.js | 4 +- ui/js/widgets/textbox-flat.js | 4 +- ui/libs/Makefile.am | 2 +- ui/libs/themes/base/Makefile.am | 2 +- ui/libs/themes/base/images/Makefile.am | 2 +- ui/pages/Makefile.am | 4 +- ui/pages/error.html.tmpl | 8 +- ui/pages/guest-add.html.tmpl | 98 - ui/pages/guest-storage-add.html.tmpl | 103 - ui/pages/guest.html.tmpl | 77 - ui/pages/help/Makefile.am | 35 - ui/pages/help/de_DE/Makefile.am | 23 - ui/pages/help/en_US/Makefile.am | 23 - ui/pages/help/es_ES/Makefile.am | 23 - ui/pages/help/fr_FR/Makefile.am | 23 - ui/pages/help/gen-index.py | 63 - ui/pages/help/it_IT/Makefile.am | 23 - ui/pages/help/ja_JP/Makefile.am | 23 - ui/pages/help/ko_KR/Makefile.am | 23 - ui/pages/help/pt_BR/Makefile.am | 23 - ui/pages/help/ru_RU/Makefile.am | 23 - ui/pages/help/zh_CN/Makefile.am | 23 - ui/pages/help/zh_TW/Makefile.am | 23 - ui/pages/i18n.json.tmpl | 2 +- ui/pages/kimchi-ui.html.tmpl | 143 - ui/pages/login.html.tmpl | 8 +- ui/pages/report-add.html.tmpl | 56 - ui/pages/report-rename.html.tmpl | 56 - ui/pages/repository-add.html.tmpl | 113 - ui/pages/repository-edit.html.tmpl | 117 - ui/pages/storagepool-add-volume.html.tmpl | 79 - ui/pages/storagepool-add.html.tmpl | 186 -- ui/pages/tabs/Makefile.am | 20 - ui/pages/tabs/guests.html.tmpl | 56 - ui/pages/tabs/host.html.tmpl | 168 -- ui/pages/tabs/network.html.tmpl | 129 - ui/pages/tabs/storage.html.tmpl | 139 - ui/pages/tabs/templates.html.tmpl | 73 - ui/pages/template-add.html.tmpl | 233 -- ui/pages/template-edit.html.tmpl | 193 -- ui/pages/websockify/Makefile.am | 2 +- ui/pages/websockify/console.html | 12 +- ui/pages/wok-ui.html.tmpl | 143 + ui/spice-html5/Makefile.am | 25 - ui/spice-html5/css/Makefile.am | 20 - ui/spice-html5/pages/Makefile.am | 20 - ui/spice-html5/pages/spice_auto.html | 200 -- ui/spice-html5/thirdparty/Makefile.am | 20 - 722 files changed, 82954 insertions(+), 58514 deletions(-) delete mode 100644 config/Makefile.am delete mode 100644 config/ui/Makefile.am delete mode 100644 config/ui/tabs.xml delete mode 100644 contrib/kimchi.spec.fedora.in delete mode 100644 contrib/kimchi.spec.suse.in delete mode 100644 contrib/kimchid-upstart.conf.debian delete mode 100644 contrib/kimchid-upstart.conf.fedora delete mode 100644 contrib/kimchid.service.fedora delete mode 100644 contrib/kimchid.sysvinit create mode 100644 contrib/wok.spec.fedora.in create mode 100644 contrib/wok.spec.suse.in create mode 100644 contrib/wokd-upstart.conf.debian create mode 100644 contrib/wokd-upstart.conf.fedora create mode 100644 contrib/wokd.service.fedora create mode 100644 contrib/wokd.sysvinit delete mode 100644 docs/README-federation.md rename docs/{kimchid.8.in =3D> wokd.8.in} (100%) create mode 100644 plugins/kimchi/.gitignore create mode 100644 plugins/kimchi/API.json create mode 100644 plugins/kimchi/INSTALL create mode 100644 plugins/kimchi/Makefile.am create mode 120000 plugins/kimchi/README.md create mode 100644 plugins/kimchi/VERSION create mode 100644 plugins/kimchi/__init__.py 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.py.in create mode 100644 plugins/kimchi/config.rpath create mode 100644 plugins/kimchi/configure.ac create mode 100644 plugins/kimchi/contrib/DEBIAN/Makefile.am create mode 100644 plugins/kimchi/contrib/DEBIAN/control.in create mode 100644 plugins/kimchi/contrib/Makefile.am create mode 100755 plugins/kimchi/contrib/check_i18n.py create mode 100644 plugins/kimchi/contrib/kimchi.spec.fedora.in create mode 100644 plugins/kimchi/contrib/kimchi.spec.suse.in copy {contrib =3D> plugins/kimchi/contrib}/make-deb.sh.in (100%) create mode 100644 plugins/kimchi/control/Makefile.am create mode 100644 plugins/kimchi/control/__init__.py create mode 100644 plugins/kimchi/control/config.py create mode 100644 plugins/kimchi/control/cpuinfo.py create mode 100644 plugins/kimchi/control/debugreports.py create mode 100644 plugins/kimchi/control/groups.py create mode 100644 plugins/kimchi/control/host.py create mode 100644 plugins/kimchi/control/interfaces.py create mode 100644 plugins/kimchi/control/networks.py create mode 100644 plugins/kimchi/control/peers.py create mode 100644 plugins/kimchi/control/storagepools.py create mode 100644 plugins/kimchi/control/storageservers.py create mode 100644 plugins/kimchi/control/storagevolumes.py create mode 100644 plugins/kimchi/control/tasks.py create mode 100644 plugins/kimchi/control/templates.py create mode 100644 plugins/kimchi/control/users.py create mode 100644 plugins/kimchi/control/vm/Makefile.am create mode 100644 plugins/kimchi/control/vm/__init__.py create mode 100644 plugins/kimchi/control/vm/hostdevs.py create mode 100644 plugins/kimchi/control/vm/ifaces.py create mode 100644 plugins/kimchi/control/vm/snapshots.py create mode 100644 plugins/kimchi/control/vm/storages.py create mode 100644 plugins/kimchi/control/vms.py create mode 100644 plugins/kimchi/disks.py create mode 100644 plugins/kimchi/distroloader.py rename {src =3D> plugins/kimchi}/distros.d/Makefile.am (100%) rename {src =3D> plugins/kimchi}/distros.d/debian.json (100%) rename {src =3D> plugins/kimchi}/distros.d/fedora.json (100%) rename {src =3D> plugins/kimchi}/distros.d/gentoo.json (100%) rename {src =3D> plugins/kimchi}/distros.d/opensuse.json (100%) rename {src =3D> plugins/kimchi}/distros.d/ubuntu.json (100%) create mode 100644 plugins/kimchi/docs/API.md create mode 100644 plugins/kimchi/docs/Makefile.am create mode 100644 plugins/kimchi/docs/README-federation.md create mode 100644 plugins/kimchi/docs/README.md rename {docs =3D> plugins/kimchi/docs}/kimchi-guest.png (100%) rename {docs =3D> plugins/kimchi/docs}/kimchi-login.png (100%) rename {docs =3D> plugins/kimchi/docs}/kimchi-templates.png (100%) create mode 100644 plugins/kimchi/i18n.py create mode 100644 plugins/kimchi/imageinfo.py create mode 100644 plugins/kimchi/iscsi.py create mode 100644 plugins/kimchi/isoinfo.py create mode 100644 plugins/kimchi/kimchi.conf create mode 100644 plugins/kimchi/kvmusertests.py 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 create mode 100644 plugins/kimchi/mockmodel.py create mode 100644 plugins/kimchi/model/Makefile.am copy {src =3D> plugins}/kimchi/model/__init__.py (100%) create mode 100644 plugins/kimchi/model/config.py create mode 100644 plugins/kimchi/model/cpuinfo.py create mode 100644 plugins/kimchi/model/debugreports.py create mode 100644 plugins/kimchi/model/diskutils.py create mode 100644 plugins/kimchi/model/featuretests.py create mode 100644 plugins/kimchi/model/groups.py create mode 100644 plugins/kimchi/model/host.py create mode 100644 plugins/kimchi/model/hostdev.py create mode 100644 plugins/kimchi/model/interfaces.py create mode 100644 plugins/kimchi/model/libvirtconnection.py create mode 100644 plugins/kimchi/model/libvirtstoragepool.py create mode 100644 plugins/kimchi/model/model.py create mode 100644 plugins/kimchi/model/networks.py create mode 100644 plugins/kimchi/model/peers.py create mode 100644 plugins/kimchi/model/storagepools.py create mode 100644 plugins/kimchi/model/storageservers.py create mode 100644 plugins/kimchi/model/storagetargets.py create mode 100644 plugins/kimchi/model/storagevolumes.py create mode 100644 plugins/kimchi/model/tasks.py create mode 100644 plugins/kimchi/model/templates.py create mode 100644 plugins/kimchi/model/users.py create mode 100644 plugins/kimchi/model/utils.py create mode 100644 plugins/kimchi/model/vmhostdevs.py create mode 100644 plugins/kimchi/model/vmifaces.py create mode 100644 plugins/kimchi/model/vms.py create mode 100644 plugins/kimchi/model/vmsnapshots.py create mode 100644 plugins/kimchi/model/vmstorages.py create mode 100644 plugins/kimchi/osinfo.py create mode 100644 plugins/kimchi/po/LINGUAS create mode 100644 plugins/kimchi/po/Makefile.in.in copy {po =3D> plugins/kimchi/po}/Makevars (100%) create mode 100644 plugins/kimchi/po/POTFILES.in create mode 100644 plugins/kimchi/po/de_DE.po create mode 100644 plugins/kimchi/po/en_US.po create mode 100644 plugins/kimchi/po/es_ES.po create mode 100644 plugins/kimchi/po/fr_FR.po copy {po =3D> plugins/kimchi/po}/gen-pot.in (100%) create mode 100644 plugins/kimchi/po/it_IT.po create mode 100644 plugins/kimchi/po/ja_JP.po create mode 100755 plugins/kimchi/po/kimchi.pot create mode 100644 plugins/kimchi/po/ko_KR.po create mode 100644 plugins/kimchi/po/pt_BR.po create mode 100644 plugins/kimchi/po/ru_RU.po create mode 100644 plugins/kimchi/po/zh_CN.po create mode 100644 plugins/kimchi/po/zh_TW.po create mode 100644 plugins/kimchi/repositories.py create mode 100644 plugins/kimchi/root.py create mode 100644 plugins/kimchi/scan.py create mode 100644 plugins/kimchi/screenshot.py create mode 100644 plugins/kimchi/swupdate.py rename {src =3D> plugins/kimchi}/template.conf (100%) create mode 100644 plugins/kimchi/tests/Makefile.am create mode 100644 plugins/kimchi/tests/iso_gen.py create mode 100644 plugins/kimchi/tests/run_tests.sh.in create mode 100644 plugins/kimchi/tests/test_authorization.py create mode 100644 plugins/kimchi/tests/test_config.py.in create mode 100644 plugins/kimchi/tests/test_exception.py create mode 100644 plugins/kimchi/tests/test_host.py create mode 100644 plugins/kimchi/tests/test_mock_network.py create mode 100644 plugins/kimchi/tests/test_mock_storagepool.py create mode 100644 plugins/kimchi/tests/test_mock_storagevolume.py create mode 100644 plugins/kimchi/tests/test_mockmodel.py create mode 100644 plugins/kimchi/tests/test_model.py create mode 100644 plugins/kimchi/tests/test_model_network.py create mode 100644 plugins/kimchi/tests/test_model_storagepool.py create mode 100644 plugins/kimchi/tests/test_model_storagevolume.py create mode 100644 plugins/kimchi/tests/test_networkxml.py create mode 100644 plugins/kimchi/tests/test_objectstore.py create mode 100644 plugins/kimchi/tests/test_osinfo.py create mode 100644 plugins/kimchi/tests/test_plugin.py create mode 100644 plugins/kimchi/tests/test_rest.py create mode 100644 plugins/kimchi/tests/test_rollbackcontext.py create mode 100644 plugins/kimchi/tests/test_server.py create mode 100644 plugins/kimchi/tests/test_storagepoolxml.py create mode 100644 plugins/kimchi/tests/test_template.py create mode 100644 plugins/kimchi/tests/test_utils.py create mode 100644 plugins/kimchi/tests/test_vmtemplate.py create mode 100644 plugins/kimchi/tests/test_yumparser.py create mode 100644 plugins/kimchi/tests/utils.py create mode 100644 plugins/kimchi/ui/Makefile.am create mode 100644 plugins/kimchi/ui/config/Makefile.am create mode 100644 plugins/kimchi/ui/config/tab-ext.xml create mode 100644 plugins/kimchi/ui/css/Makefile.am create mode 100644 plugins/kimchi/ui/css/theme-default/guest-edit.css rename {ui =3D> plugins/kimchi/ui}/css/theme-default/guest-storage-add.css= (100%) create mode 100644 plugins/kimchi/ui/css/theme-default/host.css create mode 100644 plugins/kimchi/ui/css/theme-default/icon.css create mode 100644 plugins/kimchi/ui/css/theme-default/list.css create mode 100644 plugins/kimchi/ui/css/theme-default/network.css rename {ui =3D> plugins/kimchi/ui}/css/theme-default/report-add.css (100%) create mode 100644 plugins/kimchi/ui/css/theme-default/report-rename.css rename {ui =3D> plugins/kimchi/ui}/css/theme-default/repository-add.css (1= 00%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/repository-edit.css (= 100%) create mode 100644 plugins/kimchi/ui/css/theme-default/storage.css rename {ui =3D> plugins/kimchi/ui}/css/theme-default/storagepool-add-volum= e.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template-edit.css (10= 0%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template.css (100%) create mode 100644 plugins/kimchi/ui/css/theme-default/template_add.css rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template_list.css (10= 0%) create mode 100644 plugins/kimchi/ui/images/Makefile.am rename {ui =3D> plugins/kimchi/ui}/images/icon-centos.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-debian.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-fedora.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-gentoo.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-opensuse.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-ubuntu.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-vm.png (100%) create mode 100644 plugins/kimchi/ui/images/logo.ico create mode 100644 plugins/kimchi/ui/images/theme-default/Makefile.am rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac22_pause.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac22_pause_grey.pn= g (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac24_resume.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac24_resume_grey.p= ng (100%) create mode 100644 plugins/kimchi/ui/images/theme-default/arrow-down-black= .png rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-down-disable= .png (100%) create mode 100644 plugins/kimchi/ui/images/theme-default/arrow-down.png rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-up.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow_out.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/group.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/host-icon-sprite.p= ng (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-back.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-camera.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-design.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-detail.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-iso.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-list.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-load.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-local.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-power-down.pn= g (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-power-up.png = (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-qcow2.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-raw.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-remote.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-reset.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-search.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-sort.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-tree.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-user.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-volume-defaul= t.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/kimchi-loading15x1= 5.gif (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/loading.gif (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/user.png (100%) create mode 100644 plugins/kimchi/ui/js/Makefile.am create mode 100644 plugins/kimchi/ui/js/src/kimchi.api.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_add_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_media_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_storage_add.main.= js create mode 100644 plugins/kimchi/ui/js/src/kimchi.host.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.network.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.report_add_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.report_rename_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.repository_add_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.storage_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.storagepool_add_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.storagepool_add_volume_= main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_add_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_edit_main.js create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_main.js create mode 100644 plugins/kimchi/ui/pages/Makefile.am create mode 100644 plugins/kimchi/ui/pages/guest-add.html.tmpl rename {ui =3D> plugins/kimchi/ui}/pages/guest-edit.html.tmpl (100%) create mode 100644 plugins/kimchi/ui/pages/guest-storage-add.html.tmpl create mode 100644 plugins/kimchi/ui/pages/guest.html.tmpl create mode 100644 plugins/kimchi/ui/pages/guests.html.tmpl create mode 100644 plugins/kimchi/ui/pages/help/Makefile.am create mode 100644 plugins/kimchi/ui/pages/help/de_DE/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/dita-help.xsl (100%) create mode 100644 plugins/kimchi/ui/pages/help/en_US/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/es_ES/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/fr_FR/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/it_IT/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/ja_JP/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/kimchi.css (100%) create mode 100644 plugins/kimchi/ui/pages/help/ko_KR/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/pt_BR/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/ru_RU/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/zh_CN/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/help/zh_TW/Makefile.am rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/templates.dita (100%) create mode 100644 plugins/kimchi/ui/pages/host.html.tmpl create mode 100644 plugins/kimchi/ui/pages/i18n.json.tmpl create mode 100644 plugins/kimchi/ui/pages/network.html.tmpl create mode 100644 plugins/kimchi/ui/pages/report-add.html.tmpl create mode 100644 plugins/kimchi/ui/pages/report-rename.html.tmpl create mode 100644 plugins/kimchi/ui/pages/repository-add.html.tmpl create mode 100644 plugins/kimchi/ui/pages/repository-edit.html.tmpl create mode 100644 plugins/kimchi/ui/pages/storage.html.tmpl create mode 100644 plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl create mode 100644 plugins/kimchi/ui/pages/storagepool-add.html.tmpl create mode 100644 plugins/kimchi/ui/pages/template-add.html.tmpl create mode 100644 plugins/kimchi/ui/pages/template-edit.html.tmpl create mode 100644 plugins/kimchi/ui/pages/templates.html.tmpl create mode 100644 plugins/kimchi/ui/robots.txt create mode 100644 plugins/kimchi/ui/spice-html5/Makefile.am rename {ui =3D> plugins/kimchi/ui}/spice-html5/atKeynames.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/bitmap.js (100%) create mode 100644 plugins/kimchi/ui/spice-html5/css/Makefile.am rename {ui =3D> plugins/kimchi/ui}/spice-html5/css/spice.css (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/cursor.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/display.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/enums.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/inputs.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/lz.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/main.js (100%) create mode 100644 plugins/kimchi/ui/spice-html5/pages/Makefile.am create mode 100644 plugins/kimchi/ui/spice-html5/pages/spice_auto.html rename {ui =3D> plugins/kimchi/ui}/spice-html5/playback.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/png.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/quic.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/resize.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/simulatecursor.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicearraybuffer.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spiceconn.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicedataview.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicemsg.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicetype.js (100%) create mode 100644 plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/jsbn.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/prng4.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/rng.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/rsa.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/sha1.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/ticket.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/utils.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/webm.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/wire.js (100%) create mode 100644 plugins/kimchi/utils.py create mode 100644 plugins/kimchi/vmtemplate.py create mode 100644 plugins/kimchi/xmlutils/Makefile.am rename {src =3D> plugins}/kimchi/xmlutils/__init__.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/cpu.py (100%) create mode 100644 plugins/kimchi/xmlutils/disk.py create mode 100644 plugins/kimchi/xmlutils/graphics.py create mode 100644 plugins/kimchi/xmlutils/interface.py create mode 100644 plugins/kimchi/xmlutils/network.py rename {src =3D> plugins}/kimchi/xmlutils/qemucmdline.py (100%) create mode 100644 plugins/kimchi/yumparser.py delete mode 100755 po/kimchi.pot create mode 100755 po/wok.pot delete mode 100644 src/kimchi.conf.in delete mode 100644 src/kimchi/API.json delete mode 100644 src/kimchi/Makefile.am delete mode 100644 src/kimchi/asynctask.py delete mode 100644 src/kimchi/auth.py delete mode 100644 src/kimchi/cachebust.py delete mode 100644 src/kimchi/config.py.in delete mode 100644 src/kimchi/control/Makefile.am delete mode 100644 src/kimchi/control/__init__.py delete mode 100644 src/kimchi/control/base.py delete mode 100644 src/kimchi/control/config.py delete mode 100644 src/kimchi/control/cpuinfo.py delete mode 100644 src/kimchi/control/debugreports.py delete mode 100644 src/kimchi/control/groups.py delete mode 100644 src/kimchi/control/host.py delete mode 100644 src/kimchi/control/interfaces.py delete mode 100644 src/kimchi/control/networks.py delete mode 100644 src/kimchi/control/peers.py delete mode 100644 src/kimchi/control/plugins.py delete mode 100644 src/kimchi/control/storagepools.py delete mode 100644 src/kimchi/control/storageservers.py delete mode 100644 src/kimchi/control/storagevolumes.py delete mode 100644 src/kimchi/control/tasks.py delete mode 100644 src/kimchi/control/templates.py delete mode 100644 src/kimchi/control/users.py delete mode 100644 src/kimchi/control/utils.py delete mode 100644 src/kimchi/control/vm/Makefile.am delete mode 100644 src/kimchi/control/vm/__init__.py delete mode 100644 src/kimchi/control/vm/hostdevs.py delete mode 100644 src/kimchi/control/vm/ifaces.py delete mode 100644 src/kimchi/control/vm/snapshots.py delete mode 100644 src/kimchi/control/vm/storages.py delete mode 100644 src/kimchi/control/vms.py delete mode 100644 src/kimchi/disks.py delete mode 100644 src/kimchi/distroloader.py delete mode 100644 src/kimchi/exception.py delete mode 100644 src/kimchi/i18n.py delete mode 100644 src/kimchi/imageinfo.py delete mode 100644 src/kimchi/iscsi.py delete mode 100644 src/kimchi/isoinfo.py delete mode 100644 src/kimchi/kvmusertests.py delete mode 100644 src/kimchi/mockmodel.py delete mode 100644 src/kimchi/model/Makefile.am delete mode 100644 src/kimchi/model/config.py delete mode 100644 src/kimchi/model/cpuinfo.py delete mode 100644 src/kimchi/model/debugreports.py delete mode 100644 src/kimchi/model/diskutils.py delete mode 100644 src/kimchi/model/featuretests.py delete mode 100644 src/kimchi/model/groups.py delete mode 100644 src/kimchi/model/host.py delete mode 100644 src/kimchi/model/hostdev.py delete mode 100644 src/kimchi/model/interfaces.py delete mode 100644 src/kimchi/model/libvirtconnection.py delete mode 100644 src/kimchi/model/libvirtstoragepool.py delete mode 100644 src/kimchi/model/model.py delete mode 100644 src/kimchi/model/networks.py delete mode 100644 src/kimchi/model/peers.py delete mode 100644 src/kimchi/model/plugins.py delete mode 100644 src/kimchi/model/storagepools.py delete mode 100644 src/kimchi/model/storageservers.py delete mode 100644 src/kimchi/model/storagetargets.py delete mode 100644 src/kimchi/model/storagevolumes.py delete mode 100644 src/kimchi/model/tasks.py delete mode 100644 src/kimchi/model/templates.py delete mode 100644 src/kimchi/model/users.py delete mode 100644 src/kimchi/model/utils.py delete mode 100644 src/kimchi/model/vmhostdevs.py delete mode 100644 src/kimchi/model/vmifaces.py delete mode 100644 src/kimchi/model/vms.py delete mode 100644 src/kimchi/model/vmsnapshots.py delete mode 100644 src/kimchi/model/vmstorages.py delete mode 100644 src/kimchi/objectstore.py delete mode 100644 src/kimchi/osinfo.py delete mode 100644 src/kimchi/proxy.py delete mode 100644 src/kimchi/repositories.py delete mode 100644 src/kimchi/root.py delete mode 100644 src/kimchi/scan.py delete mode 100644 src/kimchi/screenshot.py delete mode 100644 src/kimchi/server.py delete mode 100644 src/kimchi/sslcert.py delete mode 100644 src/kimchi/swupdate.py delete mode 100644 src/kimchi/template.py delete mode 100644 src/kimchi/utils.py delete mode 100644 src/kimchi/vmtemplate.py delete mode 100644 src/kimchi/vnc.py delete mode 100644 src/kimchi/xmlutils/Makefile.am delete mode 100644 src/kimchi/xmlutils/disk.py delete mode 100644 src/kimchi/xmlutils/graphics.py delete mode 100644 src/kimchi/xmlutils/interface.py delete mode 100644 src/kimchi/xmlutils/network.py delete mode 100644 src/kimchi/yumparser.py delete mode 100644 src/kimchid.in delete mode 100644 src/nginx/kimchi.conf.in create mode 100644 src/nginx/wok.conf.in create mode 100644 src/wok.conf.in create mode 100644 src/wok/API.json create mode 100644 src/wok/Makefile.am rename src/{kimchi =3D> wok}/__init__.py (100%) create mode 100644 src/wok/asynctask.py create mode 100644 src/wok/auth.py rename src/{kimchi =3D> wok}/basemodel.py (100%) create mode 100644 src/wok/cachebust.py create mode 100644 src/wok/config.py.in create mode 100644 src/wok/control/Makefile.am create mode 100644 src/wok/control/__init__.py create mode 100644 src/wok/control/base.py create mode 100644 src/wok/control/plugins.py create mode 100644 src/wok/control/utils.py create mode 100644 src/wok/exception.py create mode 100644 src/wok/i18n.py create mode 100644 src/wok/model/Makefile.am copy src/{kimchi =3D> wok}/model/__init__.py (100%) create mode 100644 src/wok/model/model.py create mode 100644 src/wok/model/plugins.py rename src/{kimchi =3D> wok}/netinfo.py (100%) rename src/{kimchi =3D> wok}/network.py (100%) create mode 100644 src/wok/objectstore.py create mode 100644 src/wok/proxy.py rename src/{kimchi =3D> wok}/rollbackcontext.py (100%) create mode 100644 src/wok/root.py create mode 100644 src/wok/server.py create mode 100644 src/wok/sslcert.py create mode 100644 src/wok/template.py create mode 100644 src/wok/utils.py create mode 100644 src/wok/vnc.py create mode 100644 src/wok/xmlutils/Makefile.am rename src/{kimchi/model =3D> wok/xmlutils}/__init__.py (100%) rename src/{kimchi =3D> wok}/xmlutils/utils.py (100%) create mode 100644 src/wokd.in delete mode 100644 tests/Makefile.am delete mode 100644 tests/iso_gen.py delete mode 100644 tests/run_tests.sh.in delete mode 100644 tests/test_authorization.py delete mode 100644 tests/test_config.py.in delete mode 100644 tests/test_exception.py delete mode 100644 tests/test_host.py delete mode 100644 tests/test_mock_network.py delete mode 100644 tests/test_mock_storagepool.py delete mode 100644 tests/test_mock_storagevolume.py delete mode 100644 tests/test_mockmodel.py delete mode 100644 tests/test_model.py delete mode 100644 tests/test_model_network.py delete mode 100644 tests/test_model_storagepool.py delete mode 100644 tests/test_model_storagevolume.py delete mode 100644 tests/test_networkxml.py delete mode 100644 tests/test_objectstore.py delete mode 100644 tests/test_osinfo.py delete mode 100644 tests/test_plugin.py delete mode 100644 tests/test_rest.py delete mode 100644 tests/test_rollbackcontext.py delete mode 100644 tests/test_server.py delete mode 100644 tests/test_storagepoolxml.py delete mode 100644 tests/test_template.py delete mode 100644 tests/test_utils.py delete mode 100644 tests/test_vmtemplate.py delete mode 100644 tests/test_yumparser.py delete mode 100644 tests/utils.py delete mode 100644 ui/css/theme-default/guest-edit.css delete mode 100644 ui/css/theme-default/host.css delete mode 100644 ui/css/theme-default/list.css delete mode 100644 ui/css/theme-default/network.css delete mode 100644 ui/css/theme-default/report-rename.css delete mode 100644 ui/css/theme-default/storage.css delete mode 100644 ui/css/theme-default/template_add.css create mode 100644 ui/fontello/Makefile.am create mode 100644 ui/fontello/css/Makefile.am create mode 100644 ui/fontello/font/Makefile.am rename ui/images/theme-default/{kimchi-loading.gif =3D> wok-loading.gif} (= 100%) delete mode 100644 ui/js/src/kimchi.api.js delete mode 100644 ui/js/src/kimchi.cookie.js delete mode 100644 ui/js/src/kimchi.grid.js delete mode 100644 ui/js/src/kimchi.guest_add_main.js delete mode 100644 ui/js/src/kimchi.guest_edit_main.js delete mode 100644 ui/js/src/kimchi.guest_main.js delete mode 100644 ui/js/src/kimchi.guest_media_main.js delete mode 100644 ui/js/src/kimchi.guest_storage_add.main.js delete mode 100644 ui/js/src/kimchi.host.js delete mode 100644 ui/js/src/kimchi.lang.js delete mode 100644 ui/js/src/kimchi.line-chart.js delete mode 100644 ui/js/src/kimchi.login.js delete mode 100644 ui/js/src/kimchi.main.js delete mode 100644 ui/js/src/kimchi.message.js delete mode 100644 ui/js/src/kimchi.network.js delete mode 100644 ui/js/src/kimchi.popable.js delete mode 100644 ui/js/src/kimchi.report_add_main.js delete mode 100644 ui/js/src/kimchi.report_rename_main.js delete mode 100644 ui/js/src/kimchi.repository_add_main.js delete mode 100644 ui/js/src/kimchi.repository_edit_main.js delete mode 100644 ui/js/src/kimchi.select.js delete mode 100644 ui/js/src/kimchi.storage_main.js delete mode 100644 ui/js/src/kimchi.storagepool_add_main.js delete mode 100644 ui/js/src/kimchi.storagepool_add_volume_main.js delete mode 100644 ui/js/src/kimchi.substitute.js delete mode 100644 ui/js/src/kimchi.template_add_main.js delete mode 100644 ui/js/src/kimchi.template_edit_main.js delete mode 100644 ui/js/src/kimchi.template_main.js delete mode 100644 ui/js/src/kimchi.topic.js delete mode 100644 ui/js/src/kimchi.user.js delete mode 100644 ui/js/src/kimchi.utils.js delete mode 100644 ui/js/src/kimchi.window.js create mode 100644 ui/js/src/wok.api.js create mode 100644 ui/js/src/wok.cookie.js rename ui/js/src/{kimchi.form.js =3D> wok.form.js} (100%) create mode 100644 ui/js/src/wok.grid.js create mode 100644 ui/js/src/wok.lang.js create mode 100644 ui/js/src/wok.line-chart.js create mode 100644 ui/js/src/wok.login.js create mode 100644 ui/js/src/wok.main.js create mode 100644 ui/js/src/wok.message.js rename ui/js/src/{kimchi.object.js =3D> wok.object.js} (100%) create mode 100644 ui/js/src/wok.popable.js create mode 100644 ui/js/src/wok.select.js rename ui/js/src/{kimchi.string.js =3D> wok.string.js} (100%) create mode 100644 ui/js/src/wok.substitute.js create mode 100644 ui/js/src/wok.topic.js create mode 100644 ui/js/src/wok.user.js create mode 100644 ui/js/src/wok.utils.js create mode 100644 ui/js/src/wok.window.js delete mode 100644 ui/pages/guest-add.html.tmpl delete mode 100644 ui/pages/guest-storage-add.html.tmpl delete mode 100644 ui/pages/guest.html.tmpl delete mode 100644 ui/pages/help/Makefile.am delete mode 100644 ui/pages/help/de_DE/Makefile.am delete mode 100644 ui/pages/help/en_US/Makefile.am delete mode 100644 ui/pages/help/es_ES/Makefile.am delete mode 100644 ui/pages/help/fr_FR/Makefile.am delete mode 100755 ui/pages/help/gen-index.py delete mode 100644 ui/pages/help/it_IT/Makefile.am delete mode 100644 ui/pages/help/ja_JP/Makefile.am delete mode 100644 ui/pages/help/ko_KR/Makefile.am delete mode 100644 ui/pages/help/pt_BR/Makefile.am delete mode 100644 ui/pages/help/ru_RU/Makefile.am delete mode 100644 ui/pages/help/zh_CN/Makefile.am delete mode 100644 ui/pages/help/zh_TW/Makefile.am delete mode 100644 ui/pages/kimchi-ui.html.tmpl delete mode 100644 ui/pages/report-add.html.tmpl delete mode 100644 ui/pages/report-rename.html.tmpl delete mode 100644 ui/pages/repository-add.html.tmpl delete mode 100644 ui/pages/repository-edit.html.tmpl delete mode 100644 ui/pages/storagepool-add-volume.html.tmpl delete mode 100644 ui/pages/storagepool-add.html.tmpl delete mode 100644 ui/pages/tabs/Makefile.am delete mode 100644 ui/pages/tabs/guests.html.tmpl delete mode 100644 ui/pages/tabs/host.html.tmpl delete mode 100644 ui/pages/tabs/network.html.tmpl delete mode 100644 ui/pages/tabs/storage.html.tmpl delete mode 100644 ui/pages/tabs/templates.html.tmpl delete mode 100644 ui/pages/template-add.html.tmpl delete mode 100644 ui/pages/template-edit.html.tmpl create mode 100644 ui/pages/wok-ui.html.tmpl delete mode 100644 ui/spice-html5/Makefile.am delete mode 100644 ui/spice-html5/css/Makefile.am delete mode 100644 ui/spice-html5/pages/Makefile.am delete mode 100644 ui/spice-html5/pages/spice_auto.html delete mode 100644 ui/spice-html5/thirdparty/Makefile.am --===============7740032977517942233==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:23 2015 Content-Type: multipart/mixed; boundary="===============3099511225695173925==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 01/34] Add makefiles for fontello Date: Wed, 08 Jul 2015 16:17:33 -0300 Message-ID: <1436383086-19140-2-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============3099511225695173925== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- configure.ac | 3 +++ src/kimchi/config.py.in | 2 +- ui/Makefile.am | 2 +- ui/{ =3D> fontello}/Makefile.am | 8 ++++---- ui/{ =3D> fontello/css}/Makefile.am | 8 +++----- ui/{ =3D> fontello/font}/Makefile.am | 8 +++----- 6 files changed, 15 insertions(+), 16 deletions(-) copy ui/{ =3D> fontello}/Makefile.am (81%) copy ui/{ =3D> fontello/css}/Makefile.am (81%) copy ui/{ =3D> fontello/font}/Makefile.am (81%) diff --git a/configure.ac b/configure.ac index 0261b5f..9e3edb8 100644 --- a/configure.ac +++ b/configure.ac @@ -106,6 +106,9 @@ AC_CONFIG_FILES([ plugins/sample/ui/pages/Makefile ui/Makefile ui/css/Makefile + ui/fontello/Makefile + ui/fontello/css/Makefile + ui/fontello/font/Makefile ui/images/Makefile ui/images/theme-default/Makefile ui/js/Makefile diff --git a/src/kimchi/config.py.in b/src/kimchi/config.py.in index 8cc63e7..d2c5169 100644 --- a/src/kimchi/config.py.in +++ b/src/kimchi/config.py.in @@ -176,7 +176,7 @@ class UIConfig(dict): = def __init__(self, paths): ui_configs =3D {} - for sub_dir in ('css', 'js', 'libs', 'images'): + for sub_dir in ('css', 'fontello', 'js', 'libs', 'images'): ui_configs['/' + sub_dir] =3D { 'tools.staticdir.on': True, 'tools.staticdir.dir': os.path.join(paths.ui_dir, sub_dir), diff --git a/ui/Makefile.am b/ui/Makefile.am index d541355..adb6ada 100644 --- a/ui/Makefile.am +++ b/ui/Makefile.am @@ -15,7 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D css images js libs pages spice-html5 +SUBDIRS =3D css fontello images js libs pages spice-html5 = uidir =3D $(datadir)/kimchi/ui = diff --git a/ui/Makefile.am b/ui/fontello/Makefile.am similarity index 81% copy from ui/Makefile.am copy to ui/fontello/Makefile.am index d541355..0576ed2 100644 --- a/ui/Makefile.am +++ b/ui/fontello/Makefile.am @@ -1,7 +1,7 @@ # # Kimchi # -# Copyright IBM, Corp. 2013 +# Copyright IBM, Corp. 2015 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,8 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D css images js libs pages spice-html5 +SUBDIRS =3D css font = -uidir =3D $(datadir)/kimchi/ui +fontellodir =3D $(datadir)/wok/ui/fontello = -dist_ui_DATA =3D robots.txt +dist_fontello_DATA =3D LICENSE.txt diff --git a/ui/Makefile.am b/ui/fontello/css/Makefile.am similarity index 81% copy from ui/Makefile.am copy to ui/fontello/css/Makefile.am index d541355..50b5489 100644 --- a/ui/Makefile.am +++ b/ui/fontello/css/Makefile.am @@ -1,7 +1,7 @@ # # Kimchi # -# Copyright IBM, Corp. 2013 +# Copyright IBM, Corp. 2015 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,8 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D css images js libs pages spice-html5 +cssdir =3D $(datadir)/wok/ui/fontello/css = -uidir =3D $(datadir)/kimchi/ui - -dist_ui_DATA =3D robots.txt +dist_css_DATA =3D $(wildcard *.css) $(NULL) diff --git a/ui/Makefile.am b/ui/fontello/font/Makefile.am similarity index 81% copy from ui/Makefile.am copy to ui/fontello/font/Makefile.am index d541355..da9cb66 100644 --- a/ui/Makefile.am +++ b/ui/fontello/font/Makefile.am @@ -1,7 +1,7 @@ # # Kimchi # -# Copyright IBM, Corp. 2013 +# Copyright IBM, Corp. 2015 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,8 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D css images js libs pages spice-html5 +fontdir =3D $(datadir)/wok/ui/fontello/font = -uidir =3D $(datadir)/kimchi/ui - -dist_ui_DATA =3D robots.txt +dist_font_DATA =3D $(wildcard fontello.*) $(NULL) -- = 1.7.1 --===============3099511225695173925==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:23 2015 Content-Type: multipart/mixed; boundary="===============4172524291487276833==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 03/34] Rename src/kimchi to src/wok Date: Wed, 08 Jul 2015 16:17:35 -0300 Message-ID: <1436383086-19140-4-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============4172524291487276833== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This patch only renames the directory src/kimchi to src/wok. These files will compose Wok, the web server. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- src/{kimchi =3D> wok}/Makefile.am | 0 src/{kimchi =3D> wok}/__init__.py | 0 src/{kimchi =3D> wok}/asynctask.py | 0 src/{kimchi =3D> wok}/auth.py | 0 src/{kimchi =3D> wok}/basemodel.py | 0 src/{kimchi =3D> wok}/cachebust.py | 0 src/{kimchi =3D> wok}/config.py.in | 0 src/{kimchi =3D> wok}/control/base.py | 0 src/{kimchi =3D> wok}/control/plugins.py | 0 src/{kimchi =3D> wok}/control/utils.py | 0 src/{kimchi =3D> wok}/exception.py | 0 src/{kimchi =3D> wok}/model/plugins.py | 0 src/{kimchi =3D> wok}/netinfo.py | 0 src/{kimchi =3D> wok}/network.py | 0 src/{kimchi =3D> wok}/objectstore.py | 0 src/{kimchi =3D> wok}/proxy.py | 0 src/{kimchi =3D> wok}/rollbackcontext.py | 0 src/{kimchi =3D> wok}/root.py | 0 src/{kimchi =3D> wok}/server.py | 0 src/{kimchi =3D> wok}/sslcert.py | 0 src/{kimchi =3D> wok}/template.py | 0 src/{kimchi =3D> wok}/utils.py | 0 src/{kimchi =3D> wok}/vnc.py | 0 src/{kimchi =3D> wok}/xmlutils/utils.py | 0 24 files changed, 0 insertions(+), 0 deletions(-) rename src/{kimchi =3D> wok}/Makefile.am (100%) rename src/{kimchi =3D> wok}/__init__.py (100%) rename src/{kimchi =3D> wok}/asynctask.py (100%) rename src/{kimchi =3D> wok}/auth.py (100%) rename src/{kimchi =3D> wok}/basemodel.py (100%) rename src/{kimchi =3D> wok}/cachebust.py (100%) rename src/{kimchi =3D> wok}/config.py.in (100%) rename src/{kimchi =3D> wok}/control/base.py (100%) rename src/{kimchi =3D> wok}/control/plugins.py (100%) rename src/{kimchi =3D> wok}/control/utils.py (100%) rename src/{kimchi =3D> wok}/exception.py (100%) rename src/{kimchi =3D> wok}/model/plugins.py (100%) rename src/{kimchi =3D> wok}/netinfo.py (100%) rename src/{kimchi =3D> wok}/network.py (100%) rename src/{kimchi =3D> wok}/objectstore.py (100%) rename src/{kimchi =3D> wok}/proxy.py (100%) rename src/{kimchi =3D> wok}/rollbackcontext.py (100%) rename src/{kimchi =3D> wok}/root.py (100%) rename src/{kimchi =3D> wok}/server.py (100%) rename src/{kimchi =3D> wok}/sslcert.py (100%) rename src/{kimchi =3D> wok}/template.py (100%) rename src/{kimchi =3D> wok}/utils.py (100%) rename src/{kimchi =3D> wok}/vnc.py (100%) rename src/{kimchi =3D> wok}/xmlutils/utils.py (100%) diff --git a/src/kimchi/Makefile.am b/src/wok/Makefile.am similarity index 100% rename from src/kimchi/Makefile.am rename to src/wok/Makefile.am diff --git a/src/kimchi/__init__.py b/src/wok/__init__.py similarity index 100% rename from src/kimchi/__init__.py rename to src/wok/__init__.py diff --git a/src/kimchi/asynctask.py b/src/wok/asynctask.py similarity index 100% rename from src/kimchi/asynctask.py rename to src/wok/asynctask.py diff --git a/src/kimchi/auth.py b/src/wok/auth.py similarity index 100% rename from src/kimchi/auth.py rename to src/wok/auth.py diff --git a/src/kimchi/basemodel.py b/src/wok/basemodel.py similarity index 100% rename from src/kimchi/basemodel.py rename to src/wok/basemodel.py diff --git a/src/kimchi/cachebust.py b/src/wok/cachebust.py similarity index 100% rename from src/kimchi/cachebust.py rename to src/wok/cachebust.py diff --git a/src/kimchi/config.py.in b/src/wok/config.py.in similarity index 100% rename from src/kimchi/config.py.in rename to src/wok/config.py.in diff --git a/src/kimchi/control/base.py b/src/wok/control/base.py similarity index 100% rename from src/kimchi/control/base.py rename to src/wok/control/base.py diff --git a/src/kimchi/control/plugins.py b/src/wok/control/plugins.py similarity index 100% rename from src/kimchi/control/plugins.py rename to src/wok/control/plugins.py diff --git a/src/kimchi/control/utils.py b/src/wok/control/utils.py similarity index 100% rename from src/kimchi/control/utils.py rename to src/wok/control/utils.py diff --git a/src/kimchi/exception.py b/src/wok/exception.py similarity index 100% rename from src/kimchi/exception.py rename to src/wok/exception.py diff --git a/src/kimchi/model/plugins.py b/src/wok/model/plugins.py similarity index 100% rename from src/kimchi/model/plugins.py rename to src/wok/model/plugins.py diff --git a/src/kimchi/netinfo.py b/src/wok/netinfo.py similarity index 100% rename from src/kimchi/netinfo.py rename to src/wok/netinfo.py diff --git a/src/kimchi/network.py b/src/wok/network.py similarity index 100% rename from src/kimchi/network.py rename to src/wok/network.py diff --git a/src/kimchi/objectstore.py b/src/wok/objectstore.py similarity index 100% rename from src/kimchi/objectstore.py rename to src/wok/objectstore.py diff --git a/src/kimchi/proxy.py b/src/wok/proxy.py similarity index 100% rename from src/kimchi/proxy.py rename to src/wok/proxy.py diff --git a/src/kimchi/rollbackcontext.py b/src/wok/rollbackcontext.py similarity index 100% rename from src/kimchi/rollbackcontext.py rename to src/wok/rollbackcontext.py diff --git a/src/kimchi/root.py b/src/wok/root.py similarity index 100% rename from src/kimchi/root.py rename to src/wok/root.py diff --git a/src/kimchi/server.py b/src/wok/server.py similarity index 100% rename from src/kimchi/server.py rename to src/wok/server.py diff --git a/src/kimchi/sslcert.py b/src/wok/sslcert.py similarity index 100% rename from src/kimchi/sslcert.py rename to src/wok/sslcert.py diff --git a/src/kimchi/template.py b/src/wok/template.py similarity index 100% rename from src/kimchi/template.py rename to src/wok/template.py diff --git a/src/kimchi/utils.py b/src/wok/utils.py similarity index 100% rename from src/kimchi/utils.py rename to src/wok/utils.py diff --git a/src/kimchi/vnc.py b/src/wok/vnc.py similarity index 100% rename from src/kimchi/vnc.py rename to src/wok/vnc.py diff --git a/src/kimchi/xmlutils/utils.py b/src/wok/xmlutils/utils.py similarity index 100% rename from src/kimchi/xmlutils/utils.py rename to src/wok/xmlutils/utils.py -- = 1.7.1 --===============4172524291487276833==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:24 2015 Content-Type: multipart/mixed; boundary="===============6288979910591320710==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 02/34] Create kimchi plugin Date: Wed, 08 Jul 2015 16:17:34 -0300 Message-ID: <1436383086-19140-3-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============6288979910591320710== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This patch only moves or duplicates files. No code changes. - Move virtualization layer to plugins/kimchi - Move kimchi-specific Web UI to plugins/kimchi Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- {src =3D> plugins}/kimchi/API.json | 0 README.md =3D> plugins/kimchi/README.md | 0 VERSION =3D> plugins/kimchi/VERSION | 0 .../kimchi/contrib}/DEBIAN/Makefile.am | 0 .../kimchi/contrib}/DEBIAN/control.in | 0 {contrib =3D> plugins/kimchi/contrib}/Makefile.am | 0 .../kimchi/contrib}/kimchi.spec.fedora.in | 0 .../kimchi/contrib}/kimchi.spec.suse.in | 0 {contrib =3D> plugins/kimchi/contrib}/make-deb.sh.in | 0 {src =3D> plugins}/kimchi/control/Makefile.am | 0 {src =3D> plugins}/kimchi/control/__init__.py | 0 {src =3D> plugins}/kimchi/control/config.py | 0 {src =3D> plugins}/kimchi/control/cpuinfo.py | 0 {src =3D> plugins}/kimchi/control/debugreports.py | 0 {src =3D> plugins}/kimchi/control/groups.py | 0 {src =3D> plugins}/kimchi/control/host.py | 0 {src =3D> plugins}/kimchi/control/interfaces.py | 0 {src =3D> plugins}/kimchi/control/networks.py | 0 {src =3D> plugins}/kimchi/control/peers.py | 0 {src =3D> plugins}/kimchi/control/storagepools.py | 0 {src =3D> plugins}/kimchi/control/storageservers.py | 0 {src =3D> plugins}/kimchi/control/storagevolumes.py | 0 {src =3D> plugins}/kimchi/control/tasks.py | 0 {src =3D> plugins}/kimchi/control/templates.py | 0 {src =3D> plugins}/kimchi/control/users.py | 0 {src =3D> plugins}/kimchi/control/vm/Makefile.am | 0 {src =3D> plugins}/kimchi/control/vm/__init__.py | 0 {src =3D> plugins}/kimchi/control/vm/hostdevs.py | 0 {src =3D> plugins}/kimchi/control/vm/ifaces.py | 0 {src =3D> plugins}/kimchi/control/vm/snapshots.py | 0 {src =3D> plugins}/kimchi/control/vm/storages.py | 0 {src =3D> plugins}/kimchi/control/vms.py | 0 {src =3D> plugins}/kimchi/disks.py | 0 {src =3D> plugins}/kimchi/distroloader.py | 0 {src =3D> plugins/kimchi}/distros.d/Makefile.am | 0 {src =3D> plugins/kimchi}/distros.d/debian.json | 0 {src =3D> plugins/kimchi}/distros.d/fedora.json | 0 {src =3D> plugins/kimchi}/distros.d/gentoo.json | 0 {src =3D> plugins/kimchi}/distros.d/opensuse.json | 0 {src =3D> plugins/kimchi}/distros.d/ubuntu.json | 0 {docs =3D> plugins/kimchi/docs}/API.md | 0 {docs =3D> plugins/kimchi/docs}/Makefile.am | 0 {docs =3D> plugins/kimchi/docs}/README-federation.md | 0 {docs =3D> plugins/kimchi/docs}/README.md | 0 {docs =3D> plugins/kimchi/docs}/kimchi-guest.png | Bin 192281 -> 1922= 81 bytes {docs =3D> plugins/kimchi/docs}/kimchi-login.png | Bin 318041 -> 3180= 41 bytes {docs =3D> plugins/kimchi/docs}/kimchi-templates.png | Bin 329678 -> 3296= 78 bytes {src =3D> plugins}/kimchi/i18n.py | 0 {src =3D> plugins}/kimchi/imageinfo.py | 0 {src =3D> plugins}/kimchi/iscsi.py | 0 {src =3D> plugins}/kimchi/isoinfo.py | 0 {src =3D> plugins}/kimchi/kvmusertests.py | 0 {src =3D> plugins}/kimchi/mockmodel.py | 0 {src =3D> plugins}/kimchi/model/Makefile.am | 0 {src =3D> plugins}/kimchi/model/__init__.py | 0 {src =3D> plugins}/kimchi/model/config.py | 0 {src =3D> plugins}/kimchi/model/cpuinfo.py | 0 {src =3D> plugins}/kimchi/model/debugreports.py | 0 {src =3D> plugins}/kimchi/model/diskutils.py | 0 {src =3D> plugins}/kimchi/model/featuretests.py | 0 {src =3D> plugins}/kimchi/model/groups.py | 0 {src =3D> plugins}/kimchi/model/host.py | 0 {src =3D> plugins}/kimchi/model/hostdev.py | 0 {src =3D> plugins}/kimchi/model/interfaces.py | 0 {src =3D> plugins}/kimchi/model/libvirtconnection.py | 0 .../kimchi/model/libvirtstoragepool.py | 0 {src =3D> plugins}/kimchi/model/model.py | 0 {src =3D> plugins}/kimchi/model/networks.py | 0 {src =3D> plugins}/kimchi/model/peers.py | 0 {src =3D> plugins}/kimchi/model/storagepools.py | 0 {src =3D> plugins}/kimchi/model/storageservers.py | 0 {src =3D> plugins}/kimchi/model/storagetargets.py | 0 {src =3D> plugins}/kimchi/model/storagevolumes.py | 0 {src =3D> plugins}/kimchi/model/tasks.py | 0 {src =3D> plugins}/kimchi/model/templates.py | 0 {src =3D> plugins}/kimchi/model/users.py | 0 {src =3D> plugins}/kimchi/model/utils.py | 0 {src =3D> plugins}/kimchi/model/vmhostdevs.py | 0 {src =3D> plugins}/kimchi/model/vmifaces.py | 0 {src =3D> plugins}/kimchi/model/vms.py | 0 {src =3D> plugins}/kimchi/model/vmsnapshots.py | 0 {src =3D> plugins}/kimchi/model/vmstorages.py | 0 {src =3D> plugins}/kimchi/osinfo.py | 0 {po =3D> plugins/kimchi/po}/LINGUAS | 0 {po =3D> plugins/kimchi/po}/Makefile.in.in | 0 {po =3D> plugins/kimchi/po}/Makevars | 0 {po =3D> plugins/kimchi/po}/POTFILES.in | 0 {po =3D> plugins/kimchi/po}/de_DE.po | 0 {po =3D> plugins/kimchi/po}/en_US.po | 0 {po =3D> plugins/kimchi/po}/es_ES.po | 0 {po =3D> plugins/kimchi/po}/fr_FR.po | 0 {po =3D> plugins/kimchi/po}/gen-pot.in | 0 {po =3D> plugins/kimchi/po}/it_IT.po | 0 {po =3D> plugins/kimchi/po}/ja_JP.po | 0 {po =3D> plugins/kimchi/po}/kimchi.pot | 0 {po =3D> plugins/kimchi/po}/ko_KR.po | 0 {po =3D> plugins/kimchi/po}/pt_BR.po | 0 {po =3D> plugins/kimchi/po}/ru_RU.po | 0 {po =3D> plugins/kimchi/po}/zh_CN.po | 0 {po =3D> plugins/kimchi/po}/zh_TW.po | 0 {src =3D> plugins}/kimchi/repositories.py | 0 {src =3D> plugins}/kimchi/scan.py | 0 {src =3D> plugins}/kimchi/screenshot.py | 0 {src =3D> plugins}/kimchi/swupdate.py | 0 {src =3D> plugins/kimchi}/template.conf | 0 {tests =3D> plugins/kimchi/tests}/Makefile.am | 0 {tests =3D> plugins/kimchi/tests}/iso_gen.py | 0 {tests =3D> plugins/kimchi/tests}/run_tests.sh.in | 0 .../kimchi/tests}/test_authorization.py | 0 {tests =3D> plugins/kimchi/tests}/test_config.py.in | 0 {tests =3D> plugins/kimchi/tests}/test_exception.py | 0 {tests =3D> 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 =3D> plugins/kimchi/tests}/test_mockmodel.py | 0 {tests =3D> 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 =3D> plugins/kimchi/tests}/test_networkxml.py | 0 .../kimchi/tests}/test_objectstore.py | 0 {tests =3D> plugins/kimchi/tests}/test_osinfo.py | 0 {tests =3D> plugins/kimchi/tests}/test_plugin.py | 0 {tests =3D> plugins/kimchi/tests}/test_rest.py | 0 .../kimchi/tests}/test_rollbackcontext.py | 0 {tests =3D> plugins/kimchi/tests}/test_server.py | 0 .../kimchi/tests}/test_storagepoolxml.py | 0 {tests =3D> plugins/kimchi/tests}/test_template.py | 0 {tests =3D> plugins/kimchi/tests}/test_utils.py | 0 {tests =3D> plugins/kimchi/tests}/test_vmtemplate.py | 0 {tests =3D> plugins/kimchi/tests}/test_yumparser.py | 0 {tests =3D> plugins/kimchi/tests}/utils.py | 0 {config =3D> plugins/kimchi/ui}/Makefile.am | 0 .../ui =3D> plugins/kimchi/ui/config}/Makefile.am | 0 .../kimchi/ui/config/tab-ext.xml | 0 {ui =3D> plugins/kimchi/ui}/css/Makefile.am | 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 .../kimchi/ui}/css/theme-default/list.css | 0 .../kimchi/ui}/css/theme-default/network.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 {ui =3D> plugins/kimchi/ui}/images/Makefile.am | 0 {ui =3D> plugins/kimchi/ui}/images/icon-centos.png | Bin 4734 -> 4734 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-debian.png | Bin 4239 -> 4239 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-fedora.png | Bin 4449 -> 4449 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-gentoo.png | Bin 15307 -> 15307= bytes {ui =3D> plugins/kimchi/ui}/images/icon-opensuse.png | Bin 3046 -> 3046 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-ubuntu.png | Bin 4818 -> 4818 b= ytes {ui =3D> plugins/kimchi/ui}/images/icon-vm.png | Bin 2976 -> 2976 b= ytes {ui =3D> plugins/kimchi/ui}/images/logo.ico | Bin 1214 -> 1214 b= ytes .../kimchi/ui}/images/theme-default/Makefile.am | 0 .../kimchi/ui}/images/theme-default/ac22_pause.png | Bin 1219 -> 1219 byt= es .../ui}/images/theme-default/ac22_pause_grey.png | Bin 1175 -> 1175 byt= es .../ui}/images/theme-default/ac24_resume.png | Bin 1341 -> 1341 byt= es .../ui}/images/theme-default/ac24_resume_grey.png | Bin 1282 -> 1282 byt= es .../ui}/images/theme-default/arrow-down-black.png | Bin 2942 -> 2942 byt= es .../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 byt= es .../kimchi/ui}/images/theme-default/group.png | Bin 1703 -> 1703 byt= es .../ui}/images/theme-default/host-icon-sprite.png | Bin 1034 -> 1034 byt= es .../kimchi/ui}/images/theme-default/icon-back.png | Bin 244 -> 244 bytes .../ui}/images/theme-default/icon-camera.png | Bin 4860 -> 4860 byt= es .../ui}/images/theme-default/icon-design.png | Bin 4562 -> 4562 byt= es .../ui}/images/theme-default/icon-detail.png | Bin 3079 -> 3079 byt= es .../kimchi/ui}/images/theme-default/icon-iso.png | Bin 4188 -> 4188 byt= es .../kimchi/ui}/images/theme-default/icon-list.png | Bin 2983 -> 2983 byt= es .../kimchi/ui}/images/theme-default/icon-load.png | Bin 3678 -> 3678 byt= es .../kimchi/ui}/images/theme-default/icon-local.png | Bin 425 -> 425 bytes .../ui}/images/theme-default/icon-power-down.png | Bin 4372 -> 4372 byt= es .../ui}/images/theme-default/icon-power-up.png | Bin 4367 -> 4367 byt= es .../kimchi/ui}/images/theme-default/icon-qcow2.png | Bin 4684 -> 4684 byt= es .../kimchi/ui}/images/theme-default/icon-raw.png | Bin 4679 -> 4679 byt= es .../ui}/images/theme-default/icon-remote.png | Bin 1005 -> 1005 byt= es .../kimchi/ui}/images/theme-default/icon-reset.png | Bin 4576 -> 4576 byt= es .../ui}/images/theme-default/icon-search.png | Bin 4197 -> 4197 byt= es .../kimchi/ui}/images/theme-default/icon-sort.png | Bin 3421 -> 3421 byt= es .../kimchi/ui}/images/theme-default/icon-tree.png | Bin 3526 -> 3526 byt= es .../kimchi/ui}/images/theme-default/icon-user.png | Bin 5366 -> 5366 byt= es .../images/theme-default/icon-volume-default.png | Bin 4265 -> 4265 byt= es .../images/theme-default/kimchi-loading15x15.gif | Bin 1653 -> 1653 byt= es .../kimchi/ui}/images/theme-default/loading.gif | Bin 2190 -> 2190 byt= es .../kimchi/ui}/images/theme-default/user.png | Bin 1322 -> 1322 byt= es {ui =3D> plugins/kimchi/ui}/js/Makefile.am | 0 {ui =3D> plugins/kimchi/ui}/js/src/kimchi.api.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 =3D> plugins/kimchi/ui}/js/src/kimchi.host.js | 0 {ui =3D> 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 .../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 {ui =3D> plugins/kimchi/ui}/pages/Makefile.am | 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 =3D> plugins/kimchi/ui}/pages/guest.html.tmpl | 0 {ui =3D> 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 =3D> 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 =3D> 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 =3D> 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 =3D> 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 =3D> 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 =3D> plugins/kimchi/ui}/robots.txt | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/Makefile.am | 0 .../kimchi/ui}/spice-html5/atKeynames.js | 0 {ui =3D> 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 =3D> plugins/kimchi/ui}/spice-html5/cursor.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/display.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/enums.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/inputs.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/lz.js | 0 {ui =3D> 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 =3D> plugins/kimchi/ui}/spice-html5/playback.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/png.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/quic.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/resize.js | 0 .../kimchi/ui}/spice-html5/simulatecursor.js | 0 .../kimchi/ui}/spice-html5/spicearraybuffer.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/spiceconn.js | 0 .../kimchi/ui}/spice-html5/spicedataview.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/spicemsg.js | 0 {ui =3D> 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 =3D> plugins/kimchi/ui}/spice-html5/ticket.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/utils.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/webm.js | 0 {ui =3D> plugins/kimchi/ui}/spice-html5/wire.js | 0 {src =3D> plugins}/kimchi/vmtemplate.py | 0 {src =3D> plugins}/kimchi/xmlutils/Makefile.am | 0 {src =3D> plugins}/kimchi/xmlutils/__init__.py | 0 {src =3D> plugins}/kimchi/xmlutils/cpu.py | 0 {src =3D> plugins}/kimchi/xmlutils/disk.py | 0 {src =3D> plugins}/kimchi/xmlutils/graphics.py | 0 {src =3D> plugins}/kimchi/xmlutils/interface.py | 0 {src =3D> plugins}/kimchi/xmlutils/network.py | 0 {src =3D> plugins}/kimchi/xmlutils/qemucmdline.py | 0 {src =3D> plugins}/kimchi/yumparser.py | 0 348 files changed, 0 insertions(+), 0 deletions(-) rename {src =3D> plugins}/kimchi/API.json (100%) rename README.md =3D> plugins/kimchi/README.md (100%) rename VERSION =3D> plugins/kimchi/VERSION (100%) rename {contrib =3D> plugins/kimchi/contrib}/DEBIAN/Makefile.am (100%) rename {contrib =3D> plugins/kimchi/contrib}/DEBIAN/control.in (100%) rename {contrib =3D> plugins/kimchi/contrib}/Makefile.am (100%) rename {contrib =3D> plugins/kimchi/contrib}/kimchi.spec.fedora.in (100%) rename {contrib =3D> plugins/kimchi/contrib}/kimchi.spec.suse.in (100%) rename {contrib =3D> plugins/kimchi/contrib}/make-deb.sh.in (100%) rename {src =3D> plugins}/kimchi/control/Makefile.am (100%) rename {src =3D> plugins}/kimchi/control/__init__.py (100%) rename {src =3D> plugins}/kimchi/control/config.py (100%) rename {src =3D> plugins}/kimchi/control/cpuinfo.py (100%) rename {src =3D> plugins}/kimchi/control/debugreports.py (100%) rename {src =3D> plugins}/kimchi/control/groups.py (100%) rename {src =3D> plugins}/kimchi/control/host.py (100%) rename {src =3D> plugins}/kimchi/control/interfaces.py (100%) rename {src =3D> plugins}/kimchi/control/networks.py (100%) rename {src =3D> plugins}/kimchi/control/peers.py (100%) rename {src =3D> plugins}/kimchi/control/storagepools.py (100%) rename {src =3D> plugins}/kimchi/control/storageservers.py (100%) rename {src =3D> plugins}/kimchi/control/storagevolumes.py (100%) rename {src =3D> plugins}/kimchi/control/tasks.py (100%) rename {src =3D> plugins}/kimchi/control/templates.py (100%) rename {src =3D> plugins}/kimchi/control/users.py (100%) rename {src =3D> plugins}/kimchi/control/vm/Makefile.am (100%) rename {src =3D> plugins}/kimchi/control/vm/__init__.py (100%) rename {src =3D> plugins}/kimchi/control/vm/hostdevs.py (100%) rename {src =3D> plugins}/kimchi/control/vm/ifaces.py (100%) rename {src =3D> plugins}/kimchi/control/vm/snapshots.py (100%) rename {src =3D> plugins}/kimchi/control/vm/storages.py (100%) rename {src =3D> plugins}/kimchi/control/vms.py (100%) rename {src =3D> plugins}/kimchi/disks.py (100%) rename {src =3D> plugins}/kimchi/distroloader.py (100%) rename {src =3D> plugins/kimchi}/distros.d/Makefile.am (100%) rename {src =3D> plugins/kimchi}/distros.d/debian.json (100%) rename {src =3D> plugins/kimchi}/distros.d/fedora.json (100%) rename {src =3D> plugins/kimchi}/distros.d/gentoo.json (100%) rename {src =3D> plugins/kimchi}/distros.d/opensuse.json (100%) rename {src =3D> plugins/kimchi}/distros.d/ubuntu.json (100%) rename {docs =3D> plugins/kimchi/docs}/API.md (100%) rename {docs =3D> plugins/kimchi/docs}/Makefile.am (100%) rename {docs =3D> plugins/kimchi/docs}/README-federation.md (100%) rename {docs =3D> plugins/kimchi/docs}/README.md (100%) rename {docs =3D> plugins/kimchi/docs}/kimchi-guest.png (100%) rename {docs =3D> plugins/kimchi/docs}/kimchi-login.png (100%) rename {docs =3D> plugins/kimchi/docs}/kimchi-templates.png (100%) rename {src =3D> plugins}/kimchi/i18n.py (100%) rename {src =3D> plugins}/kimchi/imageinfo.py (100%) rename {src =3D> plugins}/kimchi/iscsi.py (100%) rename {src =3D> plugins}/kimchi/isoinfo.py (100%) rename {src =3D> plugins}/kimchi/kvmusertests.py (100%) rename {src =3D> plugins}/kimchi/mockmodel.py (100%) rename {src =3D> plugins}/kimchi/model/Makefile.am (100%) rename {src =3D> plugins}/kimchi/model/__init__.py (100%) rename {src =3D> plugins}/kimchi/model/config.py (100%) rename {src =3D> plugins}/kimchi/model/cpuinfo.py (100%) rename {src =3D> plugins}/kimchi/model/debugreports.py (100%) rename {src =3D> plugins}/kimchi/model/diskutils.py (100%) rename {src =3D> plugins}/kimchi/model/featuretests.py (100%) rename {src =3D> plugins}/kimchi/model/groups.py (100%) rename {src =3D> plugins}/kimchi/model/host.py (100%) rename {src =3D> plugins}/kimchi/model/hostdev.py (100%) rename {src =3D> plugins}/kimchi/model/interfaces.py (100%) rename {src =3D> plugins}/kimchi/model/libvirtconnection.py (100%) rename {src =3D> plugins}/kimchi/model/libvirtstoragepool.py (100%) rename {src =3D> plugins}/kimchi/model/model.py (100%) rename {src =3D> plugins}/kimchi/model/networks.py (100%) rename {src =3D> plugins}/kimchi/model/peers.py (100%) rename {src =3D> plugins}/kimchi/model/storagepools.py (100%) rename {src =3D> plugins}/kimchi/model/storageservers.py (100%) rename {src =3D> plugins}/kimchi/model/storagetargets.py (100%) rename {src =3D> plugins}/kimchi/model/storagevolumes.py (100%) rename {src =3D> plugins}/kimchi/model/tasks.py (100%) rename {src =3D> plugins}/kimchi/model/templates.py (100%) rename {src =3D> plugins}/kimchi/model/users.py (100%) rename {src =3D> plugins}/kimchi/model/utils.py (100%) rename {src =3D> plugins}/kimchi/model/vmhostdevs.py (100%) rename {src =3D> plugins}/kimchi/model/vmifaces.py (100%) rename {src =3D> plugins}/kimchi/model/vms.py (100%) rename {src =3D> plugins}/kimchi/model/vmsnapshots.py (100%) rename {src =3D> plugins}/kimchi/model/vmstorages.py (100%) rename {src =3D> plugins}/kimchi/osinfo.py (100%) rename {po =3D> plugins/kimchi/po}/LINGUAS (100%) rename {po =3D> plugins/kimchi/po}/Makefile.in.in (100%) rename {po =3D> plugins/kimchi/po}/Makevars (100%) rename {po =3D> plugins/kimchi/po}/POTFILES.in (100%) rename {po =3D> plugins/kimchi/po}/de_DE.po (100%) rename {po =3D> plugins/kimchi/po}/en_US.po (100%) rename {po =3D> plugins/kimchi/po}/es_ES.po (100%) rename {po =3D> plugins/kimchi/po}/fr_FR.po (100%) rename {po =3D> plugins/kimchi/po}/gen-pot.in (100%) rename {po =3D> plugins/kimchi/po}/it_IT.po (100%) rename {po =3D> plugins/kimchi/po}/ja_JP.po (100%) rename {po =3D> plugins/kimchi/po}/kimchi.pot (100%) rename {po =3D> plugins/kimchi/po}/ko_KR.po (100%) rename {po =3D> plugins/kimchi/po}/pt_BR.po (100%) rename {po =3D> plugins/kimchi/po}/ru_RU.po (100%) rename {po =3D> plugins/kimchi/po}/zh_CN.po (100%) rename {po =3D> plugins/kimchi/po}/zh_TW.po (100%) rename {src =3D> plugins}/kimchi/repositories.py (100%) rename {src =3D> plugins}/kimchi/scan.py (100%) rename {src =3D> plugins}/kimchi/screenshot.py (100%) rename {src =3D> plugins}/kimchi/swupdate.py (100%) rename {src =3D> plugins/kimchi}/template.conf (100%) rename {tests =3D> plugins/kimchi/tests}/Makefile.am (100%) rename {tests =3D> plugins/kimchi/tests}/iso_gen.py (100%) rename {tests =3D> plugins/kimchi/tests}/run_tests.sh.in (100%) rename {tests =3D> plugins/kimchi/tests}/test_authorization.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_config.py.in (100%) rename {tests =3D> plugins/kimchi/tests}/test_exception.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_host.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_mock_network.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_mock_storagepool.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_mock_storagevolume.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_mockmodel.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_model.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_model_network.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_model_storagepool.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_model_storagevolume.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_networkxml.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_objectstore.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_osinfo.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_plugin.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_rest.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_rollbackcontext.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_server.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_storagepoolxml.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_template.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_utils.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_vmtemplate.py (100%) rename {tests =3D> plugins/kimchi/tests}/test_yumparser.py (100%) rename {tests =3D> plugins/kimchi/tests}/utils.py (100%) rename {config =3D> plugins/kimchi/ui}/Makefile.am (100%) rename {config/ui =3D> plugins/kimchi/ui/config}/Makefile.am (100%) rename config/ui/tabs.xml =3D> plugins/kimchi/ui/config/tab-ext.xml (100%) rename {ui =3D> plugins/kimchi/ui}/css/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/guest-edit.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/guest-storage-add.css= (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/host.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/list.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/network.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/report-add.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/report-rename.css (10= 0%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/repository-add.css (1= 00%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/repository-edit.css (= 100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/storage.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/storagepool-add-volum= e.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template-edit.css (10= 0%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template.css (100%) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template_add.css (100= %) rename {ui =3D> plugins/kimchi/ui}/css/theme-default/template_list.css (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-centos.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-debian.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-fedora.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-gentoo.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-opensuse.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-ubuntu.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/icon-vm.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/logo.ico (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac22_pause.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac22_pause_grey.pn= g (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac24_resume.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/ac24_resume_grey.p= ng (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-down-black.p= ng (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-down-disable= .png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-down.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow-up.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/arrow_out.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/group.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/host-icon-sprite.p= ng (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-back.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-camera.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-design.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-detail.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-iso.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-list.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-load.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-local.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-power-down.pn= g (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-power-up.png = (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-qcow2.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-raw.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-remote.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-reset.png (10= 0%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-search.png (1= 00%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-sort.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-tree.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-user.png (100= %) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/icon-volume-defaul= t.png (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/kimchi-loading15x1= 5.gif (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/loading.gif (100%) rename {ui =3D> plugins/kimchi/ui}/images/theme-default/user.png (100%) rename {ui =3D> plugins/kimchi/ui}/js/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.api.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.guest_add_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.guest_edit_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.guest_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.guest_media_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.guest_storage_add.main.js= (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.host.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.network.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.report_add_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.report_rename_main.js (10= 0%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.repository_add_main.js (1= 00%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.repository_edit_main.js (= 100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.storage_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.storagepool_add_main.js (= 100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.storagepool_add_volume_ma= in.js (100%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.template_add_main.js (100= %) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.template_edit_main.js (10= 0%) rename {ui =3D> plugins/kimchi/ui}/js/src/kimchi.template_main.js (100%) rename {ui =3D> plugins/kimchi/ui}/pages/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/guest-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/guest-edit.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/guest-storage-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/guest.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/de_DE/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/dita-help.xsl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/en_US/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/es_ES/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/fr_FR/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/gen-index.py (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/it_IT/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ja_JP/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/kimchi.css (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ko_KR/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/pt_BR/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/ru_RU/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_CN/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/guests.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/host.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/network.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/storage.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/help/zh_TW/templates.dita (100%) rename {ui =3D> plugins/kimchi/ui}/pages/i18n.json.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/report-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/report-rename.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/repository-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/repository-edit.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/storagepool-add-volume.html.tmpl = (100%) rename {ui =3D> plugins/kimchi/ui}/pages/storagepool-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/guests.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/host.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/network.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/storage.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/tabs/templates.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/template-add.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/pages/template-edit.html.tmpl (100%) rename {ui =3D> plugins/kimchi/ui}/robots.txt (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/atKeynames.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/bitmap.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/css/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/css/spice.css (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/cursor.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/display.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/enums.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/inputs.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/lz.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/main.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/pages/Makefile.am (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/pages/spice_auto.html (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/playback.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/png.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/quic.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/resize.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/simulatecursor.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicearraybuffer.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spiceconn.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicedataview.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicemsg.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/spicetype.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/Makefile.am (100= %) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/jsbn.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/prng4.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/rng.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/rsa.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/thirdparty/sha1.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/ticket.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/utils.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/webm.js (100%) rename {ui =3D> plugins/kimchi/ui}/spice-html5/wire.js (100%) rename {src =3D> plugins}/kimchi/vmtemplate.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/Makefile.am (100%) rename {src =3D> plugins}/kimchi/xmlutils/__init__.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/cpu.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/disk.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/graphics.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/interface.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/network.py (100%) rename {src =3D> plugins}/kimchi/xmlutils/qemucmdline.py (100%) rename {src =3D> plugins}/kimchi/yumparser.py (100%) 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/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/contrib/DEBIAN/Makefile.am b/plugins/kimchi/contrib/DEBIAN/Mak= efile.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/cont= rol.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/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.sp= ec.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/Makefi= le.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/de= bugreports.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/inte= rfaces.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/networ= ks.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/st= oragepools.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/templ= ates.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/if= aces.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.js= on 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.js= on 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.js= on 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/opensus= e.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.js= on 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-federat= ion.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/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/debugr= eports.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/featur= etests.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/interfac= es.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/l= ibvirtconnection.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/storag= epools.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/stor= ageservers.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/stor= agetargets.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/stor= agevolumes.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/vmhostde= vs.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/vmsnaps= hots.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/vmstorag= es.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_author= ization.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_ne= twork.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_moc= k_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_m= ock_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_mo= del_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_networkxm= l.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_objectst= ore.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_roll= backcontext.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_stora= gepoolxml.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_vmtemplat= e.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/guest-edit.css b/plugins/kimchi/ui/css/th= eme-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-de= fault/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/list.css b/plugins/kimchi/ui/css/theme-de= fault/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/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/report-add.css b/plugins/kimchi/ui/css/th= eme-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/cs= s/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/c= ss/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/kimc= hi/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/them= e-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/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/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.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/kimc= hi.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/sr= c/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.hos= t.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.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/j= s/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.storage_main.js b/plugins/kimchi/ui/js/src/ki= mchi.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/j= s/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/kimc= hi/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/s= rc/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/k= imchi.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/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/guest-add.html.tmpl b/plugins/kimchi/ui/pages/guest-a= dd.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/Makef= ile.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/d= e_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/hel= p/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/hel= p/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/h= elp/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/dit= a-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/e= n_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/hel= p/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/hel= p/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/h= elp/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/e= s_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/hel= p/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/hel= p/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/h= elp/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/f= r_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/hel= p/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/hel= p/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/h= elp/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/i= t_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/hel= p/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/hel= p/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/h= elp/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/j= a_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/hel= p/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/hel= p/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/h= elp/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/k= o_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/hel= p/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/hel= p/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/h= elp/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/p= t_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/hel= p/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/hel= p/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/h= elp/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/r= u_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/hel= p/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/hel= p/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/h= elp/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/z= h_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/hel= p/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/hel= p/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/h= elp/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/z= h_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/hel= p/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/hel= p/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/h= elp/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.tm= pl 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/rep= ort-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/re= pository-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/r= epository-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/s= toragepool-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/Makef= ile.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/ho= st.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/ta= bs/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/temp= late-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/tem= plate-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/Mak= efile.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/a= tKeynames.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/bitma= p.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/c= ss/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/curso= r.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/disp= lay.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/input= s.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-htm= l5/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/pla= yback.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/resiz= e.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-htm= l5/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-h= tml5/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/sp= iceconn.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-html= 5/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/spi= cemsg.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/sp= icetype.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/spic= e-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-ht= ml5/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-h= tml5/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-htm= l5/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-htm= l5/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-ht= ml5/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/ticke= t.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/Make= file.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/__in= it__.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/grap= hics.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/int= erface.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/netwo= rk.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/q= emucmdline.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 --===============6288979910591320710==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:26 2015 Content-Type: multipart/mixed; boundary="===============6340013443288343260==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 04/34] Rename kimchi-named files to wok Date: Wed, 08 Jul 2015 16:17:36 -0300 Message-ID: <1436383086-19140-5-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============6340013443288343260== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Renames the remaining kimchi-named files in wok to avoid confusion. No code changes. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- ...pstart.conf.debian =3D> wokd-upstart.conf.debian} | 0 ...pstart.conf.fedora =3D> wokd-upstart.conf.fedora} | 0 ...{kimchid.service.fedora =3D> wokd.service.fedora} | 0 contrib/{kimchid.sysvinit =3D> wokd.sysvinit} | 0 docs/{kimchid.8.in =3D> wokd.8.in} | 0 src/nginx/{kimchi.conf.in =3D> wok.conf.in} | 0 src/{kimchi.conf.in =3D> wok.conf.in} | 0 src/{kimchid.in =3D> wokd.in} | 0 .../{kimchi-loading.gif =3D> wok-loading.gif} | Bin 6181 -> 6181 b= ytes ui/js/src/{kimchi.cookie.js =3D> wok.cookie.js} | 0 ui/js/src/{kimchi.form.js =3D> wok.form.js} | 0 ui/js/src/{kimchi.grid.js =3D> wok.grid.js} | 0 ui/js/src/{kimchi.lang.js =3D> wok.lang.js} | 0 .../{kimchi.line-chart.js =3D> wok.line-chart.js} | 0 ui/js/src/{kimchi.login.js =3D> wok.login.js} | 0 ui/js/src/{kimchi.main.js =3D> wok.main.js} | 0 ui/js/src/{kimchi.message.js =3D> wok.message.js} | 0 ui/js/src/{kimchi.object.js =3D> wok.object.js} | 0 ui/js/src/{kimchi.popable.js =3D> wok.popable.js} | 0 ui/js/src/{kimchi.select.js =3D> wok.select.js} | 0 ui/js/src/{kimchi.string.js =3D> wok.string.js} | 0 .../{kimchi.substitute.js =3D> wok.substitute.js} | 0 ui/js/src/{kimchi.topic.js =3D> wok.topic.js} | 0 ui/js/src/{kimchi.user.js =3D> wok.user.js} | 0 ui/js/src/{kimchi.utils.js =3D> wok.utils.js} | 0 ui/js/src/{kimchi.window.js =3D> wok.window.js} | 0 ui/pages/{kimchi-ui.html.tmpl =3D> wok-ui.html.tmpl} | 0 27 files changed, 0 insertions(+), 0 deletions(-) rename contrib/{kimchid-upstart.conf.debian =3D> wokd-upstart.conf.debian}= (100%) rename contrib/{kimchid-upstart.conf.fedora =3D> wokd-upstart.conf.fedora}= (100%) rename contrib/{kimchid.service.fedora =3D> wokd.service.fedora} (100%) rename contrib/{kimchid.sysvinit =3D> wokd.sysvinit} (100%) rename docs/{kimchid.8.in =3D> wokd.8.in} (100%) rename src/nginx/{kimchi.conf.in =3D> wok.conf.in} (100%) rename src/{kimchi.conf.in =3D> wok.conf.in} (100%) rename src/{kimchid.in =3D> wokd.in} (100%) rename ui/images/theme-default/{kimchi-loading.gif =3D> wok-loading.gif} (= 100%) rename ui/js/src/{kimchi.cookie.js =3D> wok.cookie.js} (100%) rename ui/js/src/{kimchi.form.js =3D> wok.form.js} (100%) rename ui/js/src/{kimchi.grid.js =3D> wok.grid.js} (100%) rename ui/js/src/{kimchi.lang.js =3D> wok.lang.js} (100%) rename ui/js/src/{kimchi.line-chart.js =3D> wok.line-chart.js} (100%) rename ui/js/src/{kimchi.login.js =3D> wok.login.js} (100%) rename ui/js/src/{kimchi.main.js =3D> wok.main.js} (100%) rename ui/js/src/{kimchi.message.js =3D> wok.message.js} (100%) rename ui/js/src/{kimchi.object.js =3D> wok.object.js} (100%) rename ui/js/src/{kimchi.popable.js =3D> wok.popable.js} (100%) rename ui/js/src/{kimchi.select.js =3D> wok.select.js} (100%) rename ui/js/src/{kimchi.string.js =3D> wok.string.js} (100%) rename ui/js/src/{kimchi.substitute.js =3D> wok.substitute.js} (100%) rename ui/js/src/{kimchi.topic.js =3D> wok.topic.js} (100%) rename ui/js/src/{kimchi.user.js =3D> wok.user.js} (100%) rename ui/js/src/{kimchi.utils.js =3D> wok.utils.js} (100%) rename ui/js/src/{kimchi.window.js =3D> wok.window.js} (100%) rename ui/pages/{kimchi-ui.html.tmpl =3D> wok-ui.html.tmpl} (100%) diff --git a/contrib/kimchid-upstart.conf.debian b/contrib/wokd-upstart.con= f.debian similarity index 100% rename from contrib/kimchid-upstart.conf.debian rename to contrib/wokd-upstart.conf.debian diff --git a/contrib/kimchid-upstart.conf.fedora b/contrib/wokd-upstart.con= f.fedora similarity index 100% rename from contrib/kimchid-upstart.conf.fedora rename to contrib/wokd-upstart.conf.fedora diff --git a/contrib/kimchid.service.fedora b/contrib/wokd.service.fedora similarity index 100% rename from contrib/kimchid.service.fedora rename to contrib/wokd.service.fedora diff --git a/contrib/kimchid.sysvinit b/contrib/wokd.sysvinit similarity index 100% rename from contrib/kimchid.sysvinit rename to contrib/wokd.sysvinit diff --git a/docs/kimchid.8.in b/docs/wokd.8.in similarity index 100% rename from docs/kimchid.8.in rename to docs/wokd.8.in diff --git a/src/nginx/kimchi.conf.in b/src/nginx/wok.conf.in similarity index 100% rename from src/nginx/kimchi.conf.in rename to src/nginx/wok.conf.in diff --git a/src/kimchi.conf.in b/src/wok.conf.in similarity index 100% rename from src/kimchi.conf.in rename to src/wok.conf.in diff --git a/src/kimchid.in b/src/wokd.in similarity index 100% rename from src/kimchid.in rename to src/wokd.in diff --git a/ui/js/src/kimchi.cookie.js b/ui/js/src/wok.cookie.js similarity index 100% rename from ui/js/src/kimchi.cookie.js rename to ui/js/src/wok.cookie.js diff --git a/ui/js/src/kimchi.form.js b/ui/js/src/wok.form.js similarity index 100% rename from ui/js/src/kimchi.form.js rename to ui/js/src/wok.form.js diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/wok.grid.js similarity index 100% rename from ui/js/src/kimchi.grid.js rename to ui/js/src/wok.grid.js diff --git a/ui/js/src/kimchi.lang.js b/ui/js/src/wok.lang.js similarity index 100% rename from ui/js/src/kimchi.lang.js rename to ui/js/src/wok.lang.js diff --git a/ui/js/src/kimchi.line-chart.js b/ui/js/src/wok.line-chart.js similarity index 100% rename from ui/js/src/kimchi.line-chart.js rename to ui/js/src/wok.line-chart.js diff --git a/ui/js/src/kimchi.login.js b/ui/js/src/wok.login.js similarity index 100% rename from ui/js/src/kimchi.login.js rename to ui/js/src/wok.login.js diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/wok.main.js similarity index 100% rename from ui/js/src/kimchi.main.js rename to ui/js/src/wok.main.js diff --git a/ui/js/src/kimchi.message.js b/ui/js/src/wok.message.js similarity index 100% rename from ui/js/src/kimchi.message.js rename to ui/js/src/wok.message.js diff --git a/ui/js/src/kimchi.object.js b/ui/js/src/wok.object.js similarity index 100% rename from ui/js/src/kimchi.object.js rename to ui/js/src/wok.object.js diff --git a/ui/js/src/kimchi.popable.js b/ui/js/src/wok.popable.js similarity index 100% rename from ui/js/src/kimchi.popable.js rename to ui/js/src/wok.popable.js diff --git a/ui/js/src/kimchi.select.js b/ui/js/src/wok.select.js similarity index 100% rename from ui/js/src/kimchi.select.js rename to ui/js/src/wok.select.js diff --git a/ui/js/src/kimchi.string.js b/ui/js/src/wok.string.js similarity index 100% rename from ui/js/src/kimchi.string.js rename to ui/js/src/wok.string.js diff --git a/ui/js/src/kimchi.substitute.js b/ui/js/src/wok.substitute.js similarity index 100% rename from ui/js/src/kimchi.substitute.js rename to ui/js/src/wok.substitute.js diff --git a/ui/js/src/kimchi.topic.js b/ui/js/src/wok.topic.js similarity index 100% rename from ui/js/src/kimchi.topic.js rename to ui/js/src/wok.topic.js diff --git a/ui/js/src/kimchi.user.js b/ui/js/src/wok.user.js similarity index 100% rename from ui/js/src/kimchi.user.js rename to ui/js/src/wok.user.js diff --git a/ui/js/src/kimchi.utils.js b/ui/js/src/wok.utils.js similarity index 100% rename from ui/js/src/kimchi.utils.js rename to ui/js/src/wok.utils.js diff --git a/ui/js/src/kimchi.window.js b/ui/js/src/wok.window.js similarity index 100% rename from ui/js/src/kimchi.window.js rename to ui/js/src/wok.window.js diff --git a/ui/pages/kimchi-ui.html.tmpl b/ui/pages/wok-ui.html.tmpl similarity index 100% rename from ui/pages/kimchi-ui.html.tmpl rename to ui/pages/wok-ui.html.tmpl -- = 1.7.1 --===============6340013443288343260==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:33 2015 Content-Type: multipart/mixed; boundary="===============3387197111491837051==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 05/34] Duplicate some files Date: Wed, 08 Jul 2015 16:17:37 -0300 Message-ID: <1436383086-19140-6-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============3387197111491837051== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Duplicate UI files from kimchi to wok In the future, wok may have its own UI files. Since it is not the focus of this patchset, just duplicate them for now. - Add i18n files to wok Copy files from kimchi for now. The error messages will be split up in a future patch. - Add packaging specs to wok Copies respective plugins/kimchi/contrib counterparts. - Add back necessary __init__.py and Makefile.am files to wok - Copy autogen, configure, build-aux, m4 files to plugins/kimchi - Copy documentation files to plugins/kimchi - Add .gitignore to plugins/kimchi for further separation from wok. No code changes in this patch, only copies. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- VERSION | 1 + contrib/DEBIAN/Makefile.am | 17 + contrib/DEBIAN/control.in | 36 + contrib/Makefile.am | 38 + contrib/make-deb.sh.in | 15 + contrib/wok.spec.fedora.in | 189 +++ contrib/wok.spec.suse.in | 150 ++ docs/Makefile.am | 31 + plugins/kimchi/.gitignore | 43 + plugins/kimchi/INSTALL | 369 +++++ plugins/kimchi/Makefile.am | 165 ++ 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 | 150 ++ plugins/kimchi/contrib/check_i18n.py | 82 + 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 ++ po/LINGUAS | 11 + po/Makefile.in.in | 398 +++++ po/Makevars | 41 + po/POTFILES.in | 4 + po/gen-pot.in | 9 + po/wok.pot | 2162 ++++++++++++++++++++++= ++++ src/wok/control/Makefile.am | 27 + src/wok/control/__init__.py | 26 + src/wok/i18n.py | 354 +++++ src/wok/model/Makefile.am | 25 + src/wok/model/__init__.py | 18 + src/wok/xmlutils/Makefile.am | 25 + src/wok/xmlutils/__init__.py | 18 + ui/css/Makefile.am | 26 + ui/images/Makefile.am | 22 + ui/images/logo.ico | Bin 0 -> 1214 bytes ui/images/theme-default/Makefile.am | 20 + ui/images/theme-default/arrow-down-black.png | Bin 0 -> 2942 bytes ui/images/theme-default/arrow-down.png | Bin 0 -> 537 bytes ui/js/Makefile.am | 27 + ui/pages/Makefile.am | 22 + ui/pages/i18n.json.tmpl | 187 +++ ui/robots.txt | 2 + 51 files changed, 8518 insertions(+), 0 deletions(-) create mode 100644 VERSION create mode 100644 contrib/DEBIAN/Makefile.am create mode 100644 contrib/DEBIAN/control.in create mode 100644 contrib/Makefile.am create mode 100644 contrib/make-deb.sh.in create mode 100644 contrib/wok.spec.fedora.in create mode 100644 contrib/wok.spec.suse.in create mode 100644 docs/Makefile.am create mode 100644 plugins/kimchi/.gitignore create mode 100644 plugins/kimchi/INSTALL create mode 100644 plugins/kimchi/Makefile.am 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 create mode 100755 plugins/kimchi/contrib/check_i18n.py 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 create mode 100644 po/LINGUAS create mode 100644 po/Makefile.in.in create mode 100644 po/Makevars create mode 100644 po/POTFILES.in create mode 100644 po/gen-pot.in create mode 100755 po/wok.pot create mode 100644 src/wok/control/Makefile.am create mode 100644 src/wok/control/__init__.py create mode 100644 src/wok/i18n.py create mode 100644 src/wok/model/Makefile.am create mode 100644 src/wok/model/__init__.py create mode 100644 src/wok/xmlutils/Makefile.am create mode 100644 src/wok/xmlutils/__init__.py create mode 100644 ui/css/Makefile.am create mode 100644 ui/images/Makefile.am create mode 100644 ui/images/logo.ico create mode 100644 ui/images/theme-default/Makefile.am create mode 100644 ui/images/theme-default/arrow-down-black.png create mode 100644 ui/images/theme-default/arrow-down.png create mode 100644 ui/js/Makefile.am create mode 100644 ui/pages/Makefile.am create mode 100644 ui/pages/i18n.json.tmpl create mode 100644 ui/robots.txt diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..bc80560 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.5.0 diff --git a/contrib/DEBIAN/Makefile.am b/contrib/DEBIAN/Makefile.am new file mode 100644 index 0000000..ca89552 --- /dev/null +++ b/contrib/DEBIAN/Makefile.am @@ -0,0 +1,17 @@ +# 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-130= 1 USA + +CLEANFILES =3D control diff --git a/contrib/DEBIAN/control.in b/contrib/DEBIAN/control.in new file mode 100644 index 0000000..a288e9b --- /dev/null +++ b/contrib/DEBIAN/control.in @@ -0,0 +1,36 @@ +Package: @PACKAGE_NAME@ +Version: @PACKAGE_VERSION@ +Section: base +Priority: optional +Architecture: all +Depends: python-cherrypy3 (>=3D 3.2.0), + python-cheetah, + python-imaging, + python-configobj, + websockify, + novnc, + python-jsonschema (>=3D 1.3.0), + python-libvirt, + gettext, + libvirt-bin, + nfs-common, + python-m2crypto, + qemu-kvm, + python-pam, + python-parted, + python-psutil (>=3D 0.6.0), + python-ethtool, + sosreport, + python-ipaddr, + python-lxml, + open-iscsi, + nginx, + python-guestfs, + python-ldap, + libguestfs-tools, + spice-html5 +Build-Depends: libxslt, + openssl, + python-lxml +Maintainer: Aline Manera +Description: Kimchi web server diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 0000000..393306f --- /dev/null +++ b/contrib/Makefile.am @@ -0,0 +1,38 @@ +# 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-130= 1 USA + +SUBDIRS =3D DEBIAN + +EXTRA_DIST =3D \ + check_i18n.py \ + kimchid.sysvinit \ + kimchid.service.fedora \ + kimchi.spec.fedora.in \ + kimchid-upstart.conf.debian \ + kimchid-upstart.conf.fedora \ + make-deb.sh.in \ + $(NULL) + +make-deb.sh: make-deb.sh.in $(top_builddir)/config.status + $(AM_V_GEN)sed \ + -e 's|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \ + -e 's|[@]PACKAGE_RELEASE[@]|$(PACKAGE_RELEASE)|g' \ + < $< > $@-t && \ + chmod a+x $@-t && \ + mv $@-t $@ +BUILT_SOURCES =3D make-deb.sh + +CLEANFILES =3D kimchi.spec.fedora kimchi.spec.suse kimchi.spec make-deb.sh diff --git a/contrib/make-deb.sh.in b/contrib/make-deb.sh.in new file mode 100644 index 0000000..5a6e56a --- /dev/null +++ b/contrib/make-deb.sh.in @@ -0,0 +1,15 @@ +#!/bin/bash + +VERSION=3D"@PACKAGE_VERSION@" +RELEASE=3D"@PACKAGE_RELEASE@" + +if [ ! -f configure ]; then + echo "Please run this script from the top of the package tree" + exit 1 +fi + +TMPDIR=3D`mktemp -d` + +make DESTDIR=3D$TMPDIR install-deb +dpkg-deb -b $TMPDIR kimchi-${VERSION}-${RELEASE}.noarch.deb +rm -rf $TMPDIR diff --git a/contrib/wok.spec.fedora.in b/contrib/wok.spec.fedora.in new file mode 100644 index 0000000..183fd43 --- /dev/null +++ b/contrib/wok.spec.fedora.in @@ -0,0 +1,189 @@ +Name: kimchi +Version: @PACKAGE_VERSION@ +Release: @PACKAGE_RELEASE@%{?dist} +Summary: Kimchi server application +BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release} +BuildArch: noarch +Group: System Environment/Base +License: LGPL/ASL2 +Source0: %{name}-%{version}.tar.gz +Requires: qemu-kvm +Requires: gettext-devel +Requires: libvirt +Requires: libvirt-python +Requires: libvirt-daemon-config-network +Requires: python-cherrypy >=3D 3.2.0 +Requires: python-cheetah +Requires: python-websockify +Requires: python-configobj +Requires: novnc +Requires: m2crypto +Requires: python-imaging +Requires: PyPAM +Requires: pyparted +Requires: python-psutil >=3D 0.6.0 +Requires: python-jsonschema >=3D 1.3.0 +Requires: python-ethtool +Requires: sos +Requires: python-ipaddr +Requires: python-lxml +Requires: nfs-utils +Requires: nginx +Requires: iscsi-initiator-utils +Requires: python-ldap +Requires: python-libguestfs +Requires: libguestfs-tools +BuildRequires: libxslt +BuildRequires: openssl +BuildRequires: python-lxml + +%if 0%{?rhel} >=3D 6 || 0%{?fedora} >=3D 19 +Requires: spice-html5 +%endif + +%if 0%{?fedora} >=3D 15 || 0%{?rhel} >=3D 7 +%global with_systemd 1 +%endif + +%if 0%{?rhel} =3D=3D 6 +Requires: python-ordereddict +Requires: python-imaging +BuildRequires: python-unittest2 +%endif + +%if 0%{?with_systemd} +Requires: systemd +Requires: firewalld +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif + +%if 0%{?with_systemd} +BuildRequires: systemd-units +%endif + +%description +Web server application to manage KVM/Qemu virtual machines + + +%prep +%setup + + +%build +%if 0%{?rhel} >=3D 6 || 0%{?fedora} >=3D 19 +%configure +%else +%configure --with-spice-html5 +%endif +make + + +%install +rm -rf %{buildroot} +make DESTDIR=3D%{buildroot} install + +%if 0%{?with_systemd} + +%endif + +%if 0%{?rhel} =3D=3D 6 +# Install the upstart script +install -Dm 0755 contrib/kimchid-upstart.conf.fedora %{buildroot}/etc/init= /kimchid.conf +%endif +%if 0%{?rhel} =3D=3D 5 +# Install the SysV init scripts +install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid +%endif + +%post +if [ $1 -eq 1 ] ; then + /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi + + +%preun + +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : + /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : +fi + +exit 0 + + +%postun +if [ "$1" -ge 1 ] ; then + /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : +fi +exit 0 + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%attr(-,root,root) +%{_bindir}/kimchid +%{python_sitelib}/kimchi/*.py* +%{python_sitelib}/kimchi/control/*.py* +%{python_sitelib}/kimchi/control/vm/*.py* +%{python_sitelib}/kimchi/model/*.py* +%{python_sitelib}/kimchi/xmlutils/*.py* +%{python_sitelib}/kimchi/API.json +%{python_sitelib}/kimchi/plugins/*.py* +%{python_sitelib}/kimchi/ +%{_datadir}/kimchi/doc/API.md +%{_datadir}/kimchi/doc/README.md +%{_datadir}/kimchi/doc/README-federation.md +%{_datadir}/kimchi/doc/kimchi-guest.png +%{_datadir}/kimchi/doc/kimchi-templates.png +%{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo +%{_datadir}/kimchi/config/ui/*.xml +%{_datadir}/kimchi/ui/ +%{_datadir}/kimchi +%{_sysconfdir}/nginx/conf.d/kimchi.conf.in +%{_sysconfdir}/nginx/conf.d/kimchi.conf +%{_sysconfdir}/kimchi/kimchi.conf +%{_sysconfdir}/kimchi/template.conf +%{_sysconfdir}/kimchi/distros.d/debian.json +%{_sysconfdir}/kimchi/distros.d/fedora.json +%{_sysconfdir}/kimchi/distros.d/opensuse.json +%{_sysconfdir}/kimchi/distros.d/ubuntu.json +%{_sysconfdir}/kimchi/distros.d/gentoo.json +%{_sysconfdir}/kimchi/ +%{_sharedstatedir}/kimchi/debugreports/ +%{_sharedstatedir}/kimchi/screenshots/ +%{_sharedstatedir}/kimchi/vnc-tokens/ +%{_sharedstatedir}/kimchi/isos/ +%{_sharedstatedir}/kimchi/ +%{_localstatedir}/log/kimchi/* +%{_localstatedir}/log/kimchi/ +%{_mandir}/man8/kimchid.8.gz + +%if 0%{?with_systemd} +%{_unitdir}/kimchid.service +%{_prefix}/lib/firewalld/services/kimchid.xml +%endif +%if 0%{?rhel} =3D=3D 6 +/etc/init/kimchid.conf +%endif +%if 0%{?rhel} =3D=3D 5 +%{_initrddir}/kimchid +%endif + +%changelog +* Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 +- Add man page for kimchid + +* Tue Feb 11 2014 Cr=C3=ADstian Viana 1.1.0 +- Add help pages and XSLT dependency + +* Tue Jul 16 2013 Adam Litke 0.1.0-1 +- Adapted for autotools build + +* Thu Apr 04 2013 Aline Manera 0.0-1 +- First build diff --git a/contrib/wok.spec.suse.in b/contrib/wok.spec.suse.in new file mode 100644 index 0000000..54228ae --- /dev/null +++ b/contrib/wok.spec.suse.in @@ -0,0 +1,150 @@ +Name: kimchi +Version: @PACKAGE_VERSION@ +Release: @PACKAGE_RELEASE@%{?dist} +Summary: Kimchi server application +BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release} +BuildArch: noarch +Group: System Environment/Base +License: LGPL/ASL2 +Source0: %{name}-%{version}.tar.gz +Requires: kvm +Requires: gettext-tools +Requires: libvirt +Requires: libvirt-python +Requires: libvirt-daemon-config-network +Requires: python-CherryPy >=3D 3.2.0 +Requires: python-Cheetah +Requires: python-websockify +Requires: python-configobj +Requires: novnc +Requires: python-imaging +Requires: python-M2Crypto +Requires: python-pam +Requires: python-parted +Requires: python-psutil >=3D 0.6.0 +Requires: python-jsonschema >=3D 1.3.0 +Requires: python-ethtool +Requires: python-ipaddr +Requires: python-ldap +Requires: python-lxml +Requires: python-xml +Requires: nfs-client +Requires: nginx +Requires: open-iscsi +Requires: python-libguestfs +Requires: guestfs-tools +BuildRequires: libxslt-tools +BuildRequires: openssl +BuildRequires: python-lxml + +%if 0%{?suse_version} =3D=3D 1100 +Requires: python-ordereddict +%endif + +%if 0%{?suse_version} > 1140 +%global with_systemd 1 +%endif + +%description +Web server application to manage KVM/Qemu virtual machines + +%prep +%setup + +%build +%configure --with-spice-html5 +make + +%install +rm -rf %{buildroot} +make DESTDIR=3D%{buildroot} install + +%post +%if 0%{?with_systemd} + /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +%else + chkconfig kimchid on +%endif +exit 0 + + +%preun +%if 0%{?with_systemd} + /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : + /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : +%else + service kimchid stop +%endif +exit 0 + + +%postun +%if 0%{?with_systemd} + /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : +%endif +exit 0 + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%attr(-,root,root) +%{_bindir}/kimchid +%{python_sitelib}/kimchi/*.py* +%{python_sitelib}/kimchi/control/*.py* +%{python_sitelib}/kimchi/control/vm/*.py* +%{python_sitelib}/kimchi/model/*.py* +%{python_sitelib}/kimchi/xmlutils/*.py* +%{python_sitelib}/kimchi/API.json +%{python_sitelib}/kimchi/plugins/*.py* +%{python_sitelib}/kimchi/ +%{_datadir}/kimchi/doc/API.md +%{_datadir}/kimchi/doc/README.md +%{_datadir}/kimchi/doc/README-federation.md +%{_datadir}/kimchi/doc/kimchi-guest.png +%{_datadir}/kimchi/doc/kimchi-templates.png +%{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo +%{_datadir}/kimchi/config/ui/*.xml +%{_datadir}/kimchi/ui/ +%{_datadir}/kimchi +%{_sysconfdir}/nginx/conf.d/kimchi.conf.in +%{_sysconfdir}/nginx/conf.d/kimchi.conf +%{_sysconfdir}/kimchi/kimchi.conf +%{_sysconfdir}/kimchi/template.conf +%{_sysconfdir}/kimchi/distros.d/debian.json +%{_sysconfdir}/kimchi/distros.d/fedora.json +%{_sysconfdir}/kimchi/distros.d/opensuse.json +%{_sysconfdir}/kimchi/distros.d/ubuntu.json +%{_sysconfdir}/kimchi/distros.d/gentoo.json +%{_sysconfdir}/kimchi +%{_sysconfdir}/kimchi/ +%{_var}/lib/kimchi/debugreports/ +%{_var}/lib/kimchi/screenshots/ +%{_var}/lib/kimchi/vnc-tokens/ +%{_var}/lib/kimchi/isos/ +%{_var}/lib/kimchi/ +%{_localstatedir}/log/kimchi/* +%{_localstatedir}/log/kimchi/ +%{_mandir}/man8/kimchid.8.gz + +%if 0%{?with_systemd} +%{_unitdir}/kimchid.service +%else +%{_initrddir}/kimchid +%endif + + +%changelog +* Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 +- Add man page for kimchid + +* Tue Feb 11 2014 Cr=C3=ADstian Viana 1.1.0 +- Add help pages and XSLT dependency + +* Thu Jul 18 2013 Adam Litke 0.1.0-1 +- Adapted for autotools build +- Split Suse and Fedora spec files + +* Thu Apr 04 2013 Aline Manera 0.0-1 +- First build diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 0000000..2f686f1 --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,31 @@ +# +# 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-130= 1 USA + +docdir =3D $(datadir)/kimchi/doc + +dist_doc_DATA =3D \ + API.md \ + README.md \ + README-federation.md \ + kimchi-guest.png \ + kimchi-templates.png \ + kimchid.8 \ + $(NULL) + +CLEANFILES =3D kimchid.8 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/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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3Dconfig.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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3Dc99 CFLAGS=3D-g LIBS=3D-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3D"gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX=3D"g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64"= \ + CPP=3D"gcc -E" CXXCPP=3D"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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3DPREFIX', 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=3DPREFIX' 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=3DDIR' 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=3D/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=3D/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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3DPREFIX' or `--program-suffix=3DSUFFIX'. + + 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=3DDIR' and +`--x-libraries=3DDIR' 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=3D1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=3D0'. + +Particular systems +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3D"cc -Ae -D_XOPEN_SOURCE=3D500" + +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 `' 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=3D"cc" + +and if that doesn't work, try + + ./configure CC=3D"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=3D/boot/common + +Specifying the System Type +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D + + 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=3DTYPE' 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=3DTYPE' 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=3DTYPE'. + +Sharing Defaults +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + 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=3Dvalue'. For example: + + ./configure CC=3D/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=3D/bin/bash /bin/bash ./configure CONFIG_SHELL=3D/bin/ba= sh + +`configure' Invocation +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + `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=3Dshort' +`--help=3Drecursive' + 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=3DFILE' + 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=3Dconfig.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=3DDIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=3DDIR' + 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..0e6e59e --- /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-130= 1 USA +SUBDIRS =3D src ui docs contrib tests po config plugins + +man_MANS =3D docs/kimchid.8 + +AUTOMAKE_OPTIONS =3D foreign + +ACLOCAL_AMFLAGS =3D --install -I m4 + +EXTRA_DIST =3D \ + config.rpath \ + autogen.sh \ + COPYING.ASL2 \ + COPYING.LGPL \ + CONTRIBUTE.md \ + VERSION \ + build-aux/pkg-version \ + $(NULL) + + +PEP8_BLACKLIST =3D *src/kimchi/config.py,*src/kimchi/i18n.py,*tests/test_c= onfig.py + +SKIP_PYFLAKES_ERR =3D "\./src/kimchi/websocket\.py" + +I18N_FILES =3D plugins/*/i18n.py \ + src/kimchi/i18n.py \ + $(NULL) + +check-local: + PYTHONPATH=3Dsrc 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=3D"$(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=3Dmo/$$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)/$(systemdsyste= munitdir)/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,i= sos} + 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=3D0 > $@; \ + fi + +.PHONY: deb install-deb rpm fedora-rpm suse-rpm ChangeLog VERSION + + +clean-local: + rm -rf mo rpm + +CLEANFILES =3D kimchi.spec `find "$(top_srcdir)" -type f -name "*.pyc" -pr= int` 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 autocon= f, " + echo "automake, and other build dependencies are properly installed." + exit 1 +fi + +if [ "x$1" =3D=3D "x--system" ]; then + ./configure --prefix=3D/usr --sysconfdir=3D/etc --localstatedir=3D/var +else + if [ $# -gt 0 ]; then + ./configure $@ + else + ./configure --prefix=3D/usr/local + fi +fi diff --git a/plugins/kimchi/build-aux/config.rpath b/plugins/kimchi/build-a= ux/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 , 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 specificati= on, +# 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=3D"cc", the run time search patch must not be long= er +# 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=3Da +shrext=3D.so + +host=3D"$1" +host_cpu=3D`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=3D`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=3D`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=3D`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl=3D +if test "$GCC" =3D yes; then + wl=3D'-Wl,' +else + case "$host_os" in + aix*) + wl=3D'-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl=3D'-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl=3D'-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl=3D'-Wl,' + ;; + newsos6) + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + ecc*) + wl=3D'-Wl,' + ;; + icc* | ifort*) + wl=3D'-Wl,' + ;; + lf95*) + wl=3D'-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl=3D'-Wl,' + ;; + ccc*) + wl=3D'-Wl,' + ;; + como) + wl=3D'-lopt=3D' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl=3D'-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl=3D'-Wl,' + ;; + rdos*) + ;; + solaris*) + wl=3D'-Wl,' + ;; + sunos4*) + wl=3D'-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl=3D'-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl=3D'-Wl,' + ;; + unicos*) + wl=3D'-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec=3D +hardcode_libdir_separator=3D +hardcode_direct=3Dno +hardcode_minus_L=3Dno + +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" !=3D yes; then + with_gnu_ld=3Dno + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (=3D MSVC++) + with_gnu_ld=3Dyes + ;; + openbsd*) + with_gnu_ld=3Dno + ;; +esac + +ld_shlibs=3Dyes +if test "$with_gnu_ld" =3D 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=3D'${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" !=3D ia64; then + ld_shlibs=3Dno + fi + ;; + amigaos*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + # Samuel A. Falvo II 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=3Dno + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=3D'-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=3Dno + fi + ;; + interix[3-9]*) + hardcode_direct=3Dno + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=3Dno + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null= ; then + : + else + ld_shlibs=3Dno + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=3Dno + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/nu= ll; then + hardcode_libdir_flag_spec=3D'`test -z "$SCOABSPATH" && echo ${= wl}-rpath,$libdir`' + else + ld_shlibs=3Dno + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=3Dyes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + esac + if test "$ld_shlibs" =3D no; then + hardcode_libdir_flag_spec=3D + 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=3Dyes + if test "$GCC" =3D yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=3Dunsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" =3D ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=3Dno + else + aix_use_runtimelinking=3Dno + # 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 =3D "-brtl" || test $ld_flag =3D "-Wl,-brtl"= ); then + aix_use_runtimelinking=3Dyes + break + fi + done + ;; + esac + fi + hardcode_direct=3Dyes + hardcode_libdir_separator=3D':' + if test "$GCC" =3D yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=3D`${CC} -print-prog-name=3Dcollect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=3Dunsupported + hardcode_minus_L=3Dyes + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_libdir_separator=3D + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=3D`dump -H conftest 2>/dev/null | sed -n -e '/Import Fil= e Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=3D`dump -HX64 conftest 2>/dev/null | sed -n -e '/Impor= t File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath=3D"/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" =3D yes; then + hardcode_libdir_flag_spec=3D'${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" =3D ia64; then + hardcode_libdir_flag_spec=3D'${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec=3D'${wl}-blibpath:$libdir:'"$aix_libpa= th" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + # see comment about different semantics on the GNU ld section + ld_shlibs=3Dno + ;; + 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=3D' ' + libext=3Dlib + ;; + darwin* | rhapsody*) + hardcode_direct=3Dno + if test "$GCC" =3D yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=3Dno + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec=3D'-L$libdir' + ;; + freebsd1*) + ld_shlibs=3Dno + ;; + freebsd2.2*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + freebsd2*) + hardcode_direct=3Dyes + hardcode_minus_L=3Dyes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + hpux9*) + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + ;; + hpux10*) + if test "$with_gnu_ld" =3D no; then + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + fi + ;; + hpux11*) + if test "$with_gnu_ld" =3D no; then + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=3Dno + ;; + *) + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + netbsd*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + newsos6) + hardcode_direct=3Dyes + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=3Dyes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$ho= st_os-$host_cpu" =3D "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec=3D'-R$libdir' + ;; + *) + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=3Dno + fi + ;; + os2*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + ;; + osf3*) + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + osf4* | osf5*) + if test "$GCC" =3D yes; then + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec=3D'-rpath $libdir' + fi + hardcode_libdir_separator=3D: + ;; + solaris*) + hardcode_libdir_flag_spec=3D'-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_direct=3Dyes + hardcode_minus_L=3Dyes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=3Dyes # is this really true??? + ;; + siemens) + hardcode_direct=3Dno + ;; + motorola) + hardcode_direct=3Dno #Motorola manual says yes, but my tests say= they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=3Dyes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* |= sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec=3D'`test -z "$SCOABSPATH" && echo ${wl}-R,= $libdir`' + hardcode_libdir_separator=3D':' + ;; + uts4*) + hardcode_libdir_flag_spec=3D'-L$libdir' + ;; + *) + ld_shlibs=3Dno + ;; + 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=3D # the last element of library_names_spec in lib= tool.m4 +libname_spec=3D'lib$name' +case "$host_os" in + aix3*) + library_names_spec=3D'$libname.a' + ;; + aix[4-9]*) + library_names_spec=3D'$libname$shrext' + ;; + amigaos*) + library_names_spec=3D'$libname.a' + ;; + beos*) + library_names_spec=3D'$libname$shrext' + ;; + bsdi[45]*) + library_names_spec=3D'$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=3D.dll + library_names_spec=3D'$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=3D.dylib + library_names_spec=3D'$libname$shrext' + ;; + dgux*) + library_names_spec=3D'$libname$shrext' + ;; + freebsd1*) + ;; + freebsd* | dragonfly*) + case "$host_os" in + freebsd[123]*) + library_names_spec=3D'$libname$shrext$versuffix' ;; + *) + library_names_spec=3D'$libname$shrext' ;; + esac + ;; + gnu*) + library_names_spec=3D'$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=3D.so + ;; + hppa*64*) + shrext=3D.sl + ;; + *) + shrext=3D.sl + ;; + esac + library_names_spec=3D'$libname$shrext' + ;; + interix[3-9]*) + library_names_spec=3D'$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec=3D'$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff=3D shlibsuff=3D + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff=3D shlibsuf= f=3D ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=3D32 = shlibsuff=3DN32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=3D64 shlibsuf= f=3D64 ;; + *) libsuff=3D shlibsuff=3D ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu) + library_names_spec=3D'$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec=3D'$libname$shrext' + ;; + netbsd*) + library_names_spec=3D'$libname$shrext' + ;; + newsos6) + library_names_spec=3D'$libname$shrext' + ;; + nto-qnx*) + library_names_spec=3D'$libname$shrext' + ;; + openbsd*) + library_names_spec=3D'$libname$shrext$versuffix' + ;; + os2*) + libname_spec=3D'$name' + shrext=3D.dll + library_names_spec=3D'$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec=3D'$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec=3D'$libname$shrext' + ;; + sunos4*) + library_names_spec=3D'$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec=3D'$libname$shrext' + ;; + sysv4*MP*) + library_names_spec=3D'$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec=3D'$libname$shrext' + ;; + uts4*) + library_names_spec=3D'$libname$shrext' + ;; +esac + +sed_quote_subst=3D's/\(["`$\\]\)/\\\1/g' +escaped_wl=3D`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=3D`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=3D`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_q= uote_subst"` +escaped_library_names_spec=3D`echo "X$library_names_spec" | sed -e 's/^X//= ' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=3D`echo "X$hardcode_libdir_flag_spec" | = sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=3DC sed -e 's/^\([a-zA-Z0-9_]*\)=3D/acl_cv_\1=3D/' < 4.9.0 (upstream clean) +# - 4.9.0-1 =3D> 4.9.0 (downstream clean) +# - 4.9.0-2-g34e62f =3D> 4.9.0 (upstream dirty) +# - 4.9.0-1-2-g34e62f =3D> 4.9.0 (downstream dirty) +AWK_VERSION=3D' + BEGIN { FS=3D"-" } + /^[0-9]/ { + print $1 + }' + +# tags and output releases: +# - 4.9.0 =3D> 0 (upstream clean) +# - 4.9.0-1 =3D> 1 (downstream clean) +# - 4.9.0-2-g34e62f1 =3D> 2.git34e62f1 (upstream dirty) +# - 4.9.0-1-2-g34e62f1 =3D> 1.2.git34e62f1 (downstream dirty) +AWK_RELEASE=3D' + BEGIN { FS=3D"-"; OFS=3D"." } + /^[0-9]/ { + if (NF =3D=3D 1) print 0 + else if (NF =3D=3D 2) print $2 + else if (NF =3D=3D 3) print $2, "git" substr($3, 2) + else if (NF =3D=3D 4) print $2, $3, "git" substr($4, 2) + }' + +if [ ! -d .git ]; then + PKG_VERSION=3D`cat VERSION` +else + PKG_VERSION=3D`git describe --tags --match "[0-9]*" || cat VERSION` +fi + +if test "x$1" =3D "x--full"; then + echo $PKG_VERSION | tr -d '[:space:]' +elif test "x$1" =3D "x--version"; then + echo $PKG_VERSION | awk "$AWK_VERSION" | tr -cd '[:alnum:].' +elif test "x$1" =3D "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 , 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 specificati= on, +# 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=3D"cc", the run time search patch must not be long= er +# 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=3Da +shrext=3D.so + +host=3D"$1" +host_cpu=3D`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=3D`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=3D`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=3D`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl=3D +if test "$GCC" =3D yes; then + wl=3D'-Wl,' +else + case "$host_os" in + aix*) + wl=3D'-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl=3D'-Wl,' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl=3D'-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl=3D'-Wl,' + ;; + newsos6) + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + ecc*) + wl=3D'-Wl,' + ;; + icc* | ifort*) + wl=3D'-Wl,' + ;; + lf95*) + wl=3D'-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl=3D'-Wl,' + ;; + ccc*) + wl=3D'-Wl,' + ;; + como) + wl=3D'-lopt=3D' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl=3D'-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl=3D'-Wl,' + ;; + rdos*) + ;; + solaris*) + wl=3D'-Wl,' + ;; + sunos4*) + wl=3D'-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl=3D'-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl=3D'-Wl,' + ;; + unicos*) + wl=3D'-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec=3D +hardcode_libdir_separator=3D +hardcode_direct=3Dno +hardcode_minus_L=3Dno + +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" !=3D yes; then + with_gnu_ld=3Dno + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (=3D MSVC++) + with_gnu_ld=3Dyes + ;; + openbsd*) + with_gnu_ld=3Dno + ;; +esac + +ld_shlibs=3Dyes +if test "$with_gnu_ld" =3D 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=3D'${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" !=3D ia64; then + ld_shlibs=3Dno + fi + ;; + amigaos*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + # Samuel A. Falvo II 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=3Dno + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=3D'-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=3Dno + fi + ;; + interix[3-9]*) + hardcode_direct=3Dno + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + ;; + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=3Dno + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null= ; then + : + else + ld_shlibs=3Dno + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=3Dno + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/nu= ll; then + hardcode_libdir_flag_spec=3D'`test -z "$SCOABSPATH" && echo ${= wl}-rpath,$libdir`' + else + ld_shlibs=3Dno + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=3Dyes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; = then + : + else + ld_shlibs=3Dno + fi + ;; + esac + if test "$ld_shlibs" =3D no; then + hardcode_libdir_flag_spec=3D + 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=3Dyes + if test "$GCC" =3D yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=3Dunsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" =3D ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=3Dno + else + aix_use_runtimelinking=3Dno + # 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 =3D "-brtl" || test $ld_flag =3D "-Wl,-brtl"= ); then + aix_use_runtimelinking=3Dyes + break + fi + done + ;; + esac + fi + hardcode_direct=3Dyes + hardcode_libdir_separator=3D':' + if test "$GCC" =3D yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=3D`${CC} -print-prog-name=3Dcollect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=3Dunsupported + hardcode_minus_L=3Dyes + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_libdir_separator=3D + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=3D`dump -H conftest 2>/dev/null | sed -n -e '/Import Fil= e Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=3D`dump -HX64 conftest 2>/dev/null | sed -n -e '/Impor= t File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath=3D"/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" =3D yes; then + hardcode_libdir_flag_spec=3D'${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" =3D ia64; then + hardcode_libdir_flag_spec=3D'${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec=3D'${wl}-blibpath:$libdir:'"$aix_libpa= th" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + # see comment about different semantics on the GNU ld section + ld_shlibs=3Dno + ;; + 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=3D' ' + libext=3Dlib + ;; + darwin* | rhapsody*) + hardcode_direct=3Dno + if test "$GCC" =3D yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=3Dno + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec=3D'-L$libdir' + ;; + freebsd1*) + ld_shlibs=3Dno + ;; + freebsd2.2*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + freebsd2*) + hardcode_direct=3Dyes + hardcode_minus_L=3Dyes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + hpux9*) + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + ;; + hpux10*) + if test "$with_gnu_ld" =3D no; then + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + fi + ;; + hpux11*) + if test "$with_gnu_ld" =3D no; then + hardcode_libdir_flag_spec=3D'${wl}+b ${wl}$libdir' + hardcode_libdir_separator=3D: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=3Dno + ;; + *) + hardcode_direct=3Dyes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=3Dyes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + netbsd*) + hardcode_libdir_flag_spec=3D'-R$libdir' + hardcode_direct=3Dyes + ;; + newsos6) + hardcode_direct=3Dyes + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=3Dyes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$ho= st_os-$host_cpu" =3D "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec=3D'-R$libdir' + ;; + *) + hardcode_libdir_flag_spec=3D'${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=3Dno + fi + ;; + os2*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_minus_L=3Dyes + ;; + osf3*) + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=3D: + ;; + osf4* | osf5*) + if test "$GCC" =3D yes; then + hardcode_libdir_flag_spec=3D'${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec=3D'-rpath $libdir' + fi + hardcode_libdir_separator=3D: + ;; + solaris*) + hardcode_libdir_flag_spec=3D'-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec=3D'-L$libdir' + hardcode_direct=3Dyes + hardcode_minus_L=3Dyes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=3Dyes # is this really true??? + ;; + siemens) + hardcode_direct=3Dno + ;; + motorola) + hardcode_direct=3Dno #Motorola manual says yes, but my tests say= they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=3Dyes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* |= sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec=3D'`test -z "$SCOABSPATH" && echo ${wl}-R,= $libdir`' + hardcode_libdir_separator=3D':' + ;; + uts4*) + hardcode_libdir_flag_spec=3D'-L$libdir' + ;; + *) + ld_shlibs=3Dno + ;; + 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=3D # the last element of library_names_spec in lib= tool.m4 +libname_spec=3D'lib$name' +case "$host_os" in + aix3*) + library_names_spec=3D'$libname.a' + ;; + aix[4-9]*) + library_names_spec=3D'$libname$shrext' + ;; + amigaos*) + library_names_spec=3D'$libname.a' + ;; + beos*) + library_names_spec=3D'$libname$shrext' + ;; + bsdi[45]*) + library_names_spec=3D'$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=3D.dll + library_names_spec=3D'$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=3D.dylib + library_names_spec=3D'$libname$shrext' + ;; + dgux*) + library_names_spec=3D'$libname$shrext' + ;; + freebsd1*) + ;; + freebsd* | dragonfly*) + case "$host_os" in + freebsd[123]*) + library_names_spec=3D'$libname$shrext$versuffix' ;; + *) + library_names_spec=3D'$libname$shrext' ;; + esac + ;; + gnu*) + library_names_spec=3D'$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=3D.so + ;; + hppa*64*) + shrext=3D.sl + ;; + *) + shrext=3D.sl + ;; + esac + library_names_spec=3D'$libname$shrext' + ;; + interix[3-9]*) + library_names_spec=3D'$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec=3D'$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff=3D shlibsuff=3D + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff=3D shlibsuf= f=3D ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=3D32 = shlibsuff=3DN32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=3D64 shlibsuf= f=3D64 ;; + *) libsuff=3D shlibsuff=3D ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu) + library_names_spec=3D'$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec=3D'$libname$shrext' + ;; + netbsd*) + library_names_spec=3D'$libname$shrext' + ;; + newsos6) + library_names_spec=3D'$libname$shrext' + ;; + nto-qnx*) + library_names_spec=3D'$libname$shrext' + ;; + openbsd*) + library_names_spec=3D'$libname$shrext$versuffix' + ;; + os2*) + libname_spec=3D'$name' + shrext=3D.dll + library_names_spec=3D'$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec=3D'$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec=3D'$libname$shrext' + ;; + sunos4*) + library_names_spec=3D'$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec=3D'$libname$shrext' + ;; + sysv4*MP*) + library_names_spec=3D'$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec=3D'$libname$shrext' + ;; + uts4*) + library_names_spec=3D'$libname$shrext' + ;; +esac + +sed_quote_subst=3D's/\(["`$\\]\)/\\\1/g' +escaped_wl=3D`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=3D`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=3D`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_q= uote_subst"` +escaped_library_names_spec=3D`echo "X$library_names_spec" | sed -e 's/^X//= ' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=3D`echo "X$hardcode_libdir_flag_spec" | = sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=3DC sed -e 's/^\([a-zA-Z0-9_]*\)=3D/acl_cv_\1=3D/' <@] + )], + , + [enable_sample=3D"no"] +) + +if test "${enable_sample}" =3D "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=3DDIR], [Directory for sys= temd service files]), + [], [with_systemdsystemunitdir=3D$($PKG_CONFIG --variable=3Dsystemdsys= temunitdir systemd)]) +if test "x$with_systemdsystemunitdir" !=3D 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=3Dno@:>@])], + , + [with_spice_html5=3D"no"] +) +AM_CONDITIONAL([WITH_SPICE], [test "x$with_spice_html5" =3D 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/fontello/Makefile + ui/fontello/css/Makefile + ui/fontello/font/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/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-130= 1 USA + +import imp +import os +import re +import sys + + +# Match all conversion specifier with mapping key +PATTERN =3D 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 =3D re.compile(r"%\([^)]*?\)") + + +def load_i18n_module(i18nfile): + path =3D os.path.dirname(i18nfile) + mname =3D i18nfile.replace("/", "_").rstrip(".py") + mobj =3D 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 =3D 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 =3D "".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 =3D 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__ =3D=3D '__main__': + main() diff --git a/plugins/kimchi/m4/ac_python_module.m4 b/plugins/kimchi/m4/ac_p= ython_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 . +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)=3Dyes + else + AC_MSG_RESULT(no) + eval AS_TR_CPP(HAVE_PYMOD_$1)=3Dno + # + 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 , 1995-2000. +dnl Bruno Haible , 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 directo= ry. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or stat= ic, +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 d= on't +dnl support the ISO C 99 formatstring macros will be ignor= ed. +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] arg= ument 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" =3D "yes"; then + dnl if { eval "gt_val=3D\$$gt_func_gnugettext_libc"; test "$gt_va= l" !=3D "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 >=3D 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=3Dno + USE_INCLUDED_LIBINTL=3Dno + ]) + LIBINTL=3D + LTLIBINTL=3D + POSUB=3D + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3D3 ;; + *" need-ngettext "*) gt_api_version=3D2 ;; + *) gt_api_version=3D1 ;; + esac + gt_func_gnugettext_libc=3D"gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl=3D"gt_cv_func_gnugettext${gt_api_version}_lib= intl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" =3D "yes"; then + gt_use_preinstalled_gnugettext=3Dno + 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 he= re], + nls_cv_force_use_gnu_gettext=3D$withval, + nls_cv_force_use_gnu_gettext=3Dno) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext=3D"$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" !=3D "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=3D' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) =3D=3D 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >=3D 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code=3D + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=3D' + * ngettext ("", "", 0)' + else + gt_expression_test_code=3D + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_lib= c], + [AC_TRY_LINK([#include +$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_do= main_bindings], + [eval "$gt_func_gnugettext_libc=3Dyes"], + [eval "$gt_func_gnugettext_libc=3Dno"])]) + + if { eval "gt_val=3D\$$gt_func_gnugettext_libc"; test "$gt_val" != =3D "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for lib= iconv. + 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=3D"$CPPFLAGS" + CPPFLAGS=3D"$CPPFLAGS $INCINTL" + gt_save_LIBS=3D"$LIBS" + LIBS=3D"$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libi= conv. + AC_TRY_LINK([#include +$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_ex= pand_alias ("")], + [eval "$gt_func_gnugettext_libintl=3Dyes"], + [eval "$gt_func_gnugettext_libintl=3Dno"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=3D\$$gt_func_gnugettext_libintl"; test "$gt_= val" !=3D yes; } && test -n "$LIBICONV"; then + LIBS=3D"$LIBS $LIBICONV" + AC_TRY_LINK([#include +$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_ex= pand_alias ("")], + [LIBINTL=3D"$LIBINTL $LIBICONV" + LTLIBINTL=3D"$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=3Dyes" + ]) + fi + CPPFLAGS=3D"$gt_save_CPPFLAGS" + LIBS=3D"$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=3D\$$gt_func_gnugettext_libc"; test "$gt_val" = =3D "yes"; } \ + || { { eval "gt_val=3D\$$gt_func_gnugettext_libintl"; test "$gt= _val" =3D "yes"; } \ + && test "$PACKAGE" !=3D gettext-runtime \ + && test "$PACKAGE" !=3D gettext-tools; }; then + gt_use_preinstalled_gnugettext=3Dyes + else + dnl Reset the values set by searching for libintl. + LIBINTL=3D + LTLIBINTL=3D + INCINTL=3D + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" !=3D "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=3Dyes + fi + fi + + if test "$nls_cv_use_gnu_gettext" =3D "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=3Dyes + USE_INCLUDED_LIBINTL=3Dyes + LIBINTL=3D"ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt= _libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL=3D"ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]= gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=3D`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/= $//'` + fi + + CATOBJEXT=3D + if test "$gt_use_preinstalled_gnugettext" =3D "yes" \ + || test "$nls_cv_use_gnu_gettext" =3D "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=3D.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" =3D "yes" \ + || test "$nls_cv_use_gnu_gettext" =3D "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL=3D"$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL=3D"$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" =3D "yes" \ + || test "$nls_cv_use_gnu_gettext" =3D "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's nati= ve language + is requested.]) + else + USE_NLS=3Dno + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" =3D "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" =3D "yes"; then + if { eval "gt_val=3D\$$gt_func_gnugettext_libintl"; test "$gt_val" = =3D "yes"; }; then + gt_source=3D"external libintl" + else + gt_source=3D"libc" + fi + else + gt_source=3D"included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" =3D "yes"; then + + if test "$gt_use_preinstalled_gnugettext" =3D "yes"; then + if { eval "gt_val=3D\$$gt_func_gnugettext_libintl"; test "$gt_val" = =3D "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 preinst= alled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or prein= stalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=3Dpo + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBIN= TL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" =3D gettext-runtime || test "$PACKAGE" =3D gettext-= tools; then + BUILD_INCLUDED_LIBINTL=3Dyes + 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=3D + nls_cv_header_libgt=3D + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=3Dshare + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=3D.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=3Dgencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS=3D + if test "$USE_INCLUDED_LIBINTL" =3D yes; then + INTLOBJS=3D"\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=3Dgt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS=3D"$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=3D]) + 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=3D"$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=3D"$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv=3D"no, consider installing GNU libiconv" + am_cv_lib_iconv=3Dno + AC_TRY_LINK([#include +#include ], + [iconv_t cd =3D iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_func_iconv=3Dyes]) + if test "$am_cv_func_iconv" !=3D yes; then + am_save_LIBS=3D"$LIBS" + LIBS=3D"$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd =3D iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_lib_iconv=3Dyes] + [am_cv_func_iconv=3Dyes]) + LIBS=3D"$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" =3D 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=3D"$LIBS" + if test $am_cv_lib_iconv =3D yes; then + LIBS=3D"$LIBS $LIBICONV" + fi + AC_TRY_RUN([ +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from succe= ssful + returns. */ + { + iconv_t cd_utf8_to_88591 =3D iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 !=3D (iconv_t)(-1)) + { + static const char input[] =3D "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr =3D input; + size_t inbytesleft =3D strlen (input); + char *outptr =3D buf; + size_t outbytesleft =3D sizeof (buf); + size_t res =3D iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res =3D=3D 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 =3D iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 !=3D (iconv_t)(-1)) + { + static const char input[] =3D "\263"; + char buf[10]; + const char *inptr =3D input; + size_t inbytesleft =3D strlen (input); + char *outptr =3D buf; + size_t outbytesleft =3D sizeof (buf); + size_t res =3D iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res =3D=3D 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 =3D iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 !=3D (iconv_t)(-1)) + { + static const char input[] =3D "\304rger mit b\366sen B\374bchen oh= ne Augenma\337"; + char buf[50]; + const char *inptr =3D input; + size_t inbytesleft =3D strlen (input); + char *outptr =3D buf; + size_t outbytesleft =3D sizeof (buf); + size_t res =3D 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") =3D=3D (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") =3D=3D (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") =3D=3D (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") =3D=3D (iconv_t)(-1)) + return 1; + return 0; +}], [am_cv_func_iconv_works=3Dyes], [am_cv_func_iconv_works=3Dno], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works=3D"guessing no" ;; + *) am_cv_func_iconv_works=3D"guessing yes" ;; + esac]) + LIBS=3D"$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=3Dno am_cv_lib_iconv=3Dno ;; + *) am_func_iconv=3Dyes ;; + esac + else + am_func_iconv=3Dno am_cv_lib_iconv=3Dno + fi + if test "$am_func_iconv" =3D yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" =3D 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 $INCIC= ONV + dnl either. + CPPFLAGS=3D"$am_save_CPPFLAGS" + LIBICONV=3D + LTLIBICONV=3D + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >=3D 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 definitio= n. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expan= sions. +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" =3D yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outb= uf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], [am_cv_proto_iconv_arg1=3D""], [am_cv_proto_iconv_arg1=3D"const"]) + am_cv_proto_iconv=3D"extern size_t iconv (iconv_t cd, $am_cv_proto_i= conv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outby= tesleft);"]) + am_cv_proto_iconv=3D`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=3D"$LIBS" + LIBS=3D"$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=3Dyes], + [gt_cv_func_CFPreferencesCopyAppValue=3Dno]) + LIBS=3D"$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue =3D yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppVa= lue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurren= t], + [gt_save_LIBS=3D"$LIBS" + LIBS=3D"$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurr= ent();], + [gt_cv_func_CFLocaleCopyCurrent=3Dyes], + [gt_cv_func_CFLocaleCopyCurrent=3Dno]) + LIBS=3D"$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent =3D 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=3D + if test $gt_cv_func_CFPreferencesCopyAppValue =3D yes || test $gt_cv_fun= c_CFLocaleCopyCurrent =3D yes; then + INTL_MACOSX_LIBS=3D"-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 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH=3D"/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=3D';' + else + PATH_SEPARATOR=3D: + fi + rm -f conf$$.sh +fi +ac_prog=3Dld +if test "$GCC" =3D yes; then + # Check if gcc -print-prog-name=3Dld 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=3D`($CC -print-prog-name=3Dld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=3D`($CC -print-prog-name=3Dld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt=3D'/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=3D`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=3D`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD=3D"$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=3Dld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=3Dunknown + ;; + esac +elif test "$with_gnu_ld" =3D 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=3D"${IFS=3D }"; ac_save_ifs=3D"$IFS"; IFS=3D"${IFS}${PATH_SEPARATOR= -:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=3D. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext";= then + acl_cv_path_LD=3D"$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" !=3D no && break ;; + *) + test "$with_gnu_ld" !=3D yes && break ;; + esac + fi + done + IFS=3D"$ac_save_ifs" +else + acl_cv_path_LD=3D"$LD" # Let the user override the test with a path. +fi]) +LD=3D"$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 libna= me +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=3D"$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs=3D"$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags=3D"$INC[]NAME" + ac_cv_lib[]Name[]_prefix=3D"$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME=3D"$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME=3D"$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME=3D"$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX=3D"$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=3Dyes + 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-me= ssage +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=3Dyes and the LIB${NAM= E} +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}=3Dno and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libna= me +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=3D"$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS=3D"$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 aft= er + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS=3D"$LIBS $LIB[]NAME" ;; + *) LIBS=3D"$LIB[]NAME $LIBS" ;; + esac + AC_TRY_LINK([$3], [$4], + [ac_cv_lib[]Name=3Dyes], + [ac_cv_lib[]Name=3D'm4_if([$5], [], [no], [[$5]])']) + LIBS=3D"$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" =3D yes; then + HAVE_LIB[]NAME=3Dyes + 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=3Dno + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS=3D"$ac_save_CPPFLAGS" + LIB[]NAME=3D + LTLIB[]NAME=3D + LIB[]NAME[]_PREFIX=3D + 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 >=3D 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=3D"$CC" GCC=3D"$GCC" LDFLAGS=3D"$LDFLAGS" LD=3D"$LD" with_gnu_ld=3D= "$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.= sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=3Ddone + ]) + wl=3D"$acl_cv_wl" + acl_libext=3D"$acl_cv_libext" + acl_shlibext=3D"$acl_cv_shlibext" + acl_libname_spec=3D"$acl_cv_libname_spec" + acl_library_names_spec=3D"$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec=3D"$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator=3D"$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct=3D"$acl_cv_hardcode_direct" + acl_hardcode_minus_L=3D"$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=3Dyes) +]) + +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 sim= ilar +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 f= ound +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 >=3D 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=3Dyes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=3D\"$includedir\" + eval additional_libdir=3D\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=3DDIR] search for ]PACKLIBS[ in DIR/includ= e and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in included= ir and libdir]], +[ + if test "X$withval" =3D "Xno"; then + use_additional=3Dno + else + if test "X$withval" =3D "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=3D\"$includedir\" + eval additional_libdir=3D\"$libdir\" + ]) + else + additional_includedir=3D"$withval/include" + additional_libdir=3D"$withval/$acl_libdirstem" + if test "$acl_libdirstem2" !=3D "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir=3D"$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=3D + LTLIB[]NAME=3D + INC[]NAME=3D + LIB[]NAME[]_PREFIX=3D + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have b= een + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME=3D + rpathdirs=3D + ltrpathdirs=3D + names_already_handled=3D + names_next_round=3D'$1 $2' + while test -n "$names_next_round"; do + names_this_round=3D"$names_next_round" + names_next_round=3D + for name in $names_this_round; do + already_handled=3D + for n in $names_already_handled; do + if test "$n" =3D "$name"; then + already_handled=3Dyes + break + fi + done + if test -z "$already_handled"; then + names_already_handled=3D"$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=3D`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./= -|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=3D\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" =3D yes; then + eval value=3D\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$v= alue" + eval value=3D\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME=3D"${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 $LDFLA= GS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir=3D + found_la=3D + found_so=3D + found_a=3D + eval libname=3D\"$acl_libname_spec\" # typically: libname=3Dl= ib$name + if test -n "$acl_shlibext"; then + shrext=3D".$acl_shlibext" # typically: shrext=3D.so + else + shrext=3D + fi + if test $use_additional =3D yes; then + dir=3D"$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=3D"$dir" + found_so=3D"$dir/$libname$shrext" + else + if test "$acl_library_names_spec" =3D '$libname$shrext$ver= suffix'; then + ver=3D`(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=3D"$dir" + found_so=3D"$dir/$libname$shrext.$ver" + fi + else + eval library_names=3D\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir=3D"$dir" + found_so=3D"$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" =3D "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir=3D"$dir" + found_a=3D"$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" !=3D "X"; then + if test -f "$dir/$libname.la"; then + found_la=3D"$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" =3D "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + case "$x" in + -L*) + dir=3D`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=3D"$dir" + found_so=3D"$dir/$libname$shrext" + else + if test "$acl_library_names_spec" =3D '$libname$shre= xt$versuffix'; then + ver=3D`(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=3D"$dir" + found_so=3D"$dir/$libname$shrext.$ver" + fi + else + eval library_names=3D\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir=3D"$dir" + found_so=3D"$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" =3D "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir=3D"$dir" + found_a=3D"$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" !=3D "X"; then + if test -f "$dir/$libname.la"; then + found_la=3D"$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" !=3D "X"; then + break + fi + done + fi + if test "X$found_dir" !=3D "X"; then + dnl Found the library. + LTLIB[]NAME=3D"${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$= name" + if test "X$found_so" !=3D "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" =3D no \ + || test "X$found_dir" =3D "X/usr/$acl_libdirstem" \ + || test "X$found_dir" =3D "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the result= ing + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the = end. + haveit=3D + for x in $ltrpathdirs; do + if test "X$x" =3D "X$found_dir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs=3D"$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" =3D yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR in= to the + dnl resulting binary. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$ac= l_hardcode_minus_L" =3D no; then + dnl Use an explicit option to hardcode DIR into the re= sulting + dnl binary. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the = end. + haveit=3D + for x in $rpathdirs; do + if test "X$x" =3D "X$found_dir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + rpathdirs=3D"$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=3D + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-L$found_dir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" !=3D no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_s= o" + dnl here. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_R= UN_PATH + dnl here, because this doesn't fit in flags passed t= o the + dnl compiler. So give up. No hardcoding. This affect= s only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_s= o" + dnl here. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" !=3D "X"; then + dnl Linking with a static library. + LIB[]NAME=3D"${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=3D"${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$na= me" + fi + fi + dnl Assume the include files are nearby. + additional_includedir=3D + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=3D`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$ac= l_libdirstem/"'*$,,'` + if test "$name" =3D '$1'; then + LIB[]NAME[]_PREFIX=3D"$basedir" + fi + additional_includedir=3D"$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=3D`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$ac= l_libdirstem2/"'*$,,'` + if test "$name" =3D '$1'; then + LIB[]NAME[]_PREFIX=3D"$basedir" + fi + additional_includedir=3D"$basedir/include" + ;; + esac + if test "X$additional_includedir" !=3D "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" !=3D "X/usr/include"; then + haveit=3D + if test "X$additional_includedir" =3D "X/usr/local/include= "; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=3Dyes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-I$additional_includedir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME=3D"${INC[]NAME}${INC[]NAME:+ }-I$additiona= l_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, cur= rent, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir=3D"$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir=3D"$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=3D`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 o= n Linux, + dnl 3. if it's already present in $LDFLAGS or the al= ready + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" !=3D "X/usr/$acl_libdirs= tem" \ + && test "X$additional_libdir" !=3D "X/usr/$acl_libd= irstem2"; then + haveit=3D + if test "X$additional_libdir" =3D "X/usr/local/$acl_= libdirstem" \ + || test "X$additional_libdir" =3D "X/usr/local/$a= cl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=3Dyes;; + esac + fi + fi + if test -z "$haveit"; then + haveit=3D + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-L$additional_libdir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }-L$add= itional_libdir" + fi + fi + haveit=3D + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-L$additional_libdir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAM= E. + LTLIB[]NAME=3D"${LTLIB[]NAME}${LTLIB[]NAME:+ }= -L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=3D`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" !=3D no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at th= e end. + haveit=3D + for x in $rpathdirs; do + if test "X$x" =3D "X$dir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + rpathdirs=3D"$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME a= t the end. + haveit=3D + for x in $ltrpathdirs; do + if test "X$x" =3D "X$dir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs=3D"$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round=3D"$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=3D"$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=3D"${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME=3D"${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system direct= ories + 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 misconfig= ured.) + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME=3D"${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" !=3D "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=3D + for found_dir in $rpathdirs; do + alldirs=3D"${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$fo= und_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir=3D"$libdir" + libdir=3D"$alldirs" + eval flag=3D\"$acl_hardcode_libdir_flag_spec\" + libdir=3D"$acl_save_libdir" + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir=3D"$libdir" + libdir=3D"$found_dir" + eval flag=3D\"$acl_hardcode_libdir_flag_spec\" + libdir=3D"$acl_save_libdir" + LIB[]NAME=3D"${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" !=3D "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=3D"${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=3D + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X$element"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + [$1]=3D"${[$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=3D + if test "$enable_rpath" !=3D no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_min= us_L" =3D no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs=3D + next=3D + for opt in $2; do + if test -n "$next"; then + dir=3D"$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" !=3D "X/usr/$acl_libdirstem" \ + && test "X$dir" !=3D "X/usr/$acl_libdirstem2"; then + rpathdirs=3D"$rpathdirs $dir" + fi + next=3D + else + case $opt in + -L) next=3Dyes ;; + -L*) dir=3D`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" !=3D "X/usr/$acl_libdirstem" \ + && test "X$dir" !=3D "X/usr/$acl_libdirstem2"; then + rpathdirs=3D"$rpathdirs $dir" + fi + next=3D ;; + *) next=3D ;; + esac + fi + done + if test "X$rpathdirs" !=3D "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1=3D"${$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 us= er + dnl must pass all path elements in one option. + alldirs=3D + for dir in $rpathdirs; do + alldirs=3D"${alldirs}${alldirs:+$acl_hardcode_libdir_separat= or}$dir" + done + acl_save_libdir=3D"$libdir" + libdir=3D"$alldirs" + eval flag=3D\"$acl_hardcode_libdir_flag_spec\" + libdir=3D"$acl_save_libdir" + $1=3D"$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir=3D"$libdir" + libdir=3D"$dir" + eval flag=3D\"$acl_hardcode_libdir_flag_spec\" + libdir=3D"$acl_save_libdir" + $1=3D"${$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 need= ed +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=3Dyes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=3D\"$includedir\" + eval additional_libdir=3D\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=3DDIR] search for libraries in DIR/include and DIR/l= ib + --without-lib-prefix don't search for libraries in includedir and lib= dir], +[ + if test "X$withval" =3D "Xno"; then + use_additional=3Dno + else + if test "X$withval" =3D "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=3D\"$includedir\" + eval additional_libdir=3D\"$libdir\" + ]) + else + additional_includedir=3D"$withval/include" + additional_libdir=3D"$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional =3D 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" !=3D "X/usr/include"; then + haveit=3D + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-I$additional_includedir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" =3D "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=3Dyes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS=3D"${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" !=3D "X/usr/$acl_libdirstem"; then + haveit=3D + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=3D\"$x\"]) + if test "X$x" =3D "X-L$additional_libdir"; then + haveit=3Dyes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" =3D "X/usr/local/$acl_libdirstem"; t= hen + if test -n "$GCC"; then + case $host_os in + linux*) haveit=3Dyes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS=3D"${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" =3D "XNONE"; then + acl_final_prefix=3D"$ac_default_prefix" + else + acl_final_prefix=3D"$prefix" + fi + if test "X$exec_prefix" =3D "XNONE"; then + acl_final_exec_prefix=3D'${prefix}' + else + acl_final_exec_prefix=3D"$exec_prefix" + fi + acl_save_prefix=3D"$prefix" + prefix=3D"$acl_final_prefix" + eval acl_final_exec_prefix=3D\"$acl_final_exec_prefix\" + prefix=3D"$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=3D"$prefix" + prefix=3D"$acl_final_prefix" + acl_save_exec_prefix=3D"$exec_prefix" + exec_prefix=3D"$acl_final_exec_prefix" + $1 + exec_prefix=3D"$acl_save_exec_prefix" + prefix=3D"$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, ei= ther +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 sea= rch + 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 support= ing + 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=3Dlib + acl_libdirstem2=3D + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit De= veloper's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories usin= g 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=3Dyes], [gl_cv_solaris_64bit=3Dno]) + ]) + if test $gl_cv_solaris_64bit =3D yes; then + acl_libdirstem=3Dlib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=3Dlib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=3Dlib/amd64 ;; + esac + fi + ;; + *) + searchpath=3D`(LC_ALL=3DC $CC -print-search-dirs) 2>/dev/null | sed = -n -e 's,^libraries: ,,p' | sed -e 's,^=3D,,'` + if test -n "$searchpath"; then + acl_save_IFS=3D"${IFS=3D }"; IFS=3D":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=3Dlib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are mislead= ing. + ;; + *) searchdir=3D`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=3Dlib64 ;; + esac ;; + esac + fi + done + IFS=3D"$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2=3D"$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 , 1995-2000. +dnl Bruno Haible , 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=3D$enableval, USE_NLS=3Dyes) + 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 , 1995-2000. +dnl Bruno Haible , 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 us= age >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >=3D 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=3D: ;; + *) MSGFMT_015=3D$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=3D: ;; + *) GMSGFMT_015=3D$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 vers= ions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder=3D --msgid-bugs-add= ress=3D /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder=3D --msgid-bugs= -address=3D /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 >=3D 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=3D: ;; + *) XGETTEXT_015=3D$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 >=3D 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=3D'${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=3D + 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=3D`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=3D`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=3D"/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=3D`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=3D"$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=3D`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir=3D"$ac_given_srcdir" ;; + *) top_srcdir=3D"$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=3D"POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES de= pend + # 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 con= figure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obso= lete" + fi + ALL_LINGUAS_=3D`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/= $ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=3D$ALL_LINGUAS_' + POMAKEFILEDEPS=3D"$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''=3D$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=3D ;; + *) srcdirpre=3D'$(srcdir)/' ;; + esac + POFILES=3D + UPDATEPOFILES=3D + DUMMYPOFILES=3D + GMOFILES=3D + for lang in $ALL_LINGUAS; do + POFILES=3D"$POFILES $srcdirpre$lang.po" + UPDATEPOFILES=3D"$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES=3D"$DUMMYPOFILES $lang.nop" + GMOFILES=3D"$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS=3D + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=3Dno + if test "%UNSET%" !=3D "$LINGUAS"; then + desiredlanguages=3D"$LINGUAS" + else + desiredlanguages=3D"$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=3Dyes;; + esac + done + if test $useit =3D yes; then + INST_LINGUAS=3D"$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS=3D + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS=3D"$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || = echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =3D/r $ac_dir/POTFILES" -e "/^# Makevars/r $a= c_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEP= OFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOF= ILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$PO= MAKEFILEDEPS|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 comp= ute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''=3D"$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS=3D"${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 be= en + # 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=3D`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=3D"/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=3D`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=3D"$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=3D`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir=3D"$ac_given_srcdir" ;; + *) top_srcdir=3D"$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" =3D 'X\t'; then + gt_echo=3D'echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" =3D 'X\t'; then + gt_echo=3D'printf %s\n' + else + echo_func () { + cat < "$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=3D`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNO= PQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=3D`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" <> "$ac_file.tmp" <, 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}" !=3D set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH=3D"/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=3D';' + else + PATH_SEPARATOR=3D: + 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 executabili= ty. +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=3D"test -x" +else + ac_executable_p=3D"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=3D[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1=3D"[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS=3D"$IFS"; IFS=3D$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS=3D"$ac_save_IFS" + test -z "$ac_dir" && ac_dir=3D. + 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=3D"$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS=3D"$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=3D"$4" +])dnl + ;; +esac])dnl +$1=3D"$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" !=3D "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..3fcb18f --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,11 @@ +en_US +pt_BR +zh_CN +de_DE +es_ES +fr_FR +it_IT +ja_JP +ko_KR +ru_RU +zh_TW diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..d01fb31 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,398 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. +# +# Origin: gettext-0.18 +GETTEXT_MACRO_VERSION =3D 0.18 + +PACKAGE =3D @PACKAGE@ +VERSION =3D @VERSION@ +PACKAGE_BUGREPORT =3D @PACKAGE_BUGREPORT@ + +SHELL =3D /bin/sh +(a)SET_MAKE@ + +srcdir =3D @srcdir@ +top_srcdir =3D @top_srcdir@ +VPATH =3D @srcdir@ + +prefix =3D @prefix@ +exec_prefix =3D @exec_prefix@ +datarootdir =3D @datarootdir@ +datadir =3D @datadir@ +localedir =3D @prefix@/share/locale +gettextsrcdir =3D $(datadir)/gettext/po + +INSTALL =3D @INSTALL@ +INSTALL_DATA =3D @INSTALL_DATA@ + +# We use $(MKDIR_P). +# This macro uses the 'mkdir -p' command if possible. Otherwise, it falls = back +# on invoking install-sh with the -d option, so your package should contain +# install-sh as described under AC_PROG_INSTALL. +mkinstalldirs =3D $(SHELL) @install_sh@ -d +install_sh =3D $(SHELL) @install_sh@ +MKDIR_P =3D @MKDIR_P@ +MKDIR_P =3D @MKDIR_P@ + +GMSGFMT_ =3D @GMSGFMT@ +GMSGFMT_no =3D @GMSGFMT@ +GMSGFMT_yes =3D @GMSGFMT_015@ +GMSGFMT =3D $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ =3D @MSGFMT@ +MSGFMT_no =3D @MSGFMT@ +MSGFMT_yes =3D @MSGFMT_015@ +MSGFMT =3D $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ =3D @XGETTEXT@ +XGETTEXT_no =3D @XGETTEXT@ +XGETTEXT_yes =3D @XGETTEXT_015@ +XGETTEXT =3D $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE =3D msgmerge +MSGMERGE_UPDATE =3D @MSGMERGE@ --update +MSGINIT =3D msginit +MSGCONV =3D msgconv +MSGFILTER =3D msgfilter + +POFILES =3D @POFILES@ +GMOFILES =3D @GMOFILES@ +UPDATEPOFILES =3D @UPDATEPOFILES@ +DUMMYPOFILES =3D @DUMMYPOFILES@ +DISTFILES.common =3D Makefile.in.in \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.e= xtra3) +DISTFILES =3D $(DISTFILES.common) Makevars POTFILES.in gen-pot.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES =3D \ + +CATALOGS =3D @CATALOGS@ + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=3D`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" =3D . && cdcmd=3D"" || cdcmd=3D"cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose= -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbos= e -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: check-macro-version update-gmo all-(a)USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +check-macro-version: + @test "$(GETTEXT_MACRO_VERSION)" =3D "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile= .in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macro= s are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds= no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (becau= se +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be neces= sary +# if updating the $(CATALOGS) would always touch them; however, the rule f= or +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in + $(srcdir)/gen-pot $(POTFILES) + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=3D`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" =3D . && cdcmd=3D"" || cdcmd=3D"cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=3D$${lang}= $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*= ,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN)= .pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=3D$${lang} $${= lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-(a)USE_NLS@ + if test "$(PACKAGE)" =3D "gettext-tools"; then \ + $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @catalogs=3D'$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=3D`basename $$cat`; \ + lang=3D`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=3D$(localedir)/$$lang/LC_MESSAGES; \ + $(MKDIR_P) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=3D$$cat; else realcat=3D$(srcdir)/$$cat;= fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=3DC ls -l -d $$lc 2>= /dev/null) | grep ' -> ' >/dev/null; then \ + link=3D`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=3DC ls -l -d $= $lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$la= ng/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$= file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$l= c/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR= )$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DEST= DIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$= lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-(a)USE_NLS@ + if test "$(PACKAGE)" =3D "gettext-tools"; then \ + $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + @catalogs=3D'$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=3D`basename $$cat`; \ + lang=3D`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=3D$(localedir)/$$lang/LC_MESSAGES; \ + $(MKDIR_P) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=3DC ls -l -d $$lc 2>= /dev/null) | grep ' -> ' >/dev/null; then \ + link=3D`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=3DC ls -l -d $= $lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$la= ng/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$= file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-(a)USE_NLS@ + if test "$(PACKAGE)" =3D "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs=3D'$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=3D`basename $$cat`; \ + lang=3D`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir =3D $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + $(MAKE) update-po + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists=3D"$(DISTFILES)"; \ + if test "$(PACKAGE)" =3D "gettext-tools"; then \ + dists=3D"$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists=3D"$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists=3D"$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists=3D"$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists=3D"$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=3D`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can cre= ate it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=3D`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" =3D "gettext-tools"; then PATH=3D`pwd`/../src:$$PATH= ; fi; \ + tmpdir=3D`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" =3D . && cdcmd=3D"" || cdcmd=3D"cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=3D$$lang $$lang.po = $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang= .po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=3D$$lang -o $$tmpdir/$$la= ng.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.ne= w.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file syste= m. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFIL= EDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..c29a807 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN =3D kimchi + +# These two variables depend on the location of this directory. +subdir =3D po +top_builddir =3D .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS =3D --keyword=3D_ --keyword=3DN_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER =3D + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS =3D project-kimchi(a)googlegroups.com + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES =3D diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..57bc711 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,4 @@ +# List of source files which contain translatable strings. +src/kimchi/i18n.py +ui/pages/*.tmpl +ui/pages/tabs/*.tmpl diff --git a/po/gen-pot.in b/po/gen-pot.in new file mode 100644 index 0000000..0e3cd10 --- /dev/null +++ b/po/gen-pot.in @@ -0,0 +1,9 @@ +#!/bin/bash + +for src in $@; do + if [ ${src: -3} =3D=3D ".py" ]; then + cat $src + else + cat $src | @CHEETAH@ compile - + fi +done | xgettext --no-location -o kimchi.pot -L Python - diff --git a/po/wok.pot b/po/wok.pot new file mode 100755 index 0000000..81fac83 --- /dev/null +++ b/po/wok.pot @@ -0,0 +1,2162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-06-24 09:39-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=3DCHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#, python-format +msgid "Unknown parameter %(value)s" +msgstr "" + +#, python-format +msgid "Delete is not allowed for %(resource)s" +msgstr "" + +#, python-format +msgid "%(resource)s does not implement update method" +msgstr "" + +#, python-format +msgid "Create is not allowed for %(resource)s" +msgstr "" + +msgid "Unable to parse JSON request" +msgstr "" + +msgid "This API only supports JSON" +msgstr "" + +#, python-format +msgid "Parameters does not match requirement in schema: %(err)s" +msgstr "" + +msgid "You don't have permission to perform this operation." +msgstr "" + +msgid "Datastore is not initiated in the model object." +msgstr "" + +#, python-format +msgid "Unable to start task due error: %(err)s" +msgstr "" + +#, python-format +msgid "Timeout of %(seconds)s seconds expired while running task '%(task)s= ." +msgstr "" + +#, python-format +msgid "Authentication failed for user '%(username)s'. [Error code: %(code)= s]" +msgstr "" + +msgid "You are not authorized to access Kimchi" +msgstr "" + +#, python-format +msgid "Specify %(item)s to login into Kimchi" +msgstr "" + +#, python-format +msgid "User %(user_id)s not found with given LDAP settings." +msgstr "" + +#, python-format +msgid "Invalid LDAP configuration: %(item)s : %(value)s" +msgstr "" + +msgid "Unknown \"_cap\" specified" +msgstr "" + +msgid "\"_passthrough\" should be \"true\" or \"false\"" +msgstr "" + +msgid "\"_passthrough_affected_by\" should be a device name string" +msgstr "" + +#, python-format +msgid "Error while getting block devices. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Error while getting block device information for %(device)s." +msgstr "" + +#, python-format +msgid "Unable to find distro file: %(filename)s" +msgstr "" + +#, python-format +msgid "" +"Unable to parse distro file: %(filename)s. Make sure, it is a JSON file." +msgstr "" + +#, python-format +msgid "Unable to login to iSCSI host target %(portal)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to login to iSCSI host %(host)s target %(target)s" +msgstr "" + +#, python-format +msgid "Unable to find ISO file %(filename)s" +msgstr "" + +#, python-format +msgid "The ISO file %(filename)s is not bootable" +msgstr "" + +#, python-format +msgid "The ISO file %(filename)s does not have a valid El Torito boot reco= rd" +msgstr "" + +#, python-format +msgid "Invalid El Torito validation entry in ISO %(filename)s" +msgstr "" + +#, python-format +msgid "Invalid El Torito boot indicator in ISO %(filename)s" +msgstr "" + +#, python-format +msgid "Unexpected volume type for primary volume in ISO %(filename)s" +msgstr "" + +#, python-format +msgid "Bad format while reading volume descriptor in ISO %(filename)s" +msgstr "" + +#, python-format +msgid "" +"The hypervisor doesn't have permission to use this ISO %(filename)s. " +"Consider moving it under /var/lib/libvirt, or set the search permission = to " +"file access control lists for '%(user)s' user if possible, or add the " +"'%(user)s' to the ISO path group, or (not recommended) 'chmod -R o+x " +"'path_to_iso'.Details: %(err)s" +msgstr "" + +msgid "An error occurred when probing image OS information." +msgstr "" + +msgid "No OS information found in given image." +msgstr "" + +#, python-format +msgid "Unable to read image file %(filename)s" +msgstr "" + +#, python-format +msgid "" +"Image file must be an existing file on system. %(filename)s is not a vali= d " +"input." +msgstr "" + +#, python-format +msgid "Virtual machine %(name)s already exists" +msgstr "" + +#, python-format +msgid "Virtual machine %(name)s does not exist" +msgstr "" + +#, python-format +msgid "" +"Unable to rename virtual machine %(name)s. The name %(new_name)s is alrea= dy " +"in use or the virtual machine is not powered off." +msgstr "" + +#, python-format +msgid "Unable to retrieve screenshot for stopped virtual machine %(name)s" +msgstr "" + +msgid "Remote ISO image is not supported by this server." +msgstr "" + +#, python-format +msgid "Screenshot is not supported on virtual machine %(name)s" +msgstr "" + +#, python-format +msgid "Unable to create virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to update virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to retrieve virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to connect to powered off virtual machine %(name)s." +msgstr "" + +msgid "Virtual machine name must be a string without slashes (/)" +msgstr "" + +#, python-format +msgid "Invalid template URI %(value)s specified for virtual machine" +msgstr "" + +#, python-format +msgid "Invalid storage pool URI %(value)s specified for virtual machine" +msgstr "" + +msgid "Supported virtual machine graphics are Spice or VNC" +msgstr "" + +msgid "Graphics address to listen on must be IPv4 or IPv6" +msgstr "" + +msgid "Specify a template to create a virtual machine from" +msgstr "" + +#, python-format +msgid "Unable to start virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to power off virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to delete virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to reset virtual machine %(name)s. Details: %(err)s" +msgstr "" + +msgid "User name list must be an array" +msgstr "" + +msgid "User name must be a string" +msgstr "" + +msgid "Group name list must be an array" +msgstr "" + +msgid "Group name must be a string" +msgstr "" + +#, python-format +msgid "User(s) '%(users)s' do not exist" +msgstr "" + +#, python-format +msgid "Group(s) '%(groups)s' do not exist" +msgstr "" + +#, python-format +msgid "Unable to shutdown virtual machine %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to get access metadata of virtual machine %(name)s. Details: %(err= )s" +msgstr "" + +msgid "The guest console password must be a string." +msgstr "" + +msgid "The life time for the guest console password must be a number." +msgstr "" + +#, python-format +msgid "Virtual machine '%(name)s' must be stopped before cloning it." +msgstr "" + +#, python-format +msgid "Insufficient disk space to clone virtual machine '%(name)s'" +msgstr "" + +#, python-format +msgid "Unable to clone VM '%(name)s'. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Invalid operation for non-persistent virtual machine %(name)s" +msgstr "" + +#, python-format +msgid "Cannot suspend VM '%(name)s' because it is not running." +msgstr "" + +#, python-format +msgid "Unable to suspend VM '%(name)s'. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Cannot resume VM '%(name)s' because it is not paused." +msgstr "" + +#, python-format +msgid "Unable to resume VM '%(name)s'. Details: %(err)s" +msgstr "" + +msgid "Memory assigned is higher then the maximum allowed in the host." +msgstr "" + +#, python-format +msgid "" +"VM '%(name)s' does not support live memory update. Update the memory with= " +"the machine offline to enable this feature." +msgstr "" + +msgid "Only increase memory is allowed in active VMs" +msgstr "" + +msgid "" +"For live memory update, new memory value must be equal old memory value p= lus " +"multiples of 1024 Mib" +msgstr "" + +msgid "There are not enough free slots of 1024 Mib in the guest." +msgstr "" + +msgid "" +"Host's libvirt version does not support memory devices. Libvirt must be >= =3D " +"1.2.14" +msgstr "" + +#, python-format +msgid "Error attaching memory device. Details: %(error)s" +msgstr "" + +#, python-format +msgid "" +"VM %(vmid)s does not contain directly assigned host device %(dev_name)s." +msgstr "" + +#, python-format +msgid "The host device %(dev_name)s is not allowed to directly assign to V= M." +msgstr "" + +msgid "" +"No IOMMU groups found. Host PCI pass through needs IOMMU group to functio= n " +"correctly. Please enable Intel VT-d or AMD IOMMU in your BIOS, then verif= y " +"the Kernel is compiled with IOMMU support. For Intel CPU, add intel_iommu= =3Don " +"to your Kernel parameter in /boot/grub2/grub.conf. For AMD CPU, add iommu= =3Dpt " +"iommu=3D1." +msgstr "" + +msgid "\"name\" should be a device name string" +msgstr "" + +#, python-format +msgid "" +"The device %(name)s is probably in use by the host. Unable to attach it t= o " +"the guest." +msgstr "" + +#, python-format +msgid "Interface %(iface)s does not exist in virtual machine %(name)s" +msgstr "" + +#, python-format +msgid "" +"Network %(network)s specified for virtual machine %(name)s does not exist" +msgstr "" + +msgid "Supported virtual machine interfaces type is only network" +msgstr "" + +msgid "Network name for virtual machine interface must be a string" +msgstr "" + +msgid "Invalid network model card specified for virtual machine interface" +msgstr "" + +msgid "Specify type and network to add a new virtual machine interface" +msgstr "" + +msgid "MAC Address must respect this format FF:FF:FF:FF:FF:FF" +msgstr "" + +#, python-format +msgid "MAC Address %(mac)s already exists in virtual machine %(name)s" +msgstr "" + +msgid "Invalid MAC Address" +msgstr "" + +msgid "Cannot change MAC address of a running virtual machine" +msgstr "" + +#, python-format +msgid "Template %(name)s already exists" +msgstr "" + +#, python-format +msgid "" +"Network '%(network)s' specified for template %(template)s does not exist" +msgstr "" + +#, python-format +msgid "" +"Storage pool %(pool)s specified for template %(template)s does not exist" +msgstr "" + +#, python-format +msgid "Storage pool %(pool)s specified for template %(template)s is not ac= tive" +msgstr "" + +#, python-format +msgid "Invalid parameter '%(param)s' specified for CDROM." +msgstr "" + +#, python-format +msgid "Network %(network)s specified for template %(template)s is not acti= ve" +msgstr "" + +msgid "Template name must be a string" +msgstr "" + +msgid "Template icon must be a path to the image" +msgstr "" + +msgid "Template distribution must be a string" +msgstr "" + +msgid "Template distribution version must be a string" +msgstr "" + +msgid "The number of CPUs must be an integer greater than 0" +msgstr "" + +msgid "Amount of memory (MB) must be an integer greater than 512" +msgstr "" + +msgid "Template CDROM must be a local or remote ISO file" +msgstr "" + +#, python-format +msgid "Invalid storage pool URI %(value)s specified for template" +msgstr "" + +msgid "Specify an ISO image as CDROM or a base image to create a template" +msgstr "" + +msgid "All networks for the template must be specified in a list." +msgstr "" + +msgid "Specify a volume to a template when storage pool is iSCSI or SCSI" +msgstr "" + +#, python-format +msgid "The volume %(volume)s is not in storage pool %(pool)s" +msgstr "" + +#, python-format +msgid "Unable to create template due error: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to delete template due error: %(err)s" +msgstr "" + +msgid "Disk size must be an integer greater than 1GB." +msgstr "" + +msgid "Template base image must be a valid local image file" +msgstr "" + +#, python-format +msgid "Cannot identify base image %(path)s format" +msgstr "" + +msgid "" +"When specifying CPU topology, VCPUs must be a product of sockets, cores, = and " +"threads." +msgstr "" + +msgid "" +"When specifying CPU topology, each element must be an integer greater tha= n " +"zero." +msgstr "" + +msgid "" +"Invalid disk image format. Valid formats: bochs, cloop, cow, dmg, qcow, " +"qcow2, qed, raw, vmdk, vpc." +msgstr "" + +#, python-format +msgid "Storage pool %(name)s already exists" +msgstr "" + +#, python-format +msgid "Storage pool %(name)s does not exist" +msgstr "" + +#, python-format +msgid "Specify %(item)s in order to create the storage pool %(name)s" +msgstr "" + +#, python-format +msgid "Unable to delete active storage pool %(name)s" +msgstr "" + +#, python-format +msgid "Unable to list storage pools. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to create storage pool %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to get number of storage volumes in storage pool %(name)s. Details= : " +"%(err)s" +msgstr "" + +#, python-format +msgid "Unable to activate storage pool %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to deactivate storage pool %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to delete storage pool %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to create NFS Pool as export path %(path)s may block during mount" +msgstr "" + +#, python-format +msgid "Unable to create NFS Pool as export path %(path)s mount failed" +msgstr "" + +#, python-format +msgid "Unsupported storage pool type: %(type)s" +msgstr "" + +#, python-format +msgid "Error while retrieving storage pool XML to %(pool)s" +msgstr "" + +msgid "Storage pool name must be a string without slashes (/)" +msgstr "" + +msgid "" +"Supported storage pool types are dir, netfs, logical, iscsi, isci and kim= chi-" +"iso" +msgstr "" + +msgid "Storage pool path must be a string" +msgstr "" + +msgid "Storage pool host must be a IP or hostname" +msgstr "" + +msgid "Storage pool device must be the absolute path to the block device" +msgstr "" + +msgid "Storage pool devices parameter must be a list" +msgstr "" + +msgid "Target IQN of an iSCSI pool must be a string" +msgstr "" + +msgid "Port of a remote storage server must be an integer between 1 and 65= 535" +msgstr "" + +msgid "iSCSI target username must be a string" +msgstr "" + +msgid "iSCSI target password must be a string" +msgstr "" + +msgid "Specify name and type to create a storage pool" +msgstr "" + +#, python-format +msgid "" +"%(disk)s is not a valid disk/partition. Could not add it to the pool " +"%(pool)s." +msgstr "" + +#, python-format +msgid "Unable to extend logical pool %(pool)s. Details: %(err)s" +msgstr "" + +msgid "The parameter disks only can be updated for logical storage pool." +msgstr "" + +msgid "The SCSI host adapter name must be a string." +msgstr "" + +msgid "The storage pool kimchi_isos is reserved for internal use" +msgstr "" + +#, python-format +msgid "" +"Unable to activate NFS storage pool %(name)s. NFS server %(server)s is " +"unreachable." +msgstr "" + +#, python-format +msgid "" +"Unable to deactivate NFS storage pool %(name)s. NFS server %(server)s is " +"unreachable." +msgstr "" + +#, python-format +msgid "" +"Unable to deactivate pool %(name)s as it is associated with some template= s" +msgstr "" + +#, python-format +msgid "Unable to delete pool %(name)s as it is associated with some templa= tes" +msgstr "" + +#, python-format +msgid "" +"A volume group named '%(name)s' already exists. Please, choose another na= me " +"to create the logical pool." +msgstr "" + +#, python-format +msgid "Unable to update database with deep scan information due error: %(e= rr)s" +msgstr "" + +#, python-format +msgid "Storage volume %(name)s already exists" +msgstr "" + +#, python-format +msgid "Storage volume %(name)s does not exist in storage pool %(pool)s" +msgstr "" + +#, python-format +msgid "" +"Unable to create storage volume %(volume)s because storage pool %(pool)s = is " +"not active" +msgstr "" + +#, python-format +msgid "Specify %(item)s in order to create storage volume %(volume)s" +msgstr "" + +#, python-format +msgid "" +"Unable to list storage volumes because storage pool %(pool)s is not activ= e" +msgstr "" + +#, python-format +msgid "" +"Unable to create storage volume %(name)s in storage pool %(pool)s. Detail= s: " +"%(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to list storage volumes in storage pool %(pool)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to wipe storage volumes %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to delete storage volume %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to resize storage volume %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Storage type %(type)s does not support volume create and delete" +msgstr "" + +msgid "Storage volume name must be a string" +msgstr "" + +msgid "Storage volume allocation must be an integer number" +msgstr "" + +msgid "" +"Storage volume format not supported. Valid formats: bochs, cloop, cow, dm= g, " +"qcow, qcow2, qed, raw, vmdk, vpc." +msgstr "" + +msgid "Storage volume requires a volume name" +msgstr "" + +#, python-format +msgid "" +"Unable to update database with storage volume information due error: %(er= r)s" +msgstr "" + +#, python-format +msgid "Only one of parameter %(param)s can be specified" +msgstr "" + +#, python-format +msgid "Create volume from %(param)s is not supported" +msgstr "" + +msgid "Storage volume capacity must be an integer number." +msgstr "" + +msgid "Storage volume URL must be http://, https://, ftp:// or ftps://." +msgstr "" + +#, python-format +msgid "Unable to access file %(url)s. Please, check it." +msgstr "" + +#, python-format +msgid "" +"Unable to clone storage volume '%(name)s' in pool '%(pool)s'. Details: " +"%(err)s" +msgstr "" + +msgid "Specify chunk data and its size to upload a file." +msgstr "" + +msgid "In order to upload a storage volume, specify the 'upload' parameter= ." +msgstr "" + +msgid "" +"Unable to upload chunk data as it does not match with requested chunk siz= e." +msgstr "" + +#, python-format +msgid "The storage volume %(vol)s is not under an upload process." +msgstr "" + +msgid "The upload chunk data will exceed the storage volume size." +msgstr "" + +#, python-format +msgid "Unable to upload chunk data to storage volume. Details: %(err)s." +msgstr "" + +#, python-format +msgid "Interface %(name)s does not exist" +msgstr "" + +#, python-format +msgid "Network %(name)s already exists" +msgstr "" + +#, python-format +msgid "Network %(name)s does not exist" +msgstr "" + +#, python-format +msgid "Subnet %(subnet)s specified for network %(network)s is not valid." +msgstr "" + +#, python-format +msgid "Specify a network interface to create bridged network %(name)s" +msgstr "" + +#, python-format +msgid "Unable to delete active network %(name)s" +msgstr "" + +#, python-format +msgid "Interface %(iface)s specified for network %(network)s is already in= use" +msgstr "" + +msgid "Interface should be bare NIC, bonding or bridge device." +msgstr "" + +#, python-format +msgid "Unable to create network %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Unable to find a free IP address for network '%(name)s'" +msgstr "" + +#, python-format +msgid "The interface %(iface)s already exists." +msgstr "" + +msgid "Network name must be a string without slashes (/) or quotes (\")" +msgstr "" + +msgid "Supported network types are isolated, NAT and bridge" +msgstr "" + +msgid "Network subnet must be a string with IP address and prefix or netma= sk" +msgstr "" + +msgid "Network interface must be a string" +msgstr "" + +msgid "Network VLAN ID must be an integer between 1 and 4094" +msgstr "" + +msgid "Specify name and type to create a Network" +msgstr "" + +#, python-format +msgid "" +"Unable to delete network %(name)s. There are some virtual machines %(vms)= s " +"and/or templates linked to this network." +msgstr "" + +#, python-format +msgid "" +"Unable to deactivate network %(name)s. There are some virtual machines " +"%(vms)s and/or templates linked to this network." +msgstr "" + +#, python-format +msgid "Bridge device %(name)s can not be the trunk device of a VLAN." +msgstr "" + +#, python-format +msgid "Failed to activate interface %(iface)s: %(err)s." +msgstr "" + +#, python-format +msgid "" +"Failed to activate interface %(iface)s. Please check the physical link " +"status." +msgstr "" + +#, python-format +msgid "Failed to start network %(name)s. Details: %(err)s" +msgstr "" + +#, python-format +msgid "Debug report %(name)s does not exist" +msgstr "" + +msgid "Debug report tool not found in system" +msgstr "" + +#, python-format +msgid "Unable to create debug report %(name)s. Details: %(err)s." +msgstr "" + +#, python-format +msgid "Can not find any debug report with the given name %(name)s" +msgstr "" + +#, python-format +msgid "Unable to generate debug report %(name)s. Details: %(err)s" +msgstr "" + +msgid "You should give a name for the debug report file." +msgstr "" + +msgid "" +"Debug report name must be a string. Only letters, digits, underscore ('_'= ) " +"and hyphen ('-') are allowed." +msgstr "" + +#, python-format +msgid "" +"The debug report with specified name \"%(name)s\" already exists. Please = use " +"another one." +msgstr "" + +#, python-format +msgid "Storage server %(server)s was not used by Kimchi" +msgstr "" + +#, python-format +msgid "Distro '%(name)s' does not exist" +msgstr "" + +#, python-format +msgid "Partition %(name)s does not exist in the host" +msgstr "" + +msgid "Unable to shutdown host machine as there are running virtual machin= es" +msgstr "" + +msgid "Unable to reboot host machine as there are running virtual machines" +msgstr "" + +#, python-format +msgid "Node device '%(name)s' not found" +msgstr "" + +msgid "Conflicting flag filters specified." +msgstr "" + +msgid "No packages marked for update" +msgstr "" + +#, python-format +msgid "Package %(name)s is not marked to be updated." +msgstr "" + +#, python-format +msgid "Error while getting packages marked to be updated. Details: %(err)s" +msgstr "" + +msgid "There is no compatible package manager for this system." +msgstr "" + +#, python-format +msgid "Unable to find %(item)s in datastore" +msgstr "" + +#, python-format +msgid "Invalid URI %(uri)s" +msgstr "" + +#, python-format +msgid "Timeout while running command '%(cmd)s' after %(seconds)s seconds" +msgstr "" + +msgid "Unable to choose a virtual machine name" +msgstr "" + +#, python-format +msgid "Invalid data value '%(value)s'" +msgstr "" + +#, python-format +msgid "Invalid data unit '%(unit)s'" +msgstr "" + +msgid "Invalid storage type. Types supported: 'cdrom', 'disk'" +msgstr "" + +#, python-format +msgid "The path '%(value)s' is not a valid local/remote path for the devic= e" +msgstr "" + +msgid "Only CDROM path can be update." +msgstr "" + +#, python-format +msgid "" +"The storage device %(dev_name)s does not exist in the virtual machine " +"%(vm_name)s" +msgstr "" + +#, python-format +msgid "Error while creating new storage device: %(error)s" +msgstr "" + +#, python-format +msgid "Error while updating storage device: %(error)s" +msgstr "" + +#, python-format +msgid "Error while removing storage device: %(error)s" +msgstr "" + +msgid "Do not support IDE device hot plug" +msgstr "" + +msgid "" +"Specify type and path or type and pool/volume to add a new virtual machin= e " +"disk" +msgstr "" + +msgid "Specify path to update virtual machine disk" +msgstr "" + +#, python-format +msgid "Controller type %(type)s limitation of %(limit)s devices reached" +msgstr "" + +#, python-format +msgid "Cannot retrieve disk path information for given pool/volume: %(erro= r)s" +msgstr "" + +msgid "Volume already in use by other virtual machine." +msgstr "" + +msgid "" +"Only one of path or pool/volume can be specified to add a new virtual " +"machine disk" +msgstr "" + +#, python-format +msgid "" +"Volume chosen with format %(format)s does not fit in the storage type " +"%(type)s" +msgstr "" + +msgid "YUM Repository ID must be one word only string." +msgstr "" + +msgid "Repository URL must be an http://, ftp:// or file:// URL." +msgstr "" + +msgid "" +"Repository configuration is a dictionary with specific values according t= o " +"repository type." +msgstr "" + +msgid "Distribution to DEB repository must be a string" +msgstr "" + +msgid "Components to DEB repository must be listed in a array" +msgstr "" + +msgid "Components to DEB repository must be a string" +msgstr "" + +msgid "Mirror list to repository must be a string" +msgstr "" + +msgid "YUM Repository name must be string." +msgstr "" + +msgid "GPG check must be a boolean value." +msgstr "" + +msgid "GPG key must be a URL pointing to the ASCII-armored file." +msgstr "" + +#, python-format +msgid "Could not update repository %(repo_id)s." +msgstr "" + +#, python-format +msgid "Repository %(repo_id)s does not exist." +msgstr "" + +msgid "" +"Specify repository base URL, mirror list or metalink in order to create = or " +"update a YUM repository." +msgstr "" + +msgid "Repository management tool was not recognized for your system." +msgstr "" + +#, python-format +msgid "Repository %(repo_id)s is already enabled." +msgstr "" + +#, python-format +msgid "Repository %(repo_id)s is already disabled." +msgstr "" + +#, python-format +msgid "Could not remove repository %(repo_id)s." +msgstr "" + +#, python-format +msgid "Could not write repository configuration file %(repo_file)s" +msgstr "" + +msgid "Specify repository distribution in order to create a DEB repository= ." +msgstr "" + +#, python-format +msgid "Could not enable repository %(repo_id)s." +msgstr "" + +#, python-format +msgid "Could not disable repository %(repo_id)s." +msgstr "" + +msgid "YUM Repository ID already exists" +msgstr "" + +msgid "YUM Repository name must be a string" +msgstr "" + +#, python-format +msgid "Unable to list repositories. Details: '%(err)s'" +msgstr "" + +#, python-format +msgid "Unable to retrieve repository information. Details: '%(err)s'" +msgstr "" + +#, python-format +msgid "Unable to add repository. Details: '%(err)s'" +msgstr "" + +#, python-format +msgid "Unable to remove repository. Details: '%(err)s'" +msgstr "" + +#, python-format +msgid "" +"Configuration items: '%(items)s' are not supported by repository manager" +msgstr "" + +msgid "Repository metalink must be an http://, ftp:// or file:// URL." +msgstr "" + +msgid "Cannot specify mirrorlist and metalink at the same time." +msgstr "" + +#, python-format +msgid "" +"Virtual machine '%(vm)s' must be stopped before creating a snapshot of it= ." +msgstr "" + +#, python-format +msgid "" +"Unable to create snapshot '%(name)s' on virtual machine '%(vm)s'. Details= : " +"%(err)s" +msgstr "" + +#, python-format +msgid "Snapshot '%(name)s' does not exist on virtual machine '%(vm)s'." +msgstr "" + +#, python-format +msgid "" +"Unable to retrieve snapshot '%(name)s' on virtual machine '%(vm)s'. Detai= ls: " +"%(err)s" +msgstr "" + +#, python-format +msgid "Unable to list snapshots on virtual machine '%(vm)s'. Details: %(er= r)s" +msgstr "" + +#, python-format +msgid "" +"Unable to delete snapshot '%(name)s' on virtual machine '%(vm)s'. Details= : " +"%(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to retrieve current snapshot of virtual machine '%(vm)s'. Details:= " +"%(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to revert virtual machine '%(vm)s' to snapshot '%(name)s'. Details= : " +"%(err)s" +msgstr "" + +#, python-format +msgid "" +"Unable to create snapshot of virtual machine '%(vm)s' because it contains= a " +"disk with format '%(format)s'; only 'qcow2' is supported." +msgstr "" + +msgid "The number of vCPUs is too large for this system." +msgstr "" + +msgid "Invalid vCPU/topology combination." +msgstr "" + +msgid "This host (or current configuration) does not allow CPU topology." +msgstr "" + +msgid "ERROR CODE" +msgstr "" + +msgid "REASON" +msgstr "" + +msgid "STACK" +msgstr "" + +msgid "Go to Homepage" +msgstr "" + +msgid "Create a New Virtual Machine" +msgstr "" + +msgid "Virtual Machine Name" +msgstr "" + +msgid "" +"The name used to identify the virtual machine. If omitted, a name will be= " +"chosen based on the template used." +msgstr "" + +msgid "Template" +msgstr "" + +msgid "Please create a template first." +msgstr "" + +msgid "Create a Template" +msgstr "" + +msgid "Please choose a template." +msgstr "" + +msgid "OS" +msgstr "" + +msgid "OS Version" +msgstr "" + +msgid "CPUS" +msgstr "" + +msgid "Memory" +msgstr "" + +msgid "Create" +msgstr "" + +msgid "Creating..." +msgstr "" + +msgid "Edit Guest" +msgstr "" + +msgid "General" +msgstr "" + +msgid "Storage" +msgstr "" + +msgid "Interface" +msgstr "" + +msgid "Permission" +msgstr "" + +msgid "Host PCI Device" +msgstr "" + +msgid "Snapshot" +msgstr "" + +msgid "Name" +msgstr "" + +msgid "CPUs" +msgstr "" + +msgid "Memory (MB)" +msgstr "" + +msgid "Icon" +msgstr "" + +msgid "Device" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Type" +msgstr "" + +msgid "MAC Address" +msgstr "" + +msgid "Available system users and groups" +msgstr "" + +msgid "Selected system users and groups" +msgstr "" + +msgid "User" +msgstr "" + +msgid "All" +msgstr "" + +msgid "To Add" +msgstr "" + +msgid "Added" +msgstr "" + +msgid "filter" +msgstr "" + +msgid "Product" +msgstr "" + +msgid "Vendor" +msgstr "" + +msgid "Created" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Replace" +msgstr "" + +msgid "Detach" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "revert" +msgstr "" + +msgid "Add a Storage Device to VM" +msgstr "" + +msgid "Device Type" +msgstr "" + +msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported." +msgstr "" + +msgid "Storage Pool" +msgstr "" + +msgid "Storage pool which volume located in" +msgstr "" + +msgid "Storage Volume" +msgstr "" + +msgid "Storage volume to be attached" +msgstr "" + +msgid "File Path" +msgstr "" + +msgid "The ISO file path in the server for CDROM." +msgstr "" + +msgid "Attach" +msgstr "" + +msgid "Start" +msgstr "" + +msgid "Reset" +msgstr "" + +msgid "Pause" +msgstr "" + +msgid "Resume" +msgstr "" + +msgid "Power Off" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Clone" +msgstr "" + +msgid "Edit" +msgstr "" + +msgid "Shut Down" +msgstr "" + +msgid "Delete" +msgstr "" + +msgid "The username or password you entered is incorrect. Please try again= ." +msgstr "" + +msgid "This field is required." +msgstr "" + +msgid "Log in" +msgstr "" + +msgid "Logging in..." +msgstr "" + +msgid "Host" +msgstr "" + +msgid "Guests" +msgstr "" + +msgid "Templates" +msgstr "" + +msgid "Failed to get application configuration" +msgstr "" + +msgid "This is not a valid Linux path" +msgstr "" + +msgid "This is not a valid URL." +msgstr "" + +msgid "No such data available." +msgstr "" + +msgid "" +"Can not contact the host system. Verify the host system is up and that yo= u " +"have network connectivity to it. HTTP request response %1. " +msgstr "" + +msgid "Unable to read file." +msgstr "" + +msgid "Error while uploading file." +msgstr "" + +msgid "Delete Confirmation" +msgstr "" + +msgid "OK" +msgstr "" + +msgid "Confirm" +msgstr "" + +msgid "Warning" +msgstr "" + +msgid "Cloning..." +msgstr "" + +msgid "Loading..." +msgstr "" + +msgid "An error occurred while retrieving system information." +msgstr "" + +msgid "Retry" +msgstr "" + +msgid "Detailed message:" +msgstr "" + +msgid "No ISO found" +msgstr "" + +msgid "This is not a valid ISO file." +msgstr "" + +msgid "This may take a long time. Do you want to continue?" +msgstr "" + +msgid "This will permanently delete the template. Would you like to contin= ue?" +msgstr "" + +msgid "Unable to shut down system as there are some virtual machines runni= ng!" +msgstr "" + +msgid "Max:" +msgstr "" + +msgid "Utilization" +msgstr "" + +msgid "Available" +msgstr "" + +msgid "Read Rate" +msgstr "" + +msgid "Write Rate" +msgstr "" + +msgid "Received" +msgstr "" + +msgid "Sent" +msgstr "" + +msgid "" +"Shutting down or restarting host will cause unsaved work lost. Continue t= o " +"shut down/restarting?" +msgstr "" + +msgid "" +"Repository will be removed permanently and can't be recovered. Do you wan= t " +"to continue?" +msgstr "" + +msgid "Repositories" +msgstr "" + +msgid "ID" +msgstr "" + +msgid "Base URL" +msgstr "" + +msgid "Is Mirror" +msgstr "" + +msgid "URL Args" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "GPG Check" +msgstr "" + +msgid "GPG Key" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "Remove" +msgstr "" + +msgid "Enable" +msgstr "" + +msgid "Disable" +msgstr "" + +msgid "Software Updates" +msgstr "" + +msgid "Package Name" +msgstr "" + +msgid "Version" +msgstr "" + +msgid "Architecture" +msgstr "" + +msgid "Repository" +msgstr "" + +msgid "Update All" +msgstr "" + +msgid "Updating..." +msgstr "" + +msgid "Failed to retrieve packages update information." +msgstr "" + +msgid "Failed to update package(s)." +msgstr "" + +msgid "" +"Debug report will be removed permanently and can't be recovered. Do you w= ant " +"to continue?" +msgstr "" + +msgid "Debug Reports" +msgstr "" + +msgid "Generated Time" +msgstr "" + +msgid "Generate" +msgstr "" + +msgid "Generating..." +msgstr "" + +msgid "Rename" +msgstr "" + +msgid "Download" +msgstr "" + +msgid "" +"Report name should contain only letters, digits, underscore ('_') and/or " +"hyphen ('-')." +msgstr "" + +msgid "Pending..." +msgstr "" + +msgid "Report name is the same as the original one." +msgstr "" + +msgid "" +"This will delete the virtual machine and its virtual disks. This operatio= n " +"cannot be undone. Would you like to continue?" +msgstr "" + +msgid "Power off Confirmation" +msgstr "" + +msgid "" +"This action may produce undesirable results, for example unflushed disk " +"cache in the guest. Would you like to continue?" +msgstr "" + +msgid "Reset Confirmation" +msgstr "" + +msgid "" +"There is a risk of data loss caused by reset without the guest OS shutdow= n. " +"Would you like to continue?" +msgstr "" + +msgid "Shut Down Confirmation" +msgstr "" + +msgid "Note the guest OS may ignore this request. Would you like to contin= ue?" +msgstr "" + +msgid "Virtual Machine delete Confirmation" +msgstr "" + +msgid "" +"This virtual machine is not persistent. Power Off will delete it. Continu= e?" +msgstr "" + +msgid "" +"When the target guest has SCSI or iSCSI volumes, they will be cloned on " +"default storage pool. The same will happen when the target pool does not " +"have enough space to clone the volumes. Do you want to continue?" +msgstr "" + +msgid "" +"This CDROM will be detached permanently and you can re-attach it. Continu= e " +"to detach it?" +msgstr "" + +msgid "Attaching..." +msgstr "" + +msgid "Replacing..." +msgstr "" + +msgid "Successfully attached!" +msgstr "" + +msgid "Successfully replaced!" +msgstr "" + +msgid "Successfully detached!" +msgstr "" + +msgid "" +"This disk will be detached permanently and you can re-attach it. Continue= to " +"detach it?" +msgstr "" + +msgid "interface:" +msgstr "" + +msgid "address:" +msgstr "" + +msgid "link_type:" +msgstr "" + +msgid "block:" +msgstr "" + +msgid "drive_type:" +msgstr "" + +msgid "model:" +msgstr "" + +msgid "Affected devices:" +msgstr "" + +msgid "The VLAN id must be between 1 and 4094." +msgstr "" + +msgid "unavailable" +msgstr "" + +msgid "" +"This action will interrupt network connectivity for any virtual machine t= hat " +"depend on this network." +msgstr "" + +msgid "Create a network" +msgstr "" + +msgid "" +"This network is not persistent. Instead of stop, this action will " +"permanently delete it. Would you like to continue?" +msgstr "" + +msgid "" +"The bridged VLAN tag may not work well with NetworkManager enabled. You " +"should consider disabling it." +msgstr "" + +msgid "" +"This will permanently delete the storage pool. Would you like to continue= ?" +msgstr "" + +msgid "This storage pool is empty." +msgstr "" + +msgid "" +"It will format your disk and you will loose any data in there, are you su= re " +"to continue? " +msgstr "" + +msgid "SCSI Fibre Channel" +msgstr "" + +msgid "No SCSI adapters found." +msgstr "" + +msgid "Loading iSCSI targets..." +msgstr "" + +msgid "No iSCSI found. Please input one." +msgstr "" + +msgid "Failed to load iSCSI targets." +msgstr "" + +msgid "The storage pool name can not be blank." +msgstr "" + +msgid "The storage pool path can not be blank." +msgstr "" + +msgid "NFS server mount path can not be blank." +msgstr "" + +msgid "Invalid NFS mount path." +msgstr "" + +msgid "No logical device selected." +msgstr "" + +msgid "The iSCSI target can not be blank." +msgstr "" + +msgid "Server name can not be blank." +msgstr "" + +msgid "This is not a valid Server Name or IP. Please, modify it." +msgstr "" + +msgid "Looking for available partitions ..." +msgstr "" + +msgid "No available partitions found." +msgstr "" + +msgid "" +"This storage pool is not persistent. Instead of deactivate, this action w= ill " +"permanently delete it. Would you like to continue?" +msgstr "" + +msgid "Unable to retrieve partitions information." +msgstr "" + +msgid "In progress..." +msgstr "" + +msgid "Failed!" +msgstr "" + +msgid "CDROM path needs to be a valid local/remote path and cannot be blan= k." +msgstr "" + +msgid "Disk pool or volume cannot be blank." +msgstr "" + +msgid "Peers" +msgstr "" + +msgid "Searching" +msgstr "" + +msgid "No peers found." +msgstr "" + +msgid "Help" +msgstr "" + +msgid "About" +msgstr "" + +msgid "Log out" +msgstr "" + +msgid "Version:" +msgstr "" + +msgid "Session timeout, please re-login." +msgstr "" + +msgid "User Name" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Generate a New Debug Report" +msgstr "" + +msgid "Report Name" +msgstr "" + +msgid "" +"The name used to identify the report. If omitted, a name will be chosen " +"based on current time. Name can contain: letters, digits, underscore (\"_= \") " +"and hyphen (\"-\")." +msgstr "" + +msgid "Rename a Debug Report" +msgstr "" + +msgid "" +"The name used to identify the report. Name can contain: letters, digits a= nd " +"hyphen (\"-\")." +msgstr "" + +msgid "Submit" +msgstr "" + +msgid "Add a Repository" +msgstr "" + +msgid "Identifier" +msgstr "" + +msgid "Single word, unique identifier for the repository." +msgstr "" + +msgid "Textual name for the repository." +msgstr "" + +msgid "URL" +msgstr "" + +msgid "Required Field" +msgstr "" + +msgid "URL to the repository. Supported protocols are http, ftp, and file." +msgstr "" + +msgid "Repository is a mirror" +msgstr "" + +msgid "Distribution" +msgstr "" + +msgid "Distribution of the DEB repository." +msgstr "" + +msgid "Components" +msgstr "" + +msgid "List of components in DEB repository." +msgstr "" + +msgid "Edit Repository" +msgstr "" + +msgid "Mirror List URL" +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "No" +msgstr "" + +msgid "Add a Volume to Storage Pool" +msgstr "" + +msgid "Fetch from remote URL" +msgstr "" + +msgid "Enter the remote URL here." +msgstr "" + +msgid "Upload a file" +msgstr "" + +msgid "Choose the file you want to upload." +msgstr "" + +msgid "Define a New Storage Pool" +msgstr "" + +msgid "Storage Pool Name" +msgstr "" + +msgid "" +"The name used to identify the storage pools, and it should not be empty." +msgstr "" + +msgid "Storage Pool Type" +msgstr "" + +msgid "Storage Path" +msgstr "" + +msgid "" +"The path of the Storage Pool. Each Storage Pool must have a unique path." +msgstr "" + +msgid "" +"Kimchi will try to create the directory when it does not already exist in= " +"your system." +msgstr "" + +msgid "NFS Server IP" +msgstr "" + +msgid "NFS server IP or hostname. It can be input or chosen from history." +msgstr "" + +msgid "NFS Path" +msgstr "" + +msgid "The NFS exported path on NFS server." +msgstr "" + +msgid "Device path" +msgstr "" + +msgid "iSCSI Server" +msgstr "" + +msgid "iSCSI server IP or hostname. It should not be empty." +msgstr "" + +msgid "Server" +msgstr "" + +msgid "Port" +msgstr "" + +msgid "Target" +msgstr "" + +msgid "The iSCSI target on iSCSI server" +msgstr "" + +msgid "Add iSCSI Authentication" +msgstr "" + +msgid "iSCSI Authentication" +msgstr "" + +msgid "SCSI Adapter" +msgstr "" + +msgid "Please, wait..." +msgstr "" + +msgid "Add Template" +msgstr "" + +msgid "Where is the source media for this template? " +msgstr "" + +msgid "Local ISO Image" +msgstr "" + +msgid "Local Image File" +msgstr "" + +msgid "Remote ISO Image" +msgstr "" + +msgid "Search ISOs" +msgstr "" + +msgid "The following ISOs are available:" +msgstr "" + +msgid "OS: " +msgstr "" + +msgid "Version: " +msgstr "" + +msgid "Size: " +msgstr "" + +msgid "Search more ISOs" +msgstr "" + +msgid "Create Templates from Selected ISO" +msgstr "" + +msgid "I want to use a specific ISO file" +msgstr "" + +msgid "Loading default remote ISOs ..." +msgstr "" + +msgid "Arch: " +msgstr "" + +msgid "I want to use a custom URL" +msgstr "" + +msgid "Edit Template" +msgstr "" + +msgid "Processor" +msgstr "" + +msgid "CDROM" +msgstr "" + +msgid "Image File" +msgstr "" + +msgid "Graphics" +msgstr "" + +msgid "Disk(GB)" +msgstr "" + +msgid "Disk Format" +msgstr "" + +msgid "CPU Number" +msgstr "" + +msgid "Manually set CPU topology" +msgstr "" + +msgid "Cores" +msgstr "" + +msgid "Threads" +msgstr "" + +msgid "CPU" +msgstr "" + +msgid "Disk I/O" +msgstr "" + +msgid "Network I/O" +msgstr "" + +msgid "Livetile" +msgstr "" + +msgid "No guests found." +msgstr "" + +msgid "Shut down" +msgstr "" + +msgid "Restart" +msgstr "" + +msgid "Basic Information" +msgstr "" + +msgid "OS Distro" +msgstr "" + +msgid "OS Code Name" +msgstr "" + +msgid "CPU(s)" +msgstr "" + +msgid "System Statistics" +msgstr "" + +msgid "Update Progress" +msgstr "" + +msgid "Network Name" +msgstr "" + +msgid "State" +msgstr "" + +msgid "Network Type" +msgstr "" + +msgid "Address Space" +msgstr "" + +msgid "Name should not contain '/' and '\"'." +msgstr "" + +msgid "Isolated: no external network connection" +msgstr "" + +msgid "NAT: outbound physical network connection only" +msgstr "" + +msgid "Bridged: Virtual machines are connected to physical network directl= y" +msgstr "" + +msgid "(No interfaces found)" +msgstr "" + +msgid "Destination" +msgstr "" + +msgid "Enable VLAN" +msgstr "" + +msgid "VLAN ID" +msgstr "" + +msgid "Stop" +msgstr "" + +msgid "%Used" +msgstr "" + +msgid "Location" +msgstr "" + +msgid "Capacity" +msgstr "" + +msgid "Allocated" +msgstr "" + +msgid "active" +msgstr "" + +msgid "inactive" +msgstr "" + +msgid "Deactivate" +msgstr "" + +msgid "Activate" +msgstr "" + +msgid "Add Volume" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Undefine" +msgstr "" + +msgid "Format" +msgstr "" + +msgid "Allocation" +msgstr "" + +msgid "No templates found." +msgstr "" diff --git a/src/wok/control/Makefile.am b/src/wok/control/Makefile.am new file mode 100644 index 0000000..fee98dc --- /dev/null +++ b/src/wok/control/Makefile.am @@ -0,0 +1,27 @@ +# +# 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-130= 1 USA + +SUBDIRS =3D vm + +control_PYTHON =3D *.py + +controldir =3D $(pythondir)/kimchi/control + +install-data-local: + $(MKDIR_P) $(DESTDIR)$(controldir) diff --git a/src/wok/control/__init__.py b/src/wok/control/__init__.py new file mode 100644 index 0000000..98d42d3 --- /dev/null +++ b/src/wok/control/__init__.py @@ -0,0 +1,26 @@ +# +# Project Kimchi +# +# Copyright IBM, Corp. 2013-2014 +# +# 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-130= 1 USA + +import os + + +from kimchi.control.utils import load_url_sub_node + + +sub_nodes =3D load_url_sub_node(os.path.dirname(__file__), __name__) diff --git a/src/wok/i18n.py b/src/wok/i18n.py new file mode 100644 index 0000000..d2ffa34 --- /dev/null +++ b/src/wok/i18n.py @@ -0,0 +1,354 @@ +# +# 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-130= 1 USA + +import gettext + +_ =3D gettext.gettext + + +messages =3D { + "KCHAPI0001E": _("Unknown parameter %(value)s"), + "KCHAPI0002E": _("Delete is not allowed for %(resource)s"), + "KCHAPI0003E": _("%(resource)s does not implement update method"), + "KCHAPI0005E": _("Create is not allowed for %(resource)s"), + "KCHAPI0006E": _("Unable to parse JSON request"), + "KCHAPI0007E": _("This API only supports JSON"), + "KCHAPI0008E": _("Parameters does not match requirement in schema: %(e= rr)s"), + "KCHAPI0009E": _("You don't have permission to perform this operation.= "), + + "KCHASYNC0001E": _("Datastore is not initiated in the model object."), + "KCHASYNC0002E": _("Unable to start task due error: %(err)s"), + "KCHASYNC0003E": _("Timeout of %(seconds)s seconds expired while runni= ng task '%(task)s."), + + "KCHAUTH0001E": _("Authentication failed for user '%(username)s'. [Err= or code: %(code)s]"), + "KCHAUTH0002E": _("You are not authorized to access Kimchi"), + "KCHAUTH0003E": _("Specify %(item)s to login into Kimchi"), + "KCHAUTH0004E": _("User %(user_id)s not found with given LDAP settings= ."), + "KCHAUTH0005E": _("Invalid LDAP configuration: %(item)s : %(value)s"), + + "KCHDEVS0001E": _('Unknown "_cap" specified'), + "KCHDEVS0002E": _('"_passthrough" should be "true" or "false"'), + "KCHDEVS0003E": _('"_passthrough_affected_by" should be a device name = string'), + + "KCHDISKS0001E": _("Error while getting block devices. Details: %(err)= s"), + "KCHDISKS0002E": _("Error while getting block device information for %= (device)s."), + + "KCHDL0001E": _("Unable to find distro file: %(filename)s"), + "KCHDL0002E": _("Unable to parse distro file: %(filename)s. Make sure,= it is a JSON file."), + + "KCHISCSI0001E": _("Unable to login to iSCSI host target %(portal)s. D= etails: %(err)s"), + "KCHISCSI0002E": _("Unable to login to iSCSI host %(host)s target %(ta= rget)s"), + + "KCHISO0001E": _("Unable to find ISO file %(filename)s"), + "KCHISO0002E": _("The ISO file %(filename)s is not bootable"), + "KCHISO0003E": _("The ISO file %(filename)s does not have a valid El T= orito boot record"), + "KCHISO0004E": _("Invalid El Torito validation entry in ISO %(filename= )s"), + "KCHISO0005E": _("Invalid El Torito boot indicator in ISO %(filename)s= "), + "KCHISO0006E": _("Unexpected volume type for primary volume in ISO %(f= ilename)s"), + "KCHISO0007E": _("Bad format while reading volume descriptor in ISO %(= filename)s"), + "KCHISO0008E": _("The hypervisor doesn't have permission to use this I= SO %(filename)s. " + "Consider moving it under /var/lib/libvirt, or set t= he search permission " + "to file access control lists for '%(user)s' user if = possible, or add the " + "'%(user)s' to the ISO path group, or (not recommende= d) 'chmod -R o+x 'path_to_iso'." + "Details: %(err)s" ), + + "KCHIMG0001E": _("An error occurred when probing image OS information.= "), + "KCHIMG0002E": _("No OS information found in given image."), + "KCHIMG0003E": _("Unable to read image file %(filename)s"), + "KCHIMG0004E": _("Image file must be an existing file on system. %(fil= ename)s is not a valid input."), + + "KCHVM0001E": _("Virtual machine %(name)s already exists"), + "KCHVM0002E": _("Virtual machine %(name)s does not exist"), + "KCHVM0003E": _("Unable to rename virtual machine %(name)s. The name %= (new_name)s is already in use or the virtual machine is not powered off."), + "KCHVM0004E": _("Unable to retrieve screenshot for stopped virtual mac= hine %(name)s"), + "KCHVM0005E": _("Remote ISO image is not supported by this server."), + "KCHVM0006E": _("Screenshot is not supported on virtual machine %(name= )s"), + "KCHVM0007E": _("Unable to create virtual machine %(name)s. Details: %= (err)s"), + "KCHVM0008E": _("Unable to update virtual machine %(name)s. Details: %= (err)s"), + "KCHVM0009E": _("Unable to retrieve virtual machine %(name)s. Details:= %(err)s"), + "KCHVM0010E": _("Unable to connect to powered off virtual machine %(na= me)s."), + "KCHVM0011E": _("Virtual machine name must be a string without slashes= (/)"), + "KCHVM0012E": _("Invalid template URI %(value)s specified for virtual = machine"), + "KCHVM0013E": _("Invalid storage pool URI %(value)s specified for virt= ual machine"), + "KCHVM0014E": _("Supported virtual machine graphics are Spice or VNC"), + "KCHVM0015E": _("Graphics address to listen on must be IPv4 or IPv6"), + "KCHVM0016E": _("Specify a template to create a virtual machine from"), + "KCHVM0019E": _("Unable to start virtual machine %(name)s. Details: %(= err)s"), + "KCHVM0020E": _("Unable to power off virtual machine %(name)s. Details= : %(err)s"), + "KCHVM0021E": _("Unable to delete virtual machine %(name)s. Details: %= (err)s"), + "KCHVM0022E": _("Unable to reset virtual machine %(name)s. Details: %(= err)s"), + "KCHVM0023E": _("User name list must be an array"), + "KCHVM0024E": _("User name must be a string"), + "KCHVM0025E": _("Group name list must be an array"), + "KCHVM0026E": _("Group name must be a string"), + "KCHVM0027E": _("User(s) '%(users)s' do not exist"), + "KCHVM0028E": _("Group(s) '%(groups)s' do not exist"), + "KCHVM0029E": _("Unable to shutdown virtual machine %(name)s. Details:= %(err)s"), + "KCHVM0030E": _("Unable to get access metadata of virtual machine %(na= me)s. Details: %(err)s"), + "KCHVM0031E": _("The guest console password must be a string."), + "KCHVM0032E": _("The life time for the guest console password must be = a number."), + "KCHVM0033E": _("Virtual machine '%(name)s' must be stopped before clo= ning it."), + "KCHVM0034E": _("Insufficient disk space to clone virtual machine '%(n= ame)s'"), + "KCHVM0035E": _("Unable to clone VM '%(name)s'. Details: %(err)s"), + "KCHVM0036E": _("Invalid operation for non-persistent virtual machine = %(name)s"), + "KCHVM0037E": _("Cannot suspend VM '%(name)s' because it is not runnin= g."), + "KCHVM0038E": _("Unable to suspend VM '%(name)s'. Details: %(err)s"), + "KCHVM0039E": _("Cannot resume VM '%(name)s' because it is not paused.= "), + "KCHVM0040E": _("Unable to resume VM '%(name)s'. Details: %(err)s"), + "KCHVM0041E": _("Memory assigned is higher then the maximum allowed in= the host."), + "KCHVM0042E": _("VM '%(name)s' does not support live memory update. Up= date the memory with the machine offline to enable this feature."), + "KCHVM0043E": _("Only increase memory is allowed in active VMs"), + "KCHVM0044E": _("For live memory update, new memory value must be equa= l old memory value plus multiples of 1024 Mib"), + "KCHVM0045E": _("There are not enough free slots of 1024 Mib in the gu= est."), + "KCHVM0046E": _("Host's libvirt version does not support memory device= s. Libvirt must be >=3D 1.2.14"), + "KCHVM0047E": _("Error attaching memory device. Details: %(error)s"), + + "KCHVMHDEV0001E": _("VM %(vmid)s does not contain directly assigned ho= st device %(dev_name)s."), + "KCHVMHDEV0002E": _("The host device %(dev_name)s is not allowed to di= rectly assign to VM."), + "KCHVMHDEV0003E": _("No IOMMU groups found. Host PCI pass through need= s IOMMU group to function correctly. " + "Please enable Intel VT-d or AMD IOMMU in your BIO= S, then verify the Kernel is compiled with IOMMU support. " + "For Intel CPU, add intel_iommu=3Don to your Kerne= l parameter in /boot/grub2/grub.conf. " + "For AMD CPU, add iommu=3Dpt iommu=3D1."), + "KCHVMHDEV0004E": _('"name" should be a device name string'), + "KCHVMHDEV0005E": _('The device %(name)s is probably in use by the hos= t. Unable to attach it to the guest.'), + + "KCHVMIF0001E": _("Interface %(iface)s does not exist in virtual machi= ne %(name)s"), + "KCHVMIF0002E": _("Network %(network)s specified for virtual machine %= (name)s does not exist"), + "KCHVMIF0004E": _("Supported virtual machine interfaces type is only n= etwork"), + "KCHVMIF0005E": _("Network name for virtual machine interface must be = a string"), + "KCHVMIF0006E": _("Invalid network model card specified for virtual ma= chine interface"), + "KCHVMIF0007E": _("Specify type and network to add a new virtual machi= ne interface"), + "KCHVMIF0008E": _("MAC Address must respect this format FF:FF:FF:FF:FF= :FF"), + "KCHVMIF0009E": _("MAC Address %(mac)s already exists in virtual machi= ne %(name)s"), + "KCHVMIF0010E": _("Invalid MAC Address"), + "KCHVMIF0011E": _("Cannot change MAC address of a running virtual mach= ine"), + + "KCHTMPL0001E": _("Template %(name)s already exists"), + "KCHTMPL0003E": _("Network '%(network)s' specified for template %(temp= late)s does not exist"), + "KCHTMPL0004E": _("Storage pool %(pool)s specified for template %(temp= late)s does not exist"), + "KCHTMPL0005E": _("Storage pool %(pool)s specified for template %(temp= late)s is not active"), + "KCHTMPL0006E": _("Invalid parameter '%(param)s' specified for CDROM."= ), + "KCHTMPL0007E": _("Network %(network)s specified for template %(templa= te)s is not active"), + "KCHTMPL0008E": _("Template name must be a string"), + "KCHTMPL0009E": _("Template icon must be a path to the image"), + "KCHTMPL0010E": _("Template distribution must be a string"), + "KCHTMPL0011E": _("Template distribution version must be a string"), + "KCHTMPL0012E": _("The number of CPUs must be an integer greater than = 0"), + "KCHTMPL0013E": _("Amount of memory (MB) must be an integer greater th= an 512"), + "KCHTMPL0014E": _("Template CDROM must be a local or remote ISO file"), + "KCHTMPL0015E": _("Invalid storage pool URI %(value)s specified for te= mplate"), + "KCHTMPL0016E": _("Specify an ISO image as CDROM or a base image to cr= eate a template"), + "KCHTMPL0017E": _("All networks for the template must be specified in = a list."), + "KCHTMPL0018E": _("Specify a volume to a template when storage pool is= iSCSI or SCSI"), + "KCHTMPL0019E": _("The volume %(volume)s is not in storage pool %(pool= )s"), + "KCHTMPL0020E": _("Unable to create template due error: %(err)s"), + "KCHTMPL0021E": _("Unable to delete template due error: %(err)s"), + "KCHTMPL0022E": _("Disk size must be an integer greater than 1GB."), + "KCHTMPL0023E": _("Template base image must be a valid local image fil= e"), + "KCHTMPL0024E": _("Cannot identify base image %(path)s format"), + "KCHTMPL0025E": _("When specifying CPU topology, VCPUs must be a produ= ct of sockets, cores, and threads."), + "KCHTMPL0026E": _("When specifying CPU topology, each element must be = an integer greater than zero."), + "KCHTMPL0027E": _("Invalid disk image format. Valid formats: bochs, cl= oop, cow, dmg, qcow, qcow2, qed, raw, vmdk, vpc."), + + "KCHPOOL0001E": _("Storage pool %(name)s already exists"), + "KCHPOOL0002E": _("Storage pool %(name)s does not exist"), + "KCHPOOL0004E": _("Specify %(item)s in order to create the storage poo= l %(name)s"), + "KCHPOOL0005E": _("Unable to delete active storage pool %(name)s"), + "KCHPOOL0006E": _("Unable to list storage pools. Details: %(err)s"), + "KCHPOOL0007E": _("Unable to create storage pool %(name)s. Details: %(= err)s"), + "KCHPOOL0008E": _("Unable to get number of storage volumes in storage = pool %(name)s. Details: %(err)s"), + "KCHPOOL0009E": _("Unable to activate storage pool %(name)s. Details: = %(err)s"), + "KCHPOOL0010E": _("Unable to deactivate storage pool %(name)s. Details= : %(err)s"), + "KCHPOOL0011E": _("Unable to delete storage pool %(name)s. Details: %(= err)s"), + "KCHPOOL0012E": _("Unable to create NFS Pool as export path %(path)s m= ay block during mount"), + "KCHPOOL0013E": _("Unable to create NFS Pool as export path %(path)s m= ount failed"), + "KCHPOOL0014E": _("Unsupported storage pool type: %(type)s"), + "KCHPOOL0015E": _("Error while retrieving storage pool XML to %(pool)s= "), + "KCHPOOL0016E": _("Storage pool name must be a string without slashes = (/)"), + "KCHPOOL0017E": _("Supported storage pool types are dir, netfs, logica= l, iscsi, isci and kimchi-iso"), + "KCHPOOL0018E": _("Storage pool path must be a string"), + "KCHPOOL0019E": _("Storage pool host must be a IP or hostname"), + "KCHPOOL0020E": _("Storage pool device must be the absolute path to th= e block device"), + "KCHPOOL0021E": _("Storage pool devices parameter must be a list"), + "KCHPOOL0022E": _("Target IQN of an iSCSI pool must be a string"), + "KCHPOOL0023E": _("Port of a remote storage server must be an integer = between 1 and 65535"), + "KCHPOOL0024E": _("iSCSI target username must be a string"), + "KCHPOOL0025E": _("iSCSI target password must be a string"), + "KCHPOOL0026E": _("Specify name and type to create a storage pool"), + "KCHPOOL0027E": _("%(disk)s is not a valid disk/partition. Could not a= dd it to the pool %(pool)s."), + "KCHPOOL0028E": _("Unable to extend logical pool %(pool)s. Details: %(= err)s"), + "KCHPOOL0029E": _("The parameter disks only can be updated for logical= storage pool."), + "KCHPOOL0030E": _("The SCSI host adapter name must be a string."), + "KCHPOOL0031E": _("The storage pool kimchi_isos is reserved for intern= al use"), + "KCHPOOL0032E": _("Unable to activate NFS storage pool %(name)s. NFS s= erver %(server)s is unreachable."), + "KCHPOOL0033E": _("Unable to deactivate NFS storage pool %(name)s. NFS= server %(server)s is unreachable."), + "KCHPOOL0034E": _("Unable to deactivate pool %(name)s as it is associa= ted with some templates"), + "KCHPOOL0035E": _("Unable to delete pool %(name)s as it is associated = with some templates"), + "KCHPOOL0036E": _("A volume group named '%(name)s' already exists. Ple= ase, choose another name to create the logical pool."), + "KCHPOOL0037E": _("Unable to update database with deep scan informatio= n due error: %(err)s"), + + "KCHVOL0001E": _("Storage volume %(name)s already exists"), + "KCHVOL0002E": _("Storage volume %(name)s does not exist in storage po= ol %(pool)s"), + "KCHVOL0003E": _("Unable to create storage volume %(volume)s because s= torage pool %(pool)s is not active"), + "KCHVOL0004E": _("Specify %(item)s in order to create storage volume %= (volume)s"), + "KCHVOL0006E": _("Unable to list storage volumes because storage pool = %(pool)s is not active"), + "KCHVOL0007E": _("Unable to create storage volume %(name)s in storage = pool %(pool)s. Details: %(err)s"), + "KCHVOL0008E": _("Unable to list storage volumes in storage pool %(poo= l)s. Details: %(err)s"), + "KCHVOL0009E": _("Unable to wipe storage volumes %(name)s. Details: %(= err)s"), + "KCHVOL0010E": _("Unable to delete storage volume %(name)s. Details: %= (err)s"), + "KCHVOL0011E": _("Unable to resize storage volume %(name)s. Details: %= (err)s"), + "KCHVOL0012E": _("Storage type %(type)s does not support volume create= and delete"), + "KCHVOL0013E": _("Storage volume name must be a string"), + "KCHVOL0014E": _("Storage volume allocation must be an integer number"= ), + "KCHVOL0015E": _("Storage volume format not supported. Valid formats: = bochs, cloop, cow, dmg, qcow, qcow2, qed, raw, vmdk, vpc."), + "KCHVOL0016E": _("Storage volume requires a volume name"), + "KCHVOL0017E": _("Unable to update database with storage volume inform= ation due error: %(err)s"), + "KCHVOL0018E": _("Only one of parameter %(param)s can be specified"), + "KCHVOL0019E": _("Create volume from %(param)s is not supported"), + "KCHVOL0020E": _("Storage volume capacity must be an integer number."), + "KCHVOL0021E": _("Storage volume URL must be http://, https://, ftp://= or ftps://."), + "KCHVOL0022E": _("Unable to access file %(url)s. Please, check it."), + "KCHVOL0023E": _("Unable to clone storage volume '%(name)s' in pool '%= (pool)s'. Details: %(err)s"), + "KCHVOL0024E": _("Specify chunk data and its size to upload a file."), + "KCHVOL0025E": _("In order to upload a storage volume, specify the 'up= load' parameter."), + "KCHVOL0026E": _("Unable to upload chunk data as it does not match wit= h requested chunk size."), + "KCHVOL0027E": _("The storage volume %(vol)s is not under an upload pr= ocess."), + "KCHVOL0028E": _("The upload chunk data will exceed the storage volume= size."), + "KCHVOL0029E": _("Unable to upload chunk data to storage volume. Detai= ls: %(err)s."), + + "KCHIFACE0001E": _("Interface %(name)s does not exist"), + + "KCHNET0001E": _("Network %(name)s already exists"), + "KCHNET0002E": _("Network %(name)s does not exist"), + "KCHNET0003E": _("Subnet %(subnet)s specified for network %(network)s = is not valid."), + "KCHNET0004E": _("Specify a network interface to create bridged networ= k %(name)s"), + "KCHNET0005E": _("Unable to delete active network %(name)s"), + "KCHNET0006E": _("Interface %(iface)s specified for network %(network)= s is already in use"), + "KCHNET0007E": _("Interface should be bare NIC, bonding or bridge devi= ce."), + "KCHNET0008E": _("Unable to create network %(name)s. Details: %(err)s"= ), + "KCHNET0009E": _("Unable to find a free IP address for network '%(name= )s'"), + "KCHNET0010E": _("The interface %(iface)s already exists."), + "KCHNET0011E": _("Network name must be a string without slashes (/) or= quotes (\")"), + "KCHNET0012E": _("Supported network types are isolated, NAT and bridge= "), + "KCHNET0013E": _("Network subnet must be a string with IP address and = prefix or netmask"), + "KCHNET0014E": _("Network interface must be a string"), + "KCHNET0015E": _("Network VLAN ID must be an integer between 1 and 409= 4"), + "KCHNET0016E": _("Specify name and type to create a Network"), + "KCHNET0017E": _("Unable to delete network %(name)s. There are some vi= rtual machines %(vms)s and/or templates linked to this network."), + "KCHNET0018E": _("Unable to deactivate network %(name)s. There are som= e virtual machines %(vms)s and/or templates linked to this network."), + "KCHNET0019E": _("Bridge device %(name)s can not be the trunk device o= f a VLAN."), + "KCHNET0020E": _("Failed to activate interface %(iface)s: %(err)s."), + "KCHNET0021E": _("Failed to activate interface %(iface)s. Please check= the physical link status."), + "KCHNET0022E": _("Failed to start network %(name)s. Details: %(err)s"), + + "KCHDR0001E": _("Debug report %(name)s does not exist"), + "KCHDR0002E": _("Debug report tool not found in system"), + "KCHDR0003E": _("Unable to create debug report %(name)s. Details: %(er= r)s."), + "KCHDR0004E": _("Can not find any debug report with the given name %(n= ame)s"), + "KCHDR0005E": _("Unable to generate debug report %(name)s. Details: %(= err)s"), + "KCHDR0006E": _("You should give a name for the debug report file."), + "KCHDR0007E": _("Debug report name must be a string. Only letters, dig= its, underscore ('_') and hyphen ('-') are allowed."), + "KCHDR0008E": _("The debug report with specified name \"%(name)s\" alr= eady exists. Please use another one."), + + "KCHSR0001E": _("Storage server %(server)s was not used by Kimchi"), + + "KCHDISTRO0001E": _("Distro '%(name)s' does not exist"), + + "KCHPART0001E": _("Partition %(name)s does not exist in the host"), + + "KCHHOST0001E": _("Unable to shutdown host machine as there are runnin= g virtual machines"), + "KCHHOST0002E": _("Unable to reboot host machine as there are running = virtual machines"), + "KCHHOST0003E": _("Node device '%(name)s' not found"), + "KCHHOST0004E": _("Conflicting flag filters specified."), + + "KCHPKGUPD0001E": _("No packages marked for update"), + "KCHPKGUPD0002E": _("Package %(name)s is not marked to be updated."), + "KCHPKGUPD0003E": _("Error while getting packages marked to be updated= . Details: %(err)s"), + "KCHPKGUPD0004E": _("There is no compatible package manager for this s= ystem."), + + "KCHOBJST0001E": _("Unable to find %(item)s in datastore"), + + "KCHUTILS0001E": _("Invalid URI %(uri)s"), + "KCHUTILS0002E": _("Timeout while running command '%(cmd)s' after %(se= conds)s seconds"), + "KCHUTILS0003E": _("Unable to choose a virtual machine name"), + "KCHUTILS0004E": _("Invalid data value '%(value)s'"), + "KCHUTILS0005E": _("Invalid data unit '%(unit)s'"), + + "KCHVMSTOR0002E": _("Invalid storage type. Types supported: 'cdrom', '= disk'"), + "KCHVMSTOR0003E": _("The path '%(value)s' is not a valid local/remote = path for the device"), + "KCHVMSTOR0006E": _("Only CDROM path can be update."), + "KCHVMSTOR0007E": _("The storage device %(dev_name)s does not exist in= the virtual machine %(vm_name)s"), + "KCHVMSTOR0008E": _("Error while creating new storage device: %(error)= s"), + "KCHVMSTOR0009E": _("Error while updating storage device: %(error)s"), + "KCHVMSTOR0010E": _("Error while removing storage device: %(error)s"), + "KCHVMSTOR0011E": _("Do not support IDE device hot plug"), + "KCHVMSTOR0012E": _("Specify type and path or type and pool/volume to = add a new virtual machine disk"), + "KCHVMSTOR0013E": _("Specify path to update virtual machine disk"), + "KCHVMSTOR0014E": _("Controller type %(type)s limitation of %(limit)s = devices reached"), + "KCHVMSTOR0015E": _("Cannot retrieve disk path information for given p= ool/volume: %(error)s"), + "KCHVMSTOR0016E": _("Volume already in use by other virtual machine."), + "KCHVMSTOR0017E": _("Only one of path or pool/volume can be specified = to add a new virtual machine disk"), + "KCHVMSTOR0018E": _("Volume chosen with format %(format)s does not fit= in the storage type %(type)s"), + + "KCHREPOS0001E": _("YUM Repository ID must be one word only string."), + "KCHREPOS0002E": _("Repository URL must be an http://, ftp:// or file:= // URL."), + "KCHREPOS0003E": _("Repository configuration is a dictionary with spec= ific values according to repository type."), + "KCHREPOS0004E": _("Distribution to DEB repository must be a string"), + "KCHREPOS0005E": _("Components to DEB repository must be listed in a a= rray"), + "KCHREPOS0006E": _("Components to DEB repository must be a string"), + "KCHREPOS0007E": _("Mirror list to repository must be a string"), + "KCHREPOS0008E": _("YUM Repository name must be string."), + "KCHREPOS0009E": _("GPG check must be a boolean value."), + "KCHREPOS0010E": _("GPG key must be a URL pointing to the ASCII-armore= d file."), + "KCHREPOS0011E": _("Could not update repository %(repo_id)s."), + "KCHREPOS0012E": _("Repository %(repo_id)s does not exist."), + "KCHREPOS0013E": _("Specify repository base URL, mirror list or metal= ink in order to create or update a YUM repository."), + "KCHREPOS0014E": _("Repository management tool was not recognized for = your system."), + "KCHREPOS0015E": _("Repository %(repo_id)s is already enabled."), + "KCHREPOS0016E": _("Repository %(repo_id)s is already disabled."), + "KCHREPOS0017E": _("Could not remove repository %(repo_id)s."), + "KCHREPOS0018E": _("Could not write repository configuration file %(re= po_file)s"), + "KCHREPOS0019E": _("Specify repository distribution in order to create= a DEB repository."), + "KCHREPOS0020E": _("Could not enable repository %(repo_id)s."), + "KCHREPOS0021E": _("Could not disable repository %(repo_id)s."), + "KCHREPOS0022E": _("YUM Repository ID already exists"), + "KCHREPOS0023E": _("YUM Repository name must be a string"), + "KCHREPOS0024E": _("Unable to list repositories. Details: '%(err)s'"), + "KCHREPOS0025E": _("Unable to retrieve repository information. Details= : '%(err)s'"), + "KCHREPOS0026E": _("Unable to add repository. Details: '%(err)s'"), + "KCHREPOS0027E": _("Unable to remove repository. Details: '%(err)s'"), + "KCHREPOS0028E": _("Configuration items: '%(items)s' are not supported= by repository manager"), + "KCHREPOS0029E": _("Repository metalink must be an http://, ftp:// or = file:// URL."), + "KCHREPOS0030E": _("Cannot specify mirrorlist and metalink at the same= time."), + + "KCHSNAP0001E": _("Virtual machine '%(vm)s' must be stopped before cre= ating a snapshot of it."), + "KCHSNAP0002E": _("Unable to create snapshot '%(name)s' on virtual mac= hine '%(vm)s'. Details: %(err)s"), + "KCHSNAP0003E": _("Snapshot '%(name)s' does not exist on virtual machi= ne '%(vm)s'."), + "KCHSNAP0004E": _("Unable to retrieve snapshot '%(name)s' on virtual m= achine '%(vm)s'. Details: %(err)s"), + "KCHSNAP0005E": _("Unable to list snapshots on virtual machine '%(vm)s= '. Details: %(err)s"), + "KCHSNAP0006E": _("Unable to delete snapshot '%(name)s' on virtual mac= hine '%(vm)s'. Details: %(err)s"), + "KCHSNAP0008E": _("Unable to retrieve current snapshot of virtual mach= ine '%(vm)s'. Details: %(err)s"), + "KCHSNAP0009E": _("Unable to revert virtual machine '%(vm)s' to snapsh= ot '%(name)s'. Details: %(err)s"), + "KCHSNAP0010E": _("Unable to create snapshot of virtual machine '%(vm)= s' because it contains a disk with format '%(format)s'; only 'qcow2' is sup= ported."), + + "KCHCPUINF0001E": _("The number of vCPUs is too large for this system.= "), + "KCHCPUINF0002E": _("Invalid vCPU/topology combination."), + "KCHCPUINF0003E": _("This host (or current configuration) does not all= ow CPU topology."), + +} diff --git a/src/wok/model/Makefile.am b/src/wok/model/Makefile.am new file mode 100644 index 0000000..a6ccbf0 --- /dev/null +++ b/src/wok/model/Makefile.am @@ -0,0 +1,25 @@ +# +# 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-130= 1 USA + +model_PYTHON =3D *.py + +modeldir =3D $(pythondir)/kimchi/model + +install-data-local: + $(MKDIR_P) $(DESTDIR)$(modeldir) diff --git a/src/wok/model/__init__.py b/src/wok/model/__init__.py new file mode 100644 index 0000000..ca7ede4 --- /dev/null +++ b/src/wok/model/__init__.py @@ -0,0 +1,18 @@ +# +# Project Kimchi +# +# Copyright IBM, Corp. 2014 +# +# 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-130= 1 USA diff --git a/src/wok/xmlutils/Makefile.am b/src/wok/xmlutils/Makefile.am new file mode 100644 index 0000000..73f86f4 --- /dev/null +++ b/src/wok/xmlutils/Makefile.am @@ -0,0 +1,25 @@ +# +# Kimchi +# +# Copyright IBM Corp, 2014 +# +# 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-130= 1 USA + +xmlutils_PYTHON =3D *.py + +xmlutilsdir =3D $(pythondir)/kimchi/xmlutils + +install-data-local: + $(MKDIR_P) $(DESTDIR)$(xmlutilsdir) diff --git a/src/wok/xmlutils/__init__.py b/src/wok/xmlutils/__init__.py new file mode 100644 index 0000000..ca7ede4 --- /dev/null +++ b/src/wok/xmlutils/__init__.py @@ -0,0 +1,18 @@ +# +# Project Kimchi +# +# Copyright IBM, Corp. 2014 +# +# 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-130= 1 USA diff --git a/ui/css/Makefile.am b/ui/css/Makefile.am new file mode 100644 index 0000000..f4f3dac --- /dev/null +++ b/ui/css/Makefile.am @@ -0,0 +1,26 @@ +# +# Kimchi +# +# Copyright IBM, Corp. 2013 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +EXTRA_DIST =3D theme-default + +cssdir =3D $(datadir)/kimchi/ui/css +dist_css_DATA =3D theme-default.min.css + +theme-default.min.css: theme-default/*.css + cat $^ > $@ + +CLEANFILES =3D theme-default.min.css diff --git a/ui/images/Makefile.am b/ui/images/Makefile.am new file mode 100644 index 0000000..7b63d23 --- /dev/null +++ b/ui/images/Makefile.am @@ -0,0 +1,22 @@ +# +# Kimchi +# +# Copyright IBM, Corp. 2013 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +SUBDIRS =3D theme-default + +imagedir =3D $(datadir)/kimchi/ui/images + +dist_image_DATA =3D *.png *.ico diff --git a/ui/images/logo.ico b/ui/images/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..446143f066a60f479b2cb8f8d04= ab3c97ff60e56 GIT binary patch literal 1214 zcma)*3rLeu6vyu=3DX_;nPV)$&PPF)r(wTQ|dTGOUtnOdf0mZ=3DcR#99xbub1{BqnD9^ z^Z>PV6h)fUny6#CN{3di2P{*h2ek(a)Oq0a4o*=3DI}2Iv?krbAR`oKi_vQA0faVCr83o zF{!X2#Dx$Nz}$(sm^sgRTbdw5^+BS=3DV54SJ|^z)5I7%kU;>-skiq*{ z5B^=3DeFt-HOi+bkR-wK1xpfXL;S=3Dc)0W4s|D{#(q9~vaX{rGms=3D((Wn*~LeWqIu} zkGvlzwaxjL25hey2bVweuH`ji2N7m}Xsj#j7-`#=3DDv}`)h&)9th^&^dR%>WH_MB8KcIXVf8p&s1xD|_k)R- zrk$Z0-|Gf}&4Au$KhU$k?3YR5by~D9M&-q$=3DocNz4!IY&p7%OxuJf&+Ei-G(23hU; zHTLhMtjFR9ExVbPQVLzBFlROcIZ|#jmX6fm_hsVa3XPQ zkcNnm%Ds?ggd^Rv2~9_o82cv;p6LSBD_g_s-n1uZ8#KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e(a)S=3Dj*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=3DH_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=3DX8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA(a)W-aonk<7r1(?fC{oI5N*U!4 zfg=3D2N-7=3DcNnjjOr{yriy6mMFgG#l znCF=3DfnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=3D*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=3DbP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3D3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=3DTTmp(3=3D8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w(a)Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=3DE(a)oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim(a)mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz(a)C5{St!X3hAA}`T4 z(TLbXTq+(;@<=3DL8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=3DcFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=3DpR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=3D$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=3D9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f(a)NoP1R=3DAW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC(a)Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=3DKYd^0M3I6IZxbny)%vZR&LD zJpPl(a)Psh8QyPB@KTx+(a)RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+(a)AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E(a)6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv(a)x#=3D^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=3D0000WV(a)Og>004R=3D004l4008;_004mL004C`008P>0026e000+nl3&F} z0001~NklMQ2qgPBk{XD$FDVh-E^lOy|E;2qe6N<`dd=3DIYe8TI+0p1?Vz!djeVjuLVFI zt6i=3D2>Iiylaa~&20iVF-U$~(+;0bss?Ku1Y(a)F9wb4}QKwE$URgR{P9UU8)c2y*e6p ohvWRhz!A$d6~#>G7g3=3D>Q#G^&cL#z*Q$%}FLnMWF=3D;0ky z&|yo<#f2xjw6^sJL}L+>rbk!=3DxqXGrqjf!~62S(a)ZUy&d_HeP zq|VMxrlzL$3=3DaS4p8z=3DmPEn&wyM2ed+_?sd}|g zDEv`2GBVPo-j0Z3L|jmxbYwD_l6og14yzZ{&P*orF`Lb $@ + +CLEANFILES =3D kimchi.min.js diff --git a/ui/pages/Makefile.am b/ui/pages/Makefile.am new file mode 100644 index 0000000..a22afc1 --- /dev/null +++ b/ui/pages/Makefile.am @@ -0,0 +1,22 @@ +# +# Kimchi +# +# Copyright IBM, Corp. 2013 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +SUBDIRS =3D help tabs websockify + +htmldir =3D $(datadir)/kimchi/ui/pages + +dist_html_DATA =3D $(wildcard *.tmpl) $(NULL) diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl new file mode 100644 index 0000000..f705613 --- /dev/null +++ b/ui/pages/i18n.json.tmpl @@ -0,0 +1,187 @@ +#* + * Project Kimchi + * + * Copyright IBM, Corp. 2014-2015 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *# +#unicode UTF-8 +#import gettext +#from kimchi.cachebust import href +#silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) +#silent _ =3D t.gettext +#silent _t =3D t.gettext +{ + "KCHAUTH6001E": "$_("The username or password you entered is incorrect= . Please try again.")", + "KCHAUTH6002E": "$_("This field is required.")", + + "KCHAUTH6001M": "$_("Log in")", + "KCHAUTH6002M": "$_("Logging in...")", + + "Host": "$_("Host")", + "Guests": "$_("Guests")", + "Templates": "$_("Templates")", + "Storage": "$_("Storage")", + "Network": "$_("Network")", + + "KCHAPI6002E": "$_("Failed to get application configuration")", + "KCHAPI6003E": "$_("This is not a valid Linux path")", + "KCHAPI6004E": "$_("This is not a valid URL.")", + "KCHAPI6005E": "$_("No such data available.")", + "KCHAPI6007E": "$_("Can not contact the host system. Verify the host s= ystem is up and that you have network connectivity to it. HTTP request resp= onse %1. ")", + "KCHAPI6008E": "$_("Unable to read file.")", + "KCHAPI6009E": "$_("Error while uploading file.")", + + "KCHAPI6001M": "$_("Delete Confirmation")", + "KCHAPI6002M": "$_("OK")", + "KCHAPI6003M": "$_("Cancel")", + "KCHAPI6004M": "$_("Confirm")", + "KCHAPI6005M": "$_("Create")", + "KCHAPI6006M": "$_("Warning")", + "KCHAPI6007M": "$_("Save")", + "KCHAPI6008M": "$_("Creating...")", + "KCHAPI6009M": "$_("Cloning...")", + + "KCHGRD6001M": "$_("Loading...")", + "KCHGRD6002M": "$_("An error occurred while retrieving system informat= ion.")", + "KCHGRD6003M": "$_("Retry")", + "KCHGRD6004M": "$_("Detailed message:")", + + "KCHTMPL6001W": "$_("No ISO found")", + + "KCHTMPL6002E": "$_("This is not a valid ISO file.")", + + "KCHTMPL6002M": "$_("This may take a long time. Do you want to continu= e?")", + "KCHTMPL6003M": "$_("This will permanently delete the template. Would = you like to continue?")", + + "KCHHOST6001E": "$_("Unable to shut down system as there are some virt= ual machines running!")", + + "KCHHOST6001M": "$_("Max:")", + "KCHHOST6002M": "$_("Utilization")", + "KCHHOST6003M": "$_("Available")", + "KCHHOST6004M": "$_("Read Rate")", + "KCHHOST6005M": "$_("Write Rate")", + "KCHHOST6006M": "$_("Received")", + "KCHHOST6007M": "$_("Sent")", + "KCHHOST6008M": "$_("Shutting down or restarting host will cause unsav= ed work lost. Continue to shut down/restarting?")", + + + "KCHREPO6001M": "$_("Confirm")", + "KCHREPO6002M": "$_("Repository will be removed permanently and can't = be recovered. Do you want to continue?")", + "KCHREPO6003M": "$_("Repositories")", + "KCHREPO6004M": "$_("ID")", + "KCHREPO6005M": "$_("Name")", + "KCHREPO6006M": "$_("Base URL")", + "KCHREPO6007M": "$_("Is Mirror")", + "KCHREPO6008M": "$_("URL Args")", + "KCHREPO6009M": "$_("Enabled")", + "KCHREPO6010M": "$_("GPG Check")", + "KCHREPO6011M": "$_("GPG Key")", + "KCHREPO6012M": "$_("Add")", + "KCHREPO6013M": "$_("Edit")", + "KCHREPO6014M": "$_("Remove")", + "KCHREPO6016M": "$_("Enable")", + "KCHREPO6017M": "$_("Disable")", + + + "KCHUPD6001M": "$_("Software Updates")", + "KCHUPD6002M": "$_("Package Name")", + "KCHUPD6003M": "$_("Version")", + "KCHUPD6004M": "$_("Architecture")", + "KCHUPD6005M": "$_("Repository")", + "KCHUPD6006M": "$_("Update All")", + "KCHUPD6007M": "$_("Updating...")", + "KCHUPD6008M": "$_("Failed to retrieve packages update information.")", + "KCHUPD6009M": "$_("Failed to update package(s).")", + + + "KCHDR6001M": "$_("Debug report will be removed permanently and can't = be recovered. Do you want to continue?")", + "KCHDR6002M": "$_("Debug Reports")", + "KCHDR6003M": "$_("Name")", + "KCHDR6005M": "$_("Generated Time")", + "KCHDR6006M": "$_("Generate")", + "KCHDR6007M": "$_("Generating...")", + "KCHDR6008M": "$_("Rename")", + "KCHDR6009M": "$_("Remove")", + "KCHDR6010M": "$_("Download")", + "KCHDR6011M": "$_("Report name should contain only letters, digits, un= derscore ('_') and/or hyphen ('-').")", + "KCHDR6012M": "$_("Pending...")", + "KCHDR6013M": "$_("Report name is the same as the original one.")", + + "KCHVM6001M": "$_("This will delete the virtual machine and its virtua= l disks. This operation cannot be undone. Would you like to continue?")", + "KCHVM6002M": "$_("Power off Confirmation")", + "KCHVM6003M": "$_("This action may produce undesirable results, " + "for example unflushed disk cache in the guest. " + "Would you like to continue?")", + "KCHVM6004M": "$_("Reset Confirmation")", + "KCHVM6005M": "$_("There is a risk of data loss caused by reset withou= t" + " the guest OS shutdown. Would you like to continue?= ")", + "KCHVM6006M": "$_("Shut Down Confirmation")", + "KCHVM6007M": "$_("Note the guest OS may ignore this request. Would yo= u like to continue?")", + "KCHVM6008M": "$_("Virtual Machine delete Confirmation")", + "KCHVM6009M": "$_("This virtual machine is not persistent. Power Off w= ill delete it. Continue?")", + "KCHVM6010M": "$_("When the target guest has SCSI or iSCSI volumes, th= ey will be cloned on default storage pool. The same will happen when the ta= rget pool does not have enough space to clone the volumes. Do you want to c= ontinue?")", + + "KCHVMCD6001M": "$_("This CDROM will be detached permanently and you c= an re-attach it. Continue to detach it?")", + "KCHVMCD6002M": "$_("Attach")", + "KCHVMCD6003M": "$_("Attaching...")", + "KCHVMCD6004M": "$_("Replace")", + "KCHVMCD6005M": "$_("Replacing...")", + "KCHVMCD6006M": "$_("Successfully attached!")", + "KCHVMCD6007M": "$_("Successfully replaced!")", + "KCHVMCD6008M": "$_("Successfully detached!")", + "KCHVMCD6009M": "$_("This disk will be detached permanently and you ca= n re-attach it. Continue to detach it?")", + + "KCHVMED6001M": "$_("interface:")", + "KCHVMED6002M": "$_("address:")", + "KCHVMED6003M": "$_("link_type:")", + "KCHVMED6004M": "$_("block:")", + "KCHVMED6005M": "$_("drive_type:")", + "KCHVMED6006M": "$_("model:")", + "KCHVMED6007M": "$_("Affected devices:")", + + "KCHNET6001E": "$_("The VLAN id must be between 1 and 4094.")", + + "KCHNET6001M": "$_("unavailable")", + "KCHNET6002M": "$_("This action will interrupt network connectivity fo= r any virtual machine that depend on this network.")", + "KCHNET6003M": "$_("Create a network")", + "KCHNET6004M": "$_("This network is not persistent. Instead of stop, t= his action will permanently delete it. Would you like to continue?")", + "KCHNET6001W": "$_("The bridged VLAN tag may not work well with Networ= kManager enabled. You should consider disabling it.")", + + "KCHPOOL6001M": "$_("This will permanently delete the storage pool. Wo= uld you like to continue?")", + "KCHPOOL6002M": "$_("This storage pool is empty.")", + "KCHPOOL6003M": "$_("It will format your disk and you will loose any d= ata in there, are you sure to continue? ")", + "KCHPOOL6004M": "$_("SCSI Fibre Channel")", + "KCHPOOL6005M": "$_("No SCSI adapters found.")", + "KCHPOOL6006M": "$_("Loading iSCSI targets...")", + "KCHPOOL6007M": "$_("No iSCSI found. Please input one.")", + "KCHPOOL6008M": "$_("Failed to load iSCSI targets.")", + + "KCHPOOL6001E": "$_("The storage pool name can not be blank.")", + "KCHPOOL6002E": "$_("The storage pool path can not be blank.")", + "KCHPOOL6003E": "$_("NFS server mount path can not be blank.")", + "KCHPOOL6005E": "$_("Invalid NFS mount path.")", + "KCHPOOL6006E": "$_("No logical device selected.")", + "KCHPOOL6007E": "$_("The iSCSI target can not be blank.")", + "KCHPOOL6008E": "$_("Server name can not be blank.")", + "KCHPOOL6009E": "$_("This is not a valid Server Name or IP. Please, mo= dify it.")", + "KCHPOOL6010M": "$_("Looking for available partitions ...")", + "KCHPOOL6011M": "$_("No available partitions found.")", + "KCHPOOL6012M": "$_("This storage pool is not persistent. Instead of d= eactivate, this action will permanently delete it. Would you like to contin= ue?")", + "KCHPOOL6013M": "$_("Unable to retrieve partitions information.")", + "KCHPOOL6014M": "$_("In progress...")", + "KCHPOOL6015M": "$_("Failed!")", + + "KCHVMSTOR0001E": "$_("CDROM path needs to be a valid local/remote pat= h and cannot be blank.")", + "KCHVMSTOR0002E": "$_("Disk pool or volume cannot be blank.")" +} diff --git a/ui/robots.txt b/ui/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/ui/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / -- = 1.7.1 --===============3387197111491837051==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:34 2015 Content-Type: multipart/mixed; boundary="===============3287163151469711711==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 06/34] Update wok docs Date: Wed, 08 Jul 2015 16:17:38 -0300 Message-ID: <1436383086-19140-7-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============3287163151469711711== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Fix and update COPYING file - Add API and README docs to reflect new changes introduced by wok. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- COPYING | 8 +++--- README.md | 1 + docs/API.md | 46 ++++++++++++++++++++++++++++++++++++++++ docs/README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 4 files changed, 115 insertions(+), 4 deletions(-) create mode 120000 README.md create mode 100644 docs/API.md create mode 100644 docs/README.md diff --git a/COPYING b/COPYING index aca8f01..4cc4028 100644 --- a/COPYING +++ b/COPYING @@ -1,9 +1,9 @@ -Kimchi is distributed pursuant to the terms of two different licenses. -The user interface (located in ui/ in this distribution) is governed by -the Apache License version 2.0. +Wok/Kimchi are distributed pursuant to the terms of two different licenses. +The user interface (located in ui/ and plugins/kimchi/ui in this distribut= ion) +is governed by the Apache License version 2.0. = Except the imported code under the following directories: -- ui/spice-html5 which is imported from spice-html5 project +- plugins/kimchi/ui/spice-html5 which is imported from spice-html5 project (http://cgit.freedesktop.org/spice/spice-html5); - ui/libs which is imported from JQuery UI (http://jqueryui.com); - ui/fontello which is generated by http://fontello.com open source projec= t. diff --git a/README.md b/README.md new file mode 120000 index 0000000..0e01b43 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +docs/README.md \ No newline at end of file diff --git a/docs/API.md b/docs/API.md new file mode 100644 index 0000000..67d966e --- /dev/null +++ b/docs/API.md @@ -0,0 +1,46 @@ +## Wok REST API Specification + +The API provides functionality to the application and may be used directly= by +external tools. In the following sections you will find the specification= of +all Collections and Resource types that are supported and the URIs where t= hey +can be accessed. In order to use the API effectively, please the following +general conventions: + +* The **Content Type** of the API is JSON. When making HTTP requests to t= his + API you should specify the following headers: + * Accept: application/json + * Content-type: application/json +* A **Collection** is a group of Resources of a given type. + * A **GET** request retrieves a list of summarized Resource representa= tions + This summary *may* include all or some of the Resource properties but + *must* include a link to the full Resource representation. + * A **POST** request will create a new Resource in the Collection. The= set + of Resource properties *must* be specified as a JSON object in the r= equest + body. + * No other HTTP methods are supported for Collections +* A **Resource** is a representation of a singular object in the API (eg. + Virtual Machine). + * A **GET** request retrieves the full Resource representation. + * A **DELETE** request will delete the Resource. This request *may* co= ntain + a JSON object which specifies optional parameters. + * A **PUT** request is used to modify the properties of a Resource (eg. + Change the name of a Virtual Machine). This kind of request *must no= t* + alter the live state of the Resource. Only *actions* may alter live = state. + * A **POST** request commits an *action* upon a Resource (eg. Start a + Virtual Machine). This request is made to a URI relative to the Reso= urce + URI. Available *actions* are described within the *actions* property= of a + Resource representation. The request body *must* contain a JSON obj= ect + which specifies parameters. +* URIs begin with '/' to indicate Wok server root. + * Variable segments in the URI begin with a ':' and should replaced wi= th the + appropriate resource identifier. + + +### Collection: Plugins + +**URI:** /plugins + +**Methods:** + +* **GET**: Retrieve a summarized list names of all UI Plugins + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..1b31ccf --- /dev/null +++ b/docs/README.md @@ -0,0 +1,64 @@ +Wok (Webserver Originated from Kimchi) +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Wok is a cherrypy-based web framework with HTML5 support that is extended = by +plugins which expose functionality through REST APIs. + +Examples of such plugins are Kimchi (Virtualization Management) and Ginger +(System Administration). Wok comes with a sample plugin for education purp= oses. + +Wok runs through wokd daemon. + + +Build and Install +----------------- + + $ ./autogen.sh --system + $ make + $ sudo make install # Optional if running from the source tree + + +Run +--- + + $ sudo wokd --host=3D0.0.0.0 + +If you cannot access Wok, take a look at these 2 points: + +1. Firewall +Wok uses by default the ports 8000, 8001 and 64667. To allow incoming conn= ections: + + For system using firewalld, do: + sudo firewall-cmd --add-port=3D8000/tcp --permanent + sudo firewall-cmd --add-port=3D8001/tcp --permanent + sudo firewall-cmd --add-port=3D64667/tcp --permanent + sudo firewall-cmd --reload + + For openSUSE systems, do: + sudo /sbin/SuSEfirewall2 open EXT TCP 8000 + sudo /sbin/SuSEfirewall2 open EXT TCP 8001 + sudo /sbin/SuSEfirewall2 open EXT TCP 64667 + + For system using iptables, do: + sudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPT + sudo iptables -A INPUT -p tcp --dport 8001 -j ACCEPT + sudo iptables -A INPUT -p tcp --dport 64667 -j ACCEPT + + Don't forget to correctly save the rules. + + +2. SELinux +Allow httpd_t context for Wok web server: + + semanage permissive -a httpd_t + + +Participating +------------- + +All patches are sent through our mailing list hosted by oVirt. More +information can be found at: + +https://github.com/kimchi-project/kimchi/wiki/Communications + +Patches should be sent using git-send-email to kimchi-devel(a)ovirt.org. -- = 1.7.1 --===============3287163151469711711==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:35 2015 Content-Type: multipart/mixed; boundary="===============4452202522492915000==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 07/34] Update kimchi plugin docs Date: Wed, 08 Jul 2015 16:17:39 -0300 Message-ID: <1436383086-19140-8-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============4452202522492915000== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Update kimchi plugin documentation to reflect new plugin structure. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- plugins/kimchi/docs/API.md | 112 ++++++++++++++------------= ---- plugins/kimchi/docs/README-federation.md | 18 +++--- plugins/kimchi/docs/README.md | 37 +++++++--- 3 files changed, 86 insertions(+), 81 deletions(-) diff --git a/plugins/kimchi/docs/API.md b/plugins/kimchi/docs/API.md index e022c9e..bfefeab 100644 --- a/plugins/kimchi/docs/API.md +++ b/plugins/kimchi/docs/API.md @@ -31,13 +31,13 @@ the following general conventions: URI. Available *actions* are described within the *actions* property= of a Resource representation. The request body *must* contain a JSON obj= ect which specifies parameters. -* URIs begin with a '/' to indicate the root of the API. +* URIs begin with '/plugins/kimchi' to indicate the root of Kimchi plugin. * Variable segments in the URI begin with a ':' and should replaced wi= th the appropriate resource identifier. = ### Collection: Virtual Machines = -**URI:** /vms +**URI:** /plugins/kimchi/vms = **Methods:** = @@ -61,7 +61,7 @@ the following general conventions: = ### Resource: Virtual Machine = -**URI:** /vms/*:name* +**URI:** /plugins/kimchi/vms/*:name* = **Methods:** = @@ -149,7 +149,7 @@ the following general conventions: = ### Sub-resource: Virtual Machine Screenshot = -**URI:** /vms/*:name*/screenshot +**URI:** /plugins/kimchi/vms/*:name*/screenshot = Represents a snapshot of the Virtual Machine's primary monitor. = @@ -159,7 +159,7 @@ Represents a snapshot of the Virtual Machine's primary = monitor. = = ### Sub-collection: Virtual Machine storages -**URI:** /vms/*:name*/storages +**URI:** /plugins/kimchi/vms/*:name*/storages * **GET**: Retrieve a summarized list of all storages of specified guest * **POST**: Attach a new storage or virtual drive to specified virtual mac= hine. * type: The type of the storage (currently support 'cdrom' and 'disk'). @@ -168,7 +168,7 @@ Represents a snapshot of the Virtual Machine's primary = monitor. * vol: Storage volume name of disk image. = ### Sub-resource: storage -**URI:** /vms/*:name*/storages/*:dev* +**URI:** /plugins/kimchi/vms/*:name*/storages/*:dev* * **GET**: Retrieve storage information * dev: The name of the storage in the vm. * type: The type of the storage (currently support 'cdrom' and 'disk'). @@ -182,28 +182,28 @@ Represents a snapshot of the Virtual Machine's primar= y monitor. = = ### Sub-collection: Virtual Machine Passthrough Devices -**URI:** /vms/*:name*/hostdevs +**URI:** /plugins/kimchi/vms/*:name*/hostdevs * **GET**: Retrieve a summarized list of all directly assigned host device= of specified guest. * **POST**: Directly assign a host device to guest. * name: The name of the host device to be assigned to vm. = ### Sub-resource: Device -**URI:** /vms/*:name*/hostdevs/*:dev* +**URI:** /plugins/kimchi/vms/*:name*/hostdevs/*:dev* * **GET**: Retrieve assigned device information * name: The name of the assigned device. * type: The type of the assigned device. * **DELETE**: Detach the host device from VM. = ### Sub-collection: Virtual Machine Snapshots -**URI:** /vms/*:name*/snapshots +**URI:** /plugins/kimchi/vms/*:name*/snapshots * **POST**: Create a new snapshot on a VM. * name: The snapshot name (optional, defaults to a value based on the current time). * **GET**: Retrieve a list of snapshots on a VM. = ### Sub-resource: Snapshot -**URI:** /vms/*:name*/snapshots/*:snapshot* +**URI:** /plugins/kimchi/vms/*:name*/snapshots/*:snapshot* * **GET**: Retrieve snapshot information. * created: The time when the snapshot was created (in seconds, since the epoch). @@ -220,12 +220,12 @@ Represents a snapshot of the Virtual Machine's primar= y monitor. * revert: Revert the domain to the given snapshot. = ### Sub-resource: Current snapshot -**URI:** /vms/*:name*/snapshots/current +**URI:** /plugins/kimchi/vms/*:name*/snapshots/current * **GET**: Retrieve current snapshot information for the virtual machine. = ### Collection: Templates = -**URI:** /templates +**URI:** /plugins/kimchi/templates = **Methods:** = @@ -270,7 +270,7 @@ Represents a snapshot of the Virtual Machine's primary = monitor. = ### Sub-Collection: Virtual Machine Network Interfaces = -**URI:** /vms/*:name*/ifaces +**URI:** /plugins/kimchi/vms/*:name*/ifaces = Represents all network interfaces attached to a Virtual Machine. = @@ -289,7 +289,7 @@ Represents all network interfaces attached to a Virtual= Machine. = ### Sub-Resource: Virtual Machine Network Interface = -**URI:** /vms/*:name*/ifaces/*:mac* +**URI:** /plugins/kimchi/vms/*:name*/ifaces/*:mac* = A interface represents available network interface on VM. = @@ -324,7 +324,7 @@ A interface represents available network interface on V= M. = ### Resource: Template = -**URI:** /templates/*:name* +**URI:** /plugins/kimchi/templates/*:name* = **Methods:** = @@ -397,7 +397,7 @@ A interface represents available network interface on V= M. = ### Collection: Storage Pools = -**URI:** /storagepools +**URI:** /plugins/kimchi/storagepools = **Methods:** = @@ -428,7 +428,7 @@ A interface represents available network interface on V= M. = ### Resource: Storage Pool = -**URI:** /storagepools/*:name* +**URI:** /plugins/kimchi/storagepools/*:name* = **Methods:** = @@ -473,7 +473,7 @@ A interface represents available network interface on V= M. = ### Collection: Storage Volumes = -**URI:** /storagepools/*:poolname*/storagevolumes +**URI:** /plugins/kimchi/storagepools/*:poolname*/storagevolumes = **Methods:** = @@ -493,7 +493,7 @@ A interface represents available network interface on V= M. = ### Resource: Storage Volume = -**URI:** /storagepools/*:poolname*/storagevolumes/*:name* +**URI:** /plugins/kimchi/storagepools/*:poolname*/storagevolumes/*:name* = **Methods:** = @@ -531,7 +531,7 @@ A interface represents available network interface on V= M. = ### Collection: Interfaces = -**URI:** /interfaces +**URI:** /plugins/kimchi/interfaces = **Methods:** = @@ -539,7 +539,7 @@ A interface represents available network interface on V= M. = ### Resource: Interface = -**URI:** /interfaces/*:name* +**URI:** /plugins/kimchi/interfaces/*:name* = A interface represents available interface on host. = @@ -570,7 +570,7 @@ A interface represents available interface on host. = ### Collection: Networks = -**URI:** /networks +**URI:** /plugins/kimchi/networks = **Methods:** = @@ -592,7 +592,7 @@ A interface represents available interface on host. = ### Resource: Network = -**URI:** /networks/*:name* +**URI:** /plugins/kimchi/networks/*:name* = **Methods:** = @@ -637,7 +637,7 @@ A interface represents available interface on host. = ### Collection: Tasks = -**URI:** /tasks +**URI:** /plugins/kimchi/tasks = **Methods:** = @@ -645,7 +645,7 @@ A interface represents available interface on host. = ### Resource: Task = -**URI:** /tasks/*:id* +**URI:** /plugins/kimchi/tasks/*:id* = A task represents an asynchronous operation that is being performed by the server. @@ -668,7 +668,7 @@ server. = ### Resource: Configuration = -**URI:** /config +**URI:** /plugins/kimchi/config = Contains information about the application environment and configuration. = @@ -685,7 +685,7 @@ Contains information about the application environment = and configuration. = ### Resource: Capabilities = -**URI:** /config/capabilities +**URI:** /plugins/kimchi/config/capabilities = Contains information about the host capabilities: iso streaming, screenshot creation. @@ -716,7 +716,7 @@ creation. = ### Collection: Storage Servers = -**URI:** /storageservers +**URI:** /plugins/kimchi/storageservers = **Methods:** = @@ -727,7 +727,7 @@ creation. = ### Resource: Storage Server = -**URI:** /storageservers/*:host* +**URI:** /plugins/kimchi/storageservers/*:host* = **Methods:** = @@ -737,7 +737,7 @@ creation. = ### Collection: Storage Targets = -**URI:** /storageservers/*:name*/storagetargets +**URI:** /plugins/kimchi/storageservers/*:name*/storagetargets = **Methods:** = @@ -754,7 +754,7 @@ creation. = ### Collection: Distros = -**URI:** /config/distros +**URI:** /plugins/kimchi/config/distros = **Methods:** = @@ -762,7 +762,7 @@ creation. = ### Resource: Distro = -**URI:** /config/distros/*:name* +**URI:** /plugins/kimchi/config/distros/*:name* = Contains information about the OS distribution. = @@ -780,7 +780,7 @@ Contains information about the OS distribution. = #### Collection: Debug Reports = -**URI:** /debugreports +**URI:** /plugins/kimchi/debugreports = **Methods:** = @@ -792,7 +792,7 @@ Contains information about the OS distribution. = ### Resource: Debug Report = -**URI:** /debugreports/*:name* +**URI:** /plugins/kimchi/debugreports/*:name* = A Debug Report is an archive of logs and other information about the host = that is used to diagnose and debug problems. The exact format and contents are @@ -819,7 +819,7 @@ specific to the low level collection tool being used. = ### Sub-resource: Debug Report content = -**URI:** /debugreports/*:name*/content +**URI:** /plugins/kimchi/debugreports/*:name*/content = It is the sub-resource of Debug Report and the client use it to get the re= al content of the Debug Report file from the server @@ -832,7 +832,7 @@ of the Debug Report file from the server = ### Resource: Host = -**URI:** /host +**URI:** /plugins/kimchi/host Contains information of host. = **Methods:** @@ -859,7 +859,7 @@ Contains information of host. = ### Resource: Users = -**URI:** /users +**URI:** /plugins/kimchi/users List of available users. = **Methods:** @@ -871,7 +871,7 @@ List of available users. = ### Resource: Groups = -**URI:** /groups +**URI:** /plugins/kimchi/groups List of available groups. = **Methods:** @@ -880,7 +880,7 @@ List of available groups. = ### Resource: HostStats = -**URI:** /host/stats +**URI:** /plugins/kimchi/host/stats = Contains the host sample data. = @@ -912,7 +912,7 @@ Contains the host sample data. = ### Resource: HostStats = -**URI:** /host/cpuinfo +**URI:** /plugins/kimchi/host/cpuinfo = The cores and sockets of a hosts's CPU. Useful when sizing VMs to take advantages of the perforamance benefits of SMT (Power) or Hyper-Threading = (Intel). @@ -936,7 +936,7 @@ advantages of the perforamance benefits of SMT (Power) = or Hyper-Threading (Intel = ### Resource: HostStatsHistory = -**URI:** /host/stats/history +**URI:** /plugins/kimchi/host/stats/history = It is the sub-resource of Host Stats and the client uses it to get the host stats history @@ -962,17 +962,9 @@ stats history = *No actions defined* = -### Collection: Plugins - -**URI:** /plugins - -**Methods:** - -* **GET**: Retrieve a summarized list names of all UI Plugins - ### Collection: Partitions = -**URI:** /host/partitions +**URI:** /plugins/kimchi/host/partitions = **Methods:** = @@ -980,7 +972,7 @@ stats history = ### Resource: Partition = -**URI:** /host/partitions/*:name* +**URI:** /plugins/kimchi/host/partitions/*:name* = **Methods:** = @@ -998,7 +990,7 @@ stats history = ### Collection: Devices = -**URI:** /host/devices +**URI:** /plugins/kimchi/host/devices = **Methods:** = @@ -1016,7 +1008,7 @@ stats history = ### Resource: Device = -**URI:** /host/devices/*:name* +**URI:** /plugins/kimchi/host/devices/*:name* = **Methods:** = @@ -1045,11 +1037,11 @@ stats history = = ### Sub-collection: VMs with the device assigned. -**URI:** /host/devices/*:name*/vmholders +**URI:** /plugins/kimchi/host/devices/*:name*/vmholders * **GET**: Retrieve a summarized list of all VMs holding the device. = ### Sub-resource: VM holder -**URI:** /host/devices/*:name*/vmholders/*:vm* +**URI:** /plugins/kimchi/host/devices/*:name*/vmholders/*:vm* * **GET**: Retrieve information of the VM which is holding the device * name: The name of the VM. * state: The power state of the VM. Could be "running" and "shutdown". @@ -1057,7 +1049,7 @@ stats history = ### Collection: Host Packages Update = -**URI:** /host/packagesupdate +**URI:** /plugins/kimchi/host/packagesupdate = Contains the information and action of packages update in the host. = @@ -1067,7 +1059,7 @@ Contains the information and action of packages updat= e in the host. = ### Resource: Host Package Update = -**URI:** /host/packagesupdate/*:name* +**URI:** /plugins/kimchi/host/packagesupdate/*:name* = Contains the information for a specific package to be updated. = @@ -1081,7 +1073,7 @@ Contains the information for a specific package to be= updated. = ### Collection: Host Repositories = -**URI:** /host/repositories +**URI:** /plugins/kimchi/host/repositories = **Methods:** = @@ -1101,7 +1093,7 @@ http://, ftp:// or file:// URL. = ### Resource: Repository = -**URI:** /host/repositories/*:repo-id* +**URI:** /plugins/kimchi/host/repositories/*:repo-id* = **Methods:** = @@ -1147,7 +1139,7 @@ http://, ftp:// or file:// URL. = ### Collection: Peers = -**URI:** /peers +**URI:** /plugins/kimchi/peers = **Methods:** = diff --git a/plugins/kimchi/docs/README-federation.md b/plugins/kimchi/docs= /README-federation.md index b71a172..c184f4f 100644 --- a/plugins/kimchi/docs/README-federation.md +++ b/plugins/kimchi/docs/README-federation.md @@ -1,11 +1,11 @@ Kimchi Project - Federation Feature =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -Federation feature is a mechanism to discover Kimchi peers in the same net= work. -It uses openSLP tool (http://www.openslp.org/) to register and find the Ki= mchi +Federation feature is a Kimchi mechanism to discover Wok peers in the same +network. It uses openSLP tool (http://www.openslp.org/) to register and fi= nd Wok servers. = -By default this feature is disabled on Kimchi as it is not critical for KVM +By default this feature is disabled on Wok as it is not critical for KVM virtualization and requires additional software installation. = To enable it, do the following: @@ -43,18 +43,18 @@ To enable it, do the following: For system using iptables, do: sudo iptables -A INPUT -s -j ACCEPT = -4. Start slpd service and make sure it is up while running Kimchi +4. Start slpd service and make sure it is up while running Wok sudo service slpd start = -5. Enable federation on Kimchi by editing the /etc/kimchi/kimchi.conf file: +5. Enable federation on Wok by editing the /etc/wok/wok.conf file: = federation =3D on = -6. Then start Kimchi service - sudo service kimchid start +6. Then start Wok service + sudo service wokd start = -The Kimchi server will be registered on openSLP on server starting up and = will -be found by other Kimchi peers (with federation feature enabled) in the sa= me +The Wok server will be registered on openSLP on server starting up and will +be found by other Wok peers (with federation feature enabled) in the same network. = Enjoy! diff --git a/plugins/kimchi/docs/README.md b/plugins/kimchi/docs/README.md index 034a591..f400333 100644 --- a/plugins/kimchi/docs/README.md +++ b/plugins/kimchi/docs/README.md @@ -4,9 +4,10 @@ Kimchi Project Kimchi is an HTML5 based management tool for KVM. It is designed to make i= t as easy as possible to get started with KVM and create your first guest. = -Kimchi runs as a daemon on the hypervisor host. It manages KVM guests thro= ugh -libvirt. The management interface is accessed over the web using a browser= that -supports HTML5. +Kimchi runs as a Wok plugin. Wok runs as a daemon on the hypervisor host. + +Kimchi manages KVM guests through libvirt. The management interface is acc= essed +over the web using a browser that supports HTML5. = Browser Support =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -33,11 +34,11 @@ find. Hypervisor Distro Support =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D = -Kimchi daemon might run on any GNU/Linux distribution that meets the condi= tions +Kimchi and Wok might run on any GNU/Linux distribution that meets the cond= itions described on the 'Getting Started' section below. = -The Kimchi community makes an effort to test with the latest versions of F= edora, -RHEL, OpenSuSe, and Ubuntu. +The Kimchi community makes an effort to test it with the latest versions of +Fedora, RHEL, OpenSuSe, and Ubuntu. = Getting Started =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -125,6 +126,17 @@ information on how configure your system to access thi= s repository. = Build and Install ----------------- + + Wok: + $ ./autogen.sh --system + + $ make + $ sudo make install # Optional if running from the source tree + + + Kimchi: + $ cd plugins/kimchi + For openSUSE 13.1: $ ./autogen.sh --with-spice-html5 = @@ -137,12 +149,12 @@ Build and Install Run --- = - $ sudo kimchid --host=3D0.0.0.0 + $ sudo wokd --host=3D0.0.0.0 = -If you cannot access Kimchi, take a look at these 2 points: +If you cannot access Wok, take a look at these 2 points: = 1. Firewall -Kimchi uses by default the ports 8000, 8001 and 64667. To allow incoming c= onnections: +Wok uses by default the ports 8000, 8001 and 64667. To allow incoming conn= ections: = For system using firewalld, do: sudo firewall-cmd --add-port=3D8000/tcp --permanent @@ -164,7 +176,7 @@ Kimchi uses by default the ports 8000, 8001 and 64667. = To allow incoming connect = = 2. SELinux -Allow httpd_t context for Kimchi web server: +Allow httpd_t context for Wok web server: = semanage permissive -a httpd_t = @@ -172,6 +184,7 @@ Allow httpd_t context for Kimchi web server: Test ---- = + $ cd plugins/kimchi $ make check-local # check for i18n and formatting errors $ sudo make check = @@ -183,9 +196,9 @@ Usage = Connect your browser to https://localhost:8001. You should see a screen l= ike: = -![Kimchi Login Screen](/docs/kimchi-login.png) +![Wok Login Screen](/docs/kimchi-login.png) = -Kimchi uses PAM to authenticate users so you can log in with the same user= name +Wok uses PAM to authenticate users so you can log in with the same username and password that you would use to log in to the machine itself. Once log= ged in you will see a screen like: = -- = 1.7.1 --===============4452202522492915000==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:47 2015 Content-Type: multipart/mixed; boundary="===============1883094039823390103==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 08/34] Update wok build files Date: Wed, 08 Jul 2015 16:17:40 -0300 Message-ID: <1436383086-19140-9-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============1883094039823390103== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Update autoconf and all build files to the new directory structure Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- .gitignore | 18 +++--- Makefile.am | 91 +++++++++++++++-------------= --- configure.ac | 38 +++---------- contrib/Makefile.am | 12 ++-- docs/Makefile.am | 9 +-- plugins/Makefile.am | 2 +- po/Makevars | 2 +- po/POTFILES.in | 3 +- po/gen-pot.in | 2 +- src/Makefile.am | 24 ++++---- src/nginx/Makefile.am | 6 +- src/wok/Makefile.am | 18 +++--- src/wok/config.py.in | 2 +- src/wok/control/Makefile.am | 4 +- src/wok/model/Makefile.am | 2 +- src/wok/xmlutils/Makefile.am | 2 +- ui/Makefile.am | 4 +- ui/css/Makefile.am | 2 +- ui/images/Makefile.am | 4 +- ui/images/theme-default/Makefile.am | 2 +- ui/js/Makefile.am | 8 ++-- ui/libs/Makefile.am | 2 +- ui/libs/themes/base/Makefile.am | 2 +- ui/libs/themes/base/images/Makefile.am | 2 +- ui/pages/Makefile.am | 4 +- ui/pages/websockify/Makefile.am | 2 +- 26 files changed, 118 insertions(+), 149 deletions(-) diff --git a/.gitignore b/.gitignore index b3988b6..a9bbc16 100644 --- a/.gitignore +++ b/.gitignore @@ -18,19 +18,20 @@ configure config.log config.status contrib/DEBIAN/control -contrib/kimchi.spec.fedora -contrib/kimchi.spec.suse +contrib/wok.spec.fedora +contrib/wok.spec.suse contrib/make-deb.sh -docs/kimchid.8 +docs/wokd.8 *.min.css *.min.js *.gmo stamp-po -kimchi-*.tar.gz -src/kimchid -src/kimchi.conf -src/nginx/kimchi.conf -src/kimchi/config.py +wok-*.tar.gz +wok.spec +src/wokd +src/wok.conf +src/nginx/wok.conf +src/wok/config.py tests/run_tests.sh tests/test_config.py plugins/sample/po/POTFILES @@ -40,4 +41,3 @@ po/gen-pot *.orig *.rej *.pem -ui/pages/help/*/*.html diff --git a/Makefile.am b/Makefile.am index 0e6e59e..dfc7576 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,9 +16,9 @@ # 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-130= 1 USA -SUBDIRS =3D src ui docs contrib tests po config plugins +SUBDIRS =3D src ui docs contrib po plugins = -man_MANS =3D docs/kimchid.8 +man_MANS =3D docs/wokd.8 = AUTOMAKE_OPTIONS =3D foreign = @@ -35,12 +35,12 @@ EXTRA_DIST =3D \ $(NULL) = = -PEP8_BLACKLIST =3D *src/kimchi/config.py,*src/kimchi/i18n.py,*tests/test_c= onfig.py +PEP8_BLACKLIST =3D *src/wok/config.py,*src/wok/i18n.py = -SKIP_PYFLAKES_ERR =3D "\./src/kimchi/websocket\.py" +SKIP_PYFLAKES_ERR =3D "\./src/wok/websocket\.py" = I18N_FILES =3D plugins/*/i18n.py \ - src/kimchi/i18n.py \ + src/wok/i18n.py \ $(NULL) = check-local: @@ -60,7 +60,7 @@ all-local: while read L && test -n "$$L"; do \ dir=3Dmo/$$L/LC_MESSAGES ; \ $(MKDIR_P) $$dir ; \ - ln -sf ../../../po/$$L.gmo $$dir/kimchi.mo ; \ + ln -sf ../../../po/$$L.gmo $$dir/wok.mo ; \ done < po/LINGUAS = # @@ -69,44 +69,41 @@ all-local: = 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)/var/lib/wok/vnc-tokens + touch $(DESTDIR)/var/lib/wok/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)/contrib/wokd-upstart.conf.debian \ + $(DESTDIR)/etc/init/wokd.conf cp -R $(top_srcdir)/src/firewalld.xml \ - $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml + $(DESTDIR)/usr/lib/firewalld/services/wokd.xml = = deb: contrib/make-deb.sh $(top_srcdir)/contrib/make-deb.sh = -kimchi.spec: contrib/kimchi.spec.fedora contrib/kimchi.spec.suse +wok.spec: contrib/wok.spec.fedora contrib/wok.spec.suse @if test -e /etc/redhat-release; then \ - ln -sf contrib/kimchi.spec.fedora $@ ; \ + ln -sf contrib/wok.spec.fedora $@ ; \ elif test -e /etc/SuSE-release; then \ - ln -sf contrib/kimchi.spec.suse $@ ; \ + ln -sf contrib/wok.spec.suse $@ ; \ else \ echo "Unable to select a spec file for RPM build" ; \ /bin/false ; \ fi = -rpm: dist kimchi.spec +rpm: dist wok.spec $(MKDIR_P) rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS - cp $(top_srcdir)/kimchi.spec rpm/SPECS/kimchi.spec + cp $(top_srcdir)/wok.spec rpm/SPECS/wok.spec cp $(DIST_ARCHIVES) rpm/SOURCES - rpmbuild -ba --define "_topdir `pwd`/rpm" rpm/SPECS/kimchi.spec + rpmbuild -ba --define "_topdir `pwd`/rpm" rpm/SPECS/wok.spec = -fedora-rpm: contrib/kimchi.spec.fedora - ln -sf contrib/kimchi.spec.fedora kimchi.spec +fedora-rpm: contrib/wok.spec.fedora + ln -sf contrib/wok.spec.fedora wok.spec $(MAKE) rpm = -suse-rpm: contrib/kimchi.spec.suse - ln -sf contrib/kimchi.spec.suse kimchi.spec +suse-rpm: contrib/wok.spec.suse + ln -sf contrib/wok.spec.suse wok.spec $(MAKE) rpm = ChangeLog: @@ -117,39 +114,39 @@ ChangeLog: install-data-local: @if test -d "$(systemdsystemunitdir)" ; then \ mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ - $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsyste= munitdir)/kimchid.service; \ + $(INSTALL_DATA) contrib/wokd.service.fedora $(DESTDIR)/$(systemdsystemun= itdir)/wokd.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; \ + $(INSTALL_DATA) contrib/wokd.sysvinit $(DESTDIR)/etc/init.d/wokd; \ + chmod +x $(DESTDIR)/etc/init.d/wokd; \ 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; \ + $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/= wokd.xml; \ fi; \ - mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,i= sos} - 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 + mkdir -p $(DESTDIR)/var/lib/wok/vnc-tokens + touch $(DESTDIR)/var/lib/wok/objectstore + mkdir -p $(DESTDIR)/var/log/wok/ + touch $(DESTDIR)/var/log/wok/wok-access.log + touch $(DESTDIR)/var/log/wok/wok-error.log + mkdir -p $(DESTDIR)/etc/wok/ + $(INSTALL_DATA) src/dhparams.pem $(DESTDIR)/etc/wok/dhparams.pem + touch $(DESTDIR)/etc/nginx/conf.d/wok.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; \ + @if test -f $(systemdsystemunitdir)/wokd.service; then \ + $(RM) $(DESTDIR)/$(systemdsystemunitdir)/wokd.service; \ + elif test -f /etc/init.d/wokd; then \ + $(RM) $(DESTDIR)/etc/init.d/wokd; \ + $(RM) $(DESTDIR)/etc/init/wok.conf; \ fi; \ if test -d /usr/lib/firewalld/services/; then \ - $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \ + $(RM) $(DESTDIR)/usr/lib/firewalld/services/wokd.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 + $(RM) -rf $(DESTDIR)/var/lib/wok + $(RM) -rf $(DESTDIR)/var/log/wok + $(RM) -rf $(DESTDIR)/etc/wok + $(RM) $(DESTDIR)/etc/nginx/conf.d/wok.conf = VERSION: @if test -d .git; then \ @@ -162,4 +159,4 @@ VERSION: clean-local: rm -rf mo rpm = -CLEANFILES =3D kimchi.spec `find "$(top_srcdir)" -type f -name "*.pyc" -pr= int` +CLEANFILES =3D wok.spec `find "$(top_srcdir)" -type f -name "*.pyc" -print` diff --git a/configure.ac b/configure.ac index 9e3edb8..47c2e6c 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -AC_INIT([kimchi], [m4_esyscmd([./build-aux/pkg-version --version])]) +AC_INIT([wok], [m4_esyscmd([./build-aux/pkg-version --version])]) = AC_SUBST([PACKAGE_VERSION], [m4_esyscmd([./build-aux/pkg-version --version])]) @@ -87,15 +87,13 @@ AC_CONFIG_FILES([ po/gen-pot Makefile docs/Makefile - docs/kimchid.8 + docs/wokd.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 + src/wok/Makefile + src/wok/control/Makefile + src/wok/model/Makefile + src/wok/xmlutils/Makefile plugins/Makefile plugins/sample/Makefile plugins/sample/po/Makefile.in @@ -112,37 +110,17 @@ AC_CONFIG_FILES([ 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 + contrib/wok.spec.fedora + contrib/wok.spec.suse ],[ chmod +x po/gen-pot ]) diff --git a/contrib/Makefile.am b/contrib/Makefile.am index 393306f..b537df5 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -18,11 +18,11 @@ SUBDIRS =3D DEBIAN = EXTRA_DIST =3D \ check_i18n.py \ - kimchid.sysvinit \ - kimchid.service.fedora \ - kimchi.spec.fedora.in \ - kimchid-upstart.conf.debian \ - kimchid-upstart.conf.fedora \ + wokd.sysvinit \ + wokd.service.fedora \ + wok.spec.fedora.in \ + wokd-upstart.conf.debian \ + wokd-upstart.conf.fedora \ make-deb.sh.in \ $(NULL) = @@ -35,4 +35,4 @@ make-deb.sh: make-deb.sh.in $(top_builddir)/config.status mv $@-t $@ BUILT_SOURCES =3D make-deb.sh = -CLEANFILES =3D kimchi.spec.fedora kimchi.spec.suse kimchi.spec make-deb.sh +CLEANFILES =3D wok.spec.fedora wok.spec.suse wok.spec make-deb.sh diff --git a/docs/Makefile.am b/docs/Makefile.am index 2f686f1..db23721 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -17,15 +17,12 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -docdir =3D $(datadir)/kimchi/doc +docdir =3D $(datadir)/wok/doc = dist_doc_DATA =3D \ API.md \ README.md \ - README-federation.md \ - kimchi-guest.png \ - kimchi-templates.png \ - kimchid.8 \ + wokd.8 \ $(NULL) = -CLEANFILES =3D kimchid.8 +CLEANFILES =3D wokd.8 diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 894d28e..21a6ece 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -22,4 +22,4 @@ SUBDIRS =3D sample plugins_PYTHON =3D \ __init__.py = -pluginsdir =3D $(pythondir)/kimchi/plugins +pluginsdir =3D $(pythondir)/wok/plugins diff --git a/po/Makevars b/po/Makevars index c29a807..e135764 100644 --- a/po/Makevars +++ b/po/Makevars @@ -1,7 +1,7 @@ # Makefile variables for PO directory in any package using GNU gettext. = # Usually the message domain is the same as the package name. -DOMAIN =3D kimchi +DOMAIN =3D wok = # These two variables depend on the location of this directory. subdir =3D po diff --git a/po/POTFILES.in b/po/POTFILES.in index 57bc711..aae0ca9 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,3 @@ # List of source files which contain translatable strings. -src/kimchi/i18n.py +src/wok/i18n.py ui/pages/*.tmpl -ui/pages/tabs/*.tmpl diff --git a/po/gen-pot.in b/po/gen-pot.in index 0e3cd10..7ccf28b 100644 --- a/po/gen-pot.in +++ b/po/gen-pot.in @@ -6,4 +6,4 @@ for src in $@; do else cat $src | @CHEETAH@ compile - fi -done | xgettext --no-location -o kimchi.pot -L Python - +done | xgettext --no-location -o wok.pot -L Python - diff --git a/src/Makefile.am b/src/Makefile.am index e0e0821..2fed7d5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,19 +17,19 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -SUBDIRS =3D kimchi distros.d nginx +SUBDIRS =3D wok nginx = -EXTRA_DIST =3D kimchid.in \ - kimchi.conf.in \ +EXTRA_DIST =3D wokd.in \ + wok.conf.in \ firewalld.xml \ $(NULL) = -bin_SCRIPTS =3D kimchid +bin_SCRIPTS =3D wokd = -confdir =3D $(sysconfdir)/kimchi -dist_conf_DATA =3D kimchi.conf template.conf +confdir =3D $(sysconfdir)/wok +dist_conf_DATA =3D wok.conf = -BUILT_SOURCES =3D kimchi.conf +BUILT_SOURCES =3D wok.conf = do_substitution =3D \ sed -e 's,[@]pythondir[@],$(pythondir),g' \ @@ -38,12 +38,12 @@ do_substitution =3D \ -e 's,[@]VERSION[@],$(VERSION),g' = = -kimchid: kimchid.in Makefile - $(do_substitution) < $(srcdir)/kimchid.in > kimchid - chmod +x kimchid +wokd: wokd.in Makefile + $(do_substitution) < $(srcdir)/wokd.in > wokd + chmod +x wokd = -kimchi.conf: kimchi.conf.in Makefile - $(do_substitution) < kimchi.conf.in > kimchi.conf +wok.conf: wok.conf.in Makefile + $(do_substitution) < wok.conf.in > wok.conf = # Generate unique Diffie-Hellman group with 2048-bit all-local: dhparams.pem diff --git a/src/nginx/Makefile.am b/src/nginx/Makefile.am index c754947..0f36b44 100644 --- a/src/nginx/Makefile.am +++ b/src/nginx/Makefile.am @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -EXTRA_DIST =3D kimchi.conf.in +EXTRA_DIST =3D wok.conf.in = confdir =3D $(sysconfdir)/nginx/conf.d -dist_conf_DATA =3D kimchi.conf.in +dist_conf_DATA =3D wok.conf.in = -CLEANFILES =3D kimchi.conf +CLEANFILES =3D wok.conf diff --git a/src/wok/Makefile.am b/src/wok/Makefile.am index 5c204e0..6e00907 100644 --- a/src/wok/Makefile.am +++ b/src/wok/Makefile.am @@ -19,9 +19,9 @@ = SUBDIRS =3D control model xmlutils = -kimchi_PYTHON =3D $(filter-out config.py, $(wildcard *.py)) +wok_PYTHON =3D $(filter-out config.py, $(wildcard *.py)) = -nodist_kimchi_PYTHON =3D config.py +nodist_wok_PYTHON =3D config.py = EXTRA_DIST =3D \ API.json \ @@ -33,14 +33,14 @@ else WITH_SPICE=3Dno endif = -kimchidir =3D $(pythondir)/kimchi +wokdir =3D $(pythondir)/wok = install-data-local: - $(MKDIR_P) $(DESTDIR)$(kimchidir) - $(INSTALL_DATA) API.json $(DESTDIR)$(kimchidir)/API.json + $(MKDIR_P) $(DESTDIR)$(wokdir) + $(INSTALL_DATA) API.json $(DESTDIR)$(wokdir)/API.json = uninstall-local: - $(RM) $(DESTDIR)$(kimchidir)/API.json + $(RM) $(DESTDIR)$(wokdir)/API.json = do_substitution =3D \ sed -e 's,[@]prefix[@],$(prefix),g' \ @@ -48,9 +48,9 @@ do_substitution =3D \ -e 's,[@]sysconfdir[@],$(sysconfdir),g' \ -e 's,[@]localstatedir[@],$(localstatedir),g' \ -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \ - -e 's,[@]kimchidir[@],$(kimchidir),g' \ - -e 's,[@]kimchiversion[@],$(PACKAGE_VERSION),g' \ - -e 's,[@]kimchirelease[@],$(PACKAGE_RELEASE),g' \ + -e 's,[@]wokdir[@],$(wokdir),g' \ + -e 's,[@]wokversion[@],$(PACKAGE_VERSION),g' \ + -e 's,[@]wokrelease[@],$(PACKAGE_RELEASE),g' \ -e 's,[@]withspice[@],$(WITH_SPICE),g' = = diff --git a/src/wok/config.py.in b/src/wok/config.py.in index d2c5169..1408024 100644 --- a/src/wok/config.py.in +++ b/src/wok/config.py.in @@ -136,7 +136,7 @@ class Paths(object): else: base =3D os.path.dirname('./%s' % __file__) = - if os.access('%s/../../src/kimchi/config.py' % base, os.F_OK): + if os.access('%s/../../src/wok/config.py' % base, os.F_OK): return os.path.abspath('%s/../..' % base) else: return '@pkgdatadir@' diff --git a/src/wok/control/Makefile.am b/src/wok/control/Makefile.am index fee98dc..d6cb3f0 100644 --- a/src/wok/control/Makefile.am +++ b/src/wok/control/Makefile.am @@ -17,11 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -SUBDIRS =3D vm - control_PYTHON =3D *.py = -controldir =3D $(pythondir)/kimchi/control +controldir =3D $(pythondir)/wok/control = install-data-local: $(MKDIR_P) $(DESTDIR)$(controldir) diff --git a/src/wok/model/Makefile.am b/src/wok/model/Makefile.am index a6ccbf0..8f0f102 100644 --- a/src/wok/model/Makefile.am +++ b/src/wok/model/Makefile.am @@ -19,7 +19,7 @@ = model_PYTHON =3D *.py = -modeldir =3D $(pythondir)/kimchi/model +modeldir =3D $(pythondir)/wok/model = install-data-local: $(MKDIR_P) $(DESTDIR)$(modeldir) diff --git a/src/wok/xmlutils/Makefile.am b/src/wok/xmlutils/Makefile.am index 73f86f4..69aa524 100644 --- a/src/wok/xmlutils/Makefile.am +++ b/src/wok/xmlutils/Makefile.am @@ -19,7 +19,7 @@ = xmlutils_PYTHON =3D *.py = -xmlutilsdir =3D $(pythondir)/kimchi/xmlutils +xmlutilsdir =3D $(pythondir)/wok/xmlutils = install-data-local: $(MKDIR_P) $(DESTDIR)$(xmlutilsdir) diff --git a/ui/Makefile.am b/ui/Makefile.am index adb6ada..6be27ed 100644 --- a/ui/Makefile.am +++ b/ui/Makefile.am @@ -15,8 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D css fontello images js libs pages spice-html5 +SUBDIRS =3D css fontello images js libs pages = -uidir =3D $(datadir)/kimchi/ui +uidir =3D $(datadir)/wok/ui = dist_ui_DATA =3D robots.txt diff --git a/ui/css/Makefile.am b/ui/css/Makefile.am index f4f3dac..29ddb26 100644 --- a/ui/css/Makefile.am +++ b/ui/css/Makefile.am @@ -17,7 +17,7 @@ = EXTRA_DIST =3D theme-default = -cssdir =3D $(datadir)/kimchi/ui/css +cssdir =3D $(datadir)/wok/ui/css dist_css_DATA =3D theme-default.min.css = theme-default.min.css: theme-default/*.css diff --git a/ui/images/Makefile.am b/ui/images/Makefile.am index 7b63d23..297c0bd 100644 --- a/ui/images/Makefile.am +++ b/ui/images/Makefile.am @@ -17,6 +17,6 @@ = SUBDIRS =3D theme-default = -imagedir =3D $(datadir)/kimchi/ui/images +imagedir =3D $(datadir)/wok/ui/images = -dist_image_DATA =3D *.png *.ico +dist_image_DATA =3D *.ico diff --git a/ui/images/theme-default/Makefile.am b/ui/images/theme-default/= Makefile.am index 7c69b2a..336729c 100644 --- a/ui/images/theme-default/Makefile.am +++ b/ui/images/theme-default/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -imagedir =3D $(datadir)/kimchi/ui/images/theme-default +imagedir =3D $(datadir)/wok/ui/images/theme-default = dist_image_DATA =3D *.png *.gif diff --git a/ui/js/Makefile.am b/ui/js/Makefile.am index d0653b9..2549846 100644 --- a/ui/js/Makefile.am +++ b/ui/js/Makefile.am @@ -17,11 +17,11 @@ = EXTRA_DIST =3D src widgets = -jsdir =3D $(datadir)/kimchi/ui/js +jsdir =3D $(datadir)/wok/ui/js = -dist_js_DATA =3D kimchi.min.js $(filter-out kimchi.min.js, $(wildcard *.js= )) +dist_js_DATA =3D wok.min.js $(filter-out wok.min.js, $(wildcard *.js)) = -kimchi.min.js: widgets/*.js src/*.js +wok.min.js: widgets/*.js src/*.js cat $(sort $^) > $@ = -CLEANFILES =3D kimchi.min.js +CLEANFILES =3D wok.min.js diff --git a/ui/libs/Makefile.am b/ui/libs/Makefile.am index a2acce2..49ad3bb 100644 --- a/ui/libs/Makefile.am +++ b/ui/libs/Makefile.am @@ -17,6 +17,6 @@ = SUBDIRS =3D themes = -jsdir =3D $(datadir)/kimchi/ui/libs +jsdir =3D $(datadir)/wok/ui/libs = dist_js_DATA =3D $(wildcard *.js) $(NULL) diff --git a/ui/libs/themes/base/Makefile.am b/ui/libs/themes/base/Makefile= .am index d7454f0..1bbaa50 100644 --- a/ui/libs/themes/base/Makefile.am +++ b/ui/libs/themes/base/Makefile.am @@ -17,6 +17,6 @@ = SUBDIRS =3D images = -basedir =3D $(datadir)/kimchi/ui/libs/themes/base +basedir =3D $(datadir)/wok/ui/libs/themes/base = dist_base_DATA =3D $(wildcard *.css) $(NULL) diff --git a/ui/libs/themes/base/images/Makefile.am b/ui/libs/themes/base/i= mages/Makefile.am index 6afec8b..dd619c8 100644 --- a/ui/libs/themes/base/images/Makefile.am +++ b/ui/libs/themes/base/images/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -imagesdir =3D $(datadir)/kimchi/ui/libs/themes/base/images +imagesdir =3D $(datadir)/wok/ui/libs/themes/base/images = dist_images_DATA =3D *.png diff --git a/ui/pages/Makefile.am b/ui/pages/Makefile.am index a22afc1..68f4c92 100644 --- a/ui/pages/Makefile.am +++ b/ui/pages/Makefile.am @@ -15,8 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D help tabs websockify +SUBDIRS =3D websockify = -htmldir =3D $(datadir)/kimchi/ui/pages +htmldir =3D $(datadir)/wok/ui/pages = dist_html_DATA =3D $(wildcard *.tmpl) $(NULL) diff --git a/ui/pages/websockify/Makefile.am b/ui/pages/websockify/Makefile= .am index d498242..5321562 100644 --- a/ui/pages/websockify/Makefile.am +++ b/ui/pages/websockify/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -websockifyhtmldir =3D $(datadir)/kimchi/ui/pages/websockify +websockifyhtmldir =3D $(datadir)/wok/ui/pages/websockify = dist_websockifyhtml_DATA =3D $(wildcard *.html) $(NULL) -- = 1.7.1 --===============1883094039823390103==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:18:55 2015 Content-Type: multipart/mixed; boundary="===============4603361417336606842==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 09/34] Update kimchi plugin makefiles Date: Wed, 08 Jul 2015 16:17:41 -0300 Message-ID: <1436383086-19140-10-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============4603361417336606842== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Reflect new plugin structure in all base files. - Add kimchi plugin specifics (spice, config.py) - Remove wok specifics Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- plugins/kimchi/.gitignore | 8 +-- plugins/kimchi/Makefile.am | 94 +++++++++-------= ---- plugins/kimchi/configure.ac | 43 ++-------- plugins/kimchi/contrib/Makefile.am | 4 - plugins/kimchi/control/Makefile.am | 2 +- plugins/kimchi/control/vm/Makefile.am | 2 +- plugins/kimchi/docs/Makefile.am | 3 - plugins/kimchi/model/Makefile.am | 2 +- plugins/kimchi/po/POTFILES.in | 3 +- plugins/kimchi/tests/Makefile.am | 2 +- plugins/kimchi/ui/Makefile.am | 4 +- plugins/kimchi/ui/config/Makefile.am | 4 +- plugins/kimchi/ui/css/Makefile.am | 2 +- plugins/kimchi/ui/images/Makefile.am | 2 +- plugins/kimchi/ui/images/theme-default/Makefile.am | 2 +- plugins/kimchi/ui/js/Makefile.am | 6 +- plugins/kimchi/ui/pages/Makefile.am | 4 +- plugins/kimchi/ui/pages/help/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/de_DE/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/en_US/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/es_ES/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/fr_FR/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/it_IT/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/ja_JP/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/ko_KR/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/pt_BR/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/ru_RU/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/zh_CN/Makefile.am | 2 +- plugins/kimchi/ui/pages/help/zh_TW/Makefile.am | 2 +- plugins/kimchi/ui/pages/tabs/Makefile.am | 2 +- plugins/kimchi/ui/spice-html5/Makefile.am | 2 +- plugins/kimchi/ui/spice-html5/css/Makefile.am | 2 +- plugins/kimchi/ui/spice-html5/pages/Makefile.am | 2 +- .../kimchi/ui/spice-html5/thirdparty/Makefile.am | 2 +- plugins/kimchi/xmlutils/Makefile.am | 2 +- 35 files changed, 87 insertions(+), 136 deletions(-) diff --git a/plugins/kimchi/.gitignore b/plugins/kimchi/.gitignore index b3988b6..1dae610 100644 --- a/plugins/kimchi/.gitignore +++ b/plugins/kimchi/.gitignore @@ -16,25 +16,19 @@ build-aux/missing build-aux/py-compile configure config.log +config.py 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 diff --git a/plugins/kimchi/Makefile.am b/plugins/kimchi/Makefile.am index 0e6e59e..faef341 100644 --- a/plugins/kimchi/Makefile.am +++ b/plugins/kimchi/Makefile.am @@ -16,9 +16,24 @@ # 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-130= 1 USA -SUBDIRS =3D src ui docs contrib tests po config plugins = -man_MANS =3D docs/kimchid.8 +SUBDIRS =3D contrib control distros.d docs model po tests ui xmlutils + +kimchi_PYTHON =3D $(filter-out config.py, $(wildcard *.py)) + +nodist_kimchi_PYTHON =3D config.py + +if WITH_SPICE +WITH_SPICE=3Dyes +else +WITH_SPICE=3Dno +endif + +wokdir =3D $(pythondir)/wok +kimchidir =3D $(pythondir)/wok/plugins/kimchi + +confdir =3D $(sysconfdir)/wok/plugins.d +dist_conf_DATA =3D kimchi.conf template.conf = AUTOMAKE_OPTIONS =3D foreign = @@ -26,28 +41,26 @@ ACLOCAL_AMFLAGS =3D --install -I m4 = EXTRA_DIST =3D \ config.rpath \ + API.json \ autogen.sh \ COPYING.ASL2 \ COPYING.LGPL \ CONTRIBUTE.md \ VERSION \ build-aux/pkg-version \ + config.py.in \ $(NULL) = = -PEP8_BLACKLIST =3D *src/kimchi/config.py,*src/kimchi/i18n.py,*tests/test_c= onfig.py +PEP8_BLACKLIST =3D *config.py,*i18n.py,*tests/test_config.py = -SKIP_PYFLAKES_ERR =3D "\./src/kimchi/websocket\.py" - -I18N_FILES =3D plugins/*/i18n.py \ - src/kimchi/i18n.py \ +I18N_FILES =3D ./i18n.py \ $(NULL) = check-local: - PYTHONPATH=3Dsrc contrib/check_i18n.py $(I18N_FILES) + 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 @@ -63,6 +76,22 @@ all-local: ln -sf ../../../po/$$L.gmo $$dir/kimchi.mo ; \ done < po/LINGUAS = +do_substitution =3D \ + sed -e 's,[@]prefix[@],$(prefix),g' \ + -e 's,[@]datadir[@],$(datadir),g' \ + -e 's,[@]sysconfdir[@],$(sysconfdir),g' \ + -e 's,[@]localstatedir[@],$(localstatedir),g' \ + -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \ + -e 's,[@]wokdir[@],$(wokdir),g' \ + -e 's,[@]kimchidir[@],$(kimchidir),g' \ + -e 's,[@]kimchiversion[@],$(PACKAGE_VERSION),g' \ + -e 's,[@]kimchirelease[@],$(PACKAGE_RELEASE),g' \ + -e 's,[@]withspice[@],$(WITH_SPICE),g' + +config.py: config.py.in Makefile + $(do_substitution) < $(srcdir)/config.py.in > config.py + + # # Packaging helpers # @@ -71,15 +100,7 @@ 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 @@ -115,41 +136,13 @@ ChangeLog: fi = install-data-local: - @if test -d "$(systemdsystemunitdir)" ; then \ - mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \ - $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsyste= munitdir)/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,i= sos} - 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 + $(MKDIR_P) $(DESTDIR)$(kimchidir) + $(INSTALL_DATA) API.json $(DESTDIR)$(kimchidir)/API.json + mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,isos} = 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) $(DESTDIR)$(kimchidir)/API.json $(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 \ @@ -162,4 +155,5 @@ VERSION: clean-local: rm -rf mo rpm = -CLEANFILES =3D kimchi.spec `find "$(top_srcdir)" -type f -name "*.pyc" -pr= int` +BUILT_SOURCES =3D config.py +CLEANFILES =3D config.py kimchi.spec `find "$(top_srcdir)" -type f -name "= *.pyc" -print` diff --git a/plugins/kimchi/configure.ac b/plugins/kimchi/configure.ac index 9e3edb8..adab45b 100644 --- a/plugins/kimchi/configure.ac +++ b/plugins/kimchi/configure.ac @@ -64,15 +64,6 @@ else AC_SUBST([ENABLE_SAMPLE], [False]) fi = -# check for systemd -PKG_PROG_PKG_CONFIG -AC_ARG_WITH([systemdsystemunitdir], - AS_HELP_STRING([--with-systemdsystemunitdir=3DDIR], [Directory for sys= temd service files]), - [], [with_systemdsystemunitdir=3D$($PKG_CONFIG --variable=3Dsystemdsys= temunitdir systemd)]) -if test "x$with_systemdsystemunitdir" !=3D xno; then - AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) -fi - AC_ARG_WITH( [spice-html5], [AS_HELP_STRING([--with-spice-html5], @@ -87,28 +78,13 @@ AC_CONFIG_FILES([ 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 + distros.d/Makefile + control/Makefile + control/vm/Makefile + model/Makefile ui/Makefile + ui/config/Makefile ui/css/Makefile - ui/fontello/Makefile - ui/fontello/css/Makefile - ui/fontello/font/Makefile ui/images/Makefile ui/images/theme-default/Makefile ui/js/Makefile @@ -116,10 +92,6 @@ AC_CONFIG_FILES([ 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 @@ -133,16 +105,13 @@ AC_CONFIG_FILES([ 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 + xmlutils/Makefile ],[ chmod +x po/gen-pot ]) diff --git a/plugins/kimchi/contrib/Makefile.am b/plugins/kimchi/contrib/Ma= kefile.am index 393306f..5001191 100644 --- a/plugins/kimchi/contrib/Makefile.am +++ b/plugins/kimchi/contrib/Makefile.am @@ -18,11 +18,7 @@ SUBDIRS =3D DEBIAN = EXTRA_DIST =3D \ check_i18n.py \ - kimchid.sysvinit \ - kimchid.service.fedora \ kimchi.spec.fedora.in \ - kimchid-upstart.conf.debian \ - kimchid-upstart.conf.fedora \ make-deb.sh.in \ $(NULL) = diff --git a/plugins/kimchi/control/Makefile.am b/plugins/kimchi/control/Ma= kefile.am index fee98dc..33118ca 100644 --- a/plugins/kimchi/control/Makefile.am +++ b/plugins/kimchi/control/Makefile.am @@ -21,7 +21,7 @@ SUBDIRS =3D vm = control_PYTHON =3D *.py = -controldir =3D $(pythondir)/kimchi/control +controldir =3D $(pythondir)/wok/plugins/kimchi/control = install-data-local: $(MKDIR_P) $(DESTDIR)$(controldir) diff --git a/plugins/kimchi/control/vm/Makefile.am b/plugins/kimchi/control= /vm/Makefile.am index e57b907..b17c68a 100644 --- a/plugins/kimchi/control/vm/Makefile.am +++ b/plugins/kimchi/control/vm/Makefile.am @@ -20,7 +20,7 @@ = vm_PYTHON =3D *.py = -vmdir =3D $(pythondir)/kimchi/control/vm +vmdir =3D $(pythondir)/wok/plugins/kimchi/control/vm = install-data-local: $(MKDIR_P) $(DESTDIR)$(vmdir) diff --git a/plugins/kimchi/docs/Makefile.am b/plugins/kimchi/docs/Makefile= .am index 2f686f1..679aa18 100644 --- a/plugins/kimchi/docs/Makefile.am +++ b/plugins/kimchi/docs/Makefile.am @@ -25,7 +25,4 @@ dist_doc_DATA =3D \ README-federation.md \ kimchi-guest.png \ kimchi-templates.png \ - kimchid.8 \ $(NULL) - -CLEANFILES =3D kimchid.8 diff --git a/plugins/kimchi/model/Makefile.am b/plugins/kimchi/model/Makefi= le.am index a6ccbf0..f4f4750 100644 --- a/plugins/kimchi/model/Makefile.am +++ b/plugins/kimchi/model/Makefile.am @@ -19,7 +19,7 @@ = model_PYTHON =3D *.py = -modeldir =3D $(pythondir)/kimchi/model +modeldir =3D $(pythondir)/wok/plugins/kimchi/model = install-data-local: $(MKDIR_P) $(DESTDIR)$(modeldir) diff --git a/plugins/kimchi/po/POTFILES.in b/plugins/kimchi/po/POTFILES.in index 57bc711..92eef1e 100644 --- a/plugins/kimchi/po/POTFILES.in +++ b/plugins/kimchi/po/POTFILES.in @@ -1,4 +1,3 @@ # List of source files which contain translatable strings. -src/kimchi/i18n.py +i18n.py ui/pages/*.tmpl -ui/pages/tabs/*.tmpl diff --git a/plugins/kimchi/tests/Makefile.am b/plugins/kimchi/tests/Makefi= le.am index 09dce6c..c1f6784 100644 --- a/plugins/kimchi/tests/Makefile.am +++ b/plugins/kimchi/tests/Makefile.am @@ -31,7 +31,7 @@ do_substitution =3D \ -e 's,[@]prefix[@],$(prefix),g' \ -e 's,[@]datadir[@],$(datadir),g' \ -e 's,[@]PYTHON_VERSION[@],$(PYTHON_VERSION),g' \ - -e 's,[@]kimchidir[@],$(pythondir)/kimchi,g' \ + -e 's,[@]wokdir[@],$(pythondir)/wok,g' \ -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' = = diff --git a/plugins/kimchi/ui/Makefile.am b/plugins/kimchi/ui/Makefile.am index 208d3e3..21fe703 100644 --- a/plugins/kimchi/ui/Makefile.am +++ b/plugins/kimchi/ui/Makefile.am @@ -15,4 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D ui +SUBDIRS =3D config css images js pages spice-html5 + +uidir =3D $(datadir)/wok/plugins/kimchi/ui diff --git a/plugins/kimchi/ui/config/Makefile.am b/plugins/kimchi/ui/confi= g/Makefile.am index 32b74e3..e3b3d19 100644 --- a/plugins/kimchi/ui/config/Makefile.am +++ b/plugins/kimchi/ui/config/Makefile.am @@ -15,8 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. = -xmldir =3D $(datadir)/kimchi/config/ui +xmldir =3D $(datadir)/wok/plugins/kimchi/ui/config = dist_xml_DATA =3D \ - tabs.xml \ + tab-ext.xml \ $(NULL) diff --git a/plugins/kimchi/ui/css/Makefile.am b/plugins/kimchi/ui/css/Make= file.am index f4f3dac..5071d29 100644 --- a/plugins/kimchi/ui/css/Makefile.am +++ b/plugins/kimchi/ui/css/Makefile.am @@ -17,7 +17,7 @@ = EXTRA_DIST =3D theme-default = -cssdir =3D $(datadir)/kimchi/ui/css +cssdir =3D $(datadir)/wok/plugins/kimchi/ui/css dist_css_DATA =3D theme-default.min.css = theme-default.min.css: theme-default/*.css diff --git a/plugins/kimchi/ui/images/Makefile.am b/plugins/kimchi/ui/image= s/Makefile.am index 7b63d23..0562e6a 100644 --- a/plugins/kimchi/ui/images/Makefile.am +++ b/plugins/kimchi/ui/images/Makefile.am @@ -17,6 +17,6 @@ = SUBDIRS =3D theme-default = -imagedir =3D $(datadir)/kimchi/ui/images +imagedir =3D $(datadir)/wok/plugins/kimchi/ui/images = dist_image_DATA =3D *.png *.ico diff --git a/plugins/kimchi/ui/images/theme-default/Makefile.am b/plugins/k= imchi/ui/images/theme-default/Makefile.am index 7c69b2a..7e11d75 100644 --- a/plugins/kimchi/ui/images/theme-default/Makefile.am +++ b/plugins/kimchi/ui/images/theme-default/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -imagedir =3D $(datadir)/kimchi/ui/images/theme-default +imagedir =3D $(datadir)/wok/plugins/kimchi/ui/images/theme-default = dist_image_DATA =3D *.png *.gif diff --git a/plugins/kimchi/ui/js/Makefile.am b/plugins/kimchi/ui/js/Makefi= le.am index d0653b9..c9d1218 100644 --- a/plugins/kimchi/ui/js/Makefile.am +++ b/plugins/kimchi/ui/js/Makefile.am @@ -15,13 +15,13 @@ # See the License for the specific language governing permissions and # limitations under the License. = -EXTRA_DIST =3D src widgets +EXTRA_DIST =3D src = -jsdir =3D $(datadir)/kimchi/ui/js +jsdir =3D $(datadir)/wok/plugins/kimchi/ui/js = dist_js_DATA =3D kimchi.min.js $(filter-out kimchi.min.js, $(wildcard *.js= )) = -kimchi.min.js: widgets/*.js src/*.js +kimchi.min.js: src/*.js cat $(sort $^) > $@ = CLEANFILES =3D kimchi.min.js diff --git a/plugins/kimchi/ui/pages/Makefile.am b/plugins/kimchi/ui/pages/= Makefile.am index a22afc1..076b814 100644 --- a/plugins/kimchi/ui/pages/Makefile.am +++ b/plugins/kimchi/ui/pages/Makefile.am @@ -15,8 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. = -SUBDIRS =3D help tabs websockify +SUBDIRS =3D help tabs = -htmldir =3D $(datadir)/kimchi/ui/pages +htmldir =3D $(datadir)/wok/plugins/kimchi/ui/pages = dist_html_DATA =3D $(wildcard *.tmpl) $(NULL) diff --git a/plugins/kimchi/ui/pages/help/Makefile.am b/plugins/kimchi/ui/p= ages/help/Makefile.am index 5c04319..0fbe47b 100644 --- a/plugins/kimchi/ui/pages/help/Makefile.am +++ b/plugins/kimchi/ui/pages/help/Makefile.am @@ -22,7 +22,7 @@ DITA_XSL_FILE =3D dita-help.xsl = EXTRA_DIST =3D gen-index.py\ $(DITA_XSL_FILE) -helpdir =3D $(datadir)/kimchi/ui/pages/help +helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help = dist_help_DATA =3D kimchi.css = diff --git a/plugins/kimchi/ui/pages/help/de_DE/Makefile.am b/plugins/kimch= i/ui/pages/help/de_DE/Makefile.am index ab1c769..3d99aae 100644 --- a/plugins/kimchi/ui/pages/help/de_DE/Makefile.am +++ b/plugins/kimchi/ui/pages/help/de_DE/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -de_DE_helpdir =3D $(datadir)/kimchi/ui/pages/help/de_DE +de_DE_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/de_DE = dist_de_DE_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/en_US/Makefile.am b/plugins/kimch= i/ui/pages/help/en_US/Makefile.am index d5ab24f..d37f03a 100644 --- a/plugins/kimchi/ui/pages/help/en_US/Makefile.am +++ b/plugins/kimchi/ui/pages/help/en_US/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -en_US_helpdir =3D $(datadir)/kimchi/ui/pages/help/en_US +en_US_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/en_US = dist_en_US_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/es_ES/Makefile.am b/plugins/kimch= i/ui/pages/help/es_ES/Makefile.am index a3317a6..29c596f 100644 --- a/plugins/kimchi/ui/pages/help/es_ES/Makefile.am +++ b/plugins/kimchi/ui/pages/help/es_ES/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -es_ES_helpdir =3D $(datadir)/kimchi/ui/pages/help/es_ES +es_ES_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/es_ES = dist_es_ES_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/fr_FR/Makefile.am b/plugins/kimch= i/ui/pages/help/fr_FR/Makefile.am index a5eba5a..11ce394 100644 --- a/plugins/kimchi/ui/pages/help/fr_FR/Makefile.am +++ b/plugins/kimchi/ui/pages/help/fr_FR/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -fr_FR_helpdir =3D $(datadir)/kimchi/ui/pages/help/fr_FR +fr_FR_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/fr_FR = dist_fr_FR_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/it_IT/Makefile.am b/plugins/kimch= i/ui/pages/help/it_IT/Makefile.am index c828f26..62e2f29 100644 --- a/plugins/kimchi/ui/pages/help/it_IT/Makefile.am +++ b/plugins/kimchi/ui/pages/help/it_IT/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -it_IT_helpdir =3D $(datadir)/kimchi/ui/pages/help/it_IT +it_IT_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/it_IT = dist_it_IT_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/ja_JP/Makefile.am b/plugins/kimch= i/ui/pages/help/ja_JP/Makefile.am index a7d6464..f9c2f33 100644 --- a/plugins/kimchi/ui/pages/help/ja_JP/Makefile.am +++ b/plugins/kimchi/ui/pages/help/ja_JP/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -ja_JP_helpdir =3D $(datadir)/kimchi/ui/pages/help/ja_JP +ja_JP_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/ja_JP = dist_ja_JP_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/ko_KR/Makefile.am b/plugins/kimch= i/ui/pages/help/ko_KR/Makefile.am index 3242ad7..e441955 100644 --- a/plugins/kimchi/ui/pages/help/ko_KR/Makefile.am +++ b/plugins/kimchi/ui/pages/help/ko_KR/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -ko_KR_helpdir =3D $(datadir)/kimchi/ui/pages/help/ko_KR +ko_KR_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/ko_KR = dist_ko_KR_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/pt_BR/Makefile.am b/plugins/kimch= i/ui/pages/help/pt_BR/Makefile.am index 0f1df92..7fc2cb0 100644 --- a/plugins/kimchi/ui/pages/help/pt_BR/Makefile.am +++ b/plugins/kimchi/ui/pages/help/pt_BR/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -pt_BR_helpdir =3D $(datadir)/kimchi/ui/pages/help/pt_BR +pt_BR_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/pt_BR = dist_pt_BR_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/ru_RU/Makefile.am b/plugins/kimch= i/ui/pages/help/ru_RU/Makefile.am index b128c6d..85ca27a 100644 --- a/plugins/kimchi/ui/pages/help/ru_RU/Makefile.am +++ b/plugins/kimchi/ui/pages/help/ru_RU/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -ru_RU_helpdir =3D $(datadir)/kimchi/ui/pages/help/ru_RU +ru_RU_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/ru_RU = dist_ru_RU_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/zh_CN/Makefile.am b/plugins/kimch= i/ui/pages/help/zh_CN/Makefile.am index 8b812ff..e785048 100644 --- a/plugins/kimchi/ui/pages/help/zh_CN/Makefile.am +++ b/plugins/kimchi/ui/pages/help/zh_CN/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -zh_CN_helpdir =3D $(datadir)/kimchi/ui/pages/help/zh_CN +zh_CN_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/zh_CN = dist_zh_CN_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/help/zh_TW/Makefile.am b/plugins/kimch= i/ui/pages/help/zh_TW/Makefile.am index 911d737..9c8ac26 100644 --- a/plugins/kimchi/ui/pages/help/zh_TW/Makefile.am +++ b/plugins/kimchi/ui/pages/help/zh_TW/Makefile.am @@ -14,7 +14,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -zh_TW_helpdir =3D $(datadir)/kimchi/ui/pages/help/zh_TW +zh_TW_helpdir =3D $(datadir)/wok/plugins/kimchi/ui/pages/help/zh_TW = dist_zh_TW_help_DATA =3D $(wildcard *.html) $(NULL) = diff --git a/plugins/kimchi/ui/pages/tabs/Makefile.am b/plugins/kimchi/ui/p= ages/tabs/Makefile.am index a29df7e..4d5d33e 100644 --- a/plugins/kimchi/ui/pages/tabs/Makefile.am +++ b/plugins/kimchi/ui/pages/tabs/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -tabshtmldir =3D $(datadir)/kimchi/ui/pages/tabs +tabshtmldir =3D $(datadir)/wok/plugins/kimchi/ui/pages/tabs = dist_tabshtml_DATA =3D $(wildcard *.html.tmpl) $(NULL) diff --git a/plugins/kimchi/ui/spice-html5/Makefile.am b/plugins/kimchi/ui/= spice-html5/Makefile.am index 3a6558a..c43f1ef 100644 --- a/plugins/kimchi/ui/spice-html5/Makefile.am +++ b/plugins/kimchi/ui/spice-html5/Makefile.am @@ -20,6 +20,6 @@ SUBDIRS =3D pages if WITH_SPICE SUBDIRS +=3D css thirdparty = -spicehtml5dir =3D $(datadir)/kimchi/ui/spice-html5 +spicehtml5dir =3D $(datadir)/wok/plugins/kimchi/ui/spice-html5 dist_spicehtml5_DATA =3D $(wildcard *.js) $(NULL) endif diff --git a/plugins/kimchi/ui/spice-html5/css/Makefile.am b/plugins/kimchi= /ui/spice-html5/css/Makefile.am index 6106e0d..ed51972 100644 --- a/plugins/kimchi/ui/spice-html5/css/Makefile.am +++ b/plugins/kimchi/ui/spice-html5/css/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -spicecssdir =3D $(datadir)/kimchi/ui/spice-html5 +spicecssdir =3D $(datadir)/wok/plugins/kimchi/ui/spice-html5 = dist_spicecss_DATA =3D $(wildcard *.css) $(NULL) diff --git a/plugins/kimchi/ui/spice-html5/pages/Makefile.am b/plugins/kimc= hi/ui/spice-html5/pages/Makefile.am index 45e67a5..431ec6c 100644 --- a/plugins/kimchi/ui/spice-html5/pages/Makefile.am +++ b/plugins/kimchi/ui/spice-html5/pages/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -spicepagesdir =3D $(datadir)/kimchi/ui/spice-html5/pages +spicepagesdir =3D $(datadir)/wok/plugins/kimchi/ui/spice-html5/pages = dist_spicepages_DATA =3D $(wildcard *.html) $(NULL) diff --git a/plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am b/plugins= /kimchi/ui/spice-html5/thirdparty/Makefile.am index b83a585..474478d 100644 --- a/plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am +++ b/plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am @@ -15,6 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. = -thirdpartydir =3D $(datadir)/kimchi/ui/spice-html5/thirdparty +thirdpartydir =3D $(datadir)/wok/plugins/kimchi/ui/spice-html5/thirdparty = dist_thirdparty_DATA =3D $(wildcard *.js) $(NULL) diff --git a/plugins/kimchi/xmlutils/Makefile.am b/plugins/kimchi/xmlutils/= Makefile.am index 73f86f4..207ad7f 100644 --- a/plugins/kimchi/xmlutils/Makefile.am +++ b/plugins/kimchi/xmlutils/Makefile.am @@ -19,7 +19,7 @@ = xmlutils_PYTHON =3D *.py = -xmlutilsdir =3D $(pythondir)/kimchi/xmlutils +xmlutilsdir =3D $(pythondir)/wok/plugins/kimchi/xmlutils = install-data-local: $(MKDIR_P) $(DESTDIR)$(xmlutilsdir) -- = 1.7.1 --===============4603361417336606842==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:19:03 2015 Content-Type: multipart/mixed; boundary="===============6900691045123990832==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 10/34] Update wok daemon and specs Date: Wed, 08 Jul 2015 16:17:42 -0300 Message-ID: <1436383086-19140-11-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============6900691045123990832== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Rename from kimchi(d) to wok(d) - Remove all kimchi specifics (including deps) - Do not check for libvirt status - Reflect new file names/structure - Replace gettext-devel dependency by gettext Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- contrib/DEBIAN/control.in | 15 +----- contrib/DEBIAN/postrm | 4 +- contrib/make-deb.sh.in | 2 +- contrib/wok.spec.fedora.in | 106 ++++++++++++++--------------------= ---- contrib/wok.spec.suse.in | 101 +++++++++++++++-------------------= -- contrib/wokd-upstart.conf.debian | 14 ++---- contrib/wokd-upstart.conf.fedora | 11 +--- contrib/wokd.service.fedora | 6 +- contrib/wokd.sysvinit | 18 +++--- src/firewalld.xml | 4 +- 10 files changed, 105 insertions(+), 176 deletions(-) diff --git a/contrib/DEBIAN/control.in b/contrib/DEBIAN/control.in index a288e9b..ef4e0c2 100644 --- a/contrib/DEBIAN/control.in +++ b/contrib/DEBIAN/control.in @@ -6,31 +6,18 @@ Architecture: all Depends: python-cherrypy3 (>=3D 3.2.0), python-cheetah, python-imaging, - python-configobj, websockify, novnc, python-jsonschema (>=3D 1.3.0), - python-libvirt, gettext, - libvirt-bin, - nfs-common, python-m2crypto, - qemu-kvm, python-pam, - python-parted, - python-psutil (>=3D 0.6.0), - python-ethtool, - sosreport, - python-ipaddr, python-lxml, - open-iscsi, nginx, - python-guestfs, python-ldap, - libguestfs-tools, spice-html5 Build-Depends: libxslt, openssl, python-lxml Maintainer: Aline Manera -Description: Kimchi web server +Description: Wok - Webserver Originated from Kimchi diff --git a/contrib/DEBIAN/postrm b/contrib/DEBIAN/postrm index ef90b49..256a234 100755 --- a/contrib/DEBIAN/postrm +++ b/contrib/DEBIAN/postrm @@ -20,9 +20,9 @@ = case "$1" in remove) - rm -rf /var/log/kimchi /var/run/kimchi.pid + rm -rf /var/log/wok /var/run/wok.pid ;; purge) - rm -rf /var/log/kimchi /var/run/kimchi.pid /usr/share/kimchi/ + rm -rf /var/log/wok /var/run/wok.pid /usr/share/wok/ ;; esac diff --git a/contrib/make-deb.sh.in b/contrib/make-deb.sh.in index 5a6e56a..6c42072 100644 --- a/contrib/make-deb.sh.in +++ b/contrib/make-deb.sh.in @@ -11,5 +11,5 @@ fi TMPDIR=3D`mktemp -d` = make DESTDIR=3D$TMPDIR install-deb -dpkg-deb -b $TMPDIR kimchi-${VERSION}-${RELEASE}.noarch.deb +dpkg-deb -b $TMPDIR wok-${VERSION}-${RELEASE}.noarch.deb rm -rf $TMPDIR diff --git a/contrib/wok.spec.fedora.in b/contrib/wok.spec.fedora.in index 183fd43..edbe385 100644 --- a/contrib/wok.spec.fedora.in +++ b/contrib/wok.spec.fedora.in @@ -1,38 +1,24 @@ -Name: kimchi +Name: wok Version: @PACKAGE_VERSION@ Release: @PACKAGE_RELEASE@%{?dist} -Summary: Kimchi server application +Summary: Wok - Webserver Originated from Kimchi BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release} BuildArch: noarch Group: System Environment/Base License: LGPL/ASL2 Source0: %{name}-%{version}.tar.gz -Requires: qemu-kvm -Requires: gettext-devel -Requires: libvirt -Requires: libvirt-python -Requires: libvirt-daemon-config-network +Requires: gettext Requires: python-cherrypy >=3D 3.2.0 Requires: python-cheetah Requires: python-websockify -Requires: python-configobj Requires: novnc Requires: m2crypto Requires: python-imaging Requires: PyPAM -Requires: pyparted -Requires: python-psutil >=3D 0.6.0 Requires: python-jsonschema >=3D 1.3.0 -Requires: python-ethtool -Requires: sos -Requires: python-ipaddr Requires: python-lxml -Requires: nfs-utils Requires: nginx -Requires: iscsi-initiator-utils Requires: python-ldap -Requires: python-libguestfs -Requires: libguestfs-tools BuildRequires: libxslt BuildRequires: openssl BuildRequires: python-lxml @@ -64,7 +50,7 @@ BuildRequires: systemd-units %endif = %description -Web server application to manage KVM/Qemu virtual machines +Wok is Webserver Originated from Kimchi. = = %prep @@ -84,22 +70,18 @@ make rm -rf %{buildroot} make DESTDIR=3D%{buildroot} install = -%if 0%{?with_systemd} - -%endif - %if 0%{?rhel} =3D=3D 6 # Install the upstart script -install -Dm 0755 contrib/kimchid-upstart.conf.fedora %{buildroot}/etc/init= /kimchid.conf +install -Dm 0755 contrib/wokd-upstart.conf.fedora %{buildroot}/etc/init/wo= kd.conf %endif %if 0%{?rhel} =3D=3D 5 # Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid +install -Dm 0755 contrib/wokd.sysvinit %{buildroot}%{_initrddir}/wokd %endif = %post if [ $1 -eq 1 ] ; then - /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : + /bin/systemctl enable wokd.service >/dev/null 2>&1 || : # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi @@ -109,8 +91,8 @@ fi = if [ $1 -eq 0 ] ; then # Package removal, not upgrade - /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : - /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable wokd.service > /dev/null 2>&1 || : + /bin/systemctl stop wokd.service > /dev/null 2>&1 || : fi = exit 0 @@ -118,7 +100,7 @@ exit 0 = %postun if [ "$1" -ge 1 ] ; then - /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : + /bin/systemctl try-restart wokd.service >/dev/null 2>&1 || : fi exit 0 = @@ -127,55 +109,43 @@ rm -rf $RPM_BUILD_ROOT = %files %attr(-,root,root) -%{_bindir}/kimchid -%{python_sitelib}/kimchi/*.py* -%{python_sitelib}/kimchi/control/*.py* -%{python_sitelib}/kimchi/control/vm/*.py* -%{python_sitelib}/kimchi/model/*.py* -%{python_sitelib}/kimchi/xmlutils/*.py* -%{python_sitelib}/kimchi/API.json -%{python_sitelib}/kimchi/plugins/*.py* -%{python_sitelib}/kimchi/ -%{_datadir}/kimchi/doc/API.md -%{_datadir}/kimchi/doc/README.md -%{_datadir}/kimchi/doc/README-federation.md -%{_datadir}/kimchi/doc/kimchi-guest.png -%{_datadir}/kimchi/doc/kimchi-templates.png -%{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo -%{_datadir}/kimchi/config/ui/*.xml -%{_datadir}/kimchi/ui/ -%{_datadir}/kimchi -%{_sysconfdir}/nginx/conf.d/kimchi.conf.in -%{_sysconfdir}/nginx/conf.d/kimchi.conf -%{_sysconfdir}/kimchi/kimchi.conf -%{_sysconfdir}/kimchi/template.conf -%{_sysconfdir}/kimchi/distros.d/debian.json -%{_sysconfdir}/kimchi/distros.d/fedora.json -%{_sysconfdir}/kimchi/distros.d/opensuse.json -%{_sysconfdir}/kimchi/distros.d/ubuntu.json -%{_sysconfdir}/kimchi/distros.d/gentoo.json -%{_sysconfdir}/kimchi/ -%{_sharedstatedir}/kimchi/debugreports/ -%{_sharedstatedir}/kimchi/screenshots/ -%{_sharedstatedir}/kimchi/vnc-tokens/ -%{_sharedstatedir}/kimchi/isos/ -%{_sharedstatedir}/kimchi/ -%{_localstatedir}/log/kimchi/* -%{_localstatedir}/log/kimchi/ -%{_mandir}/man8/kimchid.8.gz +%{_bindir}/wokd +%{python_sitelib}/wok/*.py* +%{python_sitelib}/wok/control/*.py* +%{python_sitelib}/wok/model/*.py* +%{python_sitelib}/wok/xmlutils/*.py* +%{python_sitelib}/wok/API.json +%{python_sitelib}/wok/plugins/*.py* +%{python_sitelib}/wok/ +%{_prefix}/share/locale/*/LC_MESSAGES/wok.mo +%{_datadir}/wok/ui/ +%{_datadir}/wok +%{_sysconfdir}/nginx/conf.d/wok.conf.in +%{_sysconfdir}/nginx/conf.d/wok.conf +%{_sysconfdir}/wok/wok.conf +%{_sysconfdir}/wok/ +%{_sharedstatedir}/wok/vnc-tokens/ +%{_sharedstatedir}/wok/ +%{_localstatedir}/log/wok/* +%{_localstatedir}/log/wok/ +%{_mandir}/man8/wokd.8.gz = %if 0%{?with_systemd} -%{_unitdir}/kimchid.service -%{_prefix}/lib/firewalld/services/kimchid.xml +%{_unitdir}/wokd.service +%{_prefix}/lib/firewalld/services/wokd.xml %endif %if 0%{?rhel} =3D=3D 6 -/etc/init/kimchid.conf +/etc/init/wokd.conf %endif %if 0%{?rhel} =3D=3D 5 -%{_initrddir}/kimchid +%{_initrddir}/wokd %endif = %changelog +* Fri Jun 19 2015 Lucio Correia 1.6 +- Rename to wokd +- Remove kimchi specifics + * Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 - Add man page for kimchid = diff --git a/contrib/wok.spec.suse.in b/contrib/wok.spec.suse.in index 54228ae..63bdce3 100644 --- a/contrib/wok.spec.suse.in +++ b/contrib/wok.spec.suse.in @@ -1,38 +1,25 @@ -Name: kimchi +Name: wok Version: @PACKAGE_VERSION@ Release: @PACKAGE_RELEASE@%{?dist} -Summary: Kimchi server application +Summary: Wok - Webserver Originated from Kimchi BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release} BuildArch: noarch Group: System Environment/Base License: LGPL/ASL2 Source0: %{name}-%{version}.tar.gz -Requires: kvm Requires: gettext-tools -Requires: libvirt -Requires: libvirt-python -Requires: libvirt-daemon-config-network Requires: python-CherryPy >=3D 3.2.0 Requires: python-Cheetah Requires: python-websockify -Requires: python-configobj Requires: novnc Requires: python-imaging Requires: python-M2Crypto Requires: python-pam -Requires: python-parted -Requires: python-psutil >=3D 0.6.0 Requires: python-jsonschema >=3D 1.3.0 -Requires: python-ethtool -Requires: python-ipaddr Requires: python-ldap Requires: python-lxml Requires: python-xml -Requires: nfs-client Requires: nginx -Requires: open-iscsi -Requires: python-libguestfs -Requires: guestfs-tools BuildRequires: libxslt-tools BuildRequires: openssl BuildRequires: python-lxml @@ -46,7 +33,7 @@ Requires: python-ordereddict %endif = %description -Web server application to manage KVM/Qemu virtual machines +Wok is Webserver Originated from Kimchi. = %prep %setup @@ -59,29 +46,30 @@ make rm -rf %{buildroot} make DESTDIR=3D%{buildroot} install = + %post %if 0%{?with_systemd} - /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : + /bin/systemctl enable wokd.service >/dev/null 2>&1 || : /bin/systemctl daemon-reload >/dev/null 2>&1 || : %else - chkconfig kimchid on + chkconfig wokd on %endif exit 0 = = %preun %if 0%{?with_systemd} - /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : - /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable wokd.service > /dev/null 2>&1 || : + /bin/systemctl stop wokd.service > /dev/null 2>&1 || : %else - service kimchid stop + service wokd stop %endif exit 0 = = %postun %if 0%{?with_systemd} - /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : + /bin/systemctl try-restart wokd.service >/dev/null 2>&1 || : %endif exit 0 = @@ -90,43 +78,34 @@ rm -rf $RPM_BUILD_ROOT = %files %attr(-,root,root) -%{_bindir}/kimchid -%{python_sitelib}/kimchi/*.py* -%{python_sitelib}/kimchi/control/*.py* -%{python_sitelib}/kimchi/control/vm/*.py* -%{python_sitelib}/kimchi/model/*.py* -%{python_sitelib}/kimchi/xmlutils/*.py* -%{python_sitelib}/kimchi/API.json -%{python_sitelib}/kimchi/plugins/*.py* -%{python_sitelib}/kimchi/ -%{_datadir}/kimchi/doc/API.md -%{_datadir}/kimchi/doc/README.md -%{_datadir}/kimchi/doc/README-federation.md -%{_datadir}/kimchi/doc/kimchi-guest.png -%{_datadir}/kimchi/doc/kimchi-templates.png -%{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo -%{_datadir}/kimchi/config/ui/*.xml -%{_datadir}/kimchi/ui/ -%{_datadir}/kimchi -%{_sysconfdir}/nginx/conf.d/kimchi.conf.in -%{_sysconfdir}/nginx/conf.d/kimchi.conf -%{_sysconfdir}/kimchi/kimchi.conf -%{_sysconfdir}/kimchi/template.conf -%{_sysconfdir}/kimchi/distros.d/debian.json -%{_sysconfdir}/kimchi/distros.d/fedora.json -%{_sysconfdir}/kimchi/distros.d/opensuse.json -%{_sysconfdir}/kimchi/distros.d/ubuntu.json -%{_sysconfdir}/kimchi/distros.d/gentoo.json -%{_sysconfdir}/kimchi -%{_sysconfdir}/kimchi/ -%{_var}/lib/kimchi/debugreports/ -%{_var}/lib/kimchi/screenshots/ -%{_var}/lib/kimchi/vnc-tokens/ -%{_var}/lib/kimchi/isos/ -%{_var}/lib/kimchi/ -%{_localstatedir}/log/kimchi/* -%{_localstatedir}/log/kimchi/ -%{_mandir}/man8/kimchid.8.gz +%{_bindir}/wokd +%{python_sitelib}/wok/*.py* +%{python_sitelib}/wok/control/*.py* +%{python_sitelib}/wok/model/*.py* +%{python_sitelib}/wok/xmlutils/*.py* +%{python_sitelib}/wok/API.json +%{python_sitelib}/wok/plugins/*.py* +%{python_sitelib}/wok/ +%{_prefix}/share/locale/*/LC_MESSAGES/wok.mo +%{_datadir}/wok/ui/ +%{_datadir}/wok +%{_sysconfdir}/wok/wok.conf +%{_sysconfdir}/wok/ +%{_sysconfdir}/nginx/conf.d/wok.conf.in +%{_sysconfdir}/nginx/conf.d/wok.conf +%{_var}/lib/wok/vnc-tokens/ +%{_var}/lib/wok/ +%{_localstatedir}/log/wok/* +%{_localstatedir}/log/wok/ +%{_mandir}/man8/wokd.8.gz + +%if 0%{?with_systemd} +%{_unitdir}/wokd.service +%else +%{_initrddir}/wokd +%endif + + = %if 0%{?with_systemd} %{_unitdir}/kimchid.service @@ -136,6 +115,10 @@ rm -rf $RPM_BUILD_ROOT = = %changelog +* Fri Jun 19 2015 Lucio Correia 1.6 +- Rename to wokd +- Remove kimchi specifics + * Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 - Add man page for kimchid = diff --git a/contrib/wokd-upstart.conf.debian b/contrib/wokd-upstart.conf.d= ebian index a58d3c3..82e9156 100644 --- a/contrib/wokd-upstart.conf.debian +++ b/contrib/wokd-upstart.conf.debian @@ -1,5 +1,5 @@ # -# kimchid - Kimchi Web Server +# wokd - Wok Web Server # # Copyright IBM, Corp. 2013 # @@ -18,17 +18,11 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA # = -description "Kimchi Web Server" +description "Wok - Webserver Originated from Kimchi" = -start on started libvirt-bin -stop on stopped libvirt-bin +start on stopped rc RUNLEVEL=3D[2345] = respawn respawn limit 5 30 = -pre-start script - status libvirt-bin | grep -q "start/running" && exit 0 - start libvirt-bin || exit 1 -end script - -exec /usr/bin/kimchid +exec /usr/bin/wokd diff --git a/contrib/wokd-upstart.conf.fedora b/contrib/wokd-upstart.conf.f= edora index 53e8a39..f02ce34 100644 --- a/contrib/wokd-upstart.conf.fedora +++ b/contrib/wokd-upstart.conf.fedora @@ -1,5 +1,5 @@ # -# kimchid - Kimchi Web Server +# wokd - Wok Web Server # # Copyright IBM, Corp. 2013 # @@ -18,16 +18,11 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA # = -description "Kimchi Web Server" +description "Wok - Webserver Originated from Kimchi" = start on stopped rc RUNLEVEL=3D[2345] = respawn respawn limit 5 30 = -pre-start script - service libvirtd status | grep -q "start/running" && exit 0 - service libvirtd start || exit 1 -end script - -exec /usr/bin/kimchid +exec /usr/bin/wokd diff --git a/contrib/wokd.service.fedora b/contrib/wokd.service.fedora index 7abe49b..17414d3 100644 --- a/contrib/wokd.service.fedora +++ b/contrib/wokd.service.fedora @@ -1,13 +1,13 @@ [Unit] -Description=3DKimchi server +Description=3DWok - Webserver Originated from Kimchi Requires=3Dlibvirtd.service After=3Dlibvirtd.service = [Service] Type=3Dsimple -ExecStart=3D/usr/bin/kimchid +ExecStart=3D/usr/bin/wokd ExecStop=3D/bin/kill -TERM $MAINPID -EnvironmentFile=3D/etc/kimchi/kimchi.conf +EnvironmentFile=3D/etc/wok/wok.conf = [Install] WantedBy=3Dmulti-user.target diff --git a/contrib/wokd.sysvinit b/contrib/wokd.sysvinit index 023b34c..10680ee 100644 --- a/contrib/wokd.sysvinit +++ b/contrib/wokd.sysvinit @@ -1,6 +1,6 @@ #! /bin/sh # -# kimchid Kimchi Web Server +# wokd Wok Web Server # # Copyright IBM, Corp. 2013 # @@ -21,12 +21,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA # ### BEGIN INIT INFO -# Provides: kimchid +# Provides: wokd # Required-Start: libvirtd # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 -# Description: Start the kimchid daemon +# Description: Start the wokd daemon ### END INIT INFO = . /etc/rc.status @@ -45,21 +45,21 @@ rc_reset = case "$1" in start) - echo -n "Starting kimchid daemon" + echo -n "Starting wokd daemon" ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. = - startproc -f /usr/bin/kimchid > /dev/null 2>&1 + startproc -f /usr/bin/wokd > /dev/null 2>&1 = # Remember status and be verbose rc_status -v ;; stop) - echo -n "Shutting down kimchid daemon" + echo -n "Shutting down wokd daemon" ## Stop daemon with killproc(8) and if this fails ## set echo the echo return value. = - killproc -TERM /usr/bin/kimchid + killproc -TERM /usr/bin/wokd = # Remember status and be verbose rc_status -v @@ -82,7 +82,7 @@ case "$1" in rc_status ;; status) - echo -n "Checking for service kimchid " + echo -n "Checking for service wokd " ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. = @@ -92,7 +92,7 @@ case "$1" in # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running = - checkproc /usr/bin/kimchid + checkproc /usr/bin/wokd = rc_status -v ;; diff --git a/src/firewalld.xml b/src/firewalld.xml index 03e1510..ff9fafe 100644 --- a/src/firewalld.xml +++ b/src/firewalld.xml @@ -1,7 +1,7 @@ - kimchid - Kimchid is a daemon service for kimchi which is a HTML5 bas= ed management tool for KVM. It is designed to make it as easy as possible t= o get started with KVM and create your first guest. + wokd + wokd is a daemon service for wok which is a web framework.<= /description> -- = 1.7.1 --===============6900691045123990832==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:19:05 2015 Content-Type: multipart/mixed; boundary="===============1216116835315817563==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 11/34] Update kimchi plugin rpm specs Date: Wed, 08 Jul 2015 16:17:43 -0300 Message-ID: <1436383086-19140-12-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============1216116835315817563== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Add dependency on wok - Drop wok specifics from specs - Reflect new plugin structure in the specs - Replace gettext-devel dependency by gettext Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- plugins/kimchi/contrib/DEBIAN/control.in | 6 +- plugins/kimchi/contrib/kimchi.spec.fedora.in | 99 +++++-----------------= ---- plugins/kimchi/contrib/kimchi.spec.suse.in | 71 +++++-------------- 3 files changed, 37 insertions(+), 139 deletions(-) diff --git a/plugins/kimchi/contrib/DEBIAN/control.in b/plugins/kimchi/cont= rib/DEBIAN/control.in index a288e9b..ecfcd89 100644 --- a/plugins/kimchi/contrib/DEBIAN/control.in +++ b/plugins/kimchi/contrib/DEBIAN/control.in @@ -3,7 +3,8 @@ Version: @PACKAGE_VERSION@ Section: base Priority: optional Architecture: all -Depends: python-cherrypy3 (>=3D 3.2.0), +Depends: wok, + python-cherrypy3 (>=3D 3.2.0), python-cheetah, python-imaging, python-configobj, @@ -30,7 +31,6 @@ Depends: python-cherrypy3 (>=3D 3.2.0), libguestfs-tools, spice-html5 Build-Depends: libxslt, - openssl, python-lxml Maintainer: Aline Manera -Description: Kimchi web server +Description: Kimchi web application diff --git a/plugins/kimchi/contrib/kimchi.spec.fedora.in b/plugins/kimchi/= contrib/kimchi.spec.fedora.in index 183fd43..7a7a447 100644 --- a/plugins/kimchi/contrib/kimchi.spec.fedora.in +++ b/plugins/kimchi/contrib/kimchi.spec.fedora.in @@ -7,8 +7,9 @@ BuildArch: noarch Group: System Environment/Base License: LGPL/ASL2 Source0: %{name}-%{version}.tar.gz +Requires: wok Requires: qemu-kvm -Requires: gettext-devel +Requires: gettext Requires: libvirt Requires: libvirt-python Requires: libvirt-daemon-config-network @@ -34,7 +35,6 @@ Requires: python-ldap Requires: python-libguestfs Requires: libguestfs-tools BuildRequires: libxslt -BuildRequires: openssl BuildRequires: python-lxml = %if 0%{?rhel} >=3D 6 || 0%{?fedora} >=3D 19 @@ -51,20 +51,8 @@ Requires: python-imaging BuildRequires: python-unittest2 %endif = -%if 0%{?with_systemd} -Requires: systemd -Requires: firewalld -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -%endif - -%if 0%{?with_systemd} -BuildRequires: systemd-units -%endif - %description -Web server application to manage KVM/Qemu virtual machines +Web application to manage KVM/Qemu virtual machines = = %prep @@ -84,71 +72,29 @@ make rm -rf %{buildroot} make DESTDIR=3D%{buildroot} install = -%if 0%{?with_systemd} - -%endif - -%if 0%{?rhel} =3D=3D 6 -# Install the upstart script -install -Dm 0755 contrib/kimchid-upstart.conf.fedora %{buildroot}/etc/init= /kimchid.conf -%endif -%if 0%{?rhel} =3D=3D 5 -# Install the SysV init scripts -install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid -%endif - -%post -if [ $1 -eq 1 ] ; then - /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : - # Initial installation - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -fi - - -%preun - -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : - /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : -fi - -exit 0 - - -%postun -if [ "$1" -ge 1 ] ; then - /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : -fi -exit 0 = %clean rm -rf $RPM_BUILD_ROOT = %files %attr(-,root,root) -%{_bindir}/kimchid -%{python_sitelib}/kimchi/*.py* -%{python_sitelib}/kimchi/control/*.py* -%{python_sitelib}/kimchi/control/vm/*.py* -%{python_sitelib}/kimchi/model/*.py* -%{python_sitelib}/kimchi/xmlutils/*.py* -%{python_sitelib}/kimchi/API.json -%{python_sitelib}/kimchi/plugins/*.py* -%{python_sitelib}/kimchi/ +%{python_sitelib}/wok/plugins/kimchi/*.py* +%{python_sitelib}/wok/plugins/kimchi/control/*.py* +%{python_sitelib}/wok/plugins/kimchi/control/vm/*.py* +%{python_sitelib}/wok/plugins/kimchi/model/*.py* +%{python_sitelib}/wok/plugins/kimchi/API.json +%{python_sitelib}/wok/plugins/kimchi/ %{_datadir}/kimchi/doc/API.md %{_datadir}/kimchi/doc/README.md %{_datadir}/kimchi/doc/README-federation.md %{_datadir}/kimchi/doc/kimchi-guest.png %{_datadir}/kimchi/doc/kimchi-templates.png %{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo -%{_datadir}/kimchi/config/ui/*.xml -%{_datadir}/kimchi/ui/ -%{_datadir}/kimchi -%{_sysconfdir}/nginx/conf.d/kimchi.conf.in -%{_sysconfdir}/nginx/conf.d/kimchi.conf -%{_sysconfdir}/kimchi/kimchi.conf -%{_sysconfdir}/kimchi/template.conf +%{_datadir}/wok/plugins/kimchi/ui/config/*.xml +%{_datadir}/wok/plugins/kimchi/ui/ +%{_datadir}/wok/plugins/kimchi +%{_sysconfdir}/wok/plugins.d/kimchi.conf +%{_sysconfdir}/wok/plugins.d/template.conf %{_sysconfdir}/kimchi/distros.d/debian.json %{_sysconfdir}/kimchi/distros.d/fedora.json %{_sysconfdir}/kimchi/distros.d/opensuse.json @@ -157,25 +103,14 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/kimchi/ %{_sharedstatedir}/kimchi/debugreports/ %{_sharedstatedir}/kimchi/screenshots/ -%{_sharedstatedir}/kimchi/vnc-tokens/ %{_sharedstatedir}/kimchi/isos/ %{_sharedstatedir}/kimchi/ -%{_localstatedir}/log/kimchi/* -%{_localstatedir}/log/kimchi/ -%{_mandir}/man8/kimchid.8.gz = -%if 0%{?with_systemd} -%{_unitdir}/kimchid.service -%{_prefix}/lib/firewalld/services/kimchid.xml -%endif -%if 0%{?rhel} =3D=3D 6 -/etc/init/kimchid.conf -%endif -%if 0%{?rhel} =3D=3D 5 -%{_initrddir}/kimchid -%endif = %changelog +* Thu Jun 18 2015 Lucio Correia 1.6 +- Run kimchi as a plugin + * Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 - Add man page for kimchid = diff --git a/plugins/kimchi/contrib/kimchi.spec.suse.in b/plugins/kimchi/co= ntrib/kimchi.spec.suse.in index 54228ae..1ab2e5f 100644 --- a/plugins/kimchi/contrib/kimchi.spec.suse.in +++ b/plugins/kimchi/contrib/kimchi.spec.suse.in @@ -7,6 +7,7 @@ BuildArch: noarch Group: System Environment/Base License: LGPL/ASL2 Source0: %{name}-%{version}.tar.gz +Requires: wok Requires: kvm Requires: gettext-tools Requires: libvirt @@ -34,7 +35,6 @@ Requires: open-iscsi Requires: python-libguestfs Requires: guestfs-tools BuildRequires: libxslt-tools -BuildRequires: openssl BuildRequires: python-lxml = %if 0%{?suse_version} =3D=3D 1100 @@ -46,7 +46,7 @@ Requires: python-ordereddict %endif = %description -Web server application to manage KVM/Qemu virtual machines +Web application to manage KVM/Qemu virtual machines = %prep %setup @@ -59,83 +59,46 @@ make rm -rf %{buildroot} make DESTDIR=3D%{buildroot} install = -%post -%if 0%{?with_systemd} - /bin/systemctl enable kimchid.service >/dev/null 2>&1 || : - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -%else - chkconfig kimchid on -%endif -exit 0 - - -%preun -%if 0%{?with_systemd} - /bin/systemctl --no-reload disable kimchid.service > /dev/null 2>&1 ||= : - /bin/systemctl stop kimchid.service > /dev/null 2>&1 || : -%else - service kimchid stop -%endif -exit 0 - - -%postun -%if 0%{?with_systemd} - /bin/systemctl try-restart kimchid.service >/dev/null 2>&1 || : -%endif -exit 0 = %clean rm -rf $RPM_BUILD_ROOT = %files %attr(-,root,root) -%{_bindir}/kimchid -%{python_sitelib}/kimchi/*.py* -%{python_sitelib}/kimchi/control/*.py* -%{python_sitelib}/kimchi/control/vm/*.py* -%{python_sitelib}/kimchi/model/*.py* -%{python_sitelib}/kimchi/xmlutils/*.py* -%{python_sitelib}/kimchi/API.json -%{python_sitelib}/kimchi/plugins/*.py* -%{python_sitelib}/kimchi/ +%{python_sitelib}/wok/plugins/kimchi/*.py* +%{python_sitelib}/wok/plugins/kimchi/control/*.py* +%{python_sitelib}/wok/plugins/kimchi/control/vm/*.py* +%{python_sitelib}/wok/plugins/kimchi/model/*.py* +%{python_sitelib}/wok/plugins/kimchi/API.json +%{python_sitelib}/wok/plugins/kimchi/ %{_datadir}/kimchi/doc/API.md %{_datadir}/kimchi/doc/README.md %{_datadir}/kimchi/doc/README-federation.md %{_datadir}/kimchi/doc/kimchi-guest.png %{_datadir}/kimchi/doc/kimchi-templates.png %{_prefix}/share/locale/*/LC_MESSAGES/kimchi.mo -%{_datadir}/kimchi/config/ui/*.xml -%{_datadir}/kimchi/ui/ -%{_datadir}/kimchi -%{_sysconfdir}/nginx/conf.d/kimchi.conf.in -%{_sysconfdir}/nginx/conf.d/kimchi.conf -%{_sysconfdir}/kimchi/kimchi.conf -%{_sysconfdir}/kimchi/template.conf +%{_datadir}/wok/plugins/kimchi/ui/config/*.xml +%{_datadir}/wok/plugins/kimchi/ui/ +%{_datadir}/wok/plugins/kimchi +%{_sysconfdir}/wok/plugins.d/kimchi.conf +%{_sysconfdir}/wok/plugins.d/template.conf %{_sysconfdir}/kimchi/distros.d/debian.json %{_sysconfdir}/kimchi/distros.d/fedora.json %{_sysconfdir}/kimchi/distros.d/opensuse.json %{_sysconfdir}/kimchi/distros.d/ubuntu.json %{_sysconfdir}/kimchi/distros.d/gentoo.json -%{_sysconfdir}/kimchi %{_sysconfdir}/kimchi/ %{_var}/lib/kimchi/debugreports/ %{_var}/lib/kimchi/screenshots/ -%{_var}/lib/kimchi/vnc-tokens/ %{_var}/lib/kimchi/isos/ %{_var}/lib/kimchi/ -%{_localstatedir}/log/kimchi/* -%{_localstatedir}/log/kimchi/ -%{_mandir}/man8/kimchid.8.gz - -%if 0%{?with_systemd} -%{_unitdir}/kimchid.service -%else -%{_initrddir}/kimchid -%endif + = = %changelog +* Thu Jun 18 2015 Lucio Correia 1.6 +- Run kimchi as a plugin + * Thu Feb 26 2015 Fr=C3=A9d=C3=A9ric Bonnard = 1.4.0 - Add man page for kimchid = -- = 1.7.1 --===============1216116835315817563==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:19:11 2015 Content-Type: multipart/mixed; boundary="===============2914903332805009791==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 12/34] Adapt imports to the new plugin structure Date: Wed, 08 Jul 2015 16:17:44 -0300 Message-ID: <1436383086-19140-13-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============2914903332805009791== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This patch adapts imports to the new file structure and updates imported names in code. No other code changes. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- plugins/kimchi/control/__init__.py | 2 +- plugins/kimchi/control/config.py | 4 +- plugins/kimchi/control/cpuinfo.py | 2 +- plugins/kimchi/control/debugreports.py | 6 +- plugins/kimchi/control/groups.py | 4 +- plugins/kimchi/control/host.py | 8 ++-- plugins/kimchi/control/interfaces.py | 4 +- plugins/kimchi/control/networks.py | 4 +- plugins/kimchi/control/peers.py | 4 +- plugins/kimchi/control/storagepools.py | 12 +++--- plugins/kimchi/control/storageservers.py | 8 ++-- plugins/kimchi/control/storagevolumes.py | 8 ++-- plugins/kimchi/control/tasks.py | 4 +- plugins/kimchi/control/templates.py | 4 +- plugins/kimchi/control/users.py | 6 +- plugins/kimchi/control/vm/__init__.py | 2 +- plugins/kimchi/control/vm/hostdevs.py | 4 +- plugins/kimchi/control/vm/ifaces.py | 4 +- plugins/kimchi/control/vm/snapshots.py | 4 +- plugins/kimchi/control/vm/storages.py | 4 +- plugins/kimchi/control/vms.py | 6 +- plugins/kimchi/disks.py | 4 +- plugins/kimchi/distroloader.py | 6 +- plugins/kimchi/imageinfo.py | 4 +- plugins/kimchi/iscsi.py | 2 +- plugins/kimchi/isoinfo.py | 4 +- plugins/kimchi/kvmusertests.py | 2 +- plugins/kimchi/mockmodel.py | 40 ++++++++-------- plugins/kimchi/model/config.py | 25 +++++----- plugins/kimchi/model/cpuinfo.py | 4 +- plugins/kimchi/model/debugreports.py | 12 +++--- plugins/kimchi/model/diskutils.py | 8 ++-- plugins/kimchi/model/featuretests.py | 4 +- plugins/kimchi/model/groups.py | 2 +- plugins/kimchi/model/host.py | 26 +++++----- plugins/kimchi/model/hostdev.py | 6 +- plugins/kimchi/model/interfaces.py | 6 +- plugins/kimchi/model/libvirtconnection.py | 2 +- plugins/kimchi/model/libvirtstoragepool.py | 8 ++-- plugins/kimchi/model/model.py | 10 ++-- plugins/kimchi/model/networks.py | 22 +++++----- plugins/kimchi/model/peers.py | 4 +- plugins/kimchi/model/storagepools.py | 21 +++++---- plugins/kimchi/model/storageservers.py | 4 +- plugins/kimchi/model/storagetargets.py | 6 +- plugins/kimchi/model/storagevolumes.py | 20 ++++---- plugins/kimchi/model/tasks.py | 2 +- plugins/kimchi/model/templates.py | 16 +++--- plugins/kimchi/model/users.py | 4 +- plugins/kimchi/model/utils.py | 2 +- plugins/kimchi/model/vmhostdevs.py | 16 +++--- plugins/kimchi/model/vmifaces.py | 10 ++-- plugins/kimchi/model/vms.py | 48 ++++++++++------= --- plugins/kimchi/model/vmsnapshots.py | 12 +++--- plugins/kimchi/model/vmstorages.py | 22 +++++----- plugins/kimchi/osinfo.py | 2 +- plugins/kimchi/repositories.py | 12 +++--- plugins/kimchi/scan.py | 4 +- plugins/kimchi/screenshot.py | 4 +- plugins/kimchi/swupdate.py | 10 ++-- plugins/kimchi/tests/iso_gen.py | 2 +- plugins/kimchi/tests/run_tests.sh.in | 2 +- plugins/kimchi/tests/test_authorization.py | 6 +- plugins/kimchi/tests/test_config.py.in | 4 +- plugins/kimchi/tests/test_exception.py | 6 +- plugins/kimchi/tests/test_host.py | 2 +- plugins/kimchi/tests/test_mock_network.py | 2 +- plugins/kimchi/tests/test_mock_storagepool.py | 2 +- plugins/kimchi/tests/test_mock_storagevolume.py | 2 +- plugins/kimchi/tests/test_mockmodel.py | 6 +- plugins/kimchi/tests/test_model.py | 24 +++++----- plugins/kimchi/tests/test_model_network.py | 4 +- plugins/kimchi/tests/test_model_storagepool.py | 4 +- plugins/kimchi/tests/test_model_storagevolume.py | 9 ++-- plugins/kimchi/tests/test_networkxml.py | 4 +- plugins/kimchi/tests/test_objectstore.py | 4 +- plugins/kimchi/tests/test_osinfo.py | 4 +- plugins/kimchi/tests/test_plugin.py | 8 ++-- plugins/kimchi/tests/test_rest.py | 12 +++--- plugins/kimchi/tests/test_rollbackcontext.py | 2 +- plugins/kimchi/tests/test_server.py | 4 +- plugins/kimchi/tests/test_storagepoolxml.py | 2 +- plugins/kimchi/tests/test_template.py | 4 +- plugins/kimchi/tests/test_utils.py | 4 +- plugins/kimchi/tests/test_vmtemplate.py | 6 +- plugins/kimchi/tests/test_yumparser.py | 12 +++--- plugins/kimchi/tests/utils.py | 20 ++++---- plugins/kimchi/ui/pages/guest-add.html.tmpl | 2 +- .../kimchi/ui/pages/guest-storage-add.html.tmpl | 2 +- plugins/kimchi/ui/pages/guest.html.tmpl | 2 +- plugins/kimchi/ui/pages/i18n.json.tmpl | 2 +- plugins/kimchi/ui/pages/report-add.html.tmpl | 2 +- plugins/kimchi/ui/pages/report-rename.html.tmpl | 2 +- plugins/kimchi/ui/pages/repository-add.html.tmpl | 2 +- plugins/kimchi/ui/pages/repository-edit.html.tmpl | 2 +- .../ui/pages/storagepool-add-volume.html.tmpl | 2 +- plugins/kimchi/ui/pages/tabs/guests.html.tmpl | 2 +- plugins/kimchi/ui/pages/tabs/host.html.tmpl | 2 +- plugins/kimchi/ui/pages/tabs/network.html.tmpl | 2 +- plugins/kimchi/ui/pages/tabs/templates.html.tmpl | 2 +- plugins/kimchi/ui/pages/template-add.html.tmpl | 2 +- plugins/kimchi/ui/pages/template-edit.html.tmpl | 2 +- plugins/kimchi/vmtemplate.py | 23 +++++----- plugins/kimchi/xmlutils/disk.py | 4 +- plugins/kimchi/xmlutils/interface.py | 2 +- plugins/sample/__init__.py | 6 +- plugins/sample/model.py | 4 +- plugins/sample/sample.conf.in | 2 +- plugins/sample/ui/pages/i18n.json.tmpl | 2 +- src/wok/asynctask.py | 2 +- src/wok/auth.py | 8 ++-- src/wok/cachebust.py | 2 +- src/wok/control/__init__.py | 2 +- src/wok/control/base.py | 26 +++++----- src/wok/control/plugins.py | 4 +- src/wok/control/utils.py | 6 +- src/wok/exception.py | 4 +- src/wok/model/plugins.py | 2 +- src/wok/objectstore.py | 6 +- src/wok/proxy.py | 4 +- src/wok/root.py | 16 +++--- src/wok/server.py | 20 ++++---- src/wok/template.py | 2 +- src/wok/utils.py | 6 +- src/wok/vnc.py | 2 +- src/wokd.in | 6 +- ui/pages/error.html.tmpl | 2 +- ui/pages/i18n.json.tmpl | 2 +- ui/pages/login.html.tmpl | 4 +- ui/pages/wok-ui.html.tmpl | 4 +- 130 files changed, 445 insertions(+), 439 deletions(-) diff --git a/plugins/kimchi/control/__init__.py b/plugins/kimchi/control/__= init__.py index 98d42d3..4ad9459 100644 --- a/plugins/kimchi/control/__init__.py +++ b/plugins/kimchi/control/__init__.py @@ -20,7 +20,7 @@ import os = = -from kimchi.control.utils import load_url_sub_node +from wok.control.utils import load_url_sub_node = = sub_nodes =3D load_url_sub_node(os.path.dirname(__file__), __name__) diff --git a/plugins/kimchi/control/config.py b/plugins/kimchi/control/conf= ig.py index 45bb013..15df68f 100644 --- a/plugins/kimchi/control/config.py +++ b/plugins/kimchi/control/config.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode("config") diff --git a/plugins/kimchi/control/cpuinfo.py b/plugins/kimchi/control/cpu= info.py index 415dd3d..31f316c 100644 --- a/plugins/kimchi/control/cpuinfo.py +++ b/plugins/kimchi/control/cpuinfo.py @@ -18,7 +18,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = = -from kimchi.control.base import Resource +from wok.control.base import Resource = = class CPUInfo(Resource): diff --git a/plugins/kimchi/control/debugreports.py b/plugins/kimchi/contro= l/debugreports.py index 377d002..b5a3072 100644 --- a/plugins/kimchi/control/debugreports.py +++ b/plugins/kimchi/control/debugreports.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import AsyncCollection, Resource -from kimchi.control.utils import internal_redirect -from kimchi.control.utils import UrlSubNode +from wok.control.base import AsyncCollection, Resource +from wok.control.utils import internal_redirect +from wok.control.utils import UrlSubNode = = @UrlSubNode('debugreports', True) diff --git a/plugins/kimchi/control/groups.py b/plugins/kimchi/control/grou= ps.py index f18b2ab..649ff09 100644 --- a/plugins/kimchi/control/groups.py +++ b/plugins/kimchi/control/groups.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import SimpleCollection -from kimchi.control.utils import UrlSubNode +from wok.control.base import SimpleCollection +from wok.control.utils import UrlSubNode = = @UrlSubNode('groups', True) diff --git a/plugins/kimchi/control/host.py b/plugins/kimchi/control/host.py index 5e736db..6634d8f 100644 --- a/plugins/kimchi/control/host.py +++ b/plugins/kimchi/control/host.py @@ -17,10 +17,10 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.cpuinfo import CPUInfo -from kimchi.control.base import Collection, Resource, SimpleCollection -from kimchi.control.utils import UrlSubNode -from kimchi.exception import NotFoundError +from cpuinfo import CPUInfo +from wok.control.base import Collection, Resource, SimpleCollection +from wok.control.utils import UrlSubNode +from wok.exception import NotFoundError = = @UrlSubNode('host', True) diff --git a/plugins/kimchi/control/interfaces.py b/plugins/kimchi/control/= interfaces.py index 3c76f3f..d698b7a 100644 --- a/plugins/kimchi/control/interfaces.py +++ b/plugins/kimchi/control/interfaces.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode('interfaces', True) diff --git a/plugins/kimchi/control/networks.py b/plugins/kimchi/control/ne= tworks.py index 42e013f..fd92111 100644 --- a/plugins/kimchi/control/networks.py +++ b/plugins/kimchi/control/networks.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode('networks', True) diff --git a/plugins/kimchi/control/peers.py b/plugins/kimchi/control/peers= .py index f72a38c..21e9f13 100644 --- a/plugins/kimchi/control/peers.py +++ b/plugins/kimchi/control/peers.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import SimpleCollection -from kimchi.control.utils import UrlSubNode +from wok.control.base import SimpleCollection +from wok.control.utils import UrlSubNode = = @UrlSubNode("peers", True) diff --git a/plugins/kimchi/control/storagepools.py b/plugins/kimchi/contro= l/storagepools.py index ee74bee..4a83c20 100644 --- a/plugins/kimchi/control/storagepools.py +++ b/plugins/kimchi/control/storagepools.py @@ -19,12 +19,12 @@ = import cherrypy = -from kimchi.control.base import Collection, Resource -from kimchi.control.storagevolumes import IsoVolumes, StorageVolumes -from kimchi.control.utils import get_class_name, model_fn -from kimchi.control.utils import validate_params -from kimchi.model.storagepools import ISO_POOL_NAME -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from storagevolumes import IsoVolumes, StorageVolumes +from wok.control.utils import get_class_name, model_fn +from wok.control.utils import validate_params +from ..model.storagepools import ISO_POOL_NAME +from wok.control.utils import UrlSubNode = = @UrlSubNode('storagepools', True) diff --git a/plugins/kimchi/control/storageservers.py b/plugins/kimchi/cont= rol/storageservers.py index 4b70c39..654ab47 100644 --- a/plugins/kimchi/control/storageservers.py +++ b/plugins/kimchi/control/storageservers.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -import kimchi.template -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import get_class_name, model_fn, UrlSubNode +from wok import template +from wok.control.base import Collection, Resource +from wok.control.utils import get_class_name, model_fn, UrlSubNode = = @UrlSubNode('storageservers', True) @@ -57,4 +57,4 @@ class StorageTargets(Collection): res_list =3D [] get_list =3D getattr(self.model, model_fn(self, 'get_list')) res_list =3D get_list(*self.model_args, **filter_params) - return kimchi.template.render(get_class_name(self), res_list) + return template.render(get_class_name(self), res_list) diff --git a/plugins/kimchi/control/storagevolumes.py b/plugins/kimchi/cont= rol/storagevolumes.py index 8af7abc..bbe6627 100644 --- a/plugins/kimchi/control/storagevolumes.py +++ b/plugins/kimchi/control/storagevolumes.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -import kimchi.template -from kimchi.control.base import AsyncCollection, Collection, Resource -from kimchi.control.utils import get_class_name, model_fn +from wok import template +from wok.control.base import AsyncCollection, Collection, Resource +from wok.control.utils import get_class_name, model_fn = = class StorageVolumes(AsyncCollection): @@ -80,4 +80,4 @@ class IsoVolumes(Collection): except AttributeError: pass = - return kimchi.template.render(get_class_name(self), res_list) + return template.render(get_class_name(self), res_list) diff --git a/plugins/kimchi/control/tasks.py b/plugins/kimchi/control/tasks= .py index 4870dbd..b25d892 100644 --- a/plugins/kimchi/control/tasks.py +++ b/plugins/kimchi/control/tasks.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode("tasks", True) diff --git a/plugins/kimchi/control/templates.py b/plugins/kimchi/control/t= emplates.py index 4c45910..fc58815 100644 --- a/plugins/kimchi/control/templates.py +++ b/plugins/kimchi/control/templates.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode('templates', True) diff --git a/plugins/kimchi/control/users.py b/plugins/kimchi/control/users= .py index 45603d0..756a2f7 100644 --- a/plugins/kimchi/control/users.py +++ b/plugins/kimchi/control/users.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import SimpleCollection -from kimchi.control.utils import get_class_name, model_fn, UrlSubNode -from kimchi.template import render +from wok.control.base import SimpleCollection +from wok.control.utils import get_class_name, model_fn, UrlSubNode +from wok.template import render = = @UrlSubNode('users', True) diff --git a/plugins/kimchi/control/vm/__init__.py b/plugins/kimchi/control= /vm/__init__.py index 2ea1e8c..a311045 100644 --- a/plugins/kimchi/control/vm/__init__.py +++ b/plugins/kimchi/control/vm/__init__.py @@ -20,7 +20,7 @@ import os = = -from kimchi.control.utils import load_url_sub_node +from wok.control.utils import load_url_sub_node = = sub_nodes =3D load_url_sub_node(os.path.dirname(__file__), __name__) diff --git a/plugins/kimchi/control/vm/hostdevs.py b/plugins/kimchi/control= /vm/hostdevs.py index 1eb88cf..a43b9d8 100644 --- a/plugins/kimchi/control/vm/hostdevs.py +++ b/plugins/kimchi/control/vm/hostdevs.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode("hostdevs") diff --git a/plugins/kimchi/control/vm/ifaces.py b/plugins/kimchi/control/v= m/ifaces.py index 8a60217..ac957fd 100644 --- a/plugins/kimchi/control/vm/ifaces.py +++ b/plugins/kimchi/control/vm/ifaces.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode("ifaces") diff --git a/plugins/kimchi/control/vm/snapshots.py b/plugins/kimchi/contro= l/vm/snapshots.py index bbebc9a..dd17b85 100644 --- a/plugins/kimchi/control/vm/snapshots.py +++ b/plugins/kimchi/control/vm/snapshots.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import AsyncCollection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import AsyncCollection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode('snapshots') diff --git a/plugins/kimchi/control/vm/storages.py b/plugins/kimchi/control= /vm/storages.py index 81a5d48..f502caa 100644 --- a/plugins/kimchi/control/vm/storages.py +++ b/plugins/kimchi/control/vm/storages.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import Collection, Resource -from kimchi.control.utils import UrlSubNode +from wok.control.base import Collection, Resource +from wok.control.utils import UrlSubNode = = @UrlSubNode("storages") diff --git a/plugins/kimchi/control/vms.py b/plugins/kimchi/control/vms.py index a40b56e..c8105bc 100644 --- a/plugins/kimchi/control/vms.py +++ b/plugins/kimchi/control/vms.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import AsyncCollection, Resource -from kimchi.control.utils import internal_redirect, UrlSubNode -from kimchi.control.vm import sub_nodes +from wok.control.base import AsyncCollection, Resource +from wok.control.utils import internal_redirect, UrlSubNode +from vm import sub_nodes = = @UrlSubNode('vms', True) diff --git a/plugins/kimchi/disks.py b/plugins/kimchi/disks.py index 016a079..59e52f9 100644 --- a/plugins/kimchi/disks.py +++ b/plugins/kimchi/disks.py @@ -24,8 +24,8 @@ import subprocess from parted import Device as PDevice from parted import Disk as PDisk = -from kimchi.exception import OperationFailed -from kimchi.utils import kimchi_log +from wok.exception import OperationFailed +from wok.utils import kimchi_log = = def _get_dev_node_path(maj_min): diff --git a/plugins/kimchi/distroloader.py b/plugins/kimchi/distroloader.py index daed73c..8ad34d2 100644 --- a/plugins/kimchi/distroloader.py +++ b/plugins/kimchi/distroloader.py @@ -23,9 +23,9 @@ import json import os = = -from kimchi import config -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.utils import kimchi_log +import config +from wok.exception import NotFoundError, OperationFailed +from wok.utils import kimchi_log = = ARCHS =3D {'x86_64': ['x86_64', 'amd64', 'i686', 'x86', 'i386'], diff --git a/plugins/kimchi/imageinfo.py b/plugins/kimchi/imageinfo.py index 89d1e0a..fbd1396 100644 --- a/plugins/kimchi/imageinfo.py +++ b/plugins/kimchi/imageinfo.py @@ -22,8 +22,8 @@ import os import sys import guestfs = -from kimchi.exception import ImageFormatError, InvalidParameter, TimeoutEx= pired -from kimchi.utils import run_command, kimchi_log +from wok.exception import ImageFormatError, InvalidParameter, TimeoutExpir= ed +from wok.utils import run_command, kimchi_log = = def probe_img_info(path): diff --git a/plugins/kimchi/iscsi.py b/plugins/kimchi/iscsi.py index b3e1b78..02886ac 100644 --- a/plugins/kimchi/iscsi.py +++ b/plugins/kimchi/iscsi.py @@ -20,7 +20,7 @@ import subprocess = = -from kimchi.exception import OperationFailed +from wok.exception import OperationFailed = = class TargetClient(object): diff --git a/plugins/kimchi/isoinfo.py b/plugins/kimchi/isoinfo.py index 6fb0f38..de9c359 100644 --- a/plugins/kimchi/isoinfo.py +++ b/plugins/kimchi/isoinfo.py @@ -28,8 +28,8 @@ import sys import urllib2 = = -from kimchi.exception import IsoFormatError -from kimchi.utils import check_url_path, kimchi_log +from wok.exception import IsoFormatError +from wok.utils import check_url_path, kimchi_log = = iso_dir =3D [ diff --git a/plugins/kimchi/kvmusertests.py b/plugins/kimchi/kvmusertests.py index 5724267..ace157e 100644 --- a/plugins/kimchi/kvmusertests.py +++ b/plugins/kimchi/kvmusertests.py @@ -22,7 +22,7 @@ import threading = import libvirt = -from kimchi.rollbackcontext import RollbackContext +from wok.rollbackcontext import RollbackContext = KVMUSERTEST_VM_NAME =3D "KVMUSERTEST_VM" = diff --git a/plugins/kimchi/mockmodel.py b/plugins/kimchi/mockmodel.py index aaf1af2..384ce9b 100644 --- a/plugins/kimchi/mockmodel.py +++ b/plugins/kimchi/mockmodel.py @@ -23,29 +23,29 @@ import os import random import time = -import kimchi.model.cpuinfo +from model import cpuinfo = from lxml import objectify from lxml.builder import E = -from kimchi import config -from kimchi import imageinfo -from kimchi import osinfo -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.model.debugreports import DebugReportsModel -from kimchi.model.host import DeviceModel -from kimchi.model.libvirtstoragepool import IscsiPoolDef, NetfsPoolDef -from kimchi.model.libvirtstoragepool import StoragePoolDef -from kimchi.model.model import Model -from kimchi.model.storagepools import StoragePoolModel -from kimchi.model.storagevolumes import StorageVolumeModel, StorageVolumes= Model -from kimchi.model.templates import LibvirtVMTemplate -from kimchi.model.users import PAMUsersModel -from kimchi.model.groups import PAMGroupsModel -from kimchi.objectstore import ObjectStore -from kimchi.utils import add_task, get_next_clone_name, kimchi_log -from kimchi.vmtemplate import VMTemplate -from kimchi.xmlutils.utils import xml_item_update +import config +import imageinfo +import osinfo +from wok.exception import NotFoundError, OperationFailed +from model.debugreports import DebugReportsModel +from model.host import DeviceModel +from model.libvirtstoragepool import IscsiPoolDef, NetfsPoolDef +from model.libvirtstoragepool import StoragePoolDef +from model.model import Model +from model.storagepools import StoragePoolModel +from model.storagevolumes import StorageVolumeModel, StorageVolumesModel +from model.templates import LibvirtVMTemplate +from model.users import PAMUsersModel +from model.groups import PAMGroupsModel +from wok.objectstore import ObjectStore +from wok.utils import add_task, get_next_clone_name, kimchi_log +from vmtemplate import VMTemplate +from wok.xmlutils.utils import xml_item_update = = fake_user =3D {'root': 'letmein!'} @@ -74,7 +74,7 @@ class MockModel(Model): self._mock_swupdate =3D MockSoftwareUpdate() self._mock_repositories =3D MockRepositories() = - kimchi.model.cpuinfo.get_topo_capabilities =3D \ + cpuinfo.get_topo_capabilities =3D \ MockModel.get_topo_capabilities libvirt.virConnect.defineXML =3D MockModel.domainDefineXML libvirt.virDomain.XMLDesc =3D MockModel.domainXMLDesc diff --git a/plugins/kimchi/model/config.py b/plugins/kimchi/model/config.py index d894b21..6f593e3 100644 --- a/plugins/kimchi/model/config.py +++ b/plugins/kimchi/model/config.py @@ -21,18 +21,19 @@ from multiprocessing.pool import ThreadPool = import cherrypy = -from kimchi.basemodel import Singleton -from kimchi.config import config as kconfig -from kimchi.config import find_qemu_binary, get_version -from kimchi.distroloader import DistroLoader -from kimchi.exception import NotFoundError -from kimchi.model.debugreports import DebugReportsModel -from kimchi.model.featuretests import FeatureTests, FEATURETEST_POOL_NAME -from kimchi.model.featuretests import FEATURETEST_VM_NAME -from kimchi.repositories import Repositories -from kimchi.screenshot import VMScreenshot -from kimchi.swupdate import SoftwareUpdate -from kimchi.utils import check_url_path, kimchi_log, run_command +from wok.basemodel import Singleton +from wok.config import config as kconfig +from wok.config import get_version +from ..config import find_qemu_binary +from ..distroloader import DistroLoader +from wok.exception import NotFoundError +from debugreports import DebugReportsModel +from featuretests import FeatureTests, FEATURETEST_POOL_NAME +from featuretests import FEATURETEST_VM_NAME +from ..repositories import Repositories +from ..screenshot import VMScreenshot +from ..swupdate import SoftwareUpdate +from wok.utils import check_url_path, kimchi_log, run_command = = class ConfigModel(object): diff --git a/plugins/kimchi/model/cpuinfo.py b/plugins/kimchi/model/cpuinfo= .py index 548aa3e..54d6eaa 100644 --- a/plugins/kimchi/model/cpuinfo.py +++ b/plugins/kimchi/model/cpuinfo.py @@ -21,8 +21,8 @@ import platform = from xml.etree import ElementTree as ET = -from kimchi.exception import InvalidParameter, InvalidOperation -from kimchi.utils import kimchi_log, run_command +from wok.exception import InvalidParameter, InvalidOperation +from wok.utils import kimchi_log, run_command = ARCH =3D 'power' if platform.machine().startswith('ppc') else 'x86' = diff --git a/plugins/kimchi/model/debugreports.py b/plugins/kimchi/model/de= bugreports.py index 5f74da8..6cc8819 100644 --- a/plugins/kimchi/model/debugreports.py +++ b/plugins/kimchi/model/debugreports.py @@ -25,12 +25,12 @@ import shutil import subprocess import time = -from kimchi import config -from kimchi.exception import InvalidParameter, KimchiException, NotFoundEr= ror -from kimchi.exception import OperationFailed -from kimchi.model.tasks import TaskModel -from kimchi.utils import add_task, kimchi_log -from kimchi.utils import run_command +from .. import config +from wok.exception import InvalidParameter, KimchiException, NotFoundError +from wok.exception import OperationFailed +from tasks import TaskModel +from wok.utils import add_task, kimchi_log +from wok.utils import run_command = = class DebugReportsModel(object): diff --git a/plugins/kimchi/model/diskutils.py b/plugins/kimchi/model/disku= tils.py index 0be2024..041a135 100644 --- a/plugins/kimchi/model/diskutils.py +++ b/plugins/kimchi/model/diskutils.py @@ -18,10 +18,10 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = = -from kimchi.exception import OperationFailed, NotFoundError -from kimchi.model.vms import VMModel, VMsModel -from kimchi.utils import kimchi_log -from kimchi.xmlutils.disk import get_vm_disk_info, get_vm_disks +from wok.exception import OperationFailed, NotFoundError +from vms import VMModel, VMsModel +from wok.utils import kimchi_log +from ..xmlutils.disk import get_vm_disk_info, get_vm_disks = """ Functions that multiple storage-related models (e.g. VMStoragesModel, diff --git a/plugins/kimchi/model/featuretests.py b/plugins/kimchi/model/fe= aturetests.py index 047108f..16fd25e 100644 --- a/plugins/kimchi/model/featuretests.py +++ b/plugins/kimchi/model/featuretests.py @@ -25,8 +25,8 @@ import subprocess = from lxml.builder import E = -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import kimchi_log, run_command, servermethod +from wok.rollbackcontext import RollbackContext +from wok.utils import kimchi_log, run_command, servermethod = FEATURETEST_VM_NAME =3D "FEATURETEST_VM" FEATURETEST_POOL_NAME =3D "FEATURETEST_POOL" diff --git a/plugins/kimchi/model/groups.py b/plugins/kimchi/model/groups.py index 0af3f8f..fc63d68 100644 --- a/plugins/kimchi/model/groups.py +++ b/plugins/kimchi/model/groups.py @@ -19,7 +19,7 @@ = import grp = -from kimchi.config import config +from wok.config import config = = class GroupsModel(object): diff --git a/plugins/kimchi/model/host.py b/plugins/kimchi/model/host.py index b2fa379..f1f0b83 100644 --- a/plugins/kimchi/model/host.py +++ b/plugins/kimchi/model/host.py @@ -26,19 +26,19 @@ from collections import defaultdict import psutil from cherrypy.process.plugins import BackgroundTask = -from kimchi import disks -from kimchi import netinfo -from kimchi.basemodel import Singleton -from kimchi.model import hostdev -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.model.config import CapabilitiesModel -from kimchi.model.tasks import TaskModel -from kimchi.model.vms import DOM_STATE_MAP -from kimchi.repositories import Repositories -from kimchi.swupdate import SoftwareUpdate -from kimchi.utils import add_task, kimchi_log -from kimchi.xmlutils.utils import xpath_get_text +from .. import disks +from wok import netinfo +from wok.basemodel import Singleton +import hostdev +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import NotFoundError, OperationFailed +from config import CapabilitiesModel +from tasks import TaskModel +from vms import DOM_STATE_MAP +from ..repositories import Repositories +from ..swupdate import SoftwareUpdate +from wok.utils import add_task, kimchi_log +from wok.xmlutils.utils import xpath_get_text = = HOST_STATS_INTERVAL =3D 1 diff --git a/plugins/kimchi/model/hostdev.py b/plugins/kimchi/model/hostdev= .py index 2a4a311..34a8e1b 100644 --- a/plugins/kimchi/model/hostdev.py +++ b/plugins/kimchi/model/hostdev.py @@ -21,9 +21,9 @@ import os from pprint import pformat from pprint import pprint = -from kimchi.model.libvirtconnection import LibvirtConnection -from kimchi.utils import kimchi_log -from kimchi.xmlutils.utils import dictize +from libvirtconnection import LibvirtConnection +from wok.utils import kimchi_log +from wok.xmlutils.utils import dictize = = def _get_all_host_dev_infos(libvirt_conn): diff --git a/plugins/kimchi/model/interfaces.py b/plugins/kimchi/model/inte= rfaces.py index 4069caf..5ccadc7 100644 --- a/plugins/kimchi/model/interfaces.py +++ b/plugins/kimchi/model/interfaces.py @@ -17,9 +17,9 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi import netinfo -from kimchi.exception import NotFoundError -from kimchi.model.networks import NetworksModel +from wok import netinfo +from wok.exception import NotFoundError +from networks import NetworksModel = = class InterfacesModel(object): diff --git a/plugins/kimchi/model/libvirtconnection.py b/plugins/kimchi/mod= el/libvirtconnection.py index 7a5337c..4a4eee4 100644 --- a/plugins/kimchi/model/libvirtconnection.py +++ b/plugins/kimchi/model/libvirtconnection.py @@ -23,7 +23,7 @@ import time import cherrypy import libvirt = -from kimchi.utils import kimchi_log +from wok.utils import kimchi_log = = class LibvirtConnection(object): diff --git a/plugins/kimchi/model/libvirtstoragepool.py b/plugins/kimchi/mo= del/libvirtstoragepool.py index c6deafc..b7a8291 100644 --- a/plugins/kimchi/model/libvirtstoragepool.py +++ b/plugins/kimchi/model/libvirtstoragepool.py @@ -24,10 +24,10 @@ from lxml.builder import E = import libvirt = -from kimchi.exception import InvalidParameter, OperationFailed, TimeoutExp= ired -from kimchi.iscsi import TargetClient -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import kimchi_log, parse_cmd_output, run_command +from wok.exception import InvalidParameter, OperationFailed, TimeoutExpired +from ..iscsi import TargetClient +from wok.rollbackcontext import RollbackContext +from wok.utils import kimchi_log, parse_cmd_output, run_command = = class StoragePoolDef(object): diff --git a/plugins/kimchi/model/model.py b/plugins/kimchi/model/model.py index 40ebc98..33dea12 100644 --- a/plugins/kimchi/model/model.py +++ b/plugins/kimchi/model/model.py @@ -20,10 +20,10 @@ import inspect import os = -from kimchi.basemodel import BaseModel -from kimchi.model.libvirtconnection import LibvirtConnection -from kimchi.objectstore import ObjectStore -from kimchi.utils import import_module, listPathModules +from wok.basemodel import BaseModel +from libvirtconnection import LibvirtConnection +from wok.objectstore import ObjectStore +from wok.utils import import_module, listPathModules = = class Model(BaseModel): @@ -41,7 +41,7 @@ class Model(BaseModel): if mod_name.startswith("_") or mod_name =3D=3D this_mod: continue = - module =3D import_module('model.' + mod_name) + module =3D import_module('plugins.kimchi.model.' + mod_name) members =3D inspect.getmembers(module, inspect.isclass) for cls_name, instance in members: if inspect.getmodule(instance) =3D=3D module: diff --git a/plugins/kimchi/model/networks.py b/plugins/kimchi/model/networ= ks.py index 275e12b..7a3dfc8 100644 --- a/plugins/kimchi/model/networks.py +++ b/plugins/kimchi/model/networks.py @@ -25,17 +25,17 @@ import libvirt = from xml.sax.saxutils import escape = -from kimchi import netinfo -from kimchi import network as knetwork -from kimchi.config import paths -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import MissingParameter, NotFoundError, OperationFai= led -from kimchi.osinfo import defaults as tmpl_defaults -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import kimchi_log, run_command -from kimchi.xmlutils.network import create_vlan_tagged_bridge_xml -from kimchi.xmlutils.network import to_network_xml -from kimchi.xmlutils.utils import xpath_get_text +from wok import netinfo +from wok import network as knetwork +from wok.config import paths +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import MissingParameter, NotFoundError, OperationFailed +from ..osinfo import defaults as tmpl_defaults +from wok.rollbackcontext import RollbackContext +from wok.utils import kimchi_log, run_command +from ..xmlutils.network import create_vlan_tagged_bridge_xml +from ..xmlutils.network import to_network_xml +from wok.xmlutils.utils import xpath_get_text = = KIMCHI_BRIDGE_PREFIX =3D 'kb' diff --git a/plugins/kimchi/model/peers.py b/plugins/kimchi/model/peers.py index 0d4227b..ef70b1e 100644 --- a/plugins/kimchi/model/peers.py +++ b/plugins/kimchi/model/peers.py @@ -21,8 +21,8 @@ import cherrypy import re import socket = -from kimchi.config import config -from kimchi.utils import kimchi_log, run_command +from wok.config import config +from wok.utils import kimchi_log, run_command = = class PeersModel(object): diff --git a/plugins/kimchi/model/storagepools.py b/plugins/kimchi/model/st= oragepools.py index aa075cd..e84dc33 100644 --- a/plugins/kimchi/model/storagepools.py +++ b/plugins/kimchi/model/storagepools.py @@ -23,16 +23,17 @@ import sys = from lxml.builder import E = -from kimchi.config import config, paths -from kimchi.scan import Scanner -from kimchi.exception import InvalidOperation, MissingParameter -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.model.config import CapabilitiesModel -from kimchi.model.host import DeviceModel -from kimchi.model.libvirtstoragepool import StoragePoolDef -from kimchi.osinfo import defaults as tmpl_defaults -from kimchi.utils import add_task, kimchi_log, pool_name_from_uri, run_com= mand -from kimchi.xmlutils.utils import xpath_get_text +from wok.config import config, paths +from ..scan import Scanner +from wok.exception import InvalidOperation, MissingParameter +from wok.exception import NotFoundError, OperationFailed +from config import CapabilitiesModel +from host import DeviceModel +from libvirtstoragepool import StoragePoolDef +from ..osinfo import defaults as tmpl_defaults +from wok.utils import add_task, kimchi_log, run_command +from ..utils import pool_name_from_uri +from wok.xmlutils.utils import xpath_get_text = = ISO_POOL_NAME =3D u'kimchi_isos' diff --git a/plugins/kimchi/model/storageservers.py b/plugins/kimchi/model/= storageservers.py index dcdb74a..17e1289 100644 --- a/plugins/kimchi/model/storageservers.py +++ b/plugins/kimchi/model/storageservers.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.exception import NotFoundError -from kimchi.model.storagepools import StoragePoolModel, StoragePoolsModel +from wok.exception import NotFoundError +from storagepools import StoragePoolModel, StoragePoolsModel = # Types of remote storage servers supported STORAGE_SERVERS =3D ['netfs', 'iscsi'] diff --git a/plugins/kimchi/model/storagetargets.py b/plugins/kimchi/model/= storagetargets.py index 159f987..dd88fec 100644 --- a/plugins/kimchi/model/storagetargets.py +++ b/plugins/kimchi/model/storagetargets.py @@ -22,9 +22,9 @@ import lxml.etree as ET from lxml import objectify from lxml.builder import E = -from kimchi.model.config import CapabilitiesModel -from kimchi.model.storageservers import STORAGE_SERVERS -from kimchi.utils import kimchi_log, patch_find_nfs_target +from config import CapabilitiesModel +from storageservers import STORAGE_SERVERS +from wok.utils import kimchi_log, patch_find_nfs_target = = class StorageTargetsModel(object): diff --git a/plugins/kimchi/model/storagevolumes.py b/plugins/kimchi/model/= storagevolumes.py index 22856ff..92e1c7c 100644 --- a/plugins/kimchi/model/storagevolumes.py +++ b/plugins/kimchi/model/storagevolumes.py @@ -28,16 +28,16 @@ from lxml.builder import E = import libvirt = -from kimchi.config import READONLY_POOL_TYPE -from kimchi.exception import InvalidOperation, InvalidParameter, IsoFormat= Error -from kimchi.exception import MissingParameter, NotFoundError, OperationFai= led -from kimchi.isoinfo import IsoImage -from kimchi.model.diskutils import get_disk_used_by, set_disk_used_by -from kimchi.model.storagepools import StoragePoolModel -from kimchi.model.tasks import TaskModel -from kimchi.utils import add_task, get_next_clone_name, get_unique_file_na= me -from kimchi.utils import kimchi_log -from kimchi.xmlutils.utils import xpath_get_text +from ..config import READONLY_POOL_TYPE +from wok.exception import InvalidOperation, InvalidParameter, IsoFormatErr= or +from wok.exception import MissingParameter, NotFoundError, OperationFailed +from ..isoinfo import IsoImage +from diskutils import get_disk_used_by, set_disk_used_by +from storagepools import StoragePoolModel +from tasks import TaskModel +from wok.utils import add_task, get_next_clone_name, get_unique_file_name +from wok.utils import kimchi_log +from wok.xmlutils.utils import xpath_get_text = = VOLUME_TYPE_MAP =3D {0: 'file', diff --git a/plugins/kimchi/model/tasks.py b/plugins/kimchi/model/tasks.py index 61bc2f3..678fdc2 100644 --- a/plugins/kimchi/model/tasks.py +++ b/plugins/kimchi/model/tasks.py @@ -20,7 +20,7 @@ = import time = -from kimchi.exception import TimeoutExpired +from wok.exception import TimeoutExpired = = class TasksModel(object): diff --git a/plugins/kimchi/model/templates.py b/plugins/kimchi/model/templ= ates.py index ef83706..0f1f6be 100644 --- a/plugins/kimchi/model/templates.py +++ b/plugins/kimchi/model/templates.py @@ -23,14 +23,14 @@ import stat = import libvirt = -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.kvmusertests import UserTests -from kimchi.model.cpuinfo import CPUInfoModel -from kimchi.utils import pool_name_from_uri -from kimchi.utils import probe_file_permission_as_user, run_setfacl_set_at= tr -from kimchi.vmtemplate import VMTemplate -from kimchi.xmlutils.utils import xpath_get_text +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import NotFoundError, OperationFailed +from ..kvmusertests import UserTests +from cpuinfo import CPUInfoModel +from ..utils import pool_name_from_uri +from wok.utils import probe_file_permission_as_user, run_setfacl_set_attr +from ..vmtemplate import VMTemplate +from wok.xmlutils.utils import xpath_get_text = = class TemplatesModel(object): diff --git a/plugins/kimchi/model/users.py b/plugins/kimchi/model/users.py index 1422bae..2fa65dd 100644 --- a/plugins/kimchi/model/users.py +++ b/plugins/kimchi/model/users.py @@ -20,8 +20,8 @@ import ldap import pwd = -from kimchi.config import config -from kimchi.exception import NotFoundError +from wok.config import config +from wok.exception import NotFoundError = = class UsersModel(object): diff --git a/plugins/kimchi/model/utils.py b/plugins/kimchi/model/utils.py index 7f27edd..878390f 100644 --- a/plugins/kimchi/model/utils.py +++ b/plugins/kimchi/model/utils.py @@ -21,7 +21,7 @@ import libvirt from lxml import etree, objectify from lxml.builder import E, ElementMaker = -from kimchi.exception import OperationFailed +from wok.exception import OperationFailed = KIMCHI_META_URL =3D "https://github.com/kimchi-project/kimchi" KIMCHI_NAMESPACE =3D "kimchi" diff --git a/plugins/kimchi/model/vmhostdevs.py b/plugins/kimchi/model/vmho= stdevs.py index ea75fce..f8c87dd 100644 --- a/plugins/kimchi/model/vmhostdevs.py +++ b/plugins/kimchi/model/vmhostdevs.py @@ -24,14 +24,14 @@ import libvirt from lxml import etree, objectify from lxml.builder import E = -from kimchi.exception import InvalidOperation, InvalidParameter, NotFoundE= rror -from kimchi.exception import OperationFailed -from kimchi.model.config import CapabilitiesModel -from kimchi.model.host import DeviceModel, DevicesModel -from kimchi.model.utils import get_vm_config_flag -from kimchi.model.vms import DOM_STATE_MAP, VMModel -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import kimchi_log, run_command +from wok.exception import InvalidOperation, InvalidParameter, NotFoundError +from wok.exception import OperationFailed +from config import CapabilitiesModel +from host import DeviceModel, DevicesModel +from utils import get_vm_config_flag +from vms import DOM_STATE_MAP, VMModel +from wok.rollbackcontext import RollbackContext +from wok.utils import kimchi_log, run_command import platform = = diff --git a/plugins/kimchi/model/vmifaces.py b/plugins/kimchi/model/vmifac= es.py index 93a769b..6e14cc3 100644 --- a/plugins/kimchi/model/vmifaces.py +++ b/plugins/kimchi/model/vmifaces.py @@ -22,11 +22,11 @@ import random import libvirt from lxml import etree, objectify = -from kimchi.exception import InvalidParameter, MissingParameter -from kimchi.exception import NotFoundError, InvalidOperation -from kimchi.model.config import CapabilitiesModel -from kimchi.model.vms import DOM_STATE_MAP, VMModel -from kimchi.xmlutils.interface import get_iface_xml +from wok.exception import InvalidParameter, MissingParameter +from wok.exception import NotFoundError, InvalidOperation +from config import CapabilitiesModel +from vms import DOM_STATE_MAP, VMModel +from ..xmlutils.interface import get_iface_xml = = class VMIfacesModel(object): diff --git a/plugins/kimchi/model/vms.py b/plugins/kimchi/model/vms.py index 106e9bc..a874ca1 100644 --- a/plugins/kimchi/model/vms.py +++ b/plugins/kimchi/model/vms.py @@ -29,25 +29,27 @@ from xml.etree import ElementTree = import libvirt = -from kimchi import model, vnc -from kimchi.config import READONLY_POOL_TYPE, config -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.kvmusertests import UserTests -from kimchi.model.config import CapabilitiesModel -from kimchi.model.tasks import TaskModel -from kimchi.model.templates import TemplateModel -from kimchi.model.utils import get_vm_name -from kimchi.model.utils import get_metadata_node -from kimchi.model.utils import set_metadata_node -from kimchi.rollbackcontext import RollbackContext -from kimchi.screenshot import VMScreenshot -from kimchi.utils import add_task, convert_data_size, get_next_clone_name -from kimchi.utils import import_class, kimchi_log, run_setfacl_set_attr -from kimchi.utils import template_name_from_uri -from kimchi.xmlutils.cpu import get_cpu_xml, get_numa_xml -from kimchi.xmlutils.utils import xpath_get_text, xml_item_update -from kimchi.xmlutils.utils import dictize +from wok import vnc +from .. import model +from wok.config import config +from ..config import READONLY_POOL_TYPE +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import NotFoundError, OperationFailed +from ..kvmusertests import UserTests +from config import CapabilitiesModel +from tasks import TaskModel +from templates import TemplateModel +from utils import get_vm_name +from utils import get_metadata_node +from utils import set_metadata_node +from wok.rollbackcontext import RollbackContext +from ..screenshot import VMScreenshot +from wok.utils import add_task, convert_data_size, get_next_clone_name +from wok.utils import import_class, kimchi_log, run_setfacl_set_attr +from ..utils import template_name_from_uri +from ..xmlutils.cpu import get_cpu_xml, get_numa_xml +from wok.xmlutils.utils import xpath_get_text, xml_item_update +from wok.xmlutils.utils import dictize = = DOM_STATE_MAP =3D {0: 'nostate', @@ -182,16 +184,16 @@ class VMModel(object): self.objstore =3D kargs['objstore'] self.caps =3D CapabilitiesModel(**kargs) self.vmscreenshot =3D VMScreenshotModel(**kargs) - self.users =3D import_class('kimchi.model.users.UsersModel')(**kar= gs) - self.groups =3D import_class('kimchi.model.groups.GroupsModel')(**= kargs) + self.users =3D import_class('plugins.kimchi.model.users.UsersModel= ')(**kargs) + self.groups =3D import_class('plugins.kimchi.model.groups.GroupsMo= del')(**kargs) self.vms =3D VMsModel(**kargs) self.task =3D TaskModel(**kargs) self.storagepool =3D model.storagepools.StoragePoolModel(**kargs) self.storagevolume =3D model.storagevolumes.StorageVolumeModel(**k= args) self.storagevolumes =3D model.storagevolumes.StorageVolumesModel(*= *kargs) - cls =3D import_class('kimchi.model.vmsnapshots.VMSnapshotModel') + cls =3D import_class('plugins.kimchi.model.vmsnapshots.VMSnapshotM= odel') self.vmsnapshot =3D cls(**kargs) - cls =3D import_class('kimchi.model.vmsnapshots.VMSnapshotsModel') + cls =3D import_class('plugins.kimchi.model.vmsnapshots.VMSnapshots= Model') self.vmsnapshots =3D cls(**kargs) self.stats =3D {} = diff --git a/plugins/kimchi/model/vmsnapshots.py b/plugins/kimchi/model/vms= napshots.py index 3a92cdc..60de253 100644 --- a/plugins/kimchi/model/vmsnapshots.py +++ b/plugins/kimchi/model/vmsnapshots.py @@ -24,12 +24,12 @@ import lxml.etree as ET from lxml import objectify from lxml.builder import E = -from kimchi.exception import InvalidOperation, NotFoundError, OperationFai= led -from kimchi.model.tasks import TaskModel -from kimchi.model.vms import DOM_STATE_MAP, VMModel -from kimchi.model.vmstorages import VMStorageModel, VMStoragesModel -from kimchi.utils import add_task -from kimchi.xmlutils.utils import xpath_get_text +from wok.exception import InvalidOperation, NotFoundError, OperationFailed +from tasks import TaskModel +from vms import DOM_STATE_MAP, VMModel +from vmstorages import VMStorageModel, VMStoragesModel +from wok.utils import add_task +from wok.xmlutils.utils import xpath_get_text = = class VMSnapshotsModel(object): diff --git a/plugins/kimchi/model/vmstorages.py b/plugins/kimchi/model/vmst= orages.py index 142b177..29f8f30 100644 --- a/plugins/kimchi/model/vmstorages.py +++ b/plugins/kimchi/model/vmstorages.py @@ -21,17 +21,17 @@ import string = from lxml import etree = -from kimchi.exception import InvalidOperation, InvalidParameter, NotFoundE= rror -from kimchi.exception import OperationFailed -from kimchi.model.config import CapabilitiesModel -from kimchi.model.vms import DOM_STATE_MAP, VMModel -from kimchi.model.storagevolumes import StorageVolumeModel -from kimchi.model.utils import get_vm_config_flag -from kimchi.osinfo import lookup -from kimchi.model.diskutils import get_disk_used_by, set_disk_used_by -from kimchi.utils import kimchi_log -from kimchi.xmlutils.disk import get_device_node, get_disk_xml -from kimchi.xmlutils.disk import get_vm_disk_info, get_vm_disks +from wok.exception import InvalidOperation, InvalidParameter, NotFoundError +from wok.exception import OperationFailed +from config import CapabilitiesModel +from vms import DOM_STATE_MAP, VMModel +from storagevolumes import StorageVolumeModel +from utils import get_vm_config_flag +from ..osinfo import lookup +from diskutils import get_disk_used_by, set_disk_used_by +from wok.utils import kimchi_log +from ..xmlutils.disk import get_device_node, get_disk_xml +from ..xmlutils.disk import get_vm_disk_info, get_vm_disks = HOTPLUG_TYPE =3D ['scsi', 'virtio'] = diff --git a/plugins/kimchi/osinfo.py b/plugins/kimchi/osinfo.py index 78eb828..d2aab71 100644 --- a/plugins/kimchi/osinfo.py +++ b/plugins/kimchi/osinfo.py @@ -26,7 +26,7 @@ from collections import defaultdict from configobj import ConfigObj from distutils.version import LooseVersion = -from kimchi.config import paths +from wok.config import paths = = SUPPORTED_ARCHS =3D {'x86': ('i386', 'i686', 'x86_64'), diff --git a/plugins/kimchi/repositories.py b/plugins/kimchi/repositories.py index 20b7311..926bd45 100644 --- a/plugins/kimchi/repositories.py +++ b/plugins/kimchi/repositories.py @@ -24,12 +24,12 @@ import urlparse = from ConfigParser import ConfigParser = -from kimchi.basemodel import Singleton -from kimchi.config import kimchiLock -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import OperationFailed, NotFoundError, MissingParame= ter -from kimchi.utils import validate_repo_url -from kimchi.yumparser import get_yum_repositories, write_repo_to_file +from wok.basemodel import Singleton +from config import kimchiLock +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import OperationFailed, NotFoundError, MissingParameter +from wok.utils import validate_repo_url +from yumparser import get_yum_repositories, write_repo_to_file = = class Repositories(object): diff --git a/plugins/kimchi/scan.py b/plugins/kimchi/scan.py index 86999b4..8e42fbc 100644 --- a/plugins/kimchi/scan.py +++ b/plugins/kimchi/scan.py @@ -26,8 +26,8 @@ import tempfile import time = = -from kimchi.isoinfo import IsoImage, probe_iso -from kimchi.utils import kimchi_log +from isoinfo import IsoImage, probe_iso +from wok.utils import kimchi_log = = SCAN_IGNORE =3D ['/tmp/kimchi-scan-*'] diff --git a/plugins/kimchi/screenshot.py b/plugins/kimchi/screenshot.py index e599d40..765e1a6 100644 --- a/plugins/kimchi/screenshot.py +++ b/plugins/kimchi/screenshot.py @@ -32,8 +32,8 @@ except ImportError: import Image = = -from kimchi import config -from kimchi.utils import kimchi_log +import config +from wok.utils import kimchi_log = = (fd, pipe) =3D tempfile.mkstemp() diff --git a/plugins/kimchi/swupdate.py b/plugins/kimchi/swupdate.py index 70db2ef..592fb84 100644 --- a/plugins/kimchi/swupdate.py +++ b/plugins/kimchi/swupdate.py @@ -20,11 +20,11 @@ import subprocess import time = -from kimchi.basemodel import Singleton -from kimchi.config import kimchiLock -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.utils import kimchi_log, run_command -from kimchi.yumparser import get_yum_packages_list_update +from wok.basemodel import Singleton +from config import kimchiLock +from wok.exception import NotFoundError, OperationFailed +from wok.utils import kimchi_log, run_command +from yumparser import get_yum_packages_list_update = = class SoftwareUpdate(object): diff --git a/plugins/kimchi/tests/iso_gen.py b/plugins/kimchi/tests/iso_gen= .py index 096161d..7e92622 100644 --- a/plugins/kimchi/tests/iso_gen.py +++ b/plugins/kimchi/tests/iso_gen.py @@ -20,7 +20,7 @@ import platform import struct = -from kimchi.isoinfo import IsoImage +from wok.plugins.kimchi.isoinfo import IsoImage = iso_des =3D [ ('openbsd', lambda v: True, diff --git a/plugins/kimchi/tests/run_tests.sh.in b/plugins/kimchi/tests/ru= n_tests.sh.in index d1f4b38..beef75e 100644 --- a/plugins/kimchi/tests/run_tests.sh.in +++ b/plugins/kimchi/tests/run_tests.sh.in @@ -52,4 +52,4 @@ for ((i=3D0;i<${#LIST[@]};i++)); do fi done = -PYTHONPATH=3D../src:../ $CMD $OPTS ${MODEL_LIST[@]} ${MOCK_LIST[@]} +PYTHONPATH=3D../plugins:../src:../ $CMD $OPTS ${MODEL_LIST[@]} ${MOCK_LIST= [@]} diff --git a/plugins/kimchi/tests/test_authorization.py b/plugins/kimchi/te= sts/test_authorization.py index 959dcf8..6513b67 100644 --- a/plugins/kimchi/tests/test_authorization.py +++ b/plugins/kimchi/tests/test_authorization.py @@ -23,7 +23,7 @@ import unittest = from functools import partial = -import kimchi.mockmodel +from wok.plugins.kimchi import mockmodel from iso_gen import construct_fake_iso from utils import get_free_port, patch_auth, request from utils import run_server, wait_task @@ -41,7 +41,7 @@ def setUpModule(): global test_server, model, host, port, ssl_port = patch_auth(sudo=3DFalse) - model =3D kimchi.mockmodel.MockModel('/tmp/obj-store-test') + model =3D mockmodel.MockModel('/tmp/obj-store-test') host =3D '127.0.0.1' port =3D get_free_port('http') ssl_port =3D get_free_port('https') @@ -123,7 +123,7 @@ class AuthorizationTests(unittest.TestCase): wait_task(model.task_lookup, task_info['id']) = model.vm_update(u'test-me', - {'users': [kimchi.mockmodel.fake_user.keys()[0]], + {'users': [mockmodel.fake_user.keys()[0]], 'groups': []}) = task_info =3D model.vms_create({'name': u'test-usera', diff --git a/plugins/kimchi/tests/test_config.py.in b/plugins/kimchi/tests/= test_config.py.in index 6123f66..337218e 100644 --- a/plugins/kimchi/tests/test_config.py.in +++ b/plugins/kimchi/tests/test_config.py.in @@ -19,8 +19,8 @@ = import unittest = -from kimchi import config -from kimchi.config import Paths, PluginPaths, KimchiConfig +from wok import config +from wok.config import Paths, PluginPaths, KimchiConfig = get_prefix =3D None = diff --git a/plugins/kimchi/tests/test_exception.py b/plugins/kimchi/tests/= test_exception.py index a533015..834a275 100644 --- a/plugins/kimchi/tests/test_exception.py +++ b/plugins/kimchi/tests/test_exception.py @@ -22,8 +22,8 @@ import os import unittest = = -import kimchi.mockmodel -import kimchi.server +from wok.plugins.kimchi import mockmodel +import wok.server from utils import get_free_port, patch_auth, request, run_server = = @@ -38,7 +38,7 @@ def setup_server(environment=3D'development'): global test_server, model, host, port, ssl_port = patch_auth() - model =3D kimchi.mockmodel.MockModel('/tmp/obj-store-test') + model =3D mockmodel.MockModel('/tmp/obj-store-test') host =3D '127.0.0.1' port =3D get_free_port('http') ssl_port =3D get_free_port('https') diff --git a/plugins/kimchi/tests/test_host.py b/plugins/kimchi/tests/test_= host.py index 1273457..7770148 100644 --- a/plugins/kimchi/tests/test_host.py +++ b/plugins/kimchi/tests/test_host.py @@ -28,7 +28,7 @@ import unittest = from functools import partial = -from kimchi.mockmodel import MockModel +from wok.plugins.kimchi.mockmodel import MockModel from utils import get_free_port, patch_auth, request, run_server, wait_task = test_server =3D None diff --git a/plugins/kimchi/tests/test_mock_network.py b/plugins/kimchi/tes= ts/test_mock_network.py index 4416c04..4e390b1 100644 --- a/plugins/kimchi/tests/test_mock_network.py +++ b/plugins/kimchi/tests/test_mock_network.py @@ -24,7 +24,7 @@ import unittest = from functools import partial = -from kimchi.mockmodel import MockModel +from wok.plugins.kimchi.mockmodel import MockModel from test_model_network import _do_network_test from utils import get_free_port, patch_auth, request, run_server = diff --git a/plugins/kimchi/tests/test_mock_storagepool.py b/plugins/kimchi= /tests/test_mock_storagepool.py index 1dc9277..c72708b 100644 --- a/plugins/kimchi/tests/test_mock_storagepool.py +++ b/plugins/kimchi/tests/test_mock_storagepool.py @@ -24,7 +24,7 @@ import unittest = from functools import partial = -from kimchi.mockmodel import MockModel +from wok.plugins.kimchi.mockmodel import MockModel from utils import get_free_port, patch_auth, request, run_server = = diff --git a/plugins/kimchi/tests/test_mock_storagevolume.py b/plugins/kimc= hi/tests/test_mock_storagevolume.py index f59aa13..3dd16b7 100644 --- a/plugins/kimchi/tests/test_mock_storagevolume.py +++ b/plugins/kimchi/tests/test_mock_storagevolume.py @@ -24,7 +24,7 @@ import unittest = from functools import partial = -from kimchi.mockmodel import MockModel +from wok.plugins.kimchi.mockmodel import MockModel from test_model_storagevolume import _do_volume_test from utils import get_free_port, patch_auth, request, run_server = diff --git a/plugins/kimchi/tests/test_mockmodel.py b/plugins/kimchi/tests/= test_mockmodel.py index 52972f0..03ad445 100644 --- a/plugins/kimchi/tests/test_mockmodel.py +++ b/plugins/kimchi/tests/test_mockmodel.py @@ -24,9 +24,9 @@ import time import unittest = = -import kimchi.mockmodel +from wok.plugins.kimchi import mockmodel from utils import get_free_port, patch_auth, request, run_server, wait_task -from kimchi.osinfo import get_template_default +from wok.plugins.kimchi.osinfo import get_template_default = = test_server =3D None @@ -40,7 +40,7 @@ fake_iso =3D None def setUpModule(): global host, port, ssl_port, model, test_server, fake_iso cherrypy.request.headers =3D {'Accept': 'application/json'} - model =3D kimchi.mockmodel.MockModel('/tmp/obj-store-test') + model =3D mockmodel.MockModel('/tmp/obj-store-test') patch_auth() port =3D get_free_port('http') ssl_port =3D get_free_port('https') diff --git a/plugins/kimchi/tests/test_model.py b/plugins/kimchi/tests/test= _model.py index 3828342..7f90274 100644 --- a/plugins/kimchi/tests/test_model.py +++ b/plugins/kimchi/tests/test_model.py @@ -29,18 +29,18 @@ import uuid = = import iso_gen -import kimchi.objectstore +import wok.objectstore import utils -from kimchi import netinfo -from kimchi.basemodel import Singleton -from kimchi.config import config -from kimchi.exception import InvalidOperation -from kimchi.exception import InvalidParameter, NotFoundError, OperationFai= led -from kimchi.osinfo import get_template_default -from kimchi.model import model -from kimchi.model.libvirtconnection import LibvirtConnection -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import add_task +from wok import netinfo +from wok.basemodel import Singleton +from wok.config import config +from wok.exception import InvalidOperation +from wok.exception import InvalidParameter, NotFoundError, OperationFailed +from wok.plugins.kimchi.osinfo import get_template_default +from wok.plugins.kimchi.model import model +from wok.plugins.kimchi.model.libvirtconnection import LibvirtConnection +from wok.rollbackcontext import RollbackContext +from wok.utils import add_task = = invalid_repository_urls =3D ['www.fedora.org', # missing protocol @@ -1217,7 +1217,7 @@ class BaseModelTests(unittest.TestCase): def get_list(self): return list(self.data) = - class TestModel(kimchi.basemodel.BaseModel): + class TestModel(wok.basemodel.BaseModel): def __init__(self): foo =3D BaseModelTests.FoosModel() super(BaseModelTests.TestModel, self).__init__([foo]) diff --git a/plugins/kimchi/tests/test_model_network.py b/plugins/kimchi/te= sts/test_model_network.py index 5dbe54d..d557b3c 100644 --- a/plugins/kimchi/tests/test_model_network.py +++ b/plugins/kimchi/tests/test_model_network.py @@ -24,8 +24,8 @@ import unittest = from functools import partial = -from kimchi.model.model import Model -from kimchi.rollbackcontext import RollbackContext +from wok.plugins.kimchi.model.model import Model +from wok.rollbackcontext import RollbackContext from utils import get_free_port, patch_auth, request, rollback_wrapper from utils import run_server = diff --git a/plugins/kimchi/tests/test_model_storagepool.py b/plugins/kimch= i/tests/test_model_storagepool.py index 70f3c7b..dda0cdc 100644 --- a/plugins/kimchi/tests/test_model_storagepool.py +++ b/plugins/kimchi/tests/test_model_storagepool.py @@ -25,8 +25,8 @@ import unittest = from functools import partial = -from kimchi.model.model import Model -from kimchi.rollbackcontext import RollbackContext +from wok.plugins.kimchi.model.model import Model +from wok.rollbackcontext import RollbackContext from utils import get_free_port, patch_auth, request from utils import run_server = diff --git a/plugins/kimchi/tests/test_model_storagevolume.py b/plugins/kim= chi/tests/test_model_storagevolume.py index 5e76d3d..d47b4e3 100644 --- a/plugins/kimchi/tests/test_model_storagevolume.py +++ b/plugins/kimchi/tests/test_model_storagevolume.py @@ -25,10 +25,11 @@ import unittest = from functools import partial = -from kimchi.config import paths, READONLY_POOL_TYPE -from kimchi.model.model import Model -from kimchi.mockmodel import MockModel -from kimchi.rollbackcontext import RollbackContext +from wok.config import paths +from wok.plugins.kimchi.config import READONLY_POOL_TYPE +from wok.plugins.kimchi.model.model import Model +from wok.plugins.kimchi.mockmodel import MockModel +from wok.rollbackcontext import RollbackContext from utils import fake_auth_header, get_free_port, patch_auth, request from utils import rollback_wrapper, run_server, wait_task = diff --git a/plugins/kimchi/tests/test_networkxml.py b/plugins/kimchi/tests= /test_networkxml.py index 3706a71..139f051 100644 --- a/plugins/kimchi/tests/test_networkxml.py +++ b/plugins/kimchi/tests/test_networkxml.py @@ -23,8 +23,8 @@ import lxml.etree as ET = import utils = -from kimchi.xmlutils import network as nxml -from kimchi.xmlutils.utils import xpath_get_text +from wok.plugins.kimchi.xmlutils import network as nxml +from wok.xmlutils.utils import xpath_get_text = = class NetworkXmlTests(unittest.TestCase): diff --git a/plugins/kimchi/tests/test_objectstore.py b/plugins/kimchi/test= s/test_objectstore.py index f62217e..412a7f2 100644 --- a/plugins/kimchi/tests/test_objectstore.py +++ b/plugins/kimchi/tests/test_objectstore.py @@ -23,8 +23,8 @@ import tempfile import threading import unittest = -from kimchi.exception import NotFoundError -from kimchi import objectstore +from wok.exception import NotFoundError +from wok import objectstore = tmpfile =3D None = diff --git a/plugins/kimchi/tests/test_osinfo.py b/plugins/kimchi/tests/tes= t_osinfo.py index e617c54..1712ded 100644 --- a/plugins/kimchi/tests/test_osinfo.py +++ b/plugins/kimchi/tests/test_osinfo.py @@ -20,8 +20,8 @@ import unittest = = -from kimchi.osinfo import _get_arch, get_template_default, lookup -from kimchi.osinfo import modern_version_bases +from wok.plugins.kimchi.osinfo import _get_arch, get_template_default, loo= kup +from wok.plugins.kimchi.osinfo import modern_version_bases = = class OSInfoTests(unittest.TestCase): diff --git a/plugins/kimchi/tests/test_plugin.py b/plugins/kimchi/tests/tes= t_plugin.py index 9eb6e0a..2f2475a 100644 --- a/plugins/kimchi/tests/test_plugin.py +++ b/plugins/kimchi/tests/test_plugin.py @@ -25,9 +25,9 @@ import unittest from functools import partial = = -import kimchi.mockmodel -import kimchi.server -from kimchi.utils import get_enabled_plugins +from wok.plugins.kimchi import mockmodel +import wok.server +from wok.utils import get_enabled_plugins import utils = = @@ -42,7 +42,7 @@ def setUpModule(): global test_server, model, host, port, ssl_port = utils.patch_auth() - model =3D kimchi.mockmodel.MockModel('/tmp/obj-store-test') + model =3D mockmodel.MockModel('/tmp/obj-store-test') host =3D '127.0.0.1' port =3D utils.get_free_port('http') ssl_port =3D utils.get_free_port('https') diff --git a/plugins/kimchi/tests/test_rest.py b/plugins/kimchi/tests/test_= rest.py index c2d142f..f390abb 100644 --- a/plugins/kimchi/tests/test_rest.py +++ b/plugins/kimchi/tests/test_rest.py @@ -29,11 +29,11 @@ import urlparse from functools import partial = import iso_gen -import kimchi.mockmodel -import kimchi.server -from kimchi.osinfo import get_template_default -from kimchi.rollbackcontext import RollbackContext -from kimchi.utils import add_task +from wok.plugins.kimchi import mockmodel +import wok.server +from wok.plugins.kimchi.osinfo import get_template_default +from wok.rollbackcontext import RollbackContext +from wok.utils import add_task from utils import get_free_port, patch_auth, request from utils import run_server, wait_task = @@ -51,7 +51,7 @@ def setUpModule(): global test_server, model, host, port, ssl_port, cherrypy_port = patch_auth() - model =3D kimchi.mockmodel.MockModel('/tmp/obj-store-test') + model =3D mockmodel.MockModel('/tmp/obj-store-test') host =3D '127.0.0.1' port =3D get_free_port('http') ssl_port =3D get_free_port('https') diff --git a/plugins/kimchi/tests/test_rollbackcontext.py b/plugins/kimchi/= tests/test_rollbackcontext.py index 1492d33..6eac6d0 100644 --- a/plugins/kimchi/tests/test_rollbackcontext.py +++ b/plugins/kimchi/tests/test_rollbackcontext.py @@ -19,7 +19,7 @@ = import unittest = -from kimchi.rollbackcontext import RollbackContext +from wok.rollbackcontext import RollbackContext = = class FirstError(Exception): diff --git a/plugins/kimchi/tests/test_server.py b/plugins/kimchi/tests/tes= t_server.py index a4d31d0..228a9b5 100644 --- a/plugins/kimchi/tests/test_server.py +++ b/plugins/kimchi/tests/test_server.py @@ -28,8 +28,8 @@ import unittest from functools import partial = import utils -from kimchi import mockmodel -from kimchi.control.base import Collection, Resource +from wok.plugins.kimchi import mockmodel +from wok.control.base import Collection, Resource = test_server =3D None model =3D None diff --git a/plugins/kimchi/tests/test_storagepoolxml.py b/plugins/kimchi/t= ests/test_storagepoolxml.py index c508c58..7e45cca 100644 --- a/plugins/kimchi/tests/test_storagepoolxml.py +++ b/plugins/kimchi/tests/test_storagepoolxml.py @@ -20,7 +20,7 @@ import lxml.etree as ET import unittest = -from kimchi.model.libvirtstoragepool import StoragePoolDef +from wok.plugins.kimchi.model.libvirtstoragepool import StoragePoolDef = = class StoragepoolXMLTests(unittest.TestCase): diff --git a/plugins/kimchi/tests/test_template.py b/plugins/kimchi/tests/t= est_template.py index acdb7c6..b263b63 100644 --- a/plugins/kimchi/tests/test_template.py +++ b/plugins/kimchi/tests/test_template.py @@ -24,8 +24,8 @@ import unittest = from functools import partial = -from kimchi.config import READONLY_POOL_TYPE -from kimchi.mockmodel import MockModel +from wok.plugins.kimchi.config import READONLY_POOL_TYPE +from wok.plugins.kimchi.mockmodel import MockModel from utils import get_free_port, patch_auth, request, run_server = = diff --git a/plugins/kimchi/tests/test_utils.py b/plugins/kimchi/tests/test= _utils.py index b8ff621..bcb14e2 100644 --- a/plugins/kimchi/tests/test_utils.py +++ b/plugins/kimchi/tests/test_utils.py @@ -19,8 +19,8 @@ = import unittest = -from kimchi.exception import InvalidParameter -from kimchi.utils import convert_data_size +from wok.exception import InvalidParameter +from wok.utils import convert_data_size = = class UtilsTests(unittest.TestCase): diff --git a/plugins/kimchi/tests/test_vmtemplate.py b/plugins/kimchi/tests= /test_vmtemplate.py index 0ca9adb..6213900 100644 --- a/plugins/kimchi/tests/test_vmtemplate.py +++ b/plugins/kimchi/tests/test_vmtemplate.py @@ -22,9 +22,9 @@ import unittest import uuid = = -from kimchi.osinfo import get_template_default -from kimchi.vmtemplate import VMTemplate -from kimchi.xmlutils.utils import xpath_get_text +from wok.plugins.kimchi.osinfo import get_template_default +from wok.plugins.kimchi.vmtemplate import VMTemplate +from wok.xmlutils.utils import xpath_get_text = = class VMTemplateTests(unittest.TestCase): diff --git a/plugins/kimchi/tests/test_yumparser.py b/plugins/kimchi/tests/= test_yumparser.py index 53a2d80..99a757d 100644 --- a/plugins/kimchi/tests/test_yumparser.py +++ b/plugins/kimchi/tests/test_yumparser.py @@ -21,12 +21,12 @@ import os import tempfile import unittest = -from kimchi.model import model -from kimchi.rollbackcontext import RollbackContext -from kimchi.yumparser import delete_repo_from_file, get_repo_files -from kimchi.yumparser import get_yum_packages_list_update -from kimchi.yumparser import get_yum_repositories, write_repo_to_file -from kimchi.yumparser import YumRepoObject +from wok.plugins.kimchi.model import model +from wok.rollbackcontext import RollbackContext +from wok.plugins.kimchi.yumparser import delete_repo_from_file, get_repo_f= iles +from wok.plugins.kimchi.yumparser import get_yum_packages_list_update +from wok.plugins.kimchi.yumparser import get_yum_repositories, write_repo_= to_file +from wok.plugins.kimchi.yumparser import YumRepoObject = = TEMP_REPO_FILE =3D '' diff --git a/plugins/kimchi/tests/utils.py b/plugins/kimchi/tests/utils.py index 2ffe776..6144dc7 100644 --- a/plugins/kimchi/tests/utils.py +++ b/plugins/kimchi/tests/utils.py @@ -36,12 +36,12 @@ from contextlib import closing from lxml import etree = = -import kimchi.mockmodel -import kimchi.server -from kimchi.config import config, paths -from kimchi.auth import User, USER_NAME, USER_GROUPS, USER_ROLES, tabs -from kimchi.exception import NotFoundError, OperationFailed -from kimchi.utils import kimchi_log +from wok.plugins.kimchi import mockmodel +import wok.server +from wok.config import config, paths +from wok.auth import User, USER_NAME, USER_GROUPS, USER_ROLES, tabs +from wok.exception import NotFoundError, OperationFailed +from wok.utils import kimchi_log = _ports =3D {} = @@ -118,7 +118,7 @@ def run_server(host, port, ssl_port, test_mode, cherryp= y_port=3DNone, if model is not None: setattr(args, 'model', model) = - s =3D kimchi.server.Server(args) + s =3D wok.server.Server(args) t =3D threading.Thread(target=3Ds.start) t.setDaemon(True) t.start() @@ -142,7 +142,7 @@ def _request(conn, path, data, method, headers): headers =3D {'Content-Type': 'application/json', 'Accept': 'application/json'} if 'AUTHORIZATION' not in headers.keys(): - user, pw =3D kimchi.mockmodel.fake_user.items()[0] + user, pw =3D mockmodel.fake_user.items()[0] hdr =3D "Basic " + base64.b64encode("%s:%s" % (user, pw)) headers['AUTHORIZATION'] =3D hdr conn.request(method, path, data, headers) @@ -203,7 +203,7 @@ class FakeUser(User): @staticmethod def authenticate(username, password, service=3D"passwd"): try: - return kimchi.mockmodel.fake_user[username] =3D=3D password + return mockmodel.fake_user[username] =3D=3D password except KeyError, e: raise OperationFailed("KCHAUTH0001E", {'username': 'username', 'code': e.message}) @@ -254,7 +254,7 @@ def rollback_wrapper(func, resource, *args): # requests lib take care of encode part, so use this lib instead def fake_auth_header(): headers =3D {'Accept': 'application/json'} - user, pw =3D kimchi.mockmodel.fake_user.items()[0] + user, pw =3D mockmodel.fake_user.items()[0] hdr =3D "Basic " + base64.b64encode("%s:%s" % (user, pw)) headers['AUTHORIZATION'] =3D hdr return headers diff --git a/plugins/kimchi/ui/pages/guest-add.html.tmpl b/plugins/kimchi/u= i/pages/guest-add.html.tmpl index f479d3d..2668391 100644 --- a/plugins/kimchi/ui/pages/guest-add.html.tmpl +++ b/plugins/kimchi/ui/pages/guest-add.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/guest-storage-add.html.tmpl b/plugins/= kimchi/ui/pages/guest-storage-add.html.tmpl index 504316c..a26e0f9 100644 --- a/plugins/kimchi/ui/pages/guest-storage-add.html.tmpl +++ b/plugins/kimchi/ui/pages/guest-storage-add.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/guest.html.tmpl b/plugins/kimchi/ui/pa= ges/guest.html.tmpl index a192413..a876f38 100644 --- a/plugins/kimchi/ui/pages/guest.html.tmpl +++ b/plugins/kimchi/ui/pages/guest.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/i18n.json.tmpl b/plugins/kimchi/ui/pag= es/i18n.json.tmpl index f705613..cd320e0 100644 --- a/plugins/kimchi/ui/pages/i18n.json.tmpl +++ b/plugins/kimchi/ui/pages/i18n.json.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/report-add.html.tmpl b/plugins/kimchi/= ui/pages/report-add.html.tmpl index da6d912..25bf0a9 100644 --- a/plugins/kimchi/ui/pages/report-add.html.tmpl +++ b/plugins/kimchi/ui/pages/report-add.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/report-rename.html.tmpl b/plugins/kimc= hi/ui/pages/report-rename.html.tmpl index f4f5f4e..90a0a80 100644 --- a/plugins/kimchi/ui/pages/report-rename.html.tmpl +++ b/plugins/kimchi/ui/pages/report-rename.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/repository-add.html.tmpl b/plugins/kim= chi/ui/pages/repository-add.html.tmpl index beae45c..950252a 100644 --- a/plugins/kimchi/ui/pages/repository-add.html.tmpl +++ b/plugins/kimchi/ui/pages/repository-add.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/repository-edit.html.tmpl b/plugins/ki= mchi/ui/pages/repository-edit.html.tmpl index 0d525a4..e5a3cfb 100644 --- a/plugins/kimchi/ui/pages/repository-edit.html.tmpl +++ b/plugins/kimchi/ui/pages/repository-edit.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl b/plu= gins/kimchi/ui/pages/storagepool-add-volume.html.tmpl index 0a0d07e..ab10939 100644 --- a/plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl +++ b/plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/tabs/guests.html.tmpl b/plugins/kimchi= /ui/pages/tabs/guests.html.tmpl index 7bbf570..b96dd21 100644 --- a/plugins/kimchi/ui/pages/tabs/guests.html.tmpl +++ b/plugins/kimchi/ui/pages/tabs/guests.html.tmpl @@ -19,7 +19,7 @@ #unicode UTF-8 #import gettext #from Cheetah.Template import Template -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/tabs/host.html.tmpl b/plugins/kimchi/u= i/pages/tabs/host.html.tmpl index c4bf7f0..192a7eb 100644 --- a/plugins/kimchi/ui/pages/tabs/host.html.tmpl +++ b/plugins/kimchi/ui/pages/tabs/host.html.tmpl @@ -18,7 +18,7 @@ = #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/tabs/network.html.tmpl b/plugins/kimch= i/ui/pages/tabs/network.html.tmpl index e2b1639..8d72f77 100644 --- a/plugins/kimchi/ui/pages/tabs/network.html.tmpl +++ b/plugins/kimchi/ui/pages/tabs/network.html.tmpl @@ -18,7 +18,7 @@ = #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/tabs/templates.html.tmpl b/plugins/kim= chi/ui/pages/tabs/templates.html.tmpl index 4f91254..cd9b8e5 100644 --- a/plugins/kimchi/ui/pages/tabs/templates.html.tmpl +++ b/plugins/kimchi/ui/pages/tabs/templates.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/template-add.html.tmpl b/plugins/kimch= i/ui/pages/template-add.html.tmpl index 7f8ca65..d0292a0 100644 --- a/plugins/kimchi/ui/pages/template-add.html.tmpl +++ b/plugins/kimchi/ui/pages/template-add.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/ui/pages/template-edit.html.tmpl b/plugins/kimc= hi/ui/pages/template-edit.html.tmpl index ec14d44..0588294 100644 --- a/plugins/kimchi/ui/pages/template-edit.html.tmpl +++ b/plugins/kimchi/ui/pages/template-edit.html.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/plugins/kimchi/vmtemplate.py b/plugins/kimchi/vmtemplate.py index 79e04ed..f45f80d 100644 --- a/plugins/kimchi/vmtemplate.py +++ b/plugins/kimchi/vmtemplate.py @@ -26,17 +26,18 @@ import uuid from lxml import etree from lxml.builder import E = -from kimchi import imageinfo -from kimchi import osinfo -from kimchi.exception import InvalidParameter, IsoFormatError, MissingPara= meter -from kimchi.exception import ImageFormatError, OperationFailed -from kimchi.isoinfo import IsoImage -from kimchi.utils import check_url_path, pool_name_from_uri -from kimchi.xmlutils.cpu import get_cpu_xml -from kimchi.xmlutils.disk import get_disk_xml -from kimchi.xmlutils.graphics import get_graphics_xml -from kimchi.xmlutils.interface import get_iface_xml -from kimchi.xmlutils.qemucmdline import get_qemucmdline_xml +import imageinfo +import osinfo +from wok.exception import InvalidParameter, IsoFormatError, MissingParamet= er +from wok.exception import ImageFormatError, OperationFailed +from isoinfo import IsoImage +from wok.utils import check_url_path +from utils import pool_name_from_uri +from xmlutils.cpu import get_cpu_xml +from xmlutils.disk import get_disk_xml +from xmlutils.graphics import get_graphics_xml +from xmlutils.interface import get_iface_xml +from xmlutils.qemucmdline import get_qemucmdline_xml = = class VMTemplate(object): diff --git a/plugins/kimchi/xmlutils/disk.py b/plugins/kimchi/xmlutils/disk= .py index 64e243a..a451c43 100644 --- a/plugins/kimchi/xmlutils/disk.py +++ b/plugins/kimchi/xmlutils/disk.py @@ -27,8 +27,8 @@ import urlparse from lxml import objectify from lxml.builder import E = -from kimchi.exception import InvalidParameter, NotFoundError -from kimchi.utils import check_url_path +from wok.exception import InvalidParameter, NotFoundError +from wok.utils import check_url_path = BUS_TO_DEV_MAP =3D {'ide': 'hd', 'virtio': 'vd', 'scsi': 'sd'} DEV_TYPE_SRC_ATTR_MAP =3D {'file': 'file', 'block': 'dev'} diff --git a/plugins/kimchi/xmlutils/interface.py b/plugins/kimchi/xmlutils= /interface.py index 82ac505..70b63bd 100644 --- a/plugins/kimchi/xmlutils/interface.py +++ b/plugins/kimchi/xmlutils/interface.py @@ -22,7 +22,7 @@ import lxml.etree as ET from distutils.version import LooseVersion from lxml.builder import E = -from kimchi import osinfo +from .. import osinfo = = def get_iface_xml(params, arch=3DNone, os_distro=3DNone, os_version=3DNone= ): diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py index 10c244c..d741ddb 100644 --- a/plugins/sample/__init__.py +++ b/plugins/sample/__init__.py @@ -24,9 +24,9 @@ import os from cherrypy import expose = = -from kimchi.config import PluginPaths -from kimchi.control.base import Collection, Resource -from kimchi.root import Root +from wok.config import PluginPaths +from wok.control.base import Collection, Resource +from wok.root import Root from plugins.sample.i18n import messages from plugins.sample.model import Model = diff --git a/plugins/sample/model.py b/plugins/sample/model.py index ce43761..8edcc85 100644 --- a/plugins/sample/model.py +++ b/plugins/sample/model.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.exception import InvalidOperation, NotFoundError -from kimchi.basemodel import BaseModel +from wok.exception import InvalidOperation, NotFoundError +from wok.basemodel import BaseModel = = class CirclesModel(object): diff --git a/plugins/sample/sample.conf.in b/plugins/sample/sample.conf.in index ac7e27f..28ae891 100644 --- a/plugins/sample/sample.conf.in +++ b/plugins/sample/sample.conf.in @@ -24,4 +24,4 @@ tools.kimchiauth.on =3D True [/help] tools.staticdir.on =3D True tools.nocache.on =3D True -tools.staticdir.dir =3D kimchi.config.PluginPaths('sample').ui_dir + '/pag= es/help' +tools.staticdir.dir =3D wok.config.PluginPaths('sample').ui_dir + '/pages/= help' diff --git a/plugins/sample/ui/pages/i18n.json.tmpl b/plugins/sample/ui/pag= es/i18n.json.tmpl index ed9b66f..737bb39 100644 --- a/plugins/sample/ui/pages/i18n.json.tmpl +++ b/plugins/sample/ui/pages/i18n.json.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/src/wok/asynctask.py b/src/wok/asynctask.py index b5673b2..1e0ec4b 100644 --- a/src/wok/asynctask.py +++ b/src/wok/asynctask.py @@ -22,7 +22,7 @@ import threading import traceback = = -from kimchi.exception import OperationFailed +from wok.exception import OperationFailed = = class AsyncTask(object): diff --git a/src/wok/auth.py b/src/wok/auth.py index 1a52185..6bd1566 100644 --- a/src/wok/auth.py +++ b/src/wok/auth.py @@ -30,10 +30,10 @@ import termios import time import urllib2 = -from kimchi import template -from kimchi.config import config -from kimchi.exception import InvalidOperation, OperationFailed -from kimchi.utils import get_all_tabs, run_command +from wok import template +from wok.config import config +from wok.exception import InvalidOperation, OperationFailed +from wok.utils import get_all_tabs, run_command = USER_NAME =3D 'username' USER_GROUPS =3D 'groups' diff --git a/src/wok/cachebust.py b/src/wok/cachebust.py index e2e2c9f..d7cf111 100644 --- a/src/wok/cachebust.py +++ b/src/wok/cachebust.py @@ -20,7 +20,7 @@ import os = = -from kimchi.config import paths +from wok.config import paths = = def href(url): diff --git a/src/wok/control/__init__.py b/src/wok/control/__init__.py index 98d42d3..4ad9459 100644 --- a/src/wok/control/__init__.py +++ b/src/wok/control/__init__.py @@ -20,7 +20,7 @@ import os = = -from kimchi.control.utils import load_url_sub_node +from wok.control.utils import load_url_sub_node = = sub_nodes =3D load_url_sub_node(os.path.dirname(__file__), __name__) diff --git a/src/wok/control/base.py b/src/wok/control/base.py index 006a6f7..d926a63 100644 --- a/src/wok/control/base.py +++ b/src/wok/control/base.py @@ -22,14 +22,14 @@ import re import urllib2 = = -import kimchi.template -from kimchi.auth import USER_GROUPS, USER_NAME, USER_ROLES -from kimchi.control.utils import get_class_name, internal_redirect, model_= fn -from kimchi.control.utils import parse_request, validate_method -from kimchi.control.utils import validate_params -from kimchi.exception import InvalidOperation, InvalidParameter -from kimchi.exception import KimchiException, MissingParameter, NotFoundEr= ror -from kimchi.exception import OperationFailed, UnauthorizedError +import wok.template +from wok.auth import USER_GROUPS, USER_NAME, USER_ROLES +from wok.control.utils import get_class_name, internal_redirect, model_fn +from wok.control.utils import parse_request, validate_method +from wok.control.utils import validate_params +from wok.exception import InvalidOperation, InvalidParameter +from wok.exception import KimchiException, MissingParameter, NotFoundError +from wok.exception import OperationFailed, UnauthorizedError = = class Resource(object): @@ -90,7 +90,7 @@ class Resource(object): def generate_action_handler_task(self, action_name, action_args=3DNone= ): def _render_task(self, task): cherrypy.response.status =3D 202 - return kimchi.template.render('Task', task) + return wok.template.render('Task', task) = return self._generate_action_handler_base(action_name, _render_tas= k, action_args=3Daction_arg= s) @@ -213,7 +213,7 @@ class Resource(object): = def get(self): self.lookup() - return kimchi.template.render(get_class_name(self), self.data) + return wok.template.render(get_class_name(self), self.data) = @property def data(self): @@ -314,7 +314,7 @@ class Collection(object): flag_filter, fields_filter =3D _split_filter(filter_params) resources =3D self._get_resources(flag_filter) data =3D self.filter_data(resources, fields_filter) - return kimchi.template.render(get_class_name(self), data) + return wok.template.render(get_class_name(self), data) = @cherrypy.expose def index(self, *args, **kwargs): @@ -361,7 +361,7 @@ class AsyncCollection(Collection): args =3D self.model_args + [params] task =3D create(*args) cherrypy.response.status =3D 202 - return kimchi.template.render("Task", task) + return wok.template.render("Task", task) = = class SimpleCollection(Collection): @@ -378,4 +378,4 @@ class SimpleCollection(Collection): res_list =3D get_list(*self.model_args) except AttributeError: pass - return kimchi.template.render(get_class_name(self), res_list) + return wok.template.render(get_class_name(self), res_list) diff --git a/src/wok/control/plugins.py b/src/wok/control/plugins.py index 39fd851..1cc1d5a 100644 --- a/src/wok/control/plugins.py +++ b/src/wok/control/plugins.py @@ -17,8 +17,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.control.base import SimpleCollection -from kimchi.control.utils import UrlSubNode +from wok.control.base import SimpleCollection +from wok.control.utils import UrlSubNode = = @UrlSubNode("plugins") diff --git a/src/wok/control/utils.py b/src/wok/control/utils.py index d26fe48..d617dcd 100644 --- a/src/wok/control/utils.py +++ b/src/wok/control/utils.py @@ -25,9 +25,9 @@ import json from jsonschema import Draft3Validator, ValidationError, FormatChecker = = -from kimchi.auth import USER_ROLES -from kimchi.exception import InvalidParameter, OperationFailed -from kimchi.utils import import_module, listPathModules +from wok.auth import USER_ROLES +from wok.exception import InvalidParameter, OperationFailed +from wok.utils import import_module, listPathModules = = def get_class_name(cls): diff --git a/src/wok/exception.py b/src/wok/exception.py index 039152a..f41028b 100644 --- a/src/wok/exception.py +++ b/src/wok/exception.py @@ -21,8 +21,8 @@ import cherrypy import gettext = = -from kimchi.i18n import messages as _messages -from kimchi.template import get_lang, validate_language +from wok.i18n import messages as _messages +from wok.template import get_lang, validate_language = = class KimchiException(Exception): diff --git a/src/wok/model/plugins.py b/src/wok/model/plugins.py index 1b4d21b..e350f1e 100644 --- a/src/wok/model/plugins.py +++ b/src/wok/model/plugins.py @@ -17,7 +17,7 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA = -from kimchi.utils import get_enabled_plugins +from wok.utils import get_enabled_plugins = = class PluginsModel(object): diff --git a/src/wok/objectstore.py b/src/wok/objectstore.py index 3e91a26..7c2a5cc 100644 --- a/src/wok/objectstore.py +++ b/src/wok/objectstore.py @@ -28,9 +28,9 @@ except ImportError: from ordereddict import OrderedDict = = -from kimchi import config -from kimchi.exception import NotFoundError -from kimchi.utils import kimchi_log +from wok import config +from wok.exception import NotFoundError +from wok.utils import kimchi_log = = class ObjectStoreSession(object): diff --git a/src/wok/proxy.py b/src/wok/proxy.py index 5dcca65..1c46c11 100644 --- a/src/wok/proxy.py +++ b/src/wok/proxy.py @@ -27,8 +27,8 @@ import pwd import subprocess from string import Template = -from kimchi import sslcert -from kimchi.config import paths +from wok import sslcert +from wok.config import paths = = def _create_proxy_config(options): diff --git a/src/wok/root.py b/src/wok/root.py index cd338d9..a3b8be1 100644 --- a/src/wok/root.py +++ b/src/wok/root.py @@ -23,14 +23,14 @@ import os = = from distutils.version import LooseVersion -from kimchi import auth -from kimchi import template -from kimchi.i18n import messages -from kimchi.config import paths -from kimchi.control import sub_nodes -from kimchi.control.base import Resource -from kimchi.control.utils import parse_request -from kimchi.exception import MissingParameter, OperationFailed +from wok import auth +from wok import template +from wok.i18n import messages +from wok.config import paths +from wok.control import sub_nodes +from wok.control.base import Resource +from wok.control.utils import parse_request +from wok.exception import MissingParameter, OperationFailed = = class Root(Resource): diff --git a/src/wok/server.py b/src/wok/server.py index eb58465..5394d24 100644 --- a/src/wok/server.py +++ b/src/wok/server.py @@ -23,16 +23,16 @@ import logging import logging.handlers import os = -from kimchi import auth -from kimchi import config -from kimchi.model import model -from kimchi import mockmodel -from kimchi import vnc -from kimchi.config import KimchiConfig, PluginConfig -from kimchi.control import sub_nodes -from kimchi.proxy import start_proxy, terminate_proxy -from kimchi.root import KimchiRoot -from kimchi.utils import get_enabled_plugins, import_class +from wok import auth +from wok import config +from wok.model import model +from wok import mockmodel +from wok import vnc +from wok.config import KimchiConfig, PluginConfig +from wok.control import sub_nodes +from wok.proxy import start_proxy, terminate_proxy +from wok.root import KimchiRoot +from wok.utils import get_enabled_plugins, import_class = = LOGGING_LEVEL =3D {"debug": logging.DEBUG, diff --git a/src/wok/template.py b/src/wok/template.py index aaba0c9..46c0f3c 100644 --- a/src/wok/template.py +++ b/src/wok/template.py @@ -22,7 +22,7 @@ import errno import json = = -from kimchi.config import paths +from wok.config import paths from Cheetah.Template import Template from glob import iglob = diff --git a/src/wok/utils.py b/src/wok/utils.py index ff3a5da..d8ad25f 100644 --- a/src/wok/utils.py +++ b/src/wok/utils.py @@ -35,9 +35,9 @@ from threading import Timer from urlparse import urlparse from cherrypy.lib.reprconf import Parser = -from kimchi.asynctask import AsyncTask -from kimchi.config import paths, PluginPaths -from kimchi.exception import InvalidParameter, TimeoutExpired +from wok.asynctask import AsyncTask +from wok.config import paths, PluginPaths +from wok.exception import InvalidParameter, TimeoutExpired = = kimchi_log =3D cherrypy.log.error_log diff --git a/src/wok/vnc.py b/src/wok/vnc.py index b4194b1..e50e9f2 100644 --- a/src/wok/vnc.py +++ b/src/wok/vnc.py @@ -25,7 +25,7 @@ import os from multiprocessing import Process from websockify import WebSocketProxy = -from kimchi.config import config, paths +from wok.config import config, paths = = WS_TOKENS_DIR =3D '/var/lib/kimchi/vnc-tokens' diff --git a/src/wokd.in b/src/wokd.in index 4ea7a42..62a8504 100644 --- a/src/wokd.in +++ b/src/wokd.in @@ -25,8 +25,8 @@ sys.path.insert(1, '@pythondir@') = from optparse import OptionParser = -import kimchi.server -import kimchi.config as config +import wok.server +import wok.config as config = = if not config.paths.installed: @@ -93,7 +93,7 @@ def main(options): setattr(options, 'max_body_size', config.config.get('server', 'max_body_size')) = - kimchi.server.main(options) + wok.server.main(options) = if __name__ =3D=3D '__main__': sys.exit(main(sys.argv[1:])) diff --git a/ui/pages/error.html.tmpl b/ui/pages/error.html.tmpl index d8e16e6..068f2a6 100644 --- a/ui/pages/error.html.tmpl +++ b/ui/pages/error.html.tmpl @@ -18,7 +18,7 @@ = #encoding UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl index f705613..cd320e0 100644 --- a/ui/pages/i18n.json.tmpl +++ b/ui/pages/i18n.json.tmpl @@ -17,7 +17,7 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext diff --git a/ui/pages/login.html.tmpl b/ui/pages/login.html.tmpl index 760d4d4..f878d45 100644 --- a/ui/pages/login.html.tmpl +++ b/ui/pages/login.html.tmpl @@ -17,12 +17,12 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext #silent next =3D "?next=3D%s" % $getVar('data.next', '') if $getVar('data.= next', '') else "" -#from kimchi.config import get_version +#from wok.config import get_version diff --git a/ui/pages/wok-ui.html.tmpl b/ui/pages/wok-ui.html.tmpl index 3450e7f..88911d0 100644 --- a/ui/pages/wok-ui.html.tmpl +++ b/ui/pages/wok-ui.html.tmpl @@ -17,11 +17,11 @@ *# #unicode UTF-8 #import gettext -#from kimchi.cachebust import href +#from wok.cachebust import href #silent t =3D gettext.translation($lang.domain, $lang.localedir, languages= =3D$lang.lang, fallback=3DTrue) #silent _ =3D t.gettext #silent _t =3D t.gettext -#from kimchi.config import get_version +#from wok.config import get_version -- = 1.7.1 --===============2914903332805009791==-- From luciojhc at linux.vnet.ibm.com Wed Jul 8 15:19:15 2015 Content-Type: multipart/mixed; boundary="===============0725912782342929116==" MIME-Version: 1.0 From: Lucio Correia To: kimchi-devel at ovirt.org Subject: [Kimchi-devel] [PATCH V3 13/34] Update server references to wok Date: Wed, 08 Jul 2015 16:17:45 -0300 Message-ID: <1436383086-19140-14-git-send-email-luciojhc@linux.vnet.ibm.com> In-Reply-To: 1436383086-19140-1-git-send-email-luciojhc@linux.vnet.ibm.com --===============0725912782342929116== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable - Renames kimchi references to wok. - Rename kimchi_log to wok_log - It now uses wok.min.js for server JS API. Signed-off-by: Lucio Correia Signed-off-by: Gustavo Y. Ribeiro --- plugins/kimchi/disks.py | 8 +- plugins/kimchi/distroloader.py | 6 +- plugins/kimchi/imageinfo.py | 4 +- plugins/kimchi/isoinfo.py | 4 +- plugins/kimchi/mockmodel.py | 6 +- plugins/kimchi/model/config.py | 8 +- plugins/kimchi/model/cpuinfo.py | 6 +- plugins/kimchi/model/debugreports.py | 18 +- plugins/kimchi/model/diskutils.py | 6 +- plugins/kimchi/model/featuretests.py | 8 +- plugins/kimchi/model/host.py | 8 +- plugins/kimchi/model/hostdev.py | 8 +- plugins/kimchi/model/libvirtconnection.py | 8 +- plugins/kimchi/model/libvirtstoragepool.py | 4 +- plugins/kimchi/model/networks.py | 16 +- plugins/kimchi/model/peers.py | 14 +- plugins/kimchi/model/storagepools.py | 32 ++-- plugins/kimchi/model/storagetargets.py | 6 +- plugins/kimchi/model/storagevolumes.py | 6 +- plugins/kimchi/model/vmhostdevs.py | 6 +- plugins/kimchi/model/vms.py | 22 +- plugins/kimchi/model/vmstorages.py | 8 +- plugins/kimchi/scan.py | 4 +- plugins/kimchi/screenshot.py | 6 +- plugins/kimchi/swupdate.py | 8 +- plugins/kimchi/tests/utils.py | 6 +- plugins/kimchi/ui/js/src/kimchi.api.js | 234 ++++++++++------= ---- plugins/kimchi/ui/js/src/kimchi.guest_add_main.js | 14 +- plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js | 56 +++--- plugins/kimchi/ui/js/src/kimchi.guest_main.js | 36 ++-- .../kimchi/ui/js/src/kimchi.guest_media_main.js | 8 +- .../ui/js/src/kimchi.guest_storage_add.main.js | 14 +- plugins/kimchi/ui/js/src/kimchi.host.js | 90 ++++---- plugins/kimchi/ui/js/src/kimchi.network.js | 36 ++-- plugins/kimchi/ui/js/src/kimchi.report_add_main.js | 10 +- .../kimchi/ui/js/src/kimchi.report_rename_main.js | 10 +- .../kimchi/ui/js/src/kimchi.repository_add_main.js | 6 +- .../ui/js/src/kimchi.repository_edit_main.js | 10 +- plugins/kimchi/ui/js/src/kimchi.storage_main.js | 66 +++--- .../ui/js/src/kimchi.storagepool_add_main.js | 26 +- .../js/src/kimchi.storagepool_add_volume_main.js | 18 +- .../kimchi/ui/js/src/kimchi.template_add_main.js | 38 ++-- .../kimchi/ui/js/src/kimchi.template_edit_main.js | 16 +- plugins/kimchi/ui/js/src/kimchi.template_main.js | 16 +- .../kimchi/ui/spice-html5/pages/spice_auto.html | 2 +- plugins/sample/API.json | 2 +- plugins/sample/__init__.py | 2 +- plugins/sample/sample.conf.in | 10 +- plugins/sample/ui/js/util.js | 4 +- .../sample/ui/pages/help/en_US/sample-tab1.html | 2 +- .../sample/ui/pages/help/en_US/sample-tab2.html | 2 +- src/nginx/wok.conf.in | 8 +- src/wok.conf.in | 14 +- src/wok/auth.py | 10 +- src/wok/config.py.in | 40 ++-- src/wok/control/base.py | 8 +- src/wok/exception.py | 22 +- src/wok/objectstore.py | 4 +- src/wok/proxy.py | 18 +- src/wok/server.py | 14 +- src/wok/template.py | 4 +- src/wok/utils.py | 22 +- src/wok/vnc.py | 6 +- src/wokd.in | 6 +- ui/css/theme-default/grid.css | 2 +- ui/js/src/wok.cookie.js | 2 +- ui/js/src/wok.grid.js | 12 +- ui/js/src/wok.lang.js | 6 +- ui/js/src/wok.line-chart.js | 8 +- ui/js/src/wok.login.js | 14 +- ui/js/src/wok.main.js | 84 ++++---- ui/js/src/wok.message.js | 20 +- ui/js/src/wok.popable.js | 4 +- ui/js/src/wok.select.js | 2 +- ui/js/src/wok.substitute.js | 2 +- ui/js/src/wok.topic.js | 8 +- ui/js/src/wok.user.js | 6 +- ui/js/src/wok.utils.js | 18 +- ui/js/src/wok.window.js | 4 +- ui/js/widgets/button-dropDown.js | 2 +- ui/js/widgets/button-flat.js | 2 +- ui/js/widgets/checkbox-flat.js | 4 +- ui/js/widgets/circleGauge.js | 4 +- ui/js/widgets/combobox.js | 2 +- ui/js/widgets/dialog-flat.js | 4 +- ui/js/widgets/filter-select.js | 2 +- ui/js/widgets/gauge-flat.js | 2 +- ui/js/widgets/grid.js | 2 +- ui/js/widgets/line.js | 2 +- ui/js/widgets/list-flat.js | 4 +- ui/js/widgets/menu-flat.js | 4 +- ui/js/widgets/message-flat.js | 4 +- ui/js/widgets/messagebar-flat.js | 4 +- ui/js/widgets/radio-flat.js | 4 +- ui/js/widgets/samples/grid.html | 4 +- ui/js/widgets/samples/line.html | 4 +- ui/js/widgets/samples/tabs.html | 4 +- ui/js/widgets/select-menu.js | 2 +- ui/js/widgets/selectmenu-flat.js | 4 +- ui/js/widgets/textbox-flat.js | 4 +- ui/pages/error.html.tmpl | 4 +- ui/pages/login.html.tmpl | 4 +- ui/pages/websockify/console.html | 12 +- ui/pages/wok-ui.html.tmpl | 8 +- 104 files changed, 714 insertions(+), 714 deletions(-) diff --git a/plugins/kimchi/disks.py b/plugins/kimchi/disks.py index 59e52f9..88a69f4 100644 --- a/plugins/kimchi/disks.py +++ b/plugins/kimchi/disks.py @@ -25,7 +25,7 @@ from parted import Device as PDevice from parted import Disk as PDisk = from wok.exception import OperationFailed -from wok.utils import kimchi_log +from wok.utils import wok_log = = def _get_dev_node_path(maj_min): @@ -82,7 +82,7 @@ def _is_dev_leaf(devNodePath): except OperationFailed as e: # lsblk is known to fail on multipath devices # Assume these devices contain children - kimchi_log.error( + wok_log.error( "Error getting device info for %s: %s", devNodePath, e) return False = @@ -97,7 +97,7 @@ def _is_dev_extended_partition(devType, devNodePath): try: extended_part =3D PDisk(device).getExtendedPartition() except NotImplementedError as e: - kimchi_log.warning( + wok_log.warning( "Error getting extended partition info for dev %s type %s: %s", devNodePath, devType, e.message) # Treate disk with unsupported partiton table as if it does not @@ -180,7 +180,7 @@ def get_partition_details(name): try: dev =3D _get_lsblk_devs(keys, [dev_path])[0] except OperationFailed as e: - kimchi_log.error( + wok_log.error( "Error getting partition info for %s: %s", name, e) return {} = diff --git a/plugins/kimchi/distroloader.py b/plugins/kimchi/distroloader.py index 8ad34d2..a593246 100644 --- a/plugins/kimchi/distroloader.py +++ b/plugins/kimchi/distroloader.py @@ -25,7 +25,7 @@ import os = import config from wok.exception import NotFoundError, OperationFailed -from wok.utils import kimchi_log +from wok.utils import wok_log = = ARCHS =3D {'x86_64': ['x86_64', 'amd64', 'i686', 'x86', 'i386'], @@ -43,7 +43,7 @@ class DistroLoader(object): msg_args =3D {'filename': fname} if not os.path.isfile(fname): msg =3D "DistroLoader: failed to find distro file: %s" % fname - kimchi_log.error(msg) + wok_log.error(msg) raise NotFoundError("KCHDL0001E", msg_args) try: with open(fname) as f: @@ -51,7 +51,7 @@ class DistroLoader(object): return data except ValueError: msg =3D "DistroLoader: failed to parse distro file: %s" % fname - kimchi_log.error(msg) + wok_log.error(msg) raise OperationFailed("KCHDL0002E", msg_args) = def get(self): diff --git a/plugins/kimchi/imageinfo.py b/plugins/kimchi/imageinfo.py index fbd1396..7d92f54 100644 --- a/plugins/kimchi/imageinfo.py +++ b/plugins/kimchi/imageinfo.py @@ -23,7 +23,7 @@ import sys import guestfs = from wok.exception import ImageFormatError, InvalidParameter, TimeoutExpir= ed -from wok.utils import run_command, kimchi_log +from wok.utils import run_command, wok_log = = def probe_img_info(path): @@ -32,7 +32,7 @@ def probe_img_info(path): try: out =3D run_command(cmd, 10)[0] except TimeoutExpired: - kimchi_log.warning("Cannot decide format of base img %s", path) + wok_log.warning("Cannot decide format of base img %s", path) return None = info =3D json.loads(out) diff --git a/plugins/kimchi/isoinfo.py b/plugins/kimchi/isoinfo.py index de9c359..cec20b1 100644 --- a/plugins/kimchi/isoinfo.py +++ b/plugins/kimchi/isoinfo.py @@ -29,7 +29,7 @@ import urllib2 = = from wok.exception import IsoFormatError -from wok.utils import check_url_path, kimchi_log +from wok.utils import check_url_path, wok_log = = iso_dir =3D [ @@ -178,7 +178,7 @@ class IsoImage(object): return (distro, version) = msg =3D "probe_iso: Unable to identify ISO %s with Volume ID: %s" - kimchi_log.debug(msg, self.path, self.volume_id) + wok_log.debug(msg, self.path, self.volume_id) = return ('unknown', 'unknown') = diff --git a/plugins/kimchi/mockmodel.py b/plugins/kimchi/mockmodel.py index 384ce9b..88eb033 100644 --- a/plugins/kimchi/mockmodel.py +++ b/plugins/kimchi/mockmodel.py @@ -43,7 +43,7 @@ from model.templates import LibvirtVMTemplate from model.users import PAMUsersModel from model.groups import PAMGroupsModel from wok.objectstore import ObjectStore -from wok.utils import add_task, get_next_clone_name, kimchi_log +from wok.utils import add_task, get_next_clone_name, wok_log from vmtemplate import VMTemplate from wok.xmlutils.utils import xml_item_update = @@ -276,10 +276,10 @@ class MockModel(Model): conn.storagePoolDefineXML(ET.tostring(root), 0) = def _mock_host_shutdown(self, *name): - kimchi_log.info("The host system will be shutted down") + wok_log.info("The host system will be shutted down") = def _mock_host_reboot(self, *name): - kimchi_log.info("The host system will be rebooted") + wok_log.info("The host system will be rebooted") = def _mock_storagevolumes_create(self, pool, params): vol_source =3D ['url', 'capacity'] diff --git a/plugins/kimchi/model/config.py b/plugins/kimchi/model/config.py index 6f593e3..d0799fe 100644 --- a/plugins/kimchi/model/config.py +++ b/plugins/kimchi/model/config.py @@ -33,7 +33,7 @@ from featuretests import FEATURETEST_VM_NAME from ..repositories import Repositories from ..screenshot import VMScreenshot from ..swupdate import SoftwareUpdate -from wok.utils import check_url_path, kimchi_log, run_command +from wok.utils import check_url_path, wok_log, run_command = = class ConfigModel(object): @@ -86,7 +86,7 @@ class CapabilitiesModel(object): FeatureTests.enable_libvirt_error_logging() = def _set_capabilities(self): - kimchi_log.info("*** Running feature tests ***") + wok_log.info("*** Running feature tests ***") conn =3D self.conn.get() self.qemu_stream =3D FeatureTests.qemu_supports_iso_stream() self.nfs_target_probe =3D FeatureTests.libvirt_support_nfs_probe(c= onn) @@ -100,14 +100,14 @@ class CapabilitiesModel(object): if FeatureTests.libvirt_supports_iso_stream(conn, p): self.libvirt_stream_protocols.append(p) = - kimchi_log.info("*** Feature tests completed ***") + wok_log.info("*** Feature tests completed ***") _set_capabilities.priority =3D 90 = def _qemu_support_spice(self): qemu_path =3D find_qemu_binary(find_emulator=3DTrue) out, err, rc =3D run_command(['ldd', qemu_path]) if rc !=3D 0: - kimchi_log.error('Failed to find qemu binary dependencies: %s', + wok_log.error('Failed to find qemu binary dependencies: %s', err) return False for line in out.split('\n'): diff --git a/plugins/kimchi/model/cpuinfo.py b/plugins/kimchi/model/cpuinfo= .py index 54d6eaa..61d1ec6 100644 --- a/plugins/kimchi/model/cpuinfo.py +++ b/plugins/kimchi/model/cpuinfo.py @@ -22,7 +22,7 @@ import platform from xml.etree import ElementTree as ET = from wok.exception import InvalidParameter, InvalidOperation -from wok.utils import kimchi_log, run_command +from wok.utils import wok_log, run_command = ARCH =3D 'power' if platform.machine().startswith('ppc') else 'x86' = @@ -59,11 +59,11 @@ class CPUInfoModel(object): connect =3D self.conn.get() libvirt_topology =3D get_topo_capabilities(connect) except Exception as e: - kimchi_log.info("Unable to get CPU topology capabilities: %s" + wok_log.info("Unable to get CPU topology capabilities: %s" % e.message) return if libvirt_topology is None: - kimchi_log.info("cpu_info topology not supported.") + wok_log.info("cpu_info topology not supported.") return = if ARCH =3D=3D 'power': diff --git a/plugins/kimchi/model/debugreports.py b/plugins/kimchi/model/de= bugreports.py index 6cc8819..ea5853d 100644 --- a/plugins/kimchi/model/debugreports.py +++ b/plugins/kimchi/model/debugreports.py @@ -26,10 +26,10 @@ import subprocess import time = from .. import config -from wok.exception import InvalidParameter, KimchiException, NotFoundError +from wok.exception import InvalidParameter, WokException, NotFoundError from wok.exception import OperationFailed from tasks import TaskModel -from wok.utils import add_task, kimchi_log +from wok.utils import add_task, wok_log from wok.utils import run_command = = @@ -95,7 +95,7 @@ class DebugReportsModel(object): break # Some error in sosreport happened if reportFile is None: - kimchi_log.error('Debug report file not found. See sosrepo= rt ' + wok_log.error('Debug report file not found. See sosreport ' 'output for detail:\n%s', output) fname =3D (patterns[0] % name).split('/')[-1] raise OperationFailed('KCHDR0004E', {'name': fname}) @@ -107,19 +107,19 @@ class DebugReportsModel(object): # Moving report msg =3D 'Moving debug report file "%s" to "%s"' % (reportFile, target) - kimchi_log.info(msg) + wok_log.info(msg) shutil.move(reportFile, target) # Deleting md5 msg =3D 'Deleting report md5 file: "%s"' % (md5_report_file) - kimchi_log.info(msg) + wok_log.info(msg) with open(md5_report_file) as f: md5 =3D f.read().strip() - kimchi_log.info('Md5 file content: "%s"', md5) + wok_log.info('Md5 file content: "%s"', md5) os.remove(md5_report_file) cb('OK', True) return = - except KimchiException as e: + except WokException as e: log_error(e) raise = @@ -151,7 +151,7 @@ class DebugReportsModel(object): if retcode =3D=3D 0: return helper_tool['fn'] except Exception, e: - kimchi_log.info('Exception running command: %s', e) + wok_log.info('Exception running command: %s', e) = return None = @@ -189,7 +189,7 @@ class DebugReportModel(object): raise InvalidParameter('KCHDR0008E', {'name': params['name']}) = shutil.move(file_source, file_target) - kimchi_log.info('%s renamed to %s' % (file_source, file_target)) + wok_log.info('%s renamed to %s' % (file_source, file_target)) return params['name'] = def delete(self, name): diff --git a/plugins/kimchi/model/diskutils.py b/plugins/kimchi/model/disku= tils.py index 041a135..49bf17d 100644 --- a/plugins/kimchi/model/diskutils.py +++ b/plugins/kimchi/model/diskutils.py @@ -20,7 +20,7 @@ = from wok.exception import OperationFailed, NotFoundError from vms import VMModel, VMsModel -from wok.utils import kimchi_log +from wok.utils import wok_log from ..xmlutils.disk import get_vm_disk_info, get_vm_disks = """ @@ -35,7 +35,7 @@ def get_disk_used_by(objstore, conn, path): try: used_by =3D session.get('storagevolume', path)['used_by'] except (KeyError, NotFoundError): - kimchi_log.info('Volume %s not found in obj store.' % path) + wok_log.info('Volume %s not found in obj store.' % path) used_by =3D [] # try to find this volume in existing vm vms_list =3D VMsModel.get_vms(conn) @@ -54,7 +54,7 @@ def get_disk_used_by(objstore, conn, path): # used_by to be out of sync, data corruption could # occour if a disk is added to two guests # unknowingly. - kimchi_log.error('Unable to store storage volume id in' + wok_log.error('Unable to store storage volume id in' ' objectstore due error: %s', e.message) raise OperationFailed('KCHVOL0017E', diff --git a/plugins/kimchi/model/featuretests.py b/plugins/kimchi/model/fe= aturetests.py index 16fd25e..eb41edb 100644 --- a/plugins/kimchi/model/featuretests.py +++ b/plugins/kimchi/model/featuretests.py @@ -26,7 +26,7 @@ import subprocess from lxml.builder import E = from wok.rollbackcontext import RollbackContext -from wok.utils import kimchi_log, run_command, servermethod +from wok.utils import wok_log, run_command, servermethod = FEATURETEST_VM_NAME =3D "FEATURETEST_VM" FEATURETEST_POOL_NAME =3D "FEATURETEST_POOL" @@ -132,7 +132,7 @@ class FeatureTests(object): dom.undefine() return True except libvirt.libvirtError, e: - kimchi_log.error(e.message) + wok_log.error(e.message) return False finally: FeatureTests.enable_libvirt_error_logging() @@ -147,7 +147,7 @@ class FeatureTests(object): FeatureTests.disable_libvirt_error_logging() conn.findStoragePoolSources('netfs', _get_xml(), 0) except libvirt.libvirtError as e: - kimchi_log.error(e.message) + wok_log.error(e.message) if e.get_error_code() =3D=3D 38: # if libvirt cannot find showmount, # it returns 38--general system call failure @@ -213,7 +213,7 @@ class FeatureTests(object): def kernel_support_vfio(): out, err, rc =3D run_command(['modprobe', 'vfio-pci']) if rc !=3D 0: - kimchi_log.warning("Unable to load Kernal module vfio-pci.") + wok_log.warning("Unable to load Kernal module vfio-pci.") return False return True = diff --git a/plugins/kimchi/model/host.py b/plugins/kimchi/model/host.py index f1f0b83..2a78a88 100644 --- a/plugins/kimchi/model/host.py +++ b/plugins/kimchi/model/host.py @@ -37,7 +37,7 @@ from tasks import TaskModel from vms import DOM_STATE_MAP from ..repositories import Repositories from ..swupdate import SoftwareUpdate -from wok.utils import add_task, kimchi_log +from wok.utils import add_task, wok_log from wok.xmlutils.utils import xpath_get_text = = @@ -131,7 +131,7 @@ class HostModel(object): if pkgs =3D=3D 0: raise OperationFailed('KCHPKGUPD0001E') = - kimchi_log.debug('Host is going to be updated.') + wok_log.debug('Host is going to be updated.') taskid =3D add_task('/host/swupdate', swupdate.doUpdate, self.objs= tore, None) return self.task.lookup(taskid) @@ -142,7 +142,7 @@ class HostModel(object): if len(running_vms) > 0: raise OperationFailed("KCHHOST0001E") = - kimchi_log.info('Host is going to shutdown.') + wok_log.info('Host is going to shutdown.') os.system('shutdown -h now') = def reboot(self, args=3DNone): @@ -151,7 +151,7 @@ class HostModel(object): if len(running_vms) > 0: raise OperationFailed("KCHHOST0002E") = - kimchi_log.info('Host is going to reboot.') + wok_log.info('Host is going to reboot.') os.system('reboot') = def _get_vms_list_by_state(self, state): diff --git a/plugins/kimchi/model/hostdev.py b/plugins/kimchi/model/hostdev= .py index 34a8e1b..9ebc3c3 100644 --- a/plugins/kimchi/model/hostdev.py +++ b/plugins/kimchi/model/hostdev.py @@ -22,7 +22,7 @@ from pprint import pformat from pprint import pprint = from libvirtconnection import LibvirtConnection -from wok.utils import kimchi_log +from wok.utils import wok_log from wok.xmlutils.utils import dictize = = @@ -42,7 +42,7 @@ def _get_dev_info_tree(dev_infos): try: parent =3D devs[dev_info['parent']] except KeyError: - kimchi_log.error('Parent %s of device %s does not exist.', + wok_log.error('Parent %s of device %s does not exist.', dev_info['parent'], dev_info['name']) continue = @@ -97,7 +97,7 @@ def _get_same_iommugroup_devices(dev_infos, device_info): try: parent_info =3D dev_dict[parent] except KeyError: - kimchi_log.error("Parent %s of device %s does not exist", + wok_log.error("Parent %s of device %s does not exist", parent, dev_info['name']) break = @@ -184,7 +184,7 @@ def get_dev_info(node_dev): if dev_type in ('net', 'pci', 'scsi_host', 'storage', 'usb_device'): return globals()['_get_%s_dev_info' % dev_type](info) = - kimchi_log.error("Unknown device type: %s", dev_type) + wok_log.error("Unknown device type: %s", dev_type) return info = = diff --git a/plugins/kimchi/model/libvirtconnection.py b/plugins/kimchi/mod= el/libvirtconnection.py index 4a4eee4..d2ce031 100644 --- a/plugins/kimchi/model/libvirtconnection.py +++ b/plugins/kimchi/model/libvirtconnection.py @@ -23,7 +23,7 @@ import time import cherrypy import libvirt = -from wok.utils import kimchi_log +from wok.utils import wok_log = = class LibvirtConnection(object): @@ -75,7 +75,7 @@ class LibvirtConnection(object): libvirt.VIR_ERR_NO_CONNECT, libvirt.VIR_ERR_INVALID_CONN) if edom in EDOMAINS and ecode in ECODES: - kimchi_log.error('Connection to libvirt broken. ' + wok_log.error('Connection to libvirt broken. ' 'Recycling. ecode: %d edom: %d' % (ecode, edom)) with LibvirtConnection._connectionLock: @@ -95,9 +95,9 @@ class LibvirtConnection(object): conn =3D libvirt.open(self.uri) break except libvirt.libvirtError: - kimchi_log.error('Unable to connect to libvirt.') + wok_log.error('Unable to connect to libvirt.') if not retries: - kimchi_log.error("Unable to establish connecti= on " + wok_log.error("Unable to establish connection " "with libvirt. Please check " "your libvirt URI which is of= ten " "defined in " diff --git a/plugins/kimchi/model/libvirtstoragepool.py b/plugins/kimchi/mo= del/libvirtstoragepool.py index b7a8291..6c1f031 100644 --- a/plugins/kimchi/model/libvirtstoragepool.py +++ b/plugins/kimchi/model/libvirtstoragepool.py @@ -27,7 +27,7 @@ import libvirt from wok.exception import InvalidParameter, OperationFailed, TimeoutExpired from ..iscsi import TargetClient from wok.rollbackcontext import RollbackContext -from wok.utils import kimchi_log, parse_cmd_output, run_command +from wok.utils import wok_log, parse_cmd_output, run_command = = class StoragePoolDef(object): @@ -165,7 +165,7 @@ class ScsiPoolDef(StoragePoolDef): msg =3D "Libvirt version <=3D 1.0.5. Setting SCSI host name as= '%s'; "\ "setting SCSI adapter type as 'scsi_host'; "\ "ignoring wwnn and wwpn." % tmp_name - kimchi_log.info(msg) + wok_log.info(msg) # Path for Fibre Channel scsi hosts self.poolArgs['path'] =3D '/dev/disk/by-path' if not self.poolArgs['source']['adapter']['type']: diff --git a/plugins/kimchi/model/networks.py b/plugins/kimchi/model/networ= ks.py index 7a3dfc8..594bfca 100644 --- a/plugins/kimchi/model/networks.py +++ b/plugins/kimchi/model/networks.py @@ -32,7 +32,7 @@ from wok.exception import InvalidOperation, InvalidParame= ter from wok.exception import MissingParameter, NotFoundError, OperationFailed from ..osinfo import defaults as tmpl_defaults from wok.rollbackcontext import RollbackContext -from wok.utils import kimchi_log, run_command +from wok.utils import wok_log, run_command from ..xmlutils.network import create_vlan_tagged_bridge_xml from ..xmlutils.network import to_network_xml from wok.xmlutils.utils import xpath_get_text @@ -59,9 +59,9 @@ class NetworksModel(object): net =3D conn.networkLookupByName(net_name) except libvirt.libvirtError, e: msg =3D "Fatal: Unable to find network %s." - kimchi_log.error(msg, net_name) - kimchi_log.error(error_msg) - kimchi_log.error("Details: %s", e.message) + wok_log.error(msg, net_name) + wok_log.error(error_msg) + wok_log.error("Details: %s", e.message) sys.exit(1) = if net.isActive() =3D=3D 0: @@ -69,9 +69,9 @@ class NetworksModel(object): net.create() except libvirt.libvirtError as e: msg =3D "Fatal: Unable to activate network %s." - kimchi_log.error(msg, net_name) - kimchi_log.error(error_msg) - kimchi_log.error("Details: %s", e.message) + wok_log.error(msg, net_name) + wok_log.error(error_msg) + wok_log.error("Details: %s", e.message) sys.exit(1) = def create(self, params): @@ -211,7 +211,7 @@ class NetworksModel(object): try: bridges.append(net.bridgeName()) except libvirt.libvirtError, e: - kimchi_log.error(e.message) + wok_log.error(e.message) = if br_name in bridges: raise InvalidOperation("KCHNET0010E", {'iface': br_name}) diff --git a/plugins/kimchi/model/peers.py b/plugins/kimchi/model/peers.py index ef70b1e..a9cf3b7 100644 --- a/plugins/kimchi/model/peers.py +++ b/plugins/kimchi/model/peers.py @@ -22,7 +22,7 @@ import re import socket = from wok.config import config -from wok.utils import kimchi_log, run_command +from wok.utils import wok_log, run_command = = class PeersModel(object): @@ -37,19 +37,19 @@ class PeersModel(object): self.url =3D hostname + ":" + port = cmd =3D ["slptool", "register", - "service:kimchid://%s" % self.url] + "service:wokd://%s" % self.url] out, error, ret =3D run_command(cmd) if out and len(out) !=3D 0: - kimchi_log.error("Unable to register server on openSLP." + wok_log.error("Unable to register server on openSLP." " Details: %s" % out) cherrypy.engine.subscribe('exit', self._peer_deregister) = def _peer_deregister(self): cmd =3D ["slptool", "deregister", - "service:kimchid://%s" % self.url] + "service:wokd://%s" % self.url] out, error, ret =3D run_command(cmd) if out and len(out) !=3D 0: - kimchi_log.error("Unable to deregister server on openSLP." + wok_log.error("Unable to deregister server on openSLP." " Details: %s" % out) = def get_list(self): @@ -57,14 +57,14 @@ class PeersModel(object): if config.get("server", "federation") =3D=3D "off": return [] = - cmd =3D ["slptool", "findsrvs", "service:kimchid"] + cmd =3D ["slptool", "findsrvs", "service:wokd"] out, error, ret =3D run_command(cmd) if ret !=3D 0: return [] = peers =3D [] for server in out.strip().split("\n"): - match =3D re.match("service:kimchid://(.*?),.*", server) + match =3D re.match("service:wokd://(.*?),.*", server) peer =3D match.group(1) if peer !=3D self.url: peers.append("https://" + peer) diff --git a/plugins/kimchi/model/storagepools.py b/plugins/kimchi/model/st= oragepools.py index e84dc33..681fafc 100644 --- a/plugins/kimchi/model/storagepools.py +++ b/plugins/kimchi/model/storagepools.py @@ -31,7 +31,7 @@ from config import CapabilitiesModel from host import DeviceModel from libvirtstoragepool import StoragePoolDef from ..osinfo import defaults as tmpl_defaults -from wok.utils import add_task, kimchi_log, run_command +from wok.utils import add_task, wok_log, run_command from ..utils import pool_name_from_uri from wok.xmlutils.utils import xpath_get_text = @@ -92,8 +92,8 @@ class StoragePoolsModel(object): pool_path =3D pools[pool_name].get('path') if pool_path is None: msg =3D "Fatal: Unable to find storage pool %s. " + er= ror_msg - kimchi_log.error(msg % pool_name) - kimchi_log.error("Details: %s", e.message) + wok_log.error(msg % pool_name) + wok_log.error("Details: %s", e.message) sys.exit(1) = # Try to create the pool @@ -105,8 +105,8 @@ class StoragePoolsModel(object): except libvirt.libvirtError, e: msg =3D "Fatal: Unable to create storage pool %s. " msg +=3D error_msg - kimchi_log.error(msg % pool_name) - kimchi_log.error("Details: %s", e.message) + wok_log.error(msg % pool_name) + wok_log.error("Details: %s", e.message) sys.exit(1) = # Build and set autostart value to pool @@ -126,8 +126,8 @@ class StoragePoolsModel(object): except libvirt.libvirtError, e: msg =3D "Fatal: Unable to craete storage pool %s. " msg +=3D error_msg - kimchi_log.error(msg % pool_name) - kimchi_log.error("Details: %s", e.message) + wok_log.error(msg % pool_name) + wok_log.error("Details: %s", e.message) sys.exit(1) = def get_list(self): @@ -192,7 +192,7 @@ class StoragePoolsModel(object): = pool =3D conn.storagePoolDefineXML(xml, 0) except libvirt.libvirtError as e: - kimchi_log.error("Problem creating Storage Pool: %s", e) + wok_log.error("Problem creating Storage Pool: %s", e) raise OperationFailed("KCHPOOL0007E", {'name': name, 'err': e.get_error_messag= e()}) = @@ -212,7 +212,7 @@ class StoragePoolsModel(object): output, error, returncode =3D run_command(['setsebool', '-P', 'virt_use_nfs=3D1']) if error or returncode: - kimchi_log.error("Unable to set virt_use_nfs=3D1. If you u= se " + wok_log.error("Unable to set virt_use_nfs=3D1. If you use " "SELinux, this may prevent NFS pools from= " "being used.") return name @@ -226,7 +226,7 @@ class StoragePoolsModel(object): session.delete('scanning', pool_name) except Exception, e: err =3D "Exception %s occured when cleaning scan result" - kimchi_log.debug(err % e.message) + wok_log.debug(err % e.message) = def _do_deep_scan(self, params): scan_params =3D dict(ignore_list=3D[]) @@ -241,7 +241,7 @@ class StoragePoolsModel(object): scan_params['ignore_list'].append(res['path']) except Exception, e: err =3D "Exception %s occured when get ignore path" - kimchi_log.debug(err % e.message) + wok_log.debug(err % e.message) = params['path'] =3D self.scanner.scan_dir_prepare(params['name']) scan_params['pool_path'] =3D params['path'] @@ -283,9 +283,9 @@ class StoragePoolModel(object): # If something (say a busy pool) prevents the refresh, # throwing an Exception here would prevent all pools from # displaying information -- so return None for busy - kimchi_log.error("ERROR: Storage Pool get vol count: %s " + wok_log.error("ERROR: Storage Pool get vol count: %s " % e.get_error_message()) - kimchi_log.error("ERROR: Storage Pool get vol count error no: = %s " + wok_log.error("ERROR: Storage Pool get vol count error no: %s " % e.get_error_code()) return 0 except Exception as e: @@ -338,7 +338,7 @@ class StoragePoolModel(object): # FIXME: nfs workaround - prevent any libvirt operation # for a nfs if the corresponding NFS server is down. if pool_type =3D=3D 'netfs' and not self._nfs_status_online(pool): - kimchi_log.debug("NFS pool %s is offline, reason: NFS " + wok_log.debug("NFS pool %s is offline, reason: NFS " "server %s is unreachable.", name, source['addr']) # Mark state as '4' =3D> inaccessible. @@ -377,7 +377,7 @@ class StoragePoolModel(object): lsblk_cmd =3D ['lsblk', disk] output, error, returncode =3D run_command(lsblk_cmd) if returncode !=3D 0: - kimchi_log.error('%s is not a valid disk/partition. Could = not ' + wok_log.error('%s is not a valid disk/partition. Could not= ' 'add it to the pool %s.', disk, pool_name) raise OperationFailed('KCHPOOL0027E', {'disk': disk, 'pool': pool_name}) @@ -387,7 +387,7 @@ class StoragePoolModel(object): output, error, returncode =3D run_command(vgextend_cmd) if returncode !=3D 0: msg =3D "Could not add disks to pool %s, error: %s" - kimchi_log.error(msg, pool_name, error) + wok_log.error(msg, pool_name, error) raise OperationFailed('KCHPOOL0028E', {'pool': pool_name, 'err': error}) # refreshing pool state diff --git a/plugins/kimchi/model/storagetargets.py b/plugins/kimchi/model/= storagetargets.py index dd88fec..bbcfb0d 100644 --- a/plugins/kimchi/model/storagetargets.py +++ b/plugins/kimchi/model/storagetargets.py @@ -24,7 +24,7 @@ from lxml.builder import E = from config import CapabilitiesModel from storageservers import STORAGE_SERVERS -from wok.utils import kimchi_log, patch_find_nfs_target +from wok.utils import wok_log, patch_find_nfs_target = = class StorageTargetsModel(object): @@ -51,7 +51,7 @@ class StorageTargetsModel(object): ret =3D conn.findStoragePoolSources(target_type, xml, = 0) except libvirt.libvirtError as e: err =3D "Query storage pool source fails because of %s" - kimchi_log.warning(err, e.get_error_message()) + wok_log.warning(err, e.get_error_message()) continue = targets =3D self._parse_target_source_result(target_type, = ret) @@ -78,7 +78,7 @@ class StorageTargetsModel(object): = except libvirt.libvirtError as e: err =3D "Query storage pool source fails because of %s" - kimchi_log.warning(err, e.get_error_message()) + wok_log.warning(err, e.get_error_message()) = # Filter target_list to not not show the used paths target_list =3D [elem for elem in target_list diff --git a/plugins/kimchi/model/storagevolumes.py b/plugins/kimchi/model/= storagevolumes.py index 92e1c7c..908fbc4 100644 --- a/plugins/kimchi/model/storagevolumes.py +++ b/plugins/kimchi/model/storagevolumes.py @@ -36,7 +36,7 @@ from diskutils import get_disk_used_by, set_disk_used_by from storagepools import StoragePoolModel from tasks import TaskModel from wok.utils import add_task, get_next_clone_name, get_unique_file_name -from wok.utils import kimchi_log +from wok.utils import wok_log from wok.xmlutils.utils import xpath_get_text = = @@ -233,7 +233,7 @@ class StorageVolumesModel(object): if virt_vol: virt_vol.delete(0) except libvirt.libvirtError, virt_e: - kimchi_log.error(virt_e.message) + wok_log.error(virt_e.message) finally: raise OperationFailed('KCHVOL0007E', {'name': name, 'pool': pool_nam= e, @@ -528,7 +528,7 @@ class IsoVolumesModel(object): volumes =3D pool.listVolumes() except Exception, e: # Skip inactive pools - kimchi_log.debug("Shallow scan: skipping pool %s because o= f " + wok_log.debug("Shallow scan: skipping pool %s because of " "error: %s", (pool_name, e.message)) continue = diff --git a/plugins/kimchi/model/vmhostdevs.py b/plugins/kimchi/model/vmho= stdevs.py index f8c87dd..18f4e1f 100644 --- a/plugins/kimchi/model/vmhostdevs.py +++ b/plugins/kimchi/model/vmhostdevs.py @@ -31,7 +31,7 @@ from host import DeviceModel, DevicesModel from utils import get_vm_config_flag from vms import DOM_STATE_MAP, VMModel from wok.rollbackcontext import RollbackContext -from wok.utils import kimchi_log, run_command +from wok.utils import wok_log, run_command import platform = = @@ -169,7 +169,7 @@ class VMHostDevsModel(object): out, err, rc =3D run_command(['setsebool', '-P', 'virt_use_sysfs=3Don']) if rc !=3D 0: - kimchi_log.warning("Unable to turn on sebool virt_use_sysf= s") + wok_log.warning("Unable to turn on sebool virt_use_sysfs") = def _attach_pci_device(self, vmid, dev_info): self._validate_pci_passthrough_env() @@ -205,7 +205,7 @@ class VMHostDevsModel(object): try: dom.attachDeviceFlags(xmlstr, device_flags) except libvirt.libvirtError: - kimchi_log.error( + wok_log.error( 'Failed to attach host device %s to VM %s: \n%s', pci_info['name'], vmid, xmlstr) raise diff --git a/plugins/kimchi/model/vms.py b/plugins/kimchi/model/vms.py index a874ca1..2e9721d 100644 --- a/plugins/kimchi/model/vms.py +++ b/plugins/kimchi/model/vms.py @@ -45,7 +45,7 @@ from utils import set_metadata_node from wok.rollbackcontext import RollbackContext from ..screenshot import VMScreenshot from wok.utils import add_task, convert_data_size, get_next_clone_name -from wok.utils import import_class, kimchi_log, run_setfacl_set_attr +from wok.utils import import_class, wok_log, run_setfacl_set_attr from ..utils import template_name_from_uri from ..xmlutils.cpu import get_cpu_xml, get_numa_xml from wok.xmlutils.utils import xpath_get_text, xml_item_update @@ -134,7 +134,7 @@ class VMsModel(object): except Exception as e: # It is possible to continue Kimchi executions without sto= re # vm icon info - kimchi_log.error('Error trying to update database with gue= st ' + wok_log.error('Error trying to update database with guest ' 'icon information due error: %s', e.messa= ge) = # If storagepool is SCSI, volumes will be LUNs and must be passed = by @@ -396,7 +396,7 @@ class VMModel(object): # a new volume with the same size, the pool 'default' shou= ld # be used if orig_vol['capacity'] > orig_pool['available']: - kimchi_log.warning('storage pool \'%s\' doesn\'t have ' + wok_log.warning('storage pool \'%s\' doesn\'t have ' 'enough free space to store image ' '\'%s\'; falling back to \'default\= '', orig_pool_name, path) @@ -412,7 +412,7 @@ class VMModel(object): = elif orig_pool['type'] in ['scsi', 'iscsi']: # SCSI and iSCSI always fall back to the storage pool 'def= ault' - kimchi_log.warning('cannot create new volume for clone in ' + wok_log.warning('cannot create new volume for clone in ' 'storage pool \'%s\'; falling back to ' '\'default\'', orig_pool_name) new_pool_name =3D u'default' @@ -866,7 +866,7 @@ class VMModel(object): except Exception as e: # VM might be deleted just after we get the list. # This is OK, just skip. - kimchi_log.debug('Error processing VM stats: %s', e.message) + wok_log.debug('Error processing VM stats: %s', e.message) = def _get_percentage_cpu_usage(self, vm_uuid, info, seconds): prevCpuTime =3D self.stats[vm_uuid].get('cputime', 0) @@ -1042,7 +1042,7 @@ class VMModel(object): try: snapshot_names =3D self.vmsnapshots.get_list(name) except OperationFailed, e: - kimchi_log.error('cannot list snapshots: %s; ' + wok_log.error('cannot list snapshots: %s; ' 'skipping snapshot deleting...' % e.message) else: for s in snapshot_names: @@ -1067,7 +1067,7 @@ class VMModel(object): session.delete('storagevolume', path, ignore_missing=3DTrue) except libvirt.libvirtError as e: - kimchi_log.error('Unable to get storage volume by path: %s= ' % + wok_log.error('Unable to get storage volume by path: %s' % e.message) except Exception as e: raise OperationFailed('KCHVOL0017E', {'err': e.message}) @@ -1087,7 +1087,7 @@ class VMModel(object): session.delete('vm', dom.UUIDString(), ignore_missing=3DTr= ue) except Exception as e: # It is possible to delete vm without delete its database info - kimchi_log.error('Error deleting vm information from database:= ' + wok_log.error('Error deleting vm information from database: ' '%s', e.message) = vnc.remove_proxy_token(name) @@ -1183,7 +1183,7 @@ class VMModel(object): except Exception as e: # It is possible to continue Kimchi executions without delete # screenshots - kimchi_log.error('Error trying to delete vm screenshot from ' + wok_log.error('Error trying to delete vm screenshot from ' 'database due error: %s', e.message) = def suspend(self, name): @@ -1249,7 +1249,7 @@ class VMScreenshotModel(object): except Exception as e: # It is possible to continue Kimchi executions without store # screenshots - kimchi_log.error('Error trying to update database with guest ' + wok_log.error('Error trying to update database with guest ' 'screenshot information due error: %s', e.mes= sage) return img_path = @@ -1267,7 +1267,7 @@ class VMScreenshotModel(object): # exception from '__exit__' when calling 'session.store' # It is possible to continue Kimchi vm executions without # screenshots - kimchi_log.error('Error trying to update database with guest ' + wok_log.error('Error trying to update database with guest ' 'screenshot information due error: %s', e.mes= sage) return LibvirtVMScreenshot(params, conn) = diff --git a/plugins/kimchi/model/vmstorages.py b/plugins/kimchi/model/vmst= orages.py index 29f8f30..f7cef52 100644 --- a/plugins/kimchi/model/vmstorages.py +++ b/plugins/kimchi/model/vmstorages.py @@ -29,7 +29,7 @@ from storagevolumes import StorageVolumeModel from utils import get_vm_config_flag from ..osinfo import lookup from diskutils import get_disk_used_by, set_disk_used_by -from wok.utils import kimchi_log +from wok.utils import wok_log from ..xmlutils.disk import get_device_node, get_disk_xml from ..xmlutils.disk import get_vm_disk_info, get_vm_disks = @@ -191,7 +191,7 @@ class VMStorageModel(object): if path is not None: used_by =3D get_disk_used_by(self.objstore, self.conn, pat= h) else: - kimchi_log.error("Unable to decrement volume used_by on" + wok_log.error("Unable to decrement volume used_by on" " delete because no path could be found.") dom.detachDeviceFlags(etree.tostring(disk), get_vm_config_flag(dom, 'all')) @@ -202,7 +202,7 @@ class VMStorageModel(object): used_by.remove(vm_name) set_disk_used_by(self.objstore, path, used_by) else: - kimchi_log.error("Unable to update %s:%s used_by on delete." + wok_log.error("Unable to update %s:%s used_by on delete." % (vm_name, dev_name)) = def update(self, vm_name, dev_name, params): @@ -246,6 +246,6 @@ class VMStorageModel(object): set_disk_used_by(self.objstore, new_disk_path, new_disk_used_by) except Exception as e: - kimchi_log.error("Unable to update dev used_by on update due t= o" + wok_log.error("Unable to update dev used_by on update due to" " %s:" % e.message) return dev diff --git a/plugins/kimchi/scan.py b/plugins/kimchi/scan.py index 8e42fbc..663b838 100644 --- a/plugins/kimchi/scan.py +++ b/plugins/kimchi/scan.py @@ -27,7 +27,7 @@ import time = = from isoinfo import IsoImage, probe_iso -from wok.utils import kimchi_log +from wok.utils import wok_log = = SCAN_IGNORE =3D ['/tmp/kimchi-scan-*'] @@ -58,7 +58,7 @@ class Scanner(object): self.clean_cb(transient_pool) except OSError as e: msg =3D "Exception %s occured when cleaning stale pool, ignore" - kimchi_log.debug(msg % e.message) + wok_log.debug(msg % e.message) = def scan_dir_prepare(self, name): # clean stale scan storage pools diff --git a/plugins/kimchi/screenshot.py b/plugins/kimchi/screenshot.py index 765e1a6..05701dd 100644 --- a/plugins/kimchi/screenshot.py +++ b/plugins/kimchi/screenshot.py @@ -33,7 +33,7 @@ except ImportError: = = import config -from wok.utils import kimchi_log +from wok.utils import wok_log = = (fd, pipe) =3D tempfile.mkstemp() @@ -164,7 +164,7 @@ class VMScreenshot(object): try: self._generate_scratch(thumbnail) except: - kimchi_log.error("screenshot_creation: Unable to create " + wok_log.error("screenshot_creation: Unable to create " "screenshot image %s." % thumbnail) else: self._create_black_image(thumbnail) @@ -178,7 +178,7 @@ class VMScreenshot(object): # work around pic truncate validation in thumbnail generat= ion im.thumbnail(self.THUMBNAIL_SIZE) except Exception as e: - kimchi_log.warning("Image load with warning: %s." % e) + wok_log.warning("Image load with warning: %s." % e) im.save(thumbnail, "PNG") = self.info['thumbnail'] =3D thumbnail diff --git a/plugins/kimchi/swupdate.py b/plugins/kimchi/swupdate.py index 592fb84..cd56707 100644 --- a/plugins/kimchi/swupdate.py +++ b/plugins/kimchi/swupdate.py @@ -23,7 +23,7 @@ import time from wok.basemodel import Singleton from config import kimchiLock from wok.exception import NotFoundError, OperationFailed -from wok.utils import kimchi_log, run_command +from wok.utils import wok_log, run_command from yumparser import get_yum_packages_list_update = = @@ -49,18 +49,18 @@ class SoftwareUpdate(object): # correct package management system try: __import__('yum') - kimchi_log.info("Loading YumUpdate features.") + wok_log.info("Loading YumUpdate features.") self._pkg_mnger =3D YumUpdate() except ImportError: try: __import__('apt') - kimchi_log.info("Loading AptUpdate features.") + wok_log.info("Loading AptUpdate features.") self._pkg_mnger =3D AptUpdate() except ImportError: zypper_help =3D ["zypper", "--help"] (stdout, stderr, returncode) =3D run_command(zypper_help) if returncode =3D=3D 0: - kimchi_log.info("Loading ZypperUpdate features.") + wok_log.info("Loading ZypperUpdate features.") self._pkg_mnger =3D ZypperUpdate() else: raise Exception("There is no compatible package manage= r " diff --git a/plugins/kimchi/tests/utils.py b/plugins/kimchi/tests/utils.py index 6144dc7..e22bffa 100644 --- a/plugins/kimchi/tests/utils.py +++ b/plugins/kimchi/tests/utils.py @@ -41,7 +41,7 @@ import wok.server from wok.config import config, paths from wok.auth import User, USER_NAME, USER_GROUPS, USER_ROLES, tabs from wok.exception import NotFoundError, OperationFailed -from wok.utils import kimchi_log +from wok.utils import wok_log = _ports =3D {} = @@ -227,12 +227,12 @@ def wait_task(task_lookup, taskid, timeout=3D10): for i in range(0, timeout): task_info =3D task_lookup(taskid) if task_info['status'] =3D=3D "running": - kimchi_log.info("Waiting task %s, message: %s", + wok_log.info("Waiting task %s, message: %s", taskid, task_info['message']) time.sleep(1) else: return - kimchi_log.error("Timeout while process long-run task, " + wok_log.error("Timeout while process long-run task, " "try to increase timeout value.") = = diff --git a/plugins/kimchi/ui/js/src/kimchi.api.js b/plugins/kimchi/ui/js/= src/kimchi.api.js index a7c3b2d..81e44fd 100644 --- a/plugins/kimchi/ui/js/src/kimchi.api.js +++ b/plugins/kimchi/ui/js/src/kimchi.api.js @@ -53,7 +53,7 @@ var kimchi =3D { */ getCapabilities : function(suc, err, done) { done =3D typeof done !=3D=3D 'undefined' ? done: function(){}; - kimchi.requestJSON({ + wok.requestJSON({ url : "config/capabilities", type : "GET", contentType : "application/json", @@ -68,7 +68,7 @@ var kimchi =3D { * Get the i18 strings. */ getI18n: function(suc, err, url, sync) { - kimchi.requestJSON({ + wok.requestJSON({ url : url ? url : 'i18n.json', type : 'GET', resend: true, @@ -83,7 +83,7 @@ var kimchi =3D { * Get the host static information. */ getHost: function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host', type : 'GET', resend: true, @@ -98,11 +98,11 @@ var kimchi =3D { * Get the dynamic host stats (usually used for monitoring). */ getHostStats : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/stats', type : 'GET', contentType : 'application/json', - headers: {'Kimchi-Robot': 'kimchi-robot'}, + headers: {'Wok-Robot': 'wok-robot'}, dataType : 'json', success : suc, error: err @@ -113,12 +113,12 @@ var kimchi =3D { * Get the historic host stats. */ getHostStatsHistory : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/stats/history', type : 'GET', resend: true, contentType : 'application/json', - headers: {'Kimchi-Robot': 'kimchi-robot'}, + headers: {'Wok-Robot': 'wok-robot'}, dataType : 'json', success : suc, error: err @@ -137,7 +137,7 @@ var kimchi =3D { * suc: callback if succeed err: callback if failed */ createVM : function(settings, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : "vms", type : "POST", contentType : "application/json", @@ -153,7 +153,7 @@ var kimchi =3D { * if failed */ createTemplate : function(settings, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : "templates", type : "POST", contentType : "application/json", @@ -165,7 +165,7 @@ var kimchi =3D { }, = deleteTemplate : function(tem, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'templates/' + encodeURIComponent(tem), type : 'DELETE', contentType : 'application/json', @@ -176,7 +176,7 @@ var kimchi =3D { }, = cloneTemplate : function(tem, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'templates/' + encodeURIComponent(tem) + "/clone", type : 'POST', contentType : 'application/json', @@ -187,7 +187,7 @@ var kimchi =3D { }, = listTemplates : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'templates', type : 'GET', contentType : 'application/json', @@ -201,7 +201,7 @@ var kimchi =3D { * Retrieve the information of a template by the given name. */ retrieveTemplate : function(templateName, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : "templates/" + encodeURIComponent(templateName), type : 'GET', contentType : 'application/json', @@ -231,7 +231,7 @@ var kimchi =3D { * The unit is MBytes suc: callback if succeed err: callback if failed */ createStoragePool : function(settings, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'storagepools', type : 'POST', contentType : 'application/json', @@ -248,12 +248,12 @@ var kimchi =3D { dataType : 'json', data : JSON.stringify(content) }).done(suc).fail(err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); }); }, = startVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/start', type : 'POST', contentType : 'application/json', @@ -264,7 +264,7 @@ var kimchi =3D { }, = poweroffVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/poweroff', type : 'POST', contentType : 'application/json', @@ -275,7 +275,7 @@ var kimchi =3D { }, = shutdownVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/shutdown', type : 'POST', contentType : 'application/json', @@ -286,7 +286,7 @@ var kimchi =3D { }, = resetVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/reset', type : 'POST', contentType : 'application/json', @@ -297,7 +297,7 @@ var kimchi =3D { }, = suspendVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/suspend', type : 'POST', contentType : 'application/json', @@ -308,7 +308,7 @@ var kimchi =3D { }, = resumeVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/resume', type : 'POST', contentType : 'application/json', @@ -352,7 +352,7 @@ var kimchi =3D { }, = deleteVM : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm), type : 'DELETE', contentType : 'application/json', @@ -363,13 +363,13 @@ var kimchi =3D { }, = vncToVM : function(vm) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'config', type : 'GET', dataType : 'json' }).done(function(data, textStatus, xhr) { proxy_port =3D data['display_proxy_port']; - kimchi.requestJSON({ + wok.requestJSON({ url : "vms/" + encodeURIComponent(vm) + "/connect", type : "POST", dataType : "json" @@ -384,24 +384,24 @@ var kimchi =3D { * contain =3D which is not safe in a URL query component. * So remove it when needed as base64 can work well withou= t it. * */ - url +=3D "&path=3D?token=3D" + kimchi.urlSafeB64Encode(vm)= .replace(/=3D*$/g, ""); - url +=3D "&kimchi=3D" + location.port; + url +=3D "&path=3D?token=3D" + wok.urlSafeB64Encode(vm).re= place(/=3D*$/g, ""); + url +=3D "&wok=3D" + location.port; url +=3D '&encrypt=3D1'; window.open(url); }); }).error(function() { - kimchi.message.error.code('KCHAPI6002E'); + wok.message.error.code('KCHAPI6002E'); }); }, = spiceToVM : function(vm) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'config', type : 'GET', dataType : 'json' }).done(function(data, textStatus, xhr) { proxy_port =3D data['display_proxy_port']; - kimchi.requestJSON({ + wok.requestJSON({ url : "vms/" + encodeURIComponent(vm) + "/connect", type : "POST", dataType : "json" @@ -416,22 +416,22 @@ var kimchi =3D { * contain =3D which is not safe in a URL query component. * So remove it when needed as base64 can work well withou= t it. * */ - url +=3D "&token=3D" + kimchi.urlSafeB64Encode(vm).replace= (/=3D*$/g, ""); - url +=3D "&kimchi=3D" + location.port; + url +=3D "&token=3D" + wok.urlSafeB64Encode(vm).replace(/= =3D*$/g, ""); + url +=3D "&wok=3D" + location.port; url +=3D '&encrypt=3D1'; window.open(url); }); }).error(function() { - kimchi.message.error.code('KCHAPI6002E'); + wok.message.error.code('KCHAPI6002E'); }); }, = listVMs : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms', type : 'GET', contentType : 'application/json', - headers: {'Kimchi-Robot': 'kimchi-robot'}, + headers: {'Wok-Robot': 'wok-robot'}, dataType : 'json', resend: true, success : suc, @@ -440,7 +440,7 @@ var kimchi =3D { }, = listTemplates : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'templates', type : 'GET', contentType : 'application/json', @@ -452,7 +452,7 @@ var kimchi =3D { }, = listStoragePools : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'storagepools', type : 'GET', contentType : 'application/json', @@ -475,7 +475,7 @@ var kimchi =3D { }, = listIsos : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'storagepools/kimchi_isos/storagevolumes', type : 'GET', contentType : 'application/json', @@ -486,7 +486,7 @@ var kimchi =3D { }, = listDistros : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'config/distros', type : 'GET', contentType : 'application/json', @@ -548,7 +548,7 @@ var kimchi =3D { }, = getTask : function(taskId, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'tasks/' + encodeURIComponent(taskId), type : 'GET', contentType : 'application/json', @@ -559,7 +559,7 @@ var kimchi =3D { }, = getTasksByFilter : function(filter, suc, err, sync) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'tasks?' + filter, type : 'GET', contentType : 'application/json', @@ -626,7 +626,7 @@ var kimchi =3D { }, = listNetworks : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'networks', type : 'GET', contentType : 'application/json', @@ -634,27 +634,27 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = toggleNetwork : function(name, on, suc, err) { var action =3D on ? "activate" : "deactivate"; - kimchi.requestJSON({ + wok.requestJSON({ url : 'networks/' + encodeURIComponent(name) + '/' + action, type : 'POST', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = createNetwork : function(network, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'networks', type : 'POST', contentType : 'application/json', @@ -662,13 +662,13 @@ var kimchi =3D { data : JSON.stringify(network), success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getInterfaces : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'interfaces', type : 'GET', contentType : 'application/json', @@ -676,26 +676,26 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = deleteNetwork : function(name, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'networks/' + encodeURIComponent(name), type : 'DELETE', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = listReports : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'debugreports', type : 'GET', contentType : 'application/json', @@ -738,7 +738,7 @@ var kimchi =3D { kimchi.trackTask(taskID, suc, err, progress); }; = - kimchi.requestJSON({ + wok.requestJSON({ url : 'debugreports', type : "POST", contentType : "application/json", @@ -763,7 +763,7 @@ var kimchi =3D { = deleteReport: function(settings, suc, err) { var reportName =3D encodeURIComponent(settings['name']); - kimchi.requestJSON({ + wok.requestJSON({ url : 'debugreports/' + reportName, type : 'DELETE', contentType : 'application/json', @@ -780,7 +780,7 @@ var kimchi =3D { shutdown: function(settings, suc, err) { var reboot =3D settings && settings['reboot'] =3D=3D=3D true; var url =3D 'host/' + (reboot ? 'reboot' : 'shutdown'); - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'POST', contentType : 'application/json', @@ -791,7 +791,7 @@ var kimchi =3D { }, = listHostPartitions : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/partitions', type : 'GET', contentType : 'application/json', @@ -803,21 +803,21 @@ var kimchi =3D { = getStorageServers: function(type, suc, err) { var url =3D 'storageservers?_target_type=3D' + type; - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getStorageTargets: function(server,type, suc, err) { var url =3D 'storageservers/' + server + '/storagetargets?_target_= type=3D' + type; - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', @@ -830,7 +830,7 @@ var kimchi =3D { = getStoragePool: function(poolName, suc, err) { var url =3D kimchi.url + 'storagepools/' + encodeURIComponent(pool= Name); - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', @@ -843,7 +843,7 @@ var kimchi =3D { = getStoragePoolVolume: function(poolName, volumeName, suc, err) { var url =3D 'storagepools/' + encodeURIComponent(poolName) + '/sto= ragevolumes/' + encodeURIComponent(volumeName); - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', @@ -857,7 +857,7 @@ var kimchi =3D { addVMStorage : function(settings, suc, err) { var vm =3D encodeURIComponent(settings['vm']); delete settings['vm']; - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + vm + '/storages', type : 'POST', contentType : 'application/json', @@ -871,7 +871,7 @@ var kimchi =3D { retrieveVMStorage : function(settings, suc, err) { var vm =3D encodeURIComponent(settings['vm']); var dev =3D encodeURIComponent(settings['dev']); - kimchi.requestJSON({ + wok.requestJSON({ url : "vms/" + vm + '/storages/' + dev, type : 'GET', contentType : 'application/json', @@ -884,7 +884,7 @@ var kimchi =3D { replaceVMStorage : function(settings, suc, err) { var vm =3D encodeURIComponent(settings['vm']); var dev =3D encodeURIComponent(settings['dev']); - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + vm + '/storages/' + dev, type : 'PUT', contentType : 'application/json', @@ -900,7 +900,7 @@ var kimchi =3D { deleteVMStorage : function(settings, suc, err) { var vm =3D settings['vm']; var dev =3D settings['dev']; - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/' + encodeURIComponent(vm) + '/storages/' + encodeURIComponent(dev), type : 'DELETE', @@ -918,7 +918,7 @@ var kimchi =3D { if(type) { url +=3D '?type=3D' + type; } - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', @@ -929,7 +929,7 @@ var kimchi =3D { }, = listSoftwareUpdates : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/packagesupdate', type : 'GET', contentType : 'application/json', @@ -969,7 +969,7 @@ var kimchi =3D { } }; = - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/swupdate', type : "POST", contentType : "application/json", @@ -980,7 +980,7 @@ var kimchi =3D { }, = createRepository : function(settings, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : "host/repositories", type : "POST", contentType : "application/json", @@ -993,7 +993,7 @@ var kimchi =3D { = retrieveRepository : function(repository, suc, err) { var reposID =3D encodeURIComponent(repository); - kimchi.requestJSON({ + wok.requestJSON({ url : "host/repositories/" + reposID, type : 'GET', contentType : 'application/json', @@ -1031,7 +1031,7 @@ var kimchi =3D { = deleteRepository : function(repository, suc, err) { var reposID =3D encodeURIComponent(repository); - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/repositories/' + reposID, type : 'DELETE', contentType : 'application/json', @@ -1042,7 +1042,7 @@ var kimchi =3D { }, = listRepositories : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/repositories', type : 'GET', contentType : 'application/json', @@ -1055,34 +1055,34 @@ var kimchi =3D { = getHostFCDevices: function(suc, err) { var url =3D 'host/devices?_cap=3Dfc_host'; - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getGuestInterfaces: function(name, suc, err) { var url =3D 'vms/'+encodeURIComponent(name)+'/ifaces'; - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'GET', contentType : 'application/json', dataType : 'json', success : suc, error : err || function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = createGuestInterface : function(name, interface, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(name)+'/ifaces', type : 'POST', contentType : 'application/json', @@ -1090,20 +1090,20 @@ var kimchi =3D { data : JSON.stringify(interface), success : suc, error : err || function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = deleteGuestInterface : function(vm, mac, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/ifaces/'+encodeURICompon= ent(mac), type : 'DELETE', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, @@ -1117,13 +1117,13 @@ var kimchi =3D { dataType : 'json', success: suc, error: err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getUserById : function(data, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'users?_user_id=3D' + data.user_id, type : 'GET', contentType : 'application/json', @@ -1132,13 +1132,13 @@ var kimchi =3D { async : false, success : suc && suc(data), error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getUsers : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'users', type : 'GET', contentType : 'application/json', @@ -1146,13 +1146,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getGroups : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'groups', type : 'GET', contentType : 'application/json', @@ -1160,13 +1160,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getHostPCIDevices : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/devices?_passthrough=3Dtrue&_cap=3Dpci', type : 'GET', contentType : 'application/json', @@ -1174,13 +1174,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getPCIDeviceCompanions : function(pcidev, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/devices?_passthrough_affected_by=3D' + pcidev, type : 'GET', contentType : 'application/json', @@ -1188,7 +1188,7 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, @@ -1196,7 +1196,7 @@ var kimchi =3D { getISCSITargets : function(server, port, suc, err) { server =3D encodeURIComponent(server); port =3D port ? '&_server_port=3D'+encodeURIComponent(port) : ''; - kimchi.requestJSON({ + wok.requestJSON({ url : 'storageservers/'+server+'/storagetargets?_target_type= =3Discsi'+port, type : 'GET', contentType : 'application/json', @@ -1204,13 +1204,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getPeers : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'peers', type : 'GET', contentType : 'application/json', @@ -1218,13 +1218,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getVMPCIDevices : function(id, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(id)+'/hostdevs', type : 'GET', contentType : 'application/json', @@ -1232,13 +1232,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = addVMPCIDevice : function(vm, device, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+ encodeURIComponent(vm) +'/hostdevs', type : 'POST', contentType : 'application/json', @@ -1246,20 +1246,20 @@ var kimchi =3D { data : JSON.stringify(device), success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = removeVMPCIDevice : function(vm, device, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+ encodeURIComponent(vm) +'/hostdevs/' + encodeURI= Component(device), type : 'DELETE', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, @@ -1268,7 +1268,7 @@ var kimchi =3D { * Create a new volume with capacity */ createVolumeWithCapacity: function(poolName, settings, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'storagepools/' + encodeURIComponent(poolName) + '/stora= gevolumes', type : 'POST', contentType : "application/json", @@ -1285,7 +1285,7 @@ var kimchi =3D { uploadVolumeToSP: function(poolName, volumeName, settings, suc, err) { var url =3D 'storagepools/' + encodeURIComponent(poolName) + '/sto= ragevolumes/' + encodeURIComponent(volumeName); var fd =3D settings['formData']; - kimchi.requestJSON({ + wok.requestJSON({ url : url, type : 'PUT', data : fd, @@ -1303,7 +1303,7 @@ var kimchi =3D { downloadVolumeToSP: function(settings, suc, err) { var sp =3D encodeURIComponent(settings['sp']); delete settings['sp']; - kimchi.requestJSON({ + wok.requestJSON({ url : 'storagepools/' + sp + '/storagevolumes', type : 'POST', data : JSON.stringify(settings), @@ -1315,20 +1315,20 @@ var kimchi =3D { }, = cloneGuest: function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+"/clone", type : 'POST', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = listSnapshots : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/snapshots', type : 'GET', contentType : 'application/json', @@ -1336,13 +1336,13 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getCurrentSnapshot : function(vm, suc, err, sync) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/snapshots/current', type : 'GET', contentType : 'application/json', @@ -1351,52 +1351,52 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = revertSnapshot : function(vm, snapshot, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURICom= ponent(snapshot)+'/revert', type : 'POST', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = createSnapshot : function(vm, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/snapshots', type : 'POST', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = deleteSnapshot : function(vm, snapshot, suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'vms/'+encodeURIComponent(vm)+'/snapshots/'+encodeURICom= ponent(snapshot), type : 'DELETE', contentType : 'application/json', dataType : 'json', success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }, = getCPUInfo : function(suc, err) { - kimchi.requestJSON({ + wok.requestJSON({ url : 'host/cpuinfo', type : 'GET', contentType : 'application/json', @@ -1404,7 +1404,7 @@ var kimchi =3D { resend : true, success : suc, error : err ? err : function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); } diff --git a/plugins/kimchi/ui/js/src/kimchi.guest_add_main.js b/plugins/ki= mchi/ui/js/src/kimchi.guest_add_main.js index df76975..1008d85 100644 --- a/plugins/kimchi/ui/js/src/kimchi.guest_add_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.guest_add_main.js @@ -17,7 +17,7 @@ */ kimchi.guest_add_main =3D function() { var showTemplates =3D function() { - kimchi.topic('templateCreated').unsubscribe(showTemplates); + wok.topic('templateCreated').unsubscribe(showTemplates); kimchi.listTemplates(function(result) { if (result && result.length) { $('#prompt-create-template').addClass('hidden'); @@ -25,16 +25,16 @@ kimchi.guest_add_main =3D function() { var html =3D ''; var tmpl =3D $('#tmpl-template').html(); $.each(result, function(index, value) { - html +=3D kimchi.substitute(tmpl, value); + html +=3D wok.substitute(tmpl, value); }); $('#templateTile').html(html); return; } = $('#btn-create-template').on('click', function(event) { - kimchi.topic('templateCreated').subscribe(showTemplates); + wok.topic('templateCreated').subscribe(showTemplates); = - kimchi.window.open('template-add.html'); + wok.window.open('template-add.html'); = event.preventDefault(); }); @@ -42,7 +42,7 @@ kimchi.guest_add_main =3D function() { $('#prompt-choose-template').addClass('hidden'); $('#prompt-create-template').removeClass('hidden'); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }; = @@ -66,14 +66,14 @@ kimchi.guest_add_main =3D function() { var formData =3D $('#form-vm-add').serializeObject(); kimchi.createVM(formData, function() { kimchi.listVmsAuto(); - kimchi.window.close(); + wok.window.close(); }, function(jqXHR, textStatus, errorThrown) { $('#vm-doAdd').attr('style', 'display'); $('#vm-doAdding').attr('style', 'display:none'); var reason =3D jqXHR && jqXHR['responseJSON'] && jqXHR['responseJSON']['reason']; - kimchi.message.error(reason); + wok.message.error(reason); }); = return false; diff --git a/plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js b/plugins/k= imchi/ui/js/src/kimchi.guest_edit_main.js index 7671e43..28c2163 100644 --- a/plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js @@ -46,7 +46,7 @@ kimchi.guest_edit_main =3D function() { $.each(storages, function(index, storage) { storage['vm'] =3D kimchi.selectedGuest; rowHTML =3D $('#' + storage['type'] + '-row-tmpl').html(); - var templated =3D kimchi.substitute(rowHTML, storage); + var templated =3D wok.substitute(rowHTML, storage); container.append(templated); }); = @@ -120,12 +120,12 @@ kimchi.guest_edit_main =3D function() { settings['content'] =3D i18n['KCHVMCD6009M']; = var dev =3D $(this).data('dev'); - kimchi.confirm(settings, function() { + wok.confirm(settings, function() { kimchi.deleteVMStorage({ vm: kimchi.selectedGuest, dev: dev }, function() { - kimchi.topic('kimchi/vmCDROMDetached').publish(); + wok.topic('kimchi/vmCDROMDetached').publish(); }); }); }); @@ -140,13 +140,13 @@ kimchi.guest_edit_main =3D function() { }; = kimchi.replaceVMStorage(settings, function(result) { - kimchi.topic('kimchi/vmCDROMReplaced').publish({ + wok.topic('kimchi/vmCDROMReplaced').publish({ result: result }); }, function(result) { var errText =3D result['reason'] || result['responseJSON']['reason']; - kimchi.message.error(errText); + wok.message.error(errText); }); }); = @@ -183,7 +183,7 @@ kimchi.guest_edit_main =3D function() { if (data.id =3D=3D -1) { data.id =3D $('#form-guest-edit-interface > .body').childr= en().size() } - var itemNode =3D $.parseHTML(kimchi.substitute($('#interface-t= mpl').html(),data)); + var itemNode =3D $.parseHTML(wok.substitute($('#interface-tmpl= ').html(),data)); $(".body", "#form-guest-edit-interface").append(itemNode); $("select", itemNode).append(networkOptions); if(data.network!=3D=3D""){ @@ -283,7 +283,7 @@ kimchi.guest_edit_main =3D function() { }); }); var addItem =3D function(data) { - var itemNode =3D $.parseHTML(kimchi.substitute($('#ldap-user-t= mpl').html(),data)); + var itemNode =3D $.parseHTML(wok.substitute($('#ldap-user-tmpl= ').html(),data)); $(".body", "#form-guest-edit-permission .ldap").append(itemNod= e); $(".delete", itemNode).button({ icons: { primary: "ui-icon-trash" }, @@ -314,7 +314,7 @@ kimchi.guest_edit_main =3D function() { }; //set up for PAM var userNodes =3D {}, groupNodes =3D {}; - authType =3D kimchi.capabilities['auth'] + authType =3D wok.capabilities['auth'] if (authType =3D=3D 'pam') { $("#form-guest-edit-permission .ldap").hide(); kimchi.retrieveVM(kimchi.selectedGuest, function(vm){ @@ -367,7 +367,7 @@ kimchi.guest_edit_main =3D function() { var init =3D function(availUsers, availGroups, selUsers, selGroups= ){ var initNode =3D function(key, isUserNode){ var nodeGroups =3D isUserNode ? userNodes : groupNodes; - nodeGroups[key] =3D $.parseHTML(kimchi.substitute($('#perm= ission-item-pam').html(), { + nodeGroups[key] =3D $.parseHTML(wok.substitute($('#permiss= ion-item-pam').html(), { val: key, class: isUserNode? "user-icon" : "group-icon" })); @@ -432,9 +432,9 @@ kimchi.guest_edit_main =3D function() { var setupPCIDevice =3D function(){ kimchi.getHostPCIDevices(function(hostPCIs){ kimchi.getVMPCIDevices(kimchi.selectedGuest, function(vmPCIs){ - var pciEnabled =3D kimchi.capabilities.kernel_vfio; + var pciEnabled =3D wok.capabilities.kernel_vfio; for(var i=3D0; i=3D1 && data.vlan_id <=3D 4094)) { - kimchi.message.error.code('KCHNET6001E'); + wok.message.error.code('KCHNET6001E'); errorCallback(); return; } @@ -220,7 +220,7 @@ kimchi.initNetworkCreation =3D function() { $('#networkGrid').grid('addRow', kimchi.addNetworkItem(net= work)); $("#networkConfig").dialog("close"); }, function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); errorCallback(); }); }); @@ -375,7 +375,7 @@ kimchi.setDefaultNetworkType =3D function(isInterfaceAv= ail) { $("#networkBriDisabledLabel").show(); } else { if (kimchi.capabilities && kimchi.capabilities.nm_running) { - kimchi.message.warn(i18n['KCHNET6001W']); + wok.message.warn(i18n['KCHNET6001W']); } $("#bridgeOptions").slideDown(100); $("#networkVlanID").toggle(false); diff --git a/plugins/kimchi/ui/js/src/kimchi.report_add_main.js b/plugins/k= imchi/ui/js/src/kimchi.report_add_main.js index 9a7df2c..5f098d3 100644 --- a/plugins/kimchi/ui/js/src/kimchi.report_add_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.report_add_main.js @@ -29,7 +29,7 @@ kimchi.report_add_main =3D function() { var reportName =3D nameTextbox.val(); var validator =3D RegExp("^[_A-Za-z0-9-]*$"); if (!validator.test(reportName)) { - kimchi.message.error.code('KCHDR6011M'); + wok.message.error.code('KCHDR6011M'); return false; } var formData =3D addReportForm.serializeObject(); @@ -39,13 +39,13 @@ kimchi.report_add_main =3D function() { return; } taskAccepted =3D true; - kimchi.window.close(); - kimchi.topic('kimchi/debugReportAdded').publish(); + wok.window.close(); + wok.topic('kimchi/debugReportAdded').publish(); }; = kimchi.createReport(formData, function(result) { onTaskAccepted(); - kimchi.topic('kimchi/debugReportAdded').publish(); + wok.topic('kimchi/debugReportAdded').publish(); }, function(result) { // Error message from Async Task status if (result['message']) { @@ -55,7 +55,7 @@ kimchi.report_add_main =3D function() { else { var errText =3D result['responseJSON']['reason']; } - result && kimchi.message.error(errText); + result && wok.message.error(errText); = taskAccepted && $('.grid-body-view table tr:first-child', diff --git a/plugins/kimchi/ui/js/src/kimchi.report_rename_main.js b/plugin= s/kimchi/ui/js/src/kimchi.report_rename_main.js index 6ee56d9..1bdb8d9 100644 --- a/plugins/kimchi/ui/js/src/kimchi.report_rename_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.report_rename_main.js @@ -28,13 +28,13 @@ kimchi.report_rename_main =3D function() { // if the user hasn't changed the report's name, // nothing should be done. if (reportName =3D=3D kimchi.selectedReport) { - kimchi.message.error.code('KCHDR6013M'); + wok.message.error.code('KCHDR6013M'); return false; } = var validator =3D RegExp("^[A-Za-z0-9-]*$"); if (!validator.test(reportName)) { - kimchi.message.error.code('KCHDR6011M'); + wok.message.error.code('KCHDR6011M'); return false; } var formData =3D renameReportForm.serializeObject(); @@ -43,15 +43,15 @@ kimchi.report_rename_main =3D function() { kimchi.renameReport(kimchi.selectedReport, formData, function(resu= lt) { submitButton.prop('disabled', false); nameTextbox.prop('disabled', false); - kimchi.window.close(); - kimchi.topic('kimchi/debugReportRenamed').publish({ + wok.window.close(); + wok.topic('kimchi/debugReportRenamed').publish({ result: result }); }, function(result) { var errText =3D result && result['responseJSON'] && result['responseJSON']['reason']; - kimchi.message.error(errText); + wok.message.error(errText); submitButton.prop('disabled', false); nameTextbox.prop('disabled', false).focus(); }); diff --git a/plugins/kimchi/ui/js/src/kimchi.repository_add_main.js b/plugi= ns/kimchi/ui/js/src/kimchi.repository_add_main.js index 2a277fd..656306b 100644 --- a/plugins/kimchi/ui/js/src/kimchi.repository_add_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.repository_add_main.js @@ -81,13 +81,13 @@ kimchi.repository_add_main =3D function() { } = kimchi.createRepository(formData, function() { - kimchi.topic('kimchi/repositoryAdded').publish(); - kimchi.window.close(); + wok.topic('kimchi/repositoryAdded').publish(); + wok.window.close(); }, function(jqXHR, textStatus, errorThrown) { var reason =3D jqXHR && jqXHR['responseJSON'] && jqXHR['responseJSON']['reason']; - kimchi.message.error(reason); + wok.message.error(reason); }); return false; }; diff --git a/plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js b/plug= ins/kimchi/ui/js/src/kimchi.repository_edit_main.js index a9a0ca6..85e24d4 100644 --- a/plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js @@ -21,10 +21,10 @@ kimchi.repository_edit_main =3D function() { = var saveButton =3D $('#repository-edit-button-save'); = - if(kimchi.capabilities['repo_mngt_tool']=3D=3D"yum") { + if(wok.capabilities['repo_mngt_tool']=3D=3D"yum") { editForm.find('input.deb').prop('disabled', true); } - else if(kimchi.capabilities['repo_mngt_tool']=3D=3D"deb") { + else if(wok.capabilities['repo_mngt_tool']=3D=3D"deb") { editForm.find('input.yum').prop('disabled', true); } = @@ -57,13 +57,13 @@ kimchi.repository_edit_main =3D function() { } = kimchi.updateRepository(kimchi.selectedRepository, formData, funct= ion() { - kimchi.topic('kimchi/repositoryUpdated').publish(); - kimchi.window.close(); + wok.topic('kimchi/repositoryUpdated').publish(); + wok.window.close(); }, function(jqXHR, textStatus, errorThrown) { var reason =3D jqXHR && jqXHR['responseJSON'] && jqXHR['responseJSON']['reason']; - kimchi.message.error(reason); + wok.message.error(reason); }); = return false; diff --git a/plugins/kimchi/ui/js/src/kimchi.storage_main.js b/plugins/kimc= hi/ui/js/src/kimchi.storage_main.js index 6125da9..6019cea 100644 --- a/plugins/kimchi/ui/js/src/kimchi.storage_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.storage_main.js @@ -22,17 +22,17 @@ kimchi.doListStoragePools =3D function() { var listHtml =3D ''; $.each(result, function(index, value) { value.usage =3D Math.round(value.allocated / value.capacit= y * 100) || 0; - value.capacity =3D kimchi.changetoProperUnit(value.capacit= y,1); - value.allocated =3D kimchi.changetoProperUnit(value.alloca= ted,1); + value.capacity =3D wok.changetoProperUnit(value.capacity,1= ); + value.allocated =3D wok.changetoProperUnit(value.allocated= ,1); value.enableExt =3D value.type=3D=3D=3D"logical" ? "" : "h= ide-content"; if ('kimchi-iso' !=3D=3D value.type) { - listHtml +=3D kimchi.substitute(storageHtml, value); + listHtml +=3D wok.substitute(storageHtml, value); } }); if($('#storageGrid').hasClass('grid')) $('#storageGrid').grid('destroy'); $('#storagepoolsList').html(listHtml); - if(kimchi.tabMode['storage'] =3D=3D=3D 'admin') { + if(wok.tabMode['storage'] =3D=3D=3D 'admin') { $('.storage-button').attr('style','display'); } else { $('.storage-allocate').addClass('storage-allocate-padding-= user'); @@ -46,7 +46,7 @@ kimchi.doListStoragePools =3D function() { $('#storagepoolsList').html(''); } }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); } = @@ -97,7 +97,7 @@ kimchi.storageBindClick =3D function() { } }); = - if(kimchi.tabMode['storage'] =3D=3D=3D 'admin') { + if(wok.tabMode['storage'] =3D=3D=3D 'admin') { $('.pool-delete').on('click', function(event) { var $pool =3D $(this); var settings =3D { @@ -106,12 +106,12 @@ kimchi.storageBindClick =3D function() { confirm : i18n['KCHAPI6002M'], cancel : i18n['KCHAPI6003M'] }; - kimchi.confirm(settings, function() { + wok.confirm(settings, function() { var poolName =3D $pool.data('name'); kimchi.deleteStoragePool(poolName, function() { kimchi.doListStoragePools(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }); }); @@ -121,7 +121,7 @@ kimchi.storageBindClick =3D function() { kimchi.changePoolState(poolName, 'activate', function() { kimchi.doListStoragePools(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }); = @@ -134,11 +134,11 @@ kimchi.storageBindClick =3D function() { cancel : i18n['KCHAPI6003M'] }; if (!$(this).data('persistent')) { - kimchi.confirm(settings, function() { + wok.confirm(settings, function() { kimchi.changePoolState(poolName, 'deactivate', functio= n() { kimchi.doListStoragePools(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }, function() { return false; @@ -148,7 +148,7 @@ kimchi.storageBindClick =3D function() { kimchi.changePoolState(poolName, 'deactivate', function() { kimchi.doListStoragePools(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); } }); @@ -156,7 +156,7 @@ kimchi.storageBindClick =3D function() { $('.pool-add-volume').on('click', function(event) { var poolName =3D $(this).data('name'); kimchi.selectedSP =3D poolName; - kimchi.window.open('storagepool-add-volume.html'); + wok.window.open('storagepool-add-volume.html'); }); = $('.storage-action').on('click', function() { @@ -201,9 +201,9 @@ kimchi._generateVolumeHTML =3D function(volume) { return ''; } var volumeHtml =3D $('#volumeTmpl').html(); - volume.capacity =3D kimchi.changetoProperUnit(volume.capacity,1); - volume.allocation =3D kimchi.changetoProperUnit(volume.allocation,1); - return kimchi.substitute(volumeHtml, volume); + volume.capacity =3D wok.changetoProperUnit(volume.capacity,1); + volume.allocation =3D wok.changetoProperUnit(volume.allocation,1); + return wok.substitute(volumeHtml, volume); }; = kimchi.doListVolumes =3D function(poolObj) { @@ -222,11 +222,11 @@ kimchi.doListVolumes =3D function(poolObj) { } = kimchi.trackTask(tasks[i].id, function(result) { - kimchi.topic('kimchi/volumeTransferFinished').publish(= result); + wok.topic('kimchi/volumeTransferFinished').publish(res= ult); }, function(result) { - kimchi.topic('kimchi/volumeTransferError').publish(res= ult); + wok.topic('kimchi/volumeTransferError').publish(result= ); }, function(result) { - kimchi.topic('kimchi/volumeTransferProgress').publish(= result); + wok.topic('kimchi/volumeTransferProgress').publish(res= ult); }); } }, null, true); @@ -274,14 +274,14 @@ kimchi.doListVolumes =3D function(poolObj) { } = $.each(ongoingVolumesMap, function(volumeName, task) { - kimchi.topic('kimchi/volumeTransferProgress').publish(task); + wok.topic('kimchi/volumeTransferProgress').publish(task); }); = poolObj.removeClass('in'); kimchi.changeArrow(handleArrow); slide.slideDown('slow'); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); } = @@ -300,7 +300,7 @@ kimchi.initLogicalPoolExtend =3D function() { if (data.length > 0) { for(var i=3D0;iinput').prop('checked', false); kimchi.doListTemplates(); - kimchi.topic('templateCreated').publish(data); + wok.topic('templateCreated').publish(data); if (successNum =3D=3D=3D length) { - kimchi.window.close(); + wok.window.close(); } }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }; if (formData.iso instanceof Array) { diff --git a/plugins/kimchi/ui/js/src/kimchi.template_edit_main.js b/plugin= s/kimchi/ui/js/src/kimchi.template_edit_main.js index 21f5575..885fe54 100644 --- a/plugins/kimchi/ui/js/src/kimchi.template_edit_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.template_edit_main.js @@ -47,15 +47,15 @@ kimchi.template_edit_main =3D function() { var vncOpt =3D [{label: 'VNC', value: 'vnc'}]; $('#template-edit-graphics').append('= '); $('#template-edit-graphics').append(''); - kimchi.select('template-edit-graphics-list', vncOpt); + wok.select('template-edit-graphics-list', vncOpt); var enableSpice =3D function() { - if (kimchi.capabilities =3D=3D undefined) { + if (wok.capabilities =3D=3D undefined) { setTimeout(enableSpice, 2000); return; } - if (kimchi.capabilities.qemu_spice =3D=3D true) { + if (wok.capabilities.qemu_spice =3D=3D true) { spiceOpt =3D [{label: 'Spice', value: 'spice'}] - kimchi.select('template-edit-graphics-list', spiceOpt); + wok.select('template-edit-graphics-list', spiceOpt); } }; enableSpice(); @@ -63,7 +63,7 @@ kimchi.template_edit_main =3D function() { var scsipools =3D {}; var addStorageItem =3D function(storageData) { var thisName =3D storageData.storageName; - var nodeStorage =3D $.parseHTML(kimchi.substitute($('#temp= late-storage-pool-tmpl').html(), storageData)); + var nodeStorage =3D $.parseHTML(wok.substitute($('#templat= e-storage-pool-tmpl').html(), storageData)); $('.template-tab-body', '#form-template-storage').append(n= odeStorage); var storageOptions =3D ''; var scsiOptions =3D ''; @@ -185,7 +185,7 @@ kimchi.template_edit_main =3D function() { var networkItemNum =3D 0; var addInterfaceItem =3D function(networkData) { var networkName =3D networkData.networkV; - var nodeInterface =3D $.parseHTML(kimchi.substitute($('#te= mplate-interface-tmpl').html(), networkData)); + var nodeInterface =3D $.parseHTML(wok.substitute($('#templ= ate-interface-tmpl').html(), networkData)); $('.template-tab-body', '#form-template-interface').append= (nodeInterface); $('.delete', '#form-template-interface').button({ icons : {primary : 'ui-icon-trash'}, @@ -335,9 +335,9 @@ kimchi.template_edit_main =3D function() { = kimchi.updateTemplate($('#template-name').val(), data, function() { kimchi.doListTemplates(); - kimchi.window.close(); + wok.window.close(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }); }; diff --git a/plugins/kimchi/ui/js/src/kimchi.template_main.js b/plugins/kim= chi/ui/js/src/kimchi.template_main.js index 775cb0b..5d474bd 100644 --- a/plugins/kimchi/ui/js/src/kimchi.template_main.js +++ b/plugins/kimchi/ui/js/src/kimchi.template_main.js @@ -38,7 +38,7 @@ kimchi.doListTemplates =3D function() { }else{ value.location =3D "images/theme-default/icon-remote.p= ng"; } - listHtml +=3D kimchi.substitute(templateHtml, value); + listHtml +=3D wok.substitute(templateHtml, value); }); $('#templateList').html(listHtml); kimchi.templateBindClick(); @@ -48,7 +48,7 @@ kimchi.doListTemplates =3D function() { } $('html').removeClass('processing'); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); $('html').removeClass('processing'); }); }; @@ -57,7 +57,7 @@ kimchi.templateBindClick =3D function() { $('.template-edit').on('click', function(event) { var templateName =3D $(this).data('template'); kimchi.selectedTemplate =3D templateName; - kimchi.window.open("template-edit.html"); + wok.window.open("template-edit.html"); }); $('.template-clone').on('click', function(event) { kimchi.selectedTemplate =3D $(this).data('template'); @@ -65,7 +65,7 @@ kimchi.templateBindClick =3D function() { kimchi.cloneTemplate(kimchi.selectedTemplate, function() { kimchi.doListTemplates(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); kimchi.doListTemplates(); }); }); @@ -77,12 +77,12 @@ kimchi.templateBindClick =3D function() { confirm : i18n['KCHAPI6002M'], cancel : i18n['KCHAPI6003M'] }; - kimchi.confirm(settings, function() { + wok.confirm(settings, function() { var templateName =3D $template.data('template'); kimchi.deleteTemplate(templateName, function() { kimchi.doListTemplates(); }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }, function() { }); @@ -93,10 +93,10 @@ kimchi.hideTitle =3D function() { }; = kimchi.template_main =3D function() { - if(kimchi.tabMode['templates'] =3D=3D=3D 'admin') { + if(wok.tabMode['templates'] =3D=3D=3D 'admin') { $('.tools').attr('style','display'); $("#template-add").on("click", function(event) { - kimchi.window.open({ + wok.window.open({ url: 'template-add.html', close: function() { if (kimchi.deepScanHandler) { diff --git a/plugins/kimchi/ui/spice-html5/pages/spice_auto.html b/plugins/= kimchi/ui/spice-html5/pages/spice_auto.html index 40afea4..c87f5c2 100644 --- a/plugins/kimchi/ui/spice-html5/pages/spice_auto.html +++ b/plugins/kimchi/ui/spice-html5/pages/spice_auto.html @@ -140,7 +140,7 @@ * * 'uri =3D scheme + host + ":" + port;' * - * to point Kimchi user to a specific console represented = by + * to point wok.user to a specific console represented by * token value. */ uri =3D scheme + host + ":" + port + "/?token=3D" + token; diff --git a/plugins/sample/API.json b/plugins/sample/API.json index ebc596b..6ee7d91 100644 --- a/plugins/sample/API.json +++ b/plugins/sample/API.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-03/schema#", "title": "Plugin Sample API", - "description": "Json schema for Kimchi's Sample Plugin API", + "description": "Json schema for Wok's Sample Plugin API", "type": "object", "error": "SPAPI0001E", "properties": { diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py index d741ddb..786832f 100644 --- a/plugins/sample/__init__.py +++ b/plugins/sample/__init__.py @@ -48,7 +48,7 @@ class Drawings(Root): = @expose def index(self): - return 'This is a sample plugin for Kimchi' + return 'This is a sample plugin for Wok' = = class Description(Resource): diff --git a/plugins/sample/sample.conf.in b/plugins/sample/sample.conf.in index 28ae891..9da33e1 100644 --- a/plugins/sample/sample.conf.in +++ b/plugins/sample/sample.conf.in @@ -1,4 +1,4 @@ -[kimchi] +[wok] enable =3D @ENABLE_SAMPLE@ plugin_class =3D "Drawings" uri =3D "/plugins/sample" @@ -7,19 +7,19 @@ uri =3D "/plugins/sample" tools.nocache.on =3D True tools.trailing_slash.on =3D False tools.sessions.on =3D True -tools.sessions.name =3D 'kimchi' +tools.sessions.name =3D 'wok' tools.sessions.httponly =3D True tools.sessions.locking =3D 'explicit' tools.sessions.storage_type =3D 'ram' = [/description] -tools.kimchiauth.on =3D True +tools.wokauth.on =3D True = [/rectangles] -tools.kimchiauth.on =3D True +tools.wokauth.on =3D True = [/circles] -tools.kimchiauth.on =3D True +tools.wokauth.on =3D True = [/help] tools.staticdir.on =3D True diff --git a/plugins/sample/ui/js/util.js b/plugins/sample/ui/js/util.js index 157ddde..1e6c4df 100644 --- a/plugins/sample/ui/js/util.js +++ b/plugins/sample/ui/js/util.js @@ -19,7 +19,7 @@ sample =3D {}; = sample.description =3D function(suc, err){ - kimchi.requestJSON({ + wok.requestJSON({ url : kimchi.url + 'plugins/sample/description', type : 'GET', contentType : 'application/json', @@ -27,7 +27,7 @@ sample.description =3D function(suc, err){ resend : true, success : suc, error : err || function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); } }); }; diff --git a/plugins/sample/ui/pages/help/en_US/sample-tab1.html b/plugins/= sample/ui/pages/help/en_US/sample-tab1.html index 70aa1c0..7122124 100644 --- a/plugins/sample/ui/pages/help/en_US/sample-tab1.html +++ b/plugins/sample/ui/pages/help/en_US/sample-tab1.html @@ -1 +1 @@ -Help page for TAB 1 of Kimchi's Sample plugin. +Help page for TAB 1 of Wok's Sample plugin. diff --git a/plugins/sample/ui/pages/help/en_US/sample-tab2.html b/plugins/= sample/ui/pages/help/en_US/sample-tab2.html index 367318f..1bfe448 100644 --- a/plugins/sample/ui/pages/help/en_US/sample-tab2.html +++ b/plugins/sample/ui/pages/help/en_US/sample-tab2.html @@ -1 +1 @@ -Help page for TAB 2 of Kimchi's Sample plugin. +Help page for TAB 2 of Wok's Sample plugin. diff --git a/src/nginx/wok.conf.in b/src/nginx/wok.conf.in index b0faea3..ce99115 100644 --- a/src/nginx/wok.conf.in +++ b/src/nginx/wok.conf.in @@ -18,7 +18,7 @@ # 02110-1301 USA = # This is a template file to be used to generate a nginx -# proxy config file at kimchid script. +# proxy config file at wokd script. = user ${user}; worker_processes 1; @@ -41,7 +41,7 @@ http { client_max_body_size ${max_body_size}k; = # Timeout set to 10 minutes to avoid the 504 Gateway Timeout - # when Kimchi is processing a request. + # when Wok is processing a request. proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; @@ -63,11 +63,11 @@ http { add_header X-XSS-Protection "1; mode=3Dblock"; = location / { - proxy_pass http://127.0.0.1:${kimchid_port}; + proxy_pass http://127.0.0.1:${wokd_port}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_redirect http://127.0.0.1:${kimchid_port}/ https://$host= :${proxy_ssl_port}/; + proxy_redirect http://127.0.0.1:${wokd_port}/ https://$host:${= proxy_ssl_port}/; } } = diff --git a/src/wok.conf.in b/src/wok.conf.in index cd141f5..60d826f 100644 --- a/src/wok.conf.in +++ b/src/wok.conf.in @@ -1,5 +1,5 @@ # -# Configuration file for Kimchi Web Server +# Configuration file for Wok Web Server # = [server] @@ -16,17 +16,17 @@ #cherrypy_port =3D 8010 = # The full path to an SSL Certificate in PEM format. If left unspecified, -# Kimchi will generate a self-signed certificate automatically. +# Wok will generate a self-signed certificate automatically. #ssl_cert =3D = # The corresponding private key in PEM format for the SSL Certificate supp= lied -# above. If left blank, Kimchi will generate a self-signed certificate. +# above. If left blank, Wok will generate a self-signed certificate. #ssl_key =3D = # Running environment of the server #environment =3D production = -# Federation feature: register Kimchi server on openSLP and discover peers +# Federation feature: register Wok server on openSLP and discover peers # in the same network. Check README-federation for more details. #federation =3D off = @@ -38,7 +38,7 @@ = [logging] # Log directory -#log_dir =3D @localstatedir@/log/kimchi +#log_dir =3D @localstatedir@/log/wok = # Logging level: debug, info, warning, error or critical #log_level =3D debug @@ -56,10 +56,10 @@ # ldap_server =3D "localhost" = # Search tree base in ldap -# ldap_search_base =3D "ou=3DPeople, dc=3Dkimchi, dc=3Dorg" +# ldap_search_base =3D "ou=3DPeople, dc=3Dwok, dc=3Dorg" = # User id filter # ldap_search_filter =3D "uid=3D%(username)s" = -# User IDs regarded as kimchi admin +# User IDs regarded as Wok admin # ldap_admin_id =3D "foo(a)foo.com, bar(a)bar.com" diff --git a/src/wok/auth.py b/src/wok/auth.py index 6bd1566..cc470b6 100644 --- a/src/wok/auth.py +++ b/src/wok/auth.py @@ -259,8 +259,8 @@ def check_auth_session(): cherrypy.session.release_lock() if session is not None: debug("Session authenticated for user %s" % session) - kimchiRobot =3D cherrypy.request.headers.get('Kimchi-Robot') - if kimchiRobot =3D=3D "kimchi-robot": + wokRobot =3D cherrypy.request.headers.get('Wok-Robot') + if wokRobot =3D=3D "wok-robot": if (time.time() - cherrypy.session[REFRESH] > cherrypy.session.timeout * 60): cherrypy.session[USER_NAME] =3D None @@ -327,8 +327,8 @@ def logout(): cherrypy.lib.sessions.close() = = -def kimchiauth(): - debug("Entering kimchiauth...") +def wokauth(): + debug("Entering wokauth...") session_missing =3D cherrypy.session.missing if check_auth_session(): return @@ -346,7 +346,7 @@ def kimchiauth(): raise cherrypy.HTTPError(401, "sessionTimeout") = if not from_browser(): - cherrypy.response.headers['WWW-Authenticate'] =3D 'Basic realm=3Dk= imchi' + cherrypy.response.headers['WWW-Authenticate'] =3D 'Basic realm=3Dw= ok' = e =3D InvalidOperation('KCHAUTH0002E') raise cherrypy.HTTPError(401, e.message.encode('utf-8')) diff --git a/src/wok/config.py.in b/src/wok/config.py.in index 1408024..3fc46a4 100644 --- a/src/wok/config.py.in +++ b/src/wok/config.py.in @@ -29,8 +29,8 @@ from ConfigParser import SafeConfigParser = from kimchi.xmlutils.utils import xpath_get_text = -__version__ =3D "@kimchiversion@" -__release__ =3D "@kimchirelease@" +__version__ =3D "@wokversion@" +__release__ =3D "@wokrelease@" __with_spice__ =3D "@withspice@" = DEFAULT_LOG_LEVEL =3D "debug" @@ -113,11 +113,11 @@ class Paths(object): = if self.installed: self.nginx_conf_dir =3D '@sysconfdir@/nginx/conf.d' - self.state_dir =3D '@localstatedir@/lib/kimchi' - self.log_dir =3D '@localstatedir@/log/kimchi' - self.conf_dir =3D '@sysconfdir@/kimchi' - self.src_dir =3D '@kimchidir@' - self.plugins_dir =3D '@kimchidir@/plugins' + self.state_dir =3D '@localstatedir@/lib/wok' + self.log_dir =3D '@localstatedir@/log/wok' + self.conf_dir =3D '@sysconfdir@/wok' + self.src_dir =3D '@wokdir@' + self.plugins_dir =3D '@wokdir@/plugins' self.mo_dir =3D '@prefix@/share/locale' self.spice_css_file =3D os.path.join(self.spice_dir, 'spice.cs= s') else: @@ -125,7 +125,7 @@ class Paths(object): self.state_dir =3D self.add_prefix('data') self.log_dir =3D self.add_prefix('log') self.conf_dir =3D self.add_prefix('src') - self.src_dir =3D self.add_prefix('src/kimchi') + self.src_dir =3D self.add_prefix('src/wok') self.plugins_dir =3D self.add_prefix('plugins') self.mo_dir =3D self.add_prefix('mo') self.spice_css_file =3D os.path.join(self.spice_dir, 'css/spic= e.css') @@ -158,8 +158,8 @@ class PluginPaths(Paths): self.plugin_dir =3D os.path.join('plugins', name) = if self.installed: - self.conf_dir =3D '@sysconfdir@/kimchi/plugins.d' - self.src_dir =3D os.path.join('@kimchidir@', self.plugin_dir) + self.conf_dir =3D '@sysconfdir@/wok/plugins.d' + self.src_dir =3D os.path.join('@wokdir@', self.plugin_dir) else: self.conf_dir =3D self.add_prefix(self.plugin_dir) self.src_dir =3D self.add_prefix(self.plugin_dir) @@ -188,30 +188,30 @@ class UIConfig(dict): self.update(ui_configs) = = -class KimchiConfig(dict): +class WokConfig(dict): # session time out is 10 minutes SESSIONSTIMEOUT =3D 10 = - kimchi_config =3D { + wok_config =3D { '/': { 'tools.trailing_slash.on': False, 'request.methods_with_bodies': ('POST', 'PUT'), 'tools.nocache.on': True, 'tools.proxy.on': True, 'tools.sessions.on': True, - 'tools.sessions.name': 'kimchi', + 'tools.sessions.name': 'wok', 'tools.sessions.secure': True, 'tools.sessions.httponly': True, 'tools.sessions.locking': 'explicit', 'tools.sessions.storage_type': 'ram', 'tools.sessions.timeout': SESSIONSTIMEOUT, - 'tools.kimchiauth.on': False + 'tools.wokauth.on': False }, '/novnc': { 'tools.staticdir.on': True, 'tools.staticdir.dir': paths.novnc_dir, 'tools.nocache.on': True, - 'tools.kimchiauth.on': True + 'tools.wokauth.on': True }, '/spice_auto.html': { 'tools.staticfile.on': True, @@ -229,8 +229,8 @@ class KimchiConfig(dict): 'tools.staticfile.filename': paths.spice_css_file, 'tools.nocache.on': True, }, - '/kimchi-ui.html': { - 'tools.kimchiauth.on': True + '/wok-ui.html': { + 'tools.wokauth.on': True }, '/data/screenshots': { 'tools.staticdir.on': True, @@ -267,8 +267,8 @@ class KimchiConfig(dict): } = def __init__(self): - super(KimchiConfig, self).__init__(self) - self.update(self.kimchi_config) + super(WokConfig, self).__init__(self) + self.update(self.wok_config) self.update(UIConfig(paths)) = = @@ -311,7 +311,7 @@ def _get_config(): config.add_section("display") config.set("display", "display_proxy_port", "64667") = - config_file =3D os.path.join(paths.conf_dir, 'kimchi.conf') + config_file =3D os.path.join(paths.conf_dir, 'wok.conf') if os.path.exists(config_file): config.read(config_file) return config diff --git a/src/wok/control/base.py b/src/wok/control/base.py index d926a63..8cfa51c 100644 --- a/src/wok/control/base.py +++ b/src/wok/control/base.py @@ -28,7 +28,7 @@ from wok.control.utils import get_class_name, internal_re= direct, model_fn from wok.control.utils import parse_request, validate_method from wok.control.utils import validate_params from wok.exception import InvalidOperation, InvalidParameter -from wok.exception import KimchiException, MissingParameter, NotFoundError +from wok.exception import WokException, MissingParameter, NotFoundError from wok.exception import OperationFailed, UnauthorizedError = = @@ -127,7 +127,7 @@ class Resource(object): raise cherrypy.HTTPError(404, e.message) except OperationFailed, e: raise cherrypy.HTTPError(500, e.message) - except KimchiException, e: + except WokException, e: raise cherrypy.HTTPError(500, e.message) = wrapper.__name__ =3D action_name @@ -178,7 +178,7 @@ class Resource(object): raise cherrypy.HTTPError(404, e.message) except OperationFailed, e: raise cherrypy.HTTPError(500, e.message) - except KimchiException, e: + except WokException, e: raise cherrypy.HTTPError(500, e.message) = def is_authorized(self): @@ -338,7 +338,7 @@ class Collection(object): raise cherrypy.HTTPError(404, e.message) except OperationFailed, e: raise cherrypy.HTTPError(500, e.message) - except KimchiException, e: + except WokException, e: raise cherrypy.HTTPError(500, e.message) = = diff --git a/src/wok/exception.py b/src/wok/exception.py index f41028b..6f5e9d9 100644 --- a/src/wok/exception.py +++ b/src/wok/exception.py @@ -25,7 +25,7 @@ from wok.i18n import messages as _messages from wok.template import get_lang, validate_language = = -class KimchiException(Exception): +class WokException(Exception): def __init__(self, code=3D'', args=3D{}): self.code =3D code = @@ -38,7 +38,7 @@ class KimchiException(Exception): # In case the value formats itself to an ascii string. args[key] =3D unicode(str(value), 'utf-8') except UnicodeEncodeError: - # In case the value is a KimchiException or it formats + # In case the value is a WokException or it formats # itself to a unicode string. args[key] =3D unicode(value) = @@ -66,37 +66,37 @@ class KimchiException(Exception): return translation.gettext(text) = = -class NotFoundError(KimchiException): +class NotFoundError(WokException): pass = = -class OperationFailed(KimchiException): +class OperationFailed(WokException): pass = = -class MissingParameter(KimchiException): +class MissingParameter(WokException): pass = = -class InvalidParameter(KimchiException): +class InvalidParameter(WokException): pass = = -class InvalidOperation(KimchiException): +class InvalidOperation(WokException): pass = = -class IsoFormatError(KimchiException): +class IsoFormatError(WokException): pass = = -class ImageFormatError(KimchiException): +class ImageFormatError(WokException): pass = = -class TimeoutExpired(KimchiException): +class TimeoutExpired(WokException): pass = = -class UnauthorizedError(KimchiException): +class UnauthorizedError(WokException): pass diff --git a/src/wok/objectstore.py b/src/wok/objectstore.py index 7c2a5cc..87a30d1 100644 --- a/src/wok/objectstore.py +++ b/src/wok/objectstore.py @@ -30,7 +30,7 @@ except ImportError: = from wok import config from wok.exception import NotFoundError -from wok.utils import kimchi_log +from wok.utils import wok_log = = class ObjectStoreSession(object): @@ -129,5 +129,5 @@ class ObjectStore(object): if type is not None and issubclass(type, sqlite3.DatabaseError): # Logs the error and return False, which makes __exit__ ra= ise # exception again - kimchi_log.error(traceback.format_exc()) + wok_log.error(traceback.format_exc()) return False diff --git a/src/wok/proxy.py b/src/wok/proxy.py index 1c46c11..961f8a7 100644 --- a/src/wok/proxy.py +++ b/src/wok/proxy.py @@ -34,13 +34,13 @@ from wok.config import paths def _create_proxy_config(options): """Create nginx configuration file based on current ports config = - To allow flexibility in which port kimchi runs, we need the same + To allow flexibility in which port wok runs, we need the same flexibility with the nginx proxy. This method creates the config file dynamically by using 'nginx.conf.in' as a template, creating - the file 'kimchi.conf' which will be used to launch the proxy. + the file 'wok.conf' which will be used to launch the proxy. = Arguments: - options - OptionParser object with Kimchi config options + options - OptionParser object with Wok config options """ # User that will run the worker process of the proxy. Fedora, # RHEL and Suse creates an user called 'nginx' when installing @@ -58,8 +58,8 @@ def _create_proxy_config(options): = # No certificates specified by the user if not cert or not key: - cert =3D '%s/kimchi-cert.pem' % config_dir - key =3D '%s/kimchi-key.pem' % config_dir + cert =3D '%s/wok-cert.pem' % config_dir + key =3D '%s/wok-key.pem' % config_dir # create cert files if they don't exist if not os.path.exists(cert) or not os.path.exists(key): ssl_gen =3D sslcert.SSLCert() @@ -73,19 +73,19 @@ def _create_proxy_config(options): = # Read template file and create a new config file # with the specified parameters. - with open(os.path.join(nginx_config_dir, "kimchi.conf.in")) as templat= e: + with open(os.path.join(nginx_config_dir, "wok.conf.in")) as template: data =3D template.read() data =3D Template(data) data =3D data.safe_substitute(user=3Duser_proxy, proxy_port=3Doptions.port, - kimchid_port=3Doptions.cherrypy_port, + wokd_port=3Doptions.cherrypy_port, proxy_ssl_port=3Doptions.ssl_port, cert_pem=3Dcert, cert_key=3Dkey, max_body_size=3Deval(options.max_body_size= ), dhparams_pem=3Ddhparams_pem) = # Write file to be used for nginx. - config_file =3D open(os.path.join(nginx_config_dir, "kimchi.conf"), "w= ") + config_file =3D open(os.path.join(nginx_config_dir, "wok.conf"), "w") config_file.write(data) config_file.close() = @@ -94,7 +94,7 @@ def start_proxy(options): """Start nginx reverse proxy.""" _create_proxy_config(options) nginx_config_dir =3D paths.nginx_conf_dir - config_file =3D "%s/kimchi.conf" % nginx_config_dir + config_file =3D "%s/wok.conf" % nginx_config_dir cmd =3D ['nginx', '-c', config_file] subprocess.call(cmd) = diff --git a/src/wok/server.py b/src/wok/server.py index 5394d24..0f99663 100644 --- a/src/wok/server.py +++ b/src/wok/server.py @@ -80,9 +80,9 @@ class Server(object): # thus it is safe to unsubscribe. cherrypy.engine.timeout_monitor.unsubscribe() cherrypy.tools.nocache =3D cherrypy.Tool('on_end_resource', set_no= _cache) - cherrypy.tools.kimchiauth =3D cherrypy.Tool('before_handler', - auth.kimchiauth) - # Setting host to 127.0.0.1. This makes kimchi runs + cherrypy.tools.wokauth =3D cherrypy.Tool('before_handler', + auth.wokauth) + # Setting host to 127.0.0.1. This makes wok run # as a localhost app, inaccessible to the outside # directly. You must go through the proxy. cherrypy.server.socket_host =3D '127.0.0.1' @@ -139,7 +139,7 @@ class Server(object): if node.url_auth: cfg =3D self.configObj ident =3D "/%s" % ident - cfg[ident] =3D {'tools.kimchiauth.on': True} + cfg[ident] =3D {'tools.wokauth.on': True} = self.app =3D cherrypy.tree.mount(KimchiRoot(model_instance, dev_en= v), config=3Dself.configObj) @@ -155,9 +155,9 @@ class Server(object): try: plugin_class =3D ('plugins.%s.%s' % (plugin_name, - plugin_config['kimchi']['plugin_class'])) - script_name =3D plugin_config['kimchi']['uri'] - del plugin_config['kimchi'] + plugin_config['wok']['plugin_class'])) + script_name =3D plugin_config['wok']['uri'] + del plugin_config['wok'] = plugin_config.update(PluginConfig(plugin_name)) except KeyError: diff --git a/src/wok/template.py b/src/wok/template.py index 46c0f3c..e192ca4 100644 --- a/src/wok/template.py +++ b/src/wok/template.py @@ -29,8 +29,8 @@ from glob import iglob = def get_lang(): cookie =3D cherrypy.request.cookie - if "kimchiLang" in cookie.keys(): - return [cookie["kimchiLang"].value] + if "wokLang" in cookie.keys(): + return [cookie["wokLang"].value] = lang =3D cherrypy.request.headers.get("Accept-Language", "en_US") = diff --git a/src/wok/utils.py b/src/wok/utils.py index d8ad25f..f5058d5 100644 --- a/src/wok/utils.py +++ b/src/wok/utils.py @@ -40,7 +40,7 @@ from wok.config import paths, PluginPaths from wok.exception import InvalidParameter, TimeoutExpired = = -kimchi_log =3D cherrypy.log.error_log +wok_log =3D cherrypy.log.error_log task_id =3D 0 = = @@ -106,7 +106,7 @@ def get_enabled_plugins(): if os.path.isdir(os.path.join(plugin_dir, name)): plugin_config =3D _load_plugin_conf(name) try: - if plugin_config['kimchi']['enable']: + if plugin_config['wok']['enable']: yield (name, plugin_config) except (TypeError, KeyError): continue @@ -200,22 +200,22 @@ def run_command(cmd, timeout=3DNone): timer.start() = out, error =3D proc.communicate() - kimchi_log.debug("Run command: '%s'", " ".join(cmd)) + wok_log.debug("Run command: '%s'", " ".join(cmd)) = if out: - kimchi_log.debug("out:\n%s", out) + wok_log.debug("out:\n%s", out) = if proc.returncode !=3D 0: - kimchi_log.error("rc: %s error: %s returned from cmd: %s", + wok_log.error("rc: %s error: %s returned from cmd: %s", proc.returncode, error, ' '.join(cmd)) elif error: - kimchi_log.debug("error: %s returned from cmd: %s", + wok_log.debug("error: %s returned from cmd: %s", error, ' '.join(cmd)) = if timeout_flag[0]: msg =3D ("subprocess is killed by signal.SIGKILL for " "timeout %s seconds" % timeout) - kimchi_log.error(msg) + wok_log.error(msg) = msg_args =3D {'cmd': " ".join(cmd), 'seconds': str(timeout)} raise TimeoutExpired("KCHUTILS0002E", msg_args) @@ -225,13 +225,13 @@ def run_command(cmd, timeout=3DNone): raise except OSError as e: msg =3D "Impossible to execute '%s'" % ' '.join(cmd) - kimchi_log.debug("%s", msg) + wok_log.debug("%s", msg) = return None, "%s %s" % (msg, e), -1 except Exception as e: msg =3D "Failed to run command: %s." % " ".join(cmd) msg =3D msg if proc is None else msg + "\n error code: %s." - kimchi_log.error("%s %s", msg, e) + wok_log.error("%s %s", msg, e) = if proc: return out, error, proc.returncode @@ -255,7 +255,7 @@ def patch_find_nfs_target(nfs_server): try: out =3D run_command(cmd, 10)[0] except TimeoutExpired: - kimchi_log.warning("server %s query timeout, may not have any path= " + wok_log.warning("server %s query timeout, may not have any path " "exported", nfs_server) return list() = @@ -293,7 +293,7 @@ def probe_file_permission_as_user(file, user): with open(file): q.put((True, None)) except Exception as e: - kimchi_log.debug(traceback.format_exc()) + wok_log.debug(traceback.format_exc()) q.put((False, e)) = queue =3D Queue() diff --git a/src/wok/vnc.py b/src/wok/vnc.py index e50e9f2..3b6a80b 100644 --- a/src/wok/vnc.py +++ b/src/wok/vnc.py @@ -28,7 +28,7 @@ from websockify import WebSocketProxy from wok.config import config, paths = = -WS_TOKENS_DIR =3D '/var/lib/kimchi/vnc-tokens' +WS_TOKENS_DIR =3D '/var/lib/wok/vnc-tokens' = = def new_ws_proxy(): @@ -41,8 +41,8 @@ def new_ws_proxy(): cert =3D config.get('server', 'ssl_cert') key =3D config.get('server', 'ssl_key') if not (cert and key): - cert =3D '%s/kimchi-cert.pem' % paths.conf_dir - key =3D '%s/kimchi-key.pem' % paths.conf_dir + cert =3D '%s/wok-cert.pem' % paths.conf_dir + key =3D '%s/wok-key.pem' % paths.conf_dir = params =3D {'web': os.path.join(paths.ui_dir, 'pages/websockify'), 'listen_port': config.get('display', 'display_proxy_port'), diff --git a/src/wokd.in b/src/wokd.in index 62a8504..f225361 100644 --- a/src/wokd.in +++ b/src/wokd.in @@ -32,8 +32,8 @@ import wok.config as config if not config.paths.installed: sys.path.append(config.paths.prefix) = -ACCESS_LOG =3D "kimchi-access.log" -ERROR_LOG =3D "kimchi-error.log" +ACCESS_LOG =3D "wok-access.log" +ERROR_LOG =3D "wok-error.log" = = def main(options): @@ -69,7 +69,7 @@ def main(options): default=3Dos.path.join(logDir, ERROR_LOG), help=3D"Error log file") parser.add_option('--environment', default=3DrunningEnv, - help=3D"Running environment of kimchi server") + help=3D"Running environment of wok server") parser.add_option('--federation', default=3Dfederation, help=3D"Register and discover Kimchi peers in the sa= me " "network using openSLP. Check README-federation= for" diff --git a/ui/css/theme-default/grid.css b/ui/css/theme-default/grid.css index a6a845e..dfc20ff 100644 --- a/ui/css/theme-default/grid.css +++ b/ui/css/theme-default/grid.css @@ -236,7 +236,7 @@ } = .grid-loading-icon { - background: url("../images/theme-default/kimchi-loading.gif") no-repea= t left top; + background: url("../images/theme-default/wok-loading.gif") no-repeat l= eft top; height: 48px; width: 49px; } diff --git a/ui/js/src/wok.cookie.js b/ui/js/src/wok.cookie.js index f1b52db..bc0a06d 100644 --- a/ui/js/src/wok.cookie.js +++ b/ui/js/src/wok.cookie.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.cookie =3D { +wok.cookie =3D { set: function(key, value, expireDays) { value =3D encodeURIComponent(value); value +=3D '; secure' diff --git a/ui/js/src/wok.grid.js b/ui/js/src/wok.grid.js index 6fed753..84f8d33 100644 --- a/ui/js/src/wok.grid.js +++ b/ui/js/src/wok.grid.js @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.widget.Grid =3D function(opts) { +wok.widget.Grid =3D function(opts) { this.opts =3D $.extend({}, this.opts, opts); this.createDOM(); this.reload(); }; = -kimchi.widget.Grid.prototype =3D (function() { +wok.widget.Grid.prototype =3D (function() { var htmlStr =3D [ '
    ', '
    ', @@ -237,7 +237,7 @@ kimchi.widget.Grid.prototype =3D (function() { = var startResizing =3D function(container, event) { var grid =3D event.data.grid; - kimchi.widget.Grid.beingResized =3D grid; + wok.widget.Grid.beingResized =3D grid; if(!($('body').hasClass('resizing') && $(grid.resizer).hasClass('hidden'))) { return; @@ -263,7 +263,7 @@ kimchi.widget.Grid.prototype =3D (function() { }; = var endResizing =3D function(event) { - var grid =3D kimchi.widget.Grid.beingResized; + var grid =3D wok.widget.Grid.beingResized; if(!$('body').hasClass('resizing')) { return; } @@ -282,7 +282,7 @@ kimchi.widget.Grid.prototype =3D (function() { ); fixTableLayout.call(grid); grid.columnBeingResized =3D null; - kimchi.widget.Grid.beingResized =3D null; + wok.widget.Grid.beingResized =3D null; }; = var resizeColumnWidth =3D function(index, width) { @@ -376,7 +376,7 @@ kimchi.widget.Grid.prototype =3D (function() { var container =3D $('#' + containerID); var gridID =3D this['opts']['id']; var rowSelection =3D this['opts']['rowSelection'] || 'single'; - var domNode =3D $(kimchi.substitute(htmlStr, { + var domNode =3D $(wok.substitute(htmlStr, { id: gridID, loading: i18n['KCHGRD6001M'], message: i18n['KCHGRD6002M'], diff --git a/ui/js/src/wok.lang.js b/ui/js/src/wok.lang.js index 1d2de4e..ef8e923 100644 --- a/ui/js/src/wok.lang.js +++ b/ui/js/src/wok.lang.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.lang =3D { +wok.lang =3D { all: function() { return { 'en_US': 'English (US)', @@ -39,12 +39,12 @@ kimchi.lang =3D { * 3) DEFAULT (en_US). */ get: function() { - return kimchi.cookie.get('kimchiLang') || + return wok.cookie.get('wokLang') || $('html').prop('lang') || 'en_US'; }, = set: function(lang) { - kimchi.cookie.set('kimchiLang', lang, 365); + wok.cookie.set('wokLang', lang, 365); } }; diff --git a/ui/js/src/wok.line-chart.js b/ui/js/src/wok.line-chart.js index d2f40db..8b40288 100644 --- a/ui/js/src/wok.line-chart.js +++ b/ui/js/src/wok.line-chart.js @@ -17,13 +17,13 @@ */ = /** - * new kimchi.widget.LineChart({ + * new wok.widget.LineChart({ * node: 'line-chart-cpu', * id: 'line-chart', * type: 'value' * }); */ -kimchi.widget.LineChart =3D function(params) { +wok.widget.LineChart =3D function(params) { var container =3D $('#' + params['node']); container.addClass('chart-container'); var height =3D container.height(); @@ -109,7 +109,7 @@ kimchi.widget.LineChart =3D function(params) { = var maxValueLabel =3D i18n['KCHHOST6001M'] + ' ' + (type =3D=3D=3D 'value' - ? kimchi.formatMeasurement(maxValue, formatSettings) + ? wok.formatMeasurement(maxValue, formatSettings) : '100%'); if(!chartVAxis) { chartVAxis =3D $('
    ' + @@ -182,7 +182,7 @@ kimchi.widget.LineChart =3D function(params) { var latestPoint =3D data[i]['points'].slice(-1).pop(); var latestValue =3D latestPoint['y']; if(type =3D=3D=3D 'value') { - latestValue =3D kimchi.formatMeasurement( + latestValue =3D wok.formatMeasurement( latestValue, formatSettings ); diff --git a/ui/js/src/wok.login.js b/ui/js/src/wok.login.js index c737d26..926d80c 100644 --- a/ui/js/src/wok.login.js +++ b/ui/js/src/wok.login.js @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.login_main =3D function() { +wok.login_main =3D function() { = - var selectedLanguage =3D kimchi.lang.get(); + var selectedLanguage =3D wok.lang.get(); $('#userLang').val(selectedLanguage); = $('#userLang').on('change', function() { - kimchi.lang.set($(this).val()); + wok.lang.set($(this).val()); location.reload(); }); = @@ -40,23 +40,23 @@ kimchi.login_main =3D function() { $("#logging").show(); = var userName =3D userNameBox.val(); - userName && kimchi.user.setUserName(userName); + userName && wok.user.setUserName(userName); var settings =3D { username: userName, password: passwordBox.val() }; = - kimchi.login(settings, function(data) { + wok.login(settings, function(data) { var query =3D window.location.search; var next =3D /.*next=3D(.*?)(&|$)/g.exec(query); if (next) { var next_url =3D decodeURIComponent(next[1]); } else { - var lastPage =3D kimchi.cookie.get('lastPage'); + var lastPage =3D wok.cookie.get('lastPage'); var next_url =3D lastPage ? lastPage.replace(/\"/g,'') : "= /"; } - kimchi.cookie.set('roles',JSON.stringify(data.roles)); + wok.cookie.set('roles',JSON.stringify(data.roles)); window.location.replace(window.location.pathname.replace(/\/+l= ogin.html/, '') + next_url) }, function() { $("#messUserPass").show(); diff --git a/ui/js/src/wok.main.js b/ui/js/src/wok.main.js index 0d4ad43..089b523 100644 --- a/ui/js/src/wok.main.js +++ b/ui/js/src/wok.main.js @@ -15,21 +15,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.tabMode =3D {}; +wok.tabMode =3D {}; = -kimchi.capabilities =3D undefined; -kimchi.getCapabilities(function(result) { - kimchi.capabilities =3D result; +wok.capabilities =3D undefined; +wok.getCapabilities(function(result) { + wok.capabilities =3D result; = - if(kimchi.capabilities.federation=3D=3D"on") + if(wok.capabilities.federation=3D=3D"on") $('#peers').removeClass('hide-content'); }, function() { - kimchi.capabilities =3D {}; + wok.capabilities =3D {}; }); = -kimchi.main =3D function() { - kimchi.isLoggingOut =3D false; - kimchi.popable(); +wok.main =3D function() { + wok.isLoggingOut =3D false; + wok.popable(); = var genTabs =3D function(tabs) { var tabsHtml =3D []; @@ -38,7 +38,7 @@ kimchi.main =3D function() { var path =3D tab['path']; var mode =3D tab['mode']; if (mode !=3D 'none') { - var helpPath =3D kimchi.checkHelpFile(path); + var helpPath =3D wok.checkHelpFile(path); var disableHelp =3D (helpPath.length =3D=3D 0 ? "disableHe= lp" : helpPath); tabsHtml.push( '
  • ', @@ -60,11 +60,11 @@ kimchi.main =3D function() { var titleKey =3D $tab.find('title').text(); var title =3D i18n[titleKey] ? i18n[titleKey] : titleKey; var path =3D $tab.find('path').text(); - var roles =3D kimchi.cookie.get('roles'); + var roles =3D wok.cookie.get('roles'); if (roles) { var role =3D JSON.parse(roles)[titleKey.toLowerCase()]; var mode =3D $tab.find('[role=3D"' + role + '"]').attr('mo= de'); - kimchi.tabMode[titleKey.toLowerCase()] =3D mode; + wok.tabMode[titleKey.toLowerCase()] =3D mode; tabs.push({ title: title, path: path, @@ -96,15 +96,15 @@ kimchi.main =3D function() { var DEFAULT_HASH; var buildTabs =3D function(callback) { var tabs =3D retrieveTabs(tabConfigUrl); - kimchi.listPlugins(function(plugins) { + wok.listPlugins(function(plugins) { $(plugins).each(function(i, p) { - var url =3D kimchi.substitute(pluginConfigUrl, { + var url =3D wok.substitute(pluginConfigUrl, { plugin: p }); - var i18nUrl =3D kimchi.substitute(pluginI18nUrl, { + var i18nUrl =3D wok.substitute(pluginI18nUrl, { plugin: p }); - kimchi.getI18n(function(i18nObj){ $.extend(i18n, i18nObj)}, + wok.getI18n(function(i18nObj){ $.extend(i18n, i18nObj)}, function(i18nObj){ //i18n is not define by = plugin }, i18nUrl, true); tabs.push.apply(tabs, retrieveTabs(url)); @@ -121,12 +121,12 @@ kimchi.main =3D function() { = callback && callback(); }, function(data) { - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); }, true); }; = var onLanguageChanged =3D function(lang) { - kimchi.lang.set(lang); + wok.lang.set(lang); location.reload(); }; = @@ -140,7 +140,7 @@ kimchi.main =3D function() { * Move the page tab indicator to the right position; * Load the page content via Ajax. */ - var onKimchiRedirect =3D function(url) { + var onWokRedirect =3D function(url) { /* * Find the corresponding tab node and animate the arrow indicator= to * point to the tab. If nothing found, inform user the URL is inva= lid @@ -170,7 +170,7 @@ kimchi.main =3D function() { } else { $('#btn-help').css('cursor', "pointer"); - $('#btn-help').on("click", kimchi.openHelp); + $('#btn-help').on("click", wok.openHelp); } // Load page content. loadPage(url); @@ -209,13 +209,13 @@ kimchi.main =3D function() { location.hash =3D DEFAULT_HASH; } else { - kimchi.topic('redirect').publish(hashString + '.html'); + wok.topic('redirect').publish(hashString + '.html'); } }; = /** * Register listeners including: - * 1) Kimchi redirect event + * 1) wok redirect event * 2) hashchange event * 3) Tab list click event * 4) Log-out button click event @@ -225,8 +225,8 @@ kimchi.main =3D function() { */ var searchingPeers =3D false; var initListeners =3D function() { - kimchi.topic('languageChanged').subscribe(onLanguageChanged); - kimchi.topic('redirect').subscribe(onKimchiRedirect); + wok.topic('languageChanged').subscribe(onLanguageChanged); + wok.topic('redirect').subscribe(onWokRedirect); = /* * If hash value is changed, then we know the user is intended to = load @@ -246,7 +246,7 @@ kimchi.main =3D function() { * We use the HTML file name for hash, like: guests for guests= .html * and templates for templates.html. * Retrieve hash value from the given URL and update locat= ion's - * hash part. It has 2 effects: one is to publish Kimchi "redi= rect" + * hash part. It has 2 effects: one is to publish Wok "redirec= t" * event to trigger listener, the other is to put an entry int= o the * browser's address history to make pages be bookmark-able. */ @@ -256,22 +256,22 @@ kimchi.main =3D function() { = // Perform logging out via Ajax request. $('#btn-logout').on('click', function() { - kimchi.logout(function() { - kimchi.isLoggingOut =3D true; + wok.logout(function() { + wok.isLoggingOut =3D true; document.location.href =3D "login.html"; }, function(err) { - kimchi.message.error(err.responseJSON.reason); + wok.message.error(err.responseJSON.reason); }); }); = // Set handler for about button $('#btn-about').on('click', function(event) { - kimchi.window.open({"content": $('#about-tmpl').html()}); + wok.window.open({"content": $('#about-tmpl').html()}); event.preventDefault(); }); = // Set handler for help button - $('#btn-help').on('click', kimchi.openHelp); + $('#btn-help').on('click', wok.openHelp); = // Set handler to peers drop down $('#peers').on('click', function() { @@ -301,46 +301,46 @@ kimchi.main =3D function() { = var initUI =3D function() { $(document).bind('ajaxError', function(event, jqXHR, ajaxSettings,= errorThrown) { - if (!ajaxSettings['kimchi']) { + if (!ajaxSettings['wok']) { return; } = if (jqXHR['status'] =3D=3D=3D 401) { var isSessionTimeout =3D jqXHR['responseText'].indexOf("se= ssionTimeout")!=3D-1; - kimchi.user.showUser(false); - kimchi.previousAjax =3D ajaxSettings; + wok.user.showUser(false); + wok.previousAjax =3D ajaxSettings; $(".empty-when-logged-off").empty(); $(".remove-when-logged-off").remove(); document.location.href=3D isSessionTimeout ? 'login.html?e= rror=3DsessionTimeout' : 'login.html'; return; } - else if((jqXHR['status'] =3D=3D 0) && ("error"=3D=3DjqXHR.stat= usText) && !kimchi.isLoggingOut) { - kimchi.message.error(i18n['KCHAPI6007E'].replace("%1", jqX= HR.state())); + else if((jqXHR['status'] =3D=3D 0) && ("error"=3D=3DjqXHR.stat= usText) && !wok.isLoggingOut) { + wok.message.error(i18n['KCHAPI6007E'].replace("%1", jqXHR.= state())); } if(ajaxSettings['originalError']) { ajaxSettings['originalError'](jqXHR, jqXHR.statusText, err= orThrown); } }); = - kimchi.user.showUser(true); + wok.user.showUser(true); initListeners(); updatePage(); }; = // Load i18n translation strings first and then render the page. - kimchi.getI18n( + wok.getI18n( function(i18nStrings){ //success i18n =3D i18nStrings; buildTabs(initUI); }, function(data){ //error - kimchi.message.error(data.responseJSON.reason); + wok.message.error(data.responseJSON.reason); }); }; = = -kimchi.checkHelpFile =3D function(path) { - var lang =3D kimchi.lang.get(); +wok.checkHelpFile =3D function(path) { + var lang =3D wok.lang.get(); var url =3D "" // Find help page path according to tab name if (/^tabs/.test(path)) @@ -358,9 +358,9 @@ kimchi.checkHelpFile =3D function(path) { }; = = -kimchi.openHelp =3D function(e) { +wok.openHelp =3D function(e) { var tab =3D $('#nav-menu a.current'); var url =3D $(tab).parent().find("input[name=3D'helpPath']").val(); - window.open(url, "Kimchi Help"); + window.open(url, "Wok Help"); e.preventDefault(); }; diff --git a/ui/js/src/wok.message.js b/ui/js/src/wok.message.js index 241626f..db1dc36 100644 --- a/ui/js/src/wok.message.js +++ b/ui/js/src/wok.message.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.message =3D function(msg, level, node) { +wok.message =3D function(msg, level, node) { var container =3D node || $('#messageField'); if ($(container).size() < 1) { container =3D $('
    ').appendTo(document.bo= dy); @@ -61,7 +61,7 @@ kimchi.message =3D function(msg, level, node) { * @param cancelCallback * The callback function of click the cancel and X button. */ -kimchi.confirm =3D function(settings, confirmCallback, cancelCallback) { +wok.confirm =3D function(settings, confirmCallback, cancelCallback) { if ($('#confirmbox-container ').size() < 1) { $(document.body).append('
    '); } @@ -101,16 +101,16 @@ kimchi.confirm =3D function(settings, confirmCallback= , cancelCallback) { }); }; = -kimchi.message.warn =3D function(msg, node) { - kimchi.message(msg, 'warn', node); +wok.message.warn =3D function(msg, node) { + wok.message(msg, 'warn', node); }; -kimchi.message.error =3D function(msg, node) { - kimchi.message(msg, 'error', node); +wok.message.error =3D function(msg, node) { + wok.message(msg, 'error', node); }; -kimchi.message.error.code =3D function(code) { +wok.message.error.code =3D function(code) { msg =3D code + ": " + i18n[code] - kimchi.message(msg, 'error'); + wok.message(msg, 'error'); }; -kimchi.message.success =3D function(msg, node) { - kimchi.message(msg, 'success', node); +wok.message.success =3D function(msg, node) { + wok.message(msg, 'success', node); }; diff --git a/ui/js/src/wok.popable.js b/ui/js/src/wok.popable.js index fb57010..7c01a0e 100644 --- a/ui/js/src/wok.popable.js +++ b/ui/js/src/wok.popable.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.popable =3D function() { +wok.popable =3D function() { $(document).click(function(e) { $('.popable').each(function(i, n) { n =3D=3D=3D e.target || $.contains(n, e.target) || @@ -28,7 +28,7 @@ kimchi.popable =3D function() { = // Scroll the popup menu into viewport if invisible. !$(popup).is(':visible') || - kimchi.isElementInViewport(popup) || + wok.isElementInViewport(popup) || popup.scrollIntoView(); }); }; diff --git a/ui/js/src/wok.select.js b/ui/js/src/wok.select.js index 751167f..60830a5 100644 --- a/ui/js/src/wok.select.js +++ b/ui/js/src/wok.select.js @@ -16,7 +16,7 @@ * limitations under the License. */ = -kimchi.select =3D function(id, options) { +wok.select =3D function(id, options) { var listControl =3D $('#'+ id); var targetId =3D listControl.data('target'); var labelId =3D listControl.data('label'); diff --git a/ui/js/src/wok.substitute.js b/ui/js/src/wok.substitute.js index 434d9d3..225f967 100644 --- a/ui/js/src/wok.substitute.js +++ b/ui/js/src/wok.substitute.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.substitute =3D function(templateStr, data, tag) { +wok.substitute =3D function(templateStr, data, tag) { tag =3D tag || /\{([^\}]+)\}/g; = var escapeHtml =3D function(html) { diff --git a/ui/js/src/wok.topic.js b/ui/js/src/wok.topic.js index fd62ffe..0b8b148 100644 --- a/ui/js/src/wok.topic.js +++ b/ui/js/src/wok.topic.js @@ -19,11 +19,11 @@ /** * pub/sub * Usage: - * Publish - kimchi.topic('eventname').publish(params); - * Subscribe - kimchi.topic('eventname').subscribe(listener); - * Unsubscribe - kimchi.topic('eventname').unsubscribe(listener); + * Publish - wok.topic('eventname').publish(params); + * Subscribe - wok.topic('eventname').subscribe(listener); + * Unsubscribe - wok.topic('eventname').unsubscribe(listener); */ -kimchi.topic =3D (function() { +wok.topic =3D (function() { = var topics =3D {}; = diff --git a/ui/js/src/wok.user.js b/ui/js/src/wok.user.js index c036155..e642801 100644 --- a/ui/js/src/wok.user.js +++ b/ui/js/src/wok.user.js @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.user =3D (function() { +wok.user =3D (function() { var getUserName =3D function() { - return kimchi.cookie.get('username'); + return wok.cookie.get('username'); }; = var setUserName =3D function(userName) { - kimchi.cookie.set('username', userName, 365); + wok.cookie.set('username', userName, 365); }; = var showUser =3D function(toShow) { diff --git a/ui/js/src/wok.utils.js b/ui/js/src/wok.utils.js index f26a560..23aa30c 100644 --- a/ui/js/src/wok.utils.js +++ b/ui/js/src/wok.utils.js @@ -26,7 +26,7 @@ * false if the node is not entirely visible, or * undefined if the given parameter is invalid. */ -kimchi.isElementInViewport =3D function(el) { +wok.isElementInViewport =3D function(el) { if (!el || !el.getBoundingClientRect) { return undefined; } @@ -47,7 +47,7 @@ kimchi.isElementInViewport =3D function(el) { * @param digits after the decimal point. * @returns str with unit. */ -kimchi.changetoProperUnit =3D function(numOrg, digits, base) { +wok.changetoProperUnit =3D function(numOrg, digits, base) { if (numOrg =3D=3D=3D undefined) { return ""; } @@ -65,7 +65,7 @@ kimchi.changetoProperUnit =3D function(numOrg, digits, ba= se) { }; = /** - * kimchi.formatMeasurement util. + * wok.formatMeasurement util. * * Refer to "Units of information" ( * http://en.wikipedia.org/wiki/Units_of_information @@ -158,15 +158,15 @@ kimchi.changetoProperUnit =3D function(numOrg, digits= , base) { return new Formatted(fixed ? number.toFixed(fixed) : number, unit); }; = - kimchi.formatMeasurement =3D format; + wok.formatMeasurement =3D format; })(); = -kimchi.isUnsignedNumeric =3D function(number) { +wok.isUnsignedNumeric =3D function(number) { var reg =3D /^d+(.d+)?$/ return reg.test(number); } = -kimchi.isServer =3D function(server) { +wok.isServer =3D function(server) { var domain =3D "([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-= z]\.[a-z]{2,6}"; var ip =3D "(\\d{1,3}\.){3}\\d{1,3}"; regex =3D new RegExp('^' + domain + '|' + ip + '$'); @@ -177,17 +177,17 @@ kimchi.isServer =3D function(server) { } }; = -kimchi.escapeStr =3D function(str) { +wok.escapeStr =3D function(str) { if (str) return str.replace(/([ #;?%&,.+*~\\':"!^$[\]()<=3D>`{|}\/@])/g,'\\= $&'); = return str; }; = -kimchi.urlSafeB64Decode =3D function(str) { +wok.urlSafeB64Decode =3D function(str) { return atob(str.replace(/-/g, '+').replace(/_/g, '/')); } = -kimchi.urlSafeB64Encode =3D function(str) { +wok.urlSafeB64Encode =3D function(str) { return btoa(str).replace(/\+/g, '-').replace(/\//g, '_'); } diff --git a/ui/js/src/wok.window.js b/ui/js/src/wok.window.js index 3ac8699..5542270 100644 --- a/ui/js/src/wok.window.js +++ b/ui/js/src/wok.window.js @@ -15,7 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -kimchi.window =3D (function() { +wok.window =3D (function() { var _windows =3D []; var _listeners =3D {}; var open =3D function(settings) { @@ -39,7 +39,7 @@ kimchi.window =3D (function() { $(windowNode).css(settings['style'] || ''); = $(windowNode).appendTo('body').on('click', '.window .close', funct= ion() { - kimchi.window.close(); + wok.window.close(); }); = if (settings['url']) { diff --git a/ui/js/widgets/button-dropDown.js b/ui/js/widgets/button-dropDo= wn.js index 9157dde..ec6bd2a 100644 --- a/ui/js/widgets/button-dropDown.js +++ b/ui/js/widgets/button-dropDown.js @@ -16,7 +16,7 @@ * limitations under the License. */ (function($) { - $.widget('kimchi.dropdownButton', { + $.widget('wok.dropdownButton', { = _create : function() { this.actionDiv =3D this.element; diff --git a/ui/js/widgets/button-flat.js b/ui/js/widgets/button-flat.js index 70a9b6d..bc72544 100755 --- a/ui/js/widgets/button-flat.js +++ b/ui/js/widgets/button-flat.js @@ -59,7 +59,7 @@ var lastActive, return radios; }; = -$.widget( "kimchi.buttonFlat", { +$.widget( "wok.buttonFlat", { version: "@VERSION", defaultElement: "