[qubes-devel] Introducing GUI Manager

28 views
Skip to first unread message

Joanna Rutkowska

unread,
May 11, 2010, 11:33:59 AM5/11/10
to qubes...@googlegroups.com
Hi,

I've just uploaded a new GUI VM Manager for Qubes. Hopefully this would
be another step into making Qubes an easy-to-use system for everybody.

Obligatory screenshots can be found here:
http://www.qubes-os.org/files/screenshots/release-1-alpha-2/

Expect many new features being added to the Qubes Manager over the
coming months, especially before Beta 1 release.

In order to install it, connect networking to Dom0 and do:

yum install qubes-manager

The sourcecode can be found in the GIT repo:
http://qubes-os.org/gitweb/?p=mainstream/qubes-manager.git;a=summary

Cheers,
joanna.

signature.asc

Bruce Downs

unread,
May 12, 2010, 12:58:25 PM5/12/10
to qubes...@googlegroups.com
There are 2 missing files in the git tree:
qubesmanager/qrc_resources.py
qubesmanager/ui_newappvmdlg.py
qubes-manager-missing-file.txt

Joanna Rutkowska

unread,
May 12, 2010, 1:02:21 PM5/12/10
to qubes...@googlegroups.com, Bruce Downs
You need to do:

make res

to create them.

j.

signature.asc

Joanna Rutkowska

unread,
May 12, 2010, 1:29:21 PM5/12/10
to Bruce Downs, qubes...@googlegroups.com
On 05/12/2010 07:22 PM, Bruce Downs wrote:
> Ah.
>
> And what package do I need to install on my F12 build env?
>
> I tried:
> yum install PyQt4.x86_64
>
> but it didn't include pyrcc4 or pyuic4.
>
Try: PyQt4-devel

(I think there is no point in adding BuildReq to the qmgr.spec, as there
is no build stage in case of this program -- it's all python scripts.
Let me know if you think otherwise.)

j.


> On Wed, May 12, 2010 at 11:02 AM, Joanna Rutkowska

signature.asc

Joanna Rutkowska

unread,
May 12, 2010, 1:41:15 PM5/12/10
to qubes...@googlegroups.com, Bruce Downs
On 05/12/2010 07:29 PM, Joanna Rutkowska wrote:
> On 05/12/2010 07:22 PM, Bruce Downs wrote:
>> Ah.
>>
>> And what package do I need to install on my F12 build env?
>>
>> I tried:
>> yum install PyQt4.x86_64
>>
>> but it didn't include pyrcc4 or pyuic4.
>>
> Try: PyQt4-devel
>
> (I think there is no point in adding BuildReq to the qmgr.spec, as there
> is no build stage in case of this program -- it's all python scripts.
> Let me know if you think otherwise.)
>
On the other hand -- maybe 'make res' should be in the %build section of
the rpm spec, and in the case I would add various *-devel packages to
the BuilRequires.

j.

signature.asc

Joanna Rutkowska

unread,
May 12, 2010, 4:46:21 PM5/12/10
to Bruce Downs, qubes...@googlegroups.com
Ok, if we're at it: a quick guide how to create and submit a patch:

1) Make all the changes in your working directory, i.e. edit files, move
them around (you can use 'git mv' for this), etc.

2) Add the changes and commit them (git add, git commit).

Never mix different changes into one commit!

Write a good description of the commit. The first line should contain a
short summary, and then, if you feel like more explanations are needed,
enter an empty new line, and then start the long, detailed description
(optional).

3) Test your changes NOW: check if RPMs build fine, etc.

4) Create the patch using 'git format-patch'. This has an advantage over
'git diff', because the former will also include your commit message,
your name and email, so that *your* name will be used as a commit's author.

5) Send your patch to qubes-devel. Start the message subject with the
'[PATCH]' string.

On 05/12/2010 08:35 PM, Bruce Downs wrote:
> This patch adds the dependent resource build to qubes_manager's rpms
> target. I was alternatively going to move qmgr.spec into a new
> rpm_spec/ directory, but wasn't 100% sure how to produce the proper
> diff.
>
> diff --git a/qmgr.spec b/qmgr.spec
> index d561d11..7e69190 100644
> --- a/qmgr.spec
> +++ b/qmgr.spec
> @@ -19,6 +19,9 @@ AutoReq: 0
> %description
> The Graphical Qubes VM Manager.
>
> +%build
> +make res
> +
> %install
>
> mkdir -p $RPM_BUILD_ROOT/usr/bin/
>

But you didn't add BuildRequire macro...

j.

signature.asc

Bruce Downs

unread,
May 16, 2010, 1:36:33 AM5/16/10
to Joanna Rutkowska, qubes...@googlegroups.com
I emailed a couple of very minor patches related to qubes-manager's
qmgr.spec file. I read through http://progit.org/book for some much
needed background and believe I did it the proper way. Let me know if
not.

Couple of questions:

1)
Do you have plans on providing git via http(s)?
i.e.
git clone http://qubes-os.org/mainstream/qubes-manager.git

I have firewall issues at work, though it's shocking to me that my
company blocks port 9418. I've asked to have it opened (again) and
they graciously accepted my request for a whole 120 days, so it's not
a huge deal.

