<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 10/27/11 13:14, Jesse Smith wrote:
<blockquote cite="mid:4EA9918C.2020101@yahoo.ca" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
On 11-10-27 01:30 PM, Ken Moore wrote:
<blockquote cite="mid:4EA98718.8050701@pcbsd.org" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
On 10/27/11 10:48, Jesse Smith wrote:
<blockquote cite="mid:4EA96F43.4000804@yahoo.ca" type="cite">Fellow
PBIers, <br>
<br>
I believe I've come up with a tool which will make it much
easier for non-developers to create PBI modules. The tool is
simply named (I'm not feeling creative today) EasyPBI. It's a
Qt-based graphical application which will create new PBI
modules with just a few mouse clicks. <br>
<br>
Right now it's a little rough, the last time I did any real
coding in Qt.... well, KDE 2.2 was considered current. At any
rate, I'm attaching my first attempt here. To compile it you
will need the Qt development libraries installed on your
system. <br>
<br>
To compile EasyPBI, save the attached tar archive and run the
following commands <br>
<br>
tar zxf EasyPBI-0.1.tar.gz <br>
cd EasyPBI <br>
qmake <br>
make <br>
<br>
Then run <br>
./EasyPBI <br>
<br>
The interface is a small window which displays the key fields
of a PBI module. At the bottom of the screen the app displays
instructions for the user to follow. To start off, we go to
the File menu and select New Module. We pick which port we
want to build. The app tries to fill in as many fields as
possible and prompts the user to fill in the blanks for us.
Then the user hits the Create Module button at the bottom of
the window. EasyPBI will then try to build the module and
bundle it as a tar archive. Its last step is to notify the
user that the module has been created and provides the
location of the tarball and the pbi-dev mailing list address
so users can submit their module. <br>
<br>
The app can be used to build several modules, one after
another. <br>
<br>
Right now I'm thinking more instructions and an option to open
then port's FreshPort's page would be a logical next step.
Comments, suggestions are welcome. <br>
<br>
- Jesse <br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Pbi-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Pbi-dev@lists.pcbsd.org">Pbi-dev@lists.pcbsd.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.pcbsd.org/mailman/listinfo/pbi-dev">http://lists.pcbsd.org/mailman/listinfo/pbi-dev</a>
</pre>
</blockquote>
<br>
Jesse, <br>
I just gave EasyPBI a whirl, and I must say that I am impressed!
It is still a bit rough, as you mentioned, but overall it is a
nice interface for a "casual" user to build a PBI module. <br>
I have a couple suggestions here from my first use....<br>
<br>
GUI<br>
-------<br>
1) Make use of the QT spacers to allow the GUI to dynamically
fit to the current size of the window.<br>
2) There is an extra bar under the "File" and "About" menus that
I can move around, but has no discernible purpose.<br>
3) A button to open up the freshports page for the selected port
in the default web browser might be a good idea (as you
mentioned) <br>
<br>
Execution<br>
------------<br>
1) Instead of creating the modules in the home directory, I
would recommend the following folder/structure: <br>
1-a) Create a EasyPBI-modules/ directory in the home folder
and place the uncompressed modules there<br>
1-b) Create a subdirectory within EasyPBI-modules/ for the
compressed modules<br>
2) Since you are using the /usr/ports/ directory on the system,
you might want to have some sanity checks to make sure the ports
tree is actually on the user's system or prompt the user to get
it if it is not.<br>
3) In addition to creating the modules, you could actually have
a button to run the pbi_makeport command on the newly-created
module to actually run the process to build the PBI. This will
take a bit more work, but I think it would make a nice
complement to the program.<br>
<br>
All in all, it seems like a great start for the program. Would
you like some help with it? I do a lot of Qt development and
could help you out with the GUI if you are a bit rusty on it.<br>
<pre class="moz-signature" cols="72">--
~ Ken Moore ~
PCBSD/iXsystems</pre>
<br>
</blockquote>
<br>
<br>
Ken,<br>
<br>
Thank you for the feedback and the recommendations. I agree with
all of the above. I would certainly welcome help with the GUI.
Most of my work is more "behind the scenes" so interface design is
a weak point for me. If you could tidy it up and send me a patch,
it would be very helpful.<br>
<br>
I haven't used pbi_makeport yet, but I can look into adding a
button to build the PBI.<br>
<br>
Thanks,<br>
Jesse<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Pbi-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pbi-dev@lists.pcbsd.org">Pbi-dev@lists.pcbsd.org</a>
<a class="moz-txt-link-freetext" href="http://lists.pcbsd.org/mailman/listinfo/pbi-dev">http://lists.pcbsd.org/mailman/listinfo/pbi-dev</a>
</pre>
</blockquote>
<br>
Ok, here is are the modified "mainwindow.*" files. The GUI is now on
a grid layout with spacers (I.E. the user can now resize it with
impunity), I removed the unneccesary bar, and I added a button to
open the freshports.org page for the selected port. I wrote a quick
check to make sure a port is selected for the port_info_button, but
I did not actually have it open a web browser. The function to add
that capability to is at the bottom of the mainwindow.cpp file.<br>
Oh, I also fixed a bug on quitting that caused a "bus error" on
exit. (see the destructor for mainwindow)<br>
<br>
Let me know if there is anything else I can do for you!<br>
<pre class="moz-signature" cols="72">--
~ Ken Moore ~
PCBSD/iXsystems</pre>
</body>
</html>