2)
There are currently 4 git projects for qubes. How do we specify which
project? (though it's typically obvious)

fyi, fedora does not install git-send-email with git-core though it's
in the man page. You need to install separately.
i.e.
yum install git git-email

-bruce

Joanna Rutkowska

unread,
May 16, 2010, 5:49:42 AM5/16/10
to Bruce Downs, qubes...@googlegroups.com
Hi Bruce,

On 05/16/2010 07:36 AM, Bruce Downs wrote:
> I emailed a couple of very minor patches related to qubes-manager's
> qmgr.spec file. I read through http://progit.org/book for some much
> needed background and believe I did it the proper way. Let me know if
> not.
>

Strangely, your patches seems to be missing the "author" and "email"
fields... Normally git format-patch should output you something like this:

From cec835e3470469a26a494b301245cf640bbc1e4a Mon Sep 17 00:00:00 2001
From: Joanna Rutkowska <joa...@invisiblethingslab.com>
Date: Wed, 12 May 2010 16:45:19 +0200
Subject: [PATCH 5/5] version updated to 0.1.3

---
version | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/version b/version
index d917d3e..b1e80bb 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-0.1.2
+0.1.3
--
1.6.6.1

Your patches seem to have the first part missing... Have you set your
name/email in git via git config --global?

> Couple of questions:
>
> 1)
> Do you have plans on providing git via http(s)?
> i.e.
> git clone http://qubes-os.org/mainstream/qubes-manager.git
>
> I have firewall issues at work, though it's shocking to me that my
> company blocks port 9418. I've asked to have it opened (again) and
> they graciously accepted my request for a whole 120 days, so it's not
> a huge deal.
>

Most likely not. Generally I consider the practice to block outgoing
traffic on firewalls to be... silly. It doesn't really buy you any
security (malware can use HTTP for tunneling its traffic as well!), and
provides only annoyance to the users. Or am I missing something?

> 2)
> There are currently 4 git projects for qubes. How do we specify which
> project? (though it's typically obvious)
>

Oh, you mean when submitting patches? Perhaps by manually editing the
subject line of the email? Something like:

[PATCH n/N] qubes-manager: XXX"

I'm not sure if git-send-email allows for that? -- I've not been using it.

> fyi, fedora does not install git-send-email with git-core though it's
> in the man page. You need to install separately.
> i.e.
> yum install git git-email
>

Aha... Not sure if this is appropriate for the Qubes Devel FAQ though,
is it?

joanna.

signature.asc

Bruce Downs

unread,
May 17, 2010, 12:44:07 AM5/17/10
to Joanna Rutkowska, qubes...@googlegroups.com
> Strangely, your patches seems to be missing the "author" and "email" fields...

That is a feature of git-send-email. It appears the idea is to derive
authorship details from the email headers. This seems to be the most
efficient way to submit a patch via email, so long as it works for the
maintainer. Of course, if the maintainer uses a browser-based mail
client this may not work for them because 'git am' was geared towards
mbox files.

>> There are currently 4 git projects for qubes. How do we specify which
>> project? (though it's typically obvious)
> Oh, you mean when submitting patches? Perhaps by manually editing the
> subject line of the email? Something like:
> [PATCH n/N] qubes-manager: XXX"
> I'm not sure if git-send-email allows for that? -- I've not been using it.

git-send-email does not have this option. It would be a matter of
complying with the suggested convention when commenting the commit.

>> fyi, fedora does not install git-send-email with git-core though it's
>> in the man page. You need to install separately.
> Aha... Not sure if this is appropriate for the Qubes Devel FAQ though, is it?

It is only if git-send-email submissions are acceptable.

I've attached the two patches that were originally submitted via
git-send-mail, and a shell transcript for how they were produced for
reference.
qmgr.spec-edit-transcript.txt
0001-Moved-qmgr.spec-into-new-rpm_spec-directory-and-upda.patch
0002-Added-BuildRequires-and-build-macros-to-qmgr.spec-to.patch

Joanna Rutkowska

unread,
May 17, 2010, 1:45:57 PM5/17/10
to Bruce Downs, qubes...@googlegroups.com
On 05/17/2010 06:44 AM, Bruce Downs wrote:
>> Strangely, your patches seems to be missing the "author" and "email" fields...
>
> That is a feature of git-send-email. It appears the idea is to derive
> authorship details from the email headers. This seems to be the most
> efficient way to submit a patch via email, so long as it works for the
> maintainer. Of course, if the maintainer uses a browser-based mail
> client this may not work for them because 'git am' was geared towards
> mbox files.
>

Obviously I don't run my email client (or Web browser) in the VM where I
do Qubes development and signing! You would not want somebody exploited
those programs and mess with Qubes sourced, would you? ;)

So, the preferred way for sending patches is always to generate them via
git format-patch and attach to the email like you just did in the last
email. I can then easily apply them using git am. (I first copy those
files to my 'qubes' AppVM using our inter-VM file copy mechanism).

So, the changes made it to the repo -- our first community contribution!
Tadam! Now, let's no stop here and let's hope for more patches (and I
promise to create a "Contributors" page with the names of all those
brave individuals, once we start getting more of them).

joanna.

signature.asc
Reply all
Reply to author
Forward
0 new messages