tag:blogger.com,1999:blog-67742921832756274932024-03-12T21:25:40.618-07:00Dol-sen's RamblingsStuff about me, Brian Dolbec, programming and GentooAnonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-6774292183275627493.post-74089443978617151462012-12-16T18:47:00.002-08:002012-12-16T18:47:08.685-08:00I can hardly believe it's been almost a year since my last blog post.
It's been a fairly busy year overall. I am now a full gentoo developer, I've taken on more programming tasks and projects...<br />
<br />
<b>New Projects:</b><br />
- <b>PyGPG</b> Is a python interface library that runs gnupg in a subprocess while mining all data that it exports through it's status-fd output. It aims to be a complete, flexible solution to using gnugp via python. It is early in it's development, but there is an -9999 ebuild in the tree.<br />
<br />
- <b>Gentoo-keys</b> Is a gentoo gpg key manager app that will use pyGPG to download the binary gpg keys from key servers and manage the gentoo release and developer keys that will be used by layman and other apps to validate the gpg-signed repositories.xml list, the install media, etc.. I may also use it to manage any overlay gpg-keys that may become available in the future. So far I have the main seed file management routines in place. Next I will begin coding the routines needed to manage the downloading, removing, moving of the gpg keys to the correct keyrings and validate it matches the fingerprint from the seed file. Once that is done, I will likely do some coding to make validation using those keys easier, along with code for the git commit validation hooks which are needed for the tree migration from CVS to Git.<br />
<br />
- <b>Mirrorselect</b> I've just done an update for the make.conf move from <i>/etc/</i> to <i>/etc/portage/</i>. From there I proceeded to convert it from a nearly monolithic script into a full python lib with a complete api. That will leave it open for creation of a gui or inclusion of it's capabilities into other applications. I also did some python 3 compatibility fixes too. It has just been released as <i>app-portage/mirrorselect-2.2.0-r1.</i><br />
<br />
<b>On-Going Projects:</b><br />
- <b>Layman</b> I have finally gotten around to fixing the last of the bugs in 2.0.0's code and re-released rc5 as 2.0.0 final. Rc5 has been out for a month now without a single bug filed against it. So look forward to having 2.0.0-r1 stabilized soon. Next on layman's agenda is complete the gpg signed repositories.xml support. For which working code is already in place in the -9999 live ebuild. But so far infra does not have a regular gpg-signed list available. There is only a testing one that is not updated since it's creation. I have 2 others on my dev space as well, but they too are not updated so not usable for use other than testing. After that I plan to continue the python 3 code migration.<br />
<br />
- <b>Gentoolkit</b> There are a number of small bugs that need attention along with some enhancements and updates needed.<br />
<br />
- <b>Porthole</b> I've been neglecting it for far too long. It is getting behind on many changes to portage and pkgcore. Plus I have several improvements half finnished.<br />
<br />
- <b>CoreBuilder</b> Like porthole, I've not done any work on it for quite some time. It is a web based interface to package management similar to porthole and uses portholes new backend structure. It's primary reason for being is for tinderbox testing of packages.<br />
<br />
- <b>Esearch</b> Nothing new to report after we finished the major update to it's code. There have been a few minor bug fixes and is very stable. It is also python 3 compatible and it's db can be loaded, updated with either python 2 or 3 and fully usable by the other.<br />
<br />
- <b>Portage</b> After several years, the emaint re-write I did has been merged into portage and people have been using it along with a few new modules that I've coded along the way. I have an idea in the wings for a module to assist users in cleaning up any "-MERGING-" pkgs which have failed during the move from the build sandbox to the live file system. Currently they have to be dealt with manually.<br />
<br />
- <b>Pkgcore</b> I need to get working on the backend manager code for porthole and coreBuilder. From that there is likely to be some enhancements to pkgcore's api.<br />
<br />
- <b>Gpytage</b> While I've not been doing any coding on it, Ken69267 has returned from the brink of gentoo retirement and is doing some work on it again. We look forward to the changes and enhancements.<br />
<br />
- <b>Etc-proposals </b> Nothing new to report, it's code has been working fine. But if anyone wants to work on updating it's QT/KDE interface, that would be welcome to all it's QT/KDE users.<br />
<br />
Well, Christmas decorations, my wife and kids are waiting for assistance...<br />
<br />
Later everyone :)Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-10713269318252344862012-01-15T21:39:00.001-08:002012-01-16T00:15:53.874-08:00Lazy bloggerWell, I've certainly been a lazy blogger...<br /><br /><span style="font-weight:bold;">Short story...</span> <br /><br /><span style="font-weight:bold;">Porthole</span><br />and Cazou (student) were accepted as a GSOC 2011 project. Unfortunately, it failed by midterm :( Still, there was a decent start to the backend re-write and the code submitted was good, so provided I can get my butt in gear, I should be able to complete it. Once that is done, it will be easier to maintain porthole. Currently, it is in an in between state. I mean that in both the front-end and the back-end. I began making changes to the front end to be able to add a proper layman plug-in that can use the category & package view panes. But that code is not completed and needs more testing, debugging. Some of the other things need some updates as well to keep up with changes in portage's code and config files.<br /><br /><span style="font-weight:bold;">Layman</span><br />I've gotten the 2.0 api nearly completely debugged. I have just a few more small changes to make to release rc4 witch will be the last rc and should end up as the final 2.0.0 release. More about that later, I promise. Also I made a request to the infrastructure team and antarus stepped up and produced some great stats for the last half of 2011. The new http headers it is sending with the requests for an updated overlays list has resulted in a better than a 20:1 ratio of 304 errors (list not updated since last time) to sending a new updated list. :D more on that to come...<br /><br /><span style="font-weight:bold;">Other news</span><br />As of Nov. 19, 2011 I am now a gentoo staffer. I've also just recently completed the ebuild quiz, so will become a full dev once that is reviewed and accepted. So, once that is finalized I should have less excuses, more incentive to get some of these lingering task completed.<br /><br />Gotta go for now.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-1279734506912525672011-05-07T12:17:00.000-07:002011-05-07T14:23:11.374-07:00Layman-2.0 development testing<span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; "><span class="postbody" style="font-size: 12px; color: rgb(0, 0, 0); line-height: 18px; ">As reported in some earlier blog posts, I've recently taken over maintaining and developing layman. I have been working on replacing the high level api with one better suited for consumer apps use. I've also changed the cli to use the new api and that has resulted in about a 20-35% speed increase for the testing I've done.<br /><br />I've also been extending the mid level api a little so that it is more flexible for use as a lib in other applications. It does not require an overlay definition be input via xml file only. It can now accept a python dictionary to define an overlay or for that matter any VCS be it a development checkout, etc.., also it's location can be anywhere in the filesytem. That is something portage/pkgcore or a layman gui might use, it is not intended for the cli interface.<br /><br />Some notable changes:<br /><ul>* New high level API<br />* New cli connection to the new API<br />* New add, sync, postsync config options for each repo type<br />* repo xml definitions can now be placed in the /etc/layman/overlays/ dir and they will automatically be added to the available list without adding them to the config manually<br />* New multiple config functions/classes allows for more flexible API use when using layman as a lib.<br />* It now timestamps the remote list and only downloads a new list if there is a change since it was last downloaded.<br />* New repo type g-common. The dep is not yet included in the ebuild as it is supplied via app-portage/g-cran from the science overlay. But if you use g-cran packages you probably already know this.<br />* New Message class fully capable of re-directing output to the defined output passed in. Again mostly for guis or consumer apps use.<br />* other code cleanups, small improvements.<br /></ul><br /><br />So those that would like to help test:<br /></span><table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tbody><tr><td style="font-family: Verdana, Arial, Helvetica, sans-serif; "><span class="genmed" style="font-size: 11px; color: rgb(0, 0, 0); "><b>Code:</b></span></td></tr><tr><td class="code" style="font-family: Courier, 'Courier New', monospace; border-right-color: rgb(209, 215, 220); border-right-width: 1px; border-right-style: solid; border-top-color: rgb(209, 215, 220); border-top-width: 1px; border-top-style: solid; font-size: 11px; border-left-color: rgb(209, 215, 220); border-left-width: 1px; border-left-style: solid; color: rgb(0, 102, 0); border-bottom-color: rgb(209, 215, 220); border-bottom-width: 1px; border-bottom-style: solid; background-color: rgb(250, 250, 250); ">echo 'app-portage/layman **' >> /etc/portage/package.keywords<br /># emerge =layman-9999</td></tr></tbody></table><span class="postbody" style="font-size: 12px; color: rgb(0, 0, 0); line-height: 18px; "><br /><br />Please report any issues you have with it so I can get them fixed <img src="http://forums.gentoo.org/images/smiles/icon_smile.gif" alt=":)" title="Smile" border="0" /><br />I would like to try and stabilize the code for a release sometime in the near future.<br /><br /><a href="http://forums.gentoo.org/viewtopic-t-877029.html">gentoo forum thread</a><br /></span></span>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-3897076602726866172011-05-01T14:05:00.000-07:002011-05-01T22:59:08.892-07:00Porthole 2011 GSOC project startingPorthole has been chosen as one of this years GSOC projects. The project will encompass a complete re-structuring of porthole's backend so that it can make use of a new (soon to be stable) portage public API. Stable at this point means mostly a non changing interface for directly operating portage, getting information directly from portage while the backend code can change without fear of constant breakage for consumer apps like porthole.<div><br /></div><div>The student doing the work is Cazou, the same person that worked to port kuroo to QT4 last year. This restructure is needed so that porthole can work even better with portage. It is also needed to be able to work properly with pkgcore which a backend for it will also be produced. That will give you more options as far as package managers are concerned.</div><div><br /></div><div>More on this later...</div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-43348244108081104842011-04-19T20:17:00.000-07:002011-04-20T00:01:44.260-07:00All is not lostHey everyone. No I've not dropped off the edge of the earth.<div><br /></div><div>I am gearing up for another season of mentoring for another gentoo gsoc project. This time it will be for porthole. This project is to finish to back-end re-structuring and create a new pkgcore back-end.</div><div><br /></div><div>Other news, I am now the developer/maintainer for layman. I have implemented the new api I did last year. Extending and improving it some more. I have also moved the cli to use the new api. This has resulted in a 20-35% speed increase for the testing I've done. I've also started a porthole plug-in for it. </div><div><br /></div><div>Even more porthole news:</div><div> Paul Varner <fuzzyray> has done some work and has helped me get porthole working in a prefix install. I am finishing up the changes, porting them from the dev branch into the master branch code. I'll push out a live ebuild and/or a -0.6.2_beta release hopefully soon. There has not been much in feature additions. mostly more code re-structure and cleanup so it should be easier to modify and maintain. some bugfixes...</fuzzyray></div><div><br /></div><div>Here is a screenshot of porthole running on fuzzyray's mac.</div><div><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZeOXAa9TjpjpMoOQ237rjq_JNIn5poaGLtjTHNpRq2RdRSCEwfEnK6v9VKPyp38KXVPk3A5S3P2RN2MUlQs9pDmkzPxt52hZRrJTEm0yAK6cb68mLWNi-XjK1pp3zf1u8UHaiQ1OYVZB/s1600/porthole-screenshot2.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 264px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZeOXAa9TjpjpMoOQ237rjq_JNIn5poaGLtjTHNpRq2RdRSCEwfEnK6v9VKPyp38KXVPk3A5S3P2RN2MUlQs9pDmkzPxt52hZRrJTEm0yAK6cb68mLWNi-XjK1pp3zf1u8UHaiQ1OYVZB/s400/porthole-screenshot2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5597556109449819922" /></a>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-74155845947323012192011-02-15T15:51:00.000-08:002011-02-15T16:19:42.280-08:00laymanWell, I've gotten everything rebased to layman again and merged into master. Along the way are several more fixes to the work I started in overlord. It is available in the layman-9999 ebuild in the main portage tree. <div><br /></div><div>I'd appreciate all those that test it to make sure I haven't broken anything. I want to make a few more smaller changes to the code before making a layman-1.5 release. So test away, let me know of any problems or quirks that need tweaking.</div><div><br /></div><div>With that part behind me , I've started to work on extending porthole's plugin system to be able to add custom views via plug-ins. My main goal is to get a layman plug-in working for porthole. I plan to use the existing porthole layout using the category listings for the installed, main remote list, add in lists. The package view for the short info listing and the summary (or possibly it's own tab) for the detailed info. With that part accomplished, I'll add the ability to add, delete, sync repositories.</div><div><br /></div><div>Back to layman, I was thinking of adding a file in the same vein as portage and the main tree to record the last sync time. With that, i'll extend the layman cli to include an option to list the last sync time(s). It will also be available to api consumer apps like portholes layman plugin.</div><div><br /></div><div>Layman related, I've been in touch with the dev that created a new git-2.eclass to see about extending it to be able to handle multiple listed EGIT_URI's with in it's declaration. That way if there are multiple protocols available or server locations it can be cloned from, it can cycle through them until one succeeds. just like layman does for adding an overlay to your system. That way if you are behind a firewall and the git:// protocol can not get through, it will try the next uri which may very well be an http:// protocol which can succeed. That should make live ebuilds more accessible to users.</div><div><br /></div><div>meanwhile back to coding... :)</div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com1tag:blogger.com,1999:blog-6774292183275627493.post-87318370902630038062011-02-09T20:56:00.000-08:002011-02-09T21:49:28.193-08:00Getting Busy :)Well, I know i haven't been very chatty here on my blog. Things have been getting quite busy.<br /><br />I've been getting some work done on porthole:<br /><div><ol><li>I've split up the <span class="blsp-spelling-error" id="SPELLING_ERROR_0">mainwindow</span> code into smaller <span class="blsp-spelling-error" id="SPELLING_ERROR_1">managable</span> chunks that all stack together.</li><li>I've fixed the multi-selection for all commands like emerge, <span class="blsp-spelling-error" id="SPELLING_ERROR_2">unmerge</span>, update. Unfortunately I discovered a bad side effect of that. While selecting a bunch of dependencies I wanted to upgrade. I came across a pkg I emerged with --<span class="blsp-spelling-error" id="SPELLING_ERROR_3">oneshot</span> that I didn't want anymore. So clicked <span class="blsp-spelling-error" id="SPELLING_ERROR_4">unmerge</span> (old behavior would just <span class="blsp-spelling-error" id="SPELLING_ERROR_5">unmerge</span> the pkg selected), then continued selecting and then upgrade. To my surprise I discovered everything selected to upgrade failed due to <span class="blsp-spelling-error" id="SPELLING_ERROR_6">wget</span> failing. Then I discovered all the <span class="blsp-spelling-error" id="SPELLING_ERROR_7">unmerge's</span> which crippled my system. Fortunately I have --<span class="blsp-spelling-error" id="SPELLING_ERROR_8">buildpkg</span> enabled so was able to emerge a number of <span class="blsp-spelling-error" id="SPELLING_ERROR_9">pkgs</span> from the backups. My system is happily merging updates again. I still need to run <span class="blsp-spelling-error" id="SPELLING_ERROR_10">revdep</span>-rebuild after to catch any more missing <span class="blsp-spelling-error" id="SPELLING_ERROR_11">deps</span> from my <span class="blsp-spelling-error" id="SPELLING_ERROR_12">unmerge</span> stint.</li></ol></div><div>I got to talking with <span class="blsp-spelling-error" id="SPELLING_ERROR_13">Wizzleby</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_14">kportagetray</span> developer) about the layman <span class="blsp-spelling-error" id="SPELLING_ERROR_15">api</span> I coded awhile back. That got us both going on some preliminary designs for collaborating on both a <span class="blsp-spelling-error" id="SPELLING_ERROR_16">gtk</span> and <span class="blsp-spelling-error" id="SPELLING_ERROR_17">kde</span> front-end to layman. Since I had not been getting any feedback about the new <span class="blsp-spelling-error" id="SPELLING_ERROR_18">api</span> from the main layman <span class="blsp-spelling-error" id="SPELLING_ERROR_19">dev</span>. I decided to start a fork to work on it more so that it can be released and ready for the <span class="blsp-spelling-error" id="SPELLING_ERROR_20">guis</span> front-ends. Well that lasted about a week, I made good progress on it, replaced the <span class="blsp-spelling-error" id="SPELLING_ERROR_21">cli</span> interface to use my new high level <span class="blsp-spelling-error" id="SPELLING_ERROR_22">api</span>. That resulted in a 20-35% speed increase. I am now the primary layman developer and maintainer. So now I have to port my changes back to layman's <span class="blsp-spelling-error" id="SPELLING_ERROR_23">namespace</span>. Anyway the new project's name is Overlord. I will keep it for the <span class="blsp-spelling-error" id="SPELLING_ERROR_24">guis</span> front-ends and possibly a few extras for layman. So give me some time and I'll have the changes in the Layman-9999 live <span class="blsp-spelling-error" id="SPELLING_ERROR_25">ebuild</span> ready for more testing.</div><div><br /></div><div>I have been pushing to get the <span class="blsp-spelling-error" id="SPELLING_ERROR_26">gentoo</span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_27">guis</span> mail list back in action again and discovered it hadn't been <span class="blsp-spelling-error" id="SPELLING_ERROR_28">de</span>-activated after all, but it was not listed either. So any of you interested in joining, it is <span class="Apple-style-span" style="color: rgb(0, 0, 200); font-family: monospace, 'Courier New'; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><span class="Apple-style-span" >gentoo-guis+subscribe@lists.gentoo.org.</span></span><span class="Apple-style-span" style="color: rgb(0, 0, 200); font-family: monospace, 'Courier New'; font-size: 14px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "> </span>We welcome all</div><div>to join in.</div><div><br /></div><div>We have started a new <span class="blsp-spelling-error" id="SPELLING_ERROR_29">gentoo</span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_30">guis</span> overlay for our live <span class="blsp-spelling-error" id="SPELLING_ERROR_31">ebuilds</span> and development work. It is not yet listed in the main repositories list, but I do have a <span class="blsp-spelling-error" id="SPELLING_ERROR_32">gentoo</span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_33">guis</span> repositories.<span class="blsp-spelling-error" id="SPELLING_ERROR_34">xml</span> file in the overlay you can download and configure layman to use to add it. Actually I made that easier to do in overlord. Those <span class="blsp-spelling-error" id="SPELLING_ERROR_35">repo</span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_36">xml</span> definitions can be plugged in for automatic detection and inclusion. Yes, that will be ported to layman too :)</div><div><br /></div><div>So, I am accepting volunteers for help with things on porthole, layman, overlord,... </div><div>:D</div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-63043096754622499682011-01-26T19:03:00.000-08:002011-01-26T19:15:05.869-08:00I finally got around to another quick blog post. I have been able to get some coding work done on porthole again. I hope to make a few improvements to existing features, nothing major. Then I'll get a new release out. After that I'll continue to produce a new plug-in for gentoolkit and another one for layman.<br /><br />On the gentoolkit front I've just coded up another small analyse module "packages" to print out all the installed packages and the use flag settings. It is not 100% complete yet. I did this one for likewhoa who needed it for the livedvd release info. With some additional feedback from him, I am going to add csv output so that it can be used to accumulate stats on user's systems when submitted to an accumulation site. There currently isn't one being done anymore, likewhoa is planning to add one.<br /><br />On the layman front, I've been doing some more coding. I've created new cli backend code that uses the new api I created. It has sped a few things up, and I've added a little more code to the api which has helped to make it more universal and a little faster.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-39382939406470868392010-11-06T10:50:00.000-07:002010-11-06T10:57:47.626-07:00<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFw8dq-kA38BvjSuHURltKMxvNC44wLcoJbZv0z0eSXzyxkUQfatwyG5sxdIVpYVqipyh7iWU576MYxv__zhAps7Faz540Up5c3XY2PU96msHWrJUFw2eTUUGTYJg3TSXCIlXnkwVook3i/s1600/Screenshot+-+w-13-desktop.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFw8dq-kA38BvjSuHURltKMxvNC44wLcoJbZv0z0eSXzyxkUQfatwyG5sxdIVpYVqipyh7iWU576MYxv__zhAps7Faz540Up5c3XY2PU96msHWrJUFw2eTUUGTYJg3TSXCIlXnkwVook3i/s400/Screenshot+-+w-13-desktop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5536497301740892722" /></a><br />Well, I haven't totally dropped off the map :)<br /><br />I finally got around to fixing xfce to work again. I had to drop a bunch of my hidden config files to get it working. I don't know what the corruption was, but meh.<br /><br />So I have had to start rebuilding a new desktop, so I went with the old time industrial theme which seems to go with warehouse 13, so I've catured some w-13 screenshots to use as the background. It is coming along nicely. Now if someone artistic could create a w-13 icon theme that would be great :DAnonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-68298697538583868452010-07-25T08:47:00.000-07:002010-07-25T09:38:42.776-07:00I've been a lazy bloggerFor the few people following my blog, sorry I haven't posted anything for such a long time. The google summer of code project is well underway. My student is doing well.<br /><br />I am mentoring a student for the kuroo project to revitalize it and bring it up to date with kde4 and integrate a new portage api into it so that it can keep current with changes in the vdb, etc.. It should bring a well liked portage gui back to life.<br /><br />So a progress report: <br /><br /> kde4 porting is done and it has been changed to not rely on kde4 specificly but QT4. that should make it more portable to other desktops without the need of having more kde packages installed.<br /><br /> There is a kuroo4 live ebuild and a kuroo overlay, along with that are some other development pkgs. A layman-8888 ebuild that installs a branch I coded which creates a high level API to perform all layman actions. Unlike the command line interface this api is import-able into other programs, so running it in a terminal is not needed. In fact it will no be able to fully incorporate layman into any of the current/future portage gui's. To go along with that, Cazou has created c-layman which is a c interface lib that connects any program that can incorporate c lib's into it's sources. This is needed for kuroo as well as others to be able to interface with the api.<br /><br /> The new portage api, I have begun coding. I haven't gotten far with it yet, but I do need to get it done soon or Cazou will run out of work aside from chasing down bugs. Many of which are related to the old kuroo method of reading the portage metadata cache directly.<br /><br /> Porthole has been suffering lately as a result. I put out a -r2 to fix the missing import stopping it from saving config file changes to /etc/make.conf or /etc/portage/* files. And as a result of the way I have my system permissions, failed to get the patch correct, so it still doesn't work. I'll get it fixed soon, I promise.<br /><br /><br /> I now have a working kvm setup using an init script from Brian Harring <ferringb> who is now a council member. With it I now have few kvm images that I can use for testing. One of those is a kde4 based desktop. Mostly for kuroo4 testing. I will be creating and using more images to better test porthole before releasing new versions so I can avoid the few blunders of the current ones.<br /><br /> My knee is doing a lot better and I have returned to work full time. I also am able to get some of the house/yard work done. We had been planning a number of house/yard reno's for many years and got some financing arranged last year. My knee injury postponed any progress on that front. But we have been getting started on a few things now. This weekend is a big cleanup push. I've been clearing some bushes, blackberries, etc. from along an old rotted fence, which is next on my list.<br /><br /> If there is anyone out there that wants to help incorporate any of the new things into porthole, give me a shout. I am going to be busy for the next year with work and house reno's so won't have the time I spent last fall/winter. There is lot's of new possibilities, improvements to porthole that need some coding.<br /><br />That's all for now. I promise to keep this blog updated more frequently...Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-14232132679530406962010-04-25T23:18:00.000-07:002010-04-26T15:50:51.214-07:00Busy, busy, busy,...Wow, April has been a very busy month. I meant to keep you updated to the goings on, but didn't seem to get to it. My daughter's softball season has been up and going, not to mention all the other activities that she needs to be brought to, etc.... I have been starting back to work also on a part time basis, but my knee doesn't seem to be handling more than a 4 hour shift. I have also become a gentoo mentor for the Google Summer Of Code program. That has taken up quite a bit of time as well reading/evaluating proposals. I believe the announcement for the GSOC will come out later today (this is still my night before). I have also been contacting the other portage gui front-end developers to begin discussing the upcoming merge into portage of a public API. Coding wise I have not been able to accomplish much, mostly fix some bugs in gentoolkit, and do a little more work to portage's emaint that I've been re-working so that all its modules are available as import-able modules for use by portage, other maintenance tools, or even possible gui front-ends or plug-ins.<br /><br />Oh, and some great news!!!! I have put in a stabilization request for porthole. So far it has a ppc stable keyword, approval for x86 and sparc to go stable, I just need to get the ebuild updated. So if you use porthole on any of the arch's that aren't marked stable, get after the arch team to stabilize it. If you are using it on an arch that is not yet listed in the ebuild, speak up, open a bug to get your arch added to the list.<br /><br />Anyway, I have a busy day ahead for me tomorrow, so I should head off to bed. I'll be in touch about the gsoc project I'll be mentoring after the official announcement has been made.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-7295313178352956222010-03-22T16:26:00.000-07:002010-03-22T16:53:46.110-07:00status updateI've been a little busy lately and haven't had much time for a new post. I have the eclean re-write working good and have several unit tests for it, but to test it all would mean having 10 times the code just to run the tests on the real code. You will be able to try out the re-write in the gentookit-0.3.0_rc10 release coming out soon. For cleaning the packages directory it now relies on emaint from portage to fix the Packages index file. For now it runs it in a sub-process from eclean, but I hope to get some changes approved to emaint, so that eclean will be able to use it directly. It will then not disrupt the output from eclean like it will for now. Gentoolkit is now going to be python-3 capable and will require a minimum of python-2.6 to work correctly. Also, for those not following the gentoo-soc mail list, an idea for a network enabled eclean version was brought up that would be useful for central NFS servers serving the distfiles or packages directories. With that i have been able to deduce that it will not take much more work to add shared disfiles and/or packages ecleaning ability. So perhaps look for that feature in the near future, perhaps in gentoolkit-0.3.1.<br /><br /><br /><br />It also looks like my knee injury is nearly healed up and I may be returning to work soon. A good thing about that is it might help to shed the 20+lbs of weight I put on since the injury.<br /><br />I also need to code some additional modules for the new analyse utility I started, along with a major backend re-structuring for porthole. I've been also asked to clarify some of the analyse descriptions, abilities that I posted about earlier. So look for that this week. That's it for now.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-25234493606316443442010-03-02T11:54:00.000-08:002010-03-02T12:31:58.029-08:00I finally got another porthole release out. I had been dragging my heels a little about it, but I also found a fixed a few more bugs. So this should hopefully be a release that makes it to a stable keyword. There was one potential bug in 0.6.0 that I found which could make an annoyance to fix for a user, not critical. So I did not push for it to go stable. (Although far buggier apps get stable keywords)<br /><br />Porhole-0.6.1 has added a number of small features, like a highlighted eduild viewer which uses gtksourceview and the gentoo syntax highlighting rules. The Changelog has been completely re-vamped and now sports a new custom highlighting view. I so need to improve it slightly for dealing with overlays that do not have a changelog file so that it will look in the main tree for that one.<br /><br />That covers most of the visible changes to porthole since the 0.6.0 release. I have been busy working on elclean code and have it ready for adding in an emaint binhost call to fix the packages index file. So on that note with the porthole release out the door I got busy splitting up the portage emaint program so that it's modules could be used directly by other python apps or portage front-ends (think porthole plug-in). So I'm hoping the powers that be like the emaint changes I've made, one of which is a modular plug-in system for emaint modules. It makes it easy to add or remove modules to the utility as changes are needed or additional functionality is created. Without the need to change the cli or gui front-end. So with that pretty much done I'm getting back to completing the eclean rewrite so it can be merged back into trunk for a release.<br /><br />I have also done some more work on the new analyse utility, but will leave that for another post so I can better explain it.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-78129821569863241992010-02-19T15:05:00.000-08:002010-02-19T17:05:19.409-08:00New gentoolkit utility --- analyse<div> Well, I've gone and done it again, I haven't finished the eclean re-write and I've found something else to work on. It all started from a <a href="http://forums.gentoo.org/viewtopic-t-815578.html?sid=d7aee0526afb90b21d187fd72a3915d6">forum post</a>. He wanted to fix his mistakes and it looked like the only way was the hard way.</div><div><br /></div><div> Having been doing more gentoolkit coding I put together a quick and dirty python script to output some USE flag info about his installed pkgs. With that and me saying I could add some more code to spit out a package.use file populated with what is installed/what flags enabled/disabled. I have now been coding it up and have it now working for USE flag analysis and rebuild. I plan on adding more so it can analyse and repair keywords and mask files too.<br /></div><br /><div><br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkJ_80FHzVZA21Df33cUP7Rvwi9AMnynBEbXi8Nf_JzjfAVm6BPGPSieXyeJFMi614aPHC0ZtcU0tQMeHVwHWtt5F2PsV_ZZC1BH9HpRDEA3IVUku2lsmZsADwVCfu4VdqJ0LYuK46aUXR/s1600-h/rebuild3.png"><br /> <img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 130px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkJ_80FHzVZA21Df33cUP7Rvwi9AMnynBEbXi8Nf_JzjfAVm6BPGPSieXyeJFMi614aPHC0ZtcU0tQMeHVwHWtt5F2PsV_ZZC1BH9HpRDEA3IVUku2lsmZsADwVCfu4VdqJ0LYuK46aUXR/s200/rebuild3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440105988017498850" /><br /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6EQBqIs-n_YzZzJwEYpZan_ht-V6eAvHO7kGSy8YxTGEEoNuAZhIKvTc77ecF0jr3p3P6Uy-a2i9BXCeqbIKI5QdC0xAQMF3ONBp1nUxOWPE1dqD7MHc_L_RF8c9fCQYxBcqWGUwnqlVw/s1600-h/rebuild2.png"><br /> <img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 130px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6EQBqIs-n_YzZzJwEYpZan_ht-V6eAvHO7kGSy8YxTGEEoNuAZhIKvTc77ecF0jr3p3P6Uy-a2i9BXCeqbIKI5QdC0xAQMF3ONBp1nUxOWPE1dqD7MHc_L_RF8c9fCQYxBcqWGUwnqlVw/s200/rebuild2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440105857447391602" /><br /></a><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vfvWvTI8TYlUz-5cP9RHzIVsxj89RAzSUDSzBhsdMgNIhIS56AXaAzPDdwuUp9OuLLIK0MYY2KlErbznjL_mZnOdjUGT0LZXptwEqgkX8T7iqXzk4Grqcxc45APWH8D-d59T2vXIQZS8/s1600-h/analyse3.png"><br /></a><br /><div><br /></div><div><br /></div><br /><div>I also would like to code up yet another /etc/portage/package.* cleaning tool. Since It'll have nearly/all the functions needed for gathering the info, may as well do that too. All the main functionality will also be importable for other apps to use as library functions/methods.<br /></div><div><br /></div><div style="text-align: center;">analyse rebuild -pv use<br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnvNiwY5rQ4kFFW3D6wK0FEr5i0ujzos5sWAPVKS3oAPeQY8SQnVxUPWnoI7rPldA7gV61tQ_JSyr7lOzFc0fhADPE-Du_eiRGHO_5zO6ADw1rwMpy9EhoxkshW8BQRS078KLtXVyYsgC/s1600-h/rebuild1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 146px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpnvNiwY5rQ4kFFW3D6wK0FEr5i0ujzos5sWAPVKS3oAPeQY8SQnVxUPWnoI7rPldA7gV61tQ_JSyr7lOzFc0fhADPE-Du_eiRGHO_5zO6ADw1rwMpy9EhoxkshW8BQRS078KLtXVyYsgC/s200/rebuild1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440105660277044098" /><br /></a><br /><div>analyse analyse -uv use</div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZCeTnQ9qWnbzdqi7KBeTTI3dvUjr1XnyfCtPAZLunspQDfnS5y3eNxsDjICAEyoV3lXFhurKd2fZLCc1snVvLSVdBCrxEwuaPldFTpH_g1uxI0zsf0D0-AFmSX7AwuSY8NpR6afBso_6n/s1600-h/analyse1.png"> <img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZCeTnQ9qWnbzdqi7KBeTTI3dvUjr1XnyfCtPAZLunspQDfnS5y3eNxsDjICAEyoV3lXFhurKd2fZLCc1snVvLSVdBCrxEwuaPldFTpH_g1uxI0zsf0D0-AFmSX7AwuSY8NpR6afBso_6n/s320/analyse1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440104649628516194" /><br /></a><br /><div><br /><div><br /> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpSRjWjgNwDLQSZ7Zxl_Yj1D4ljbTDKGxlsJNLxkqbJvrmUXfPfwOj6TGUwmm1Hitm7mrX3jIv2l1qTwGaUg28PJloVdtfnIZJtMwzKiud77_nXaKGdCVKiGzs5MRS4vY8_1zOxkzXUagy/s1600-h/analyse2.png"><br /> <img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 106px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpSRjWjgNwDLQSZ7Zxl_Yj1D4ljbTDKGxlsJNLxkqbJvrmUXfPfwOj6TGUwmm1Hitm7mrX3jIv2l1qTwGaUg28PJloVdtfnIZJtMwzKiud77_nXaKGdCVKiGzs5MRS4vY8_1zOxkzXUagy/s320/analyse2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440104142550363938" /><br /> </a><br /> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7CAp7goKy4DacwqLUJBZ2cL5jV19o6wImH3Izxo-vf9cG2msg2J67b38TbSTmr8CGkcdaUDQYyKnvz9OiJcsJmtxawJoSP2u1yj-xAFJdPrRKAnYLc-M_1vAt2BF2wjgwGIlaAqvbF6Si/s1600-h/analyse1.png"><br /> </a><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><br /><div><i>left:</i> showing the output of the report. Enabled USE flags are marked with a leading + and colored blue. Disabled USE flags are marked - and colored red. Unset USE flags are plain text.<br /></div><br /><div>It also indicates if the flag is a system default, the number of packages that have it enabled/disabled/unset and using the --verbose option lists the packages.<br /></div><br /><div><br /></div><div><i>right: </i>Part way down the report. notice that mplayer has faac faad flags enabled but ffmpeg does not. Something that I didn't notice before. Now I know to set them for ffmpeg too.<br /></div><br /><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK3NtSc20gDrRXXs_fEKxRWoZ1msr7Ftz8pM-TuIgfu0XphcuZgbm0KUm-bv2HdvDpg2RA-qKZUSYQoH0HWd_Spu3SWCp3VaizgCBLheu778eiPiJyZtZV-8CpOnhAwjQTKthP7N5B7v0a/s1600-h/analyse3.png"><br /> <img style="float:centre; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 106px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK3NtSc20gDrRXXs_fEKxRWoZ1msr7Ftz8pM-TuIgfu0XphcuZgbm0KUm-bv2HdvDpg2RA-qKZUSYQoH0HWd_Spu3SWCp3VaizgCBLheu778eiPiJyZtZV-8CpOnhAwjQTKthP7N5B7v0a/s200/analyse3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5440109956497998114" /><br /></a><br />This last one shows the totals at the end of the analyse report.<br /></div><div><br /></div><div>Also if you can think of a good "e" name for it to go along with the other gentoolkit apps like eclean & equery. Post a comment.</div><div><br /></div><div>some of the names so far:</div><div><ul><li>erepair</li><li>esylana (analyse spelled backward)</li></ul></div></div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-45823502488296484522010-02-07T12:37:00.000-08:002010-02-07T12:59:16.909-08:00more ecleaningI'ts been awhile since my last post. I've made good progress on the eclean modular re-write. The cleaning modules have been completed, but not tested yet. I have gotten about halfway coding the testing modules for it. I swear there is going to be 3 times more lines of code to test those functions that there are lines of code in the functions. This is due mostly to having to create a small fake distfiles and packages directories and a small fake portage dbapi to return the pre-programmed data back to the function/module being unit tested.<div><br /></div><div>The output module should be complete aside from minor changes.</div><div><br /></div><div>The search module has mostly been re-worked and the distfiles search function has now been turned into a class and split up into 13 smaller functions/methods. Along the way I discovered that there were several bugs in the code logic that could potentially clean installed sources that it should not have. I have that mostly fixed now, but intend to extend some of the options a little where I can. Along the way I have been optimizing the code to increase speed for the slow non-destructive distfiles search. I have managed to reduce the time taken by approximately 10-12% while at the same time doing a more thorough search.</div><div><br /></div><div>I have also added a -v, --verbose option which will give more info about it's actions and findings. useful for debugging and knowledge about your system. It will also inform you of installed package versions that are no longer in any installed trees/overlays, while protecting them from deletion.</div><div><br /></div><div>That's all for now, gotta go on some errands...</div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-90255639328928332602010-01-25T00:35:00.000-08:002010-01-25T01:07:05.515-08:00DistractionsI've been distracted away form porthole code lately. Well not completely, I do have an ulterior motive. I am working on gentoolkit code again. Namely a modular rewrite of eclean.<div><br /></div><div>eclean was an all in one python script that contained a number of unwieldy methods and functions which made it difficult to modify and nearly impossible to create test functions for. One of the primary reasons I started on it was to split the back-end functioning code from the output printing code similar to most of the newly redone equery modules. That way the code can be used by other applications. So, I began by separating the script into a python package containing 5 files and a nearly empty script that just loads and calls the main() . </div><div><br /></div><div>Those 5 files being:</div><div><ol><li> cli.py to handle all command line interface argument parsing and start the requested action.</li><li>search.py with all the search related methods and functions which determine the files to be cleaned.</li><li>exclude.py containing the exclusion file parsing and handling code.</li><li>output.py for the screen output and user interaction.</li><li>clean.py to handle the actual cleaning process.</li></ol> The end result should be one that has a number of automatic tests run on it to check that any code modifications are performing correctly as well as code that will be easier to maintain.</div><div>It will also then be possible for the code to be used in other apps such as a planned plug-in module for porthole. :)</div>Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-84818476001017219942010-01-07T17:36:00.000-08:002010-01-07T17:47:19.368-08:00Translators NeededI have porthole pretty much ready for another release. I have the translation files updated with any string changes and ready for a final edit.<br /><br /><ol><li>Polish language is fully updated (just need to commit it). Thank you, Arkadiusz Kowalski.</li><li>German is nearly up to date, a few minor strings to check, Thank you, Timo Gurr.</li><li>French, is in need of checking and/or fixing.</li><li>Italian, is in need of updates.</li><li>Russian, is in need of updates.</li><li>Vietnamese, is in need of updates.</li></ol>If you would like to see porthole translated into your language please leave a comment or email me. It is quite simple to do, just takes some time and knowledge of both English and the target language. There are tools like poedit to help.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-10695500501583796732010-01-06T23:38:00.000-08:002010-01-07T17:36:41.499-08:00And so Christmas came and the New Year beginsIt's been the usual busy time of the year, with all the extra running around, preparing things. Getting the gifts for the people close to you. Trying to keep my wife from going overboard with the giving (again). It has been a good Christmas overall, lots of new toys, kids got some too (he he).<br /><br />I had been hoping to get a release out for Christmas, but got a little too busy and lost concentration on what I was doing, so had a little break. The coding I was doing was centered more on su'ing porthole's processes that require root access while the majority of the code still runs as the user. I made a lot of progress, but came across a blocker in that gtk refused to do some things because of the detected su. It would run as all user or all root but not a mix. So I reverted most of the changes, (some were better even without su'ing). I believe I've come up with a better way without having to use policykit and the only python interface to it being through d-bus. Also due to the migration in python towards py-3k means using features of python-2.6 and greater. I am not about to do that for this release, but probably for the next major release of -0.7.0.<br /><br />Porthole-0.7.0 I am hoping to have made all the changes needed to have multiple options for the backend package manager code it uses for data gathering as well as installing/syncing, etc..<br /><br />So, I hope everyone had a wonderful Christmas and are starting the new year out right and happily so far.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-68023895343934533702009-12-11T20:48:00.000-08:002009-12-12T11:22:19.958-08:00ChangeLog<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDzt2uSkmEkakbFfPs-Sff8v_C0hZkCY2Fyg954R77okSsBgAEArk3NuSAg3c9aTv-DJkd3QxMecceuJvkcHe7VaIvEmbCHwDfqjKux6Cn4D8AJ2dLW6womoN8zbZUoxz3rsbY1WsAVdUJ/s1600-h/changelog-highlighted.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 298px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDzt2uSkmEkakbFfPs-Sff8v_C0hZkCY2Fyg954R77okSsBgAEArk3NuSAg3c9aTv-DJkd3QxMecceuJvkcHe7VaIvEmbCHwDfqjKux6Cn4D8AJ2dLW6womoN8zbZUoxz3rsbY1WsAVdUJ/s320/changelog-highlighted.png" alt="" id="BLOGGER_PHOTO_ID_5414208067035705810" border="0" /></a><br />It looks like I've nearly got it all working. I have been creating a custom highlighting view for the ChangeLogs.<br /><br />See for yourself...<br /><br />When it's done you'll also be able to click on the bug #'s to open your browser to bugzilla's bug<br /><br />gotta go... more later.<br /><br />[edit]<br />I have it all working now including opening your browser opening bugzilla to the bug number.<br /><br />next on the list is to customize the installed files view and add functionality there too.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-54283757343243663502009-12-10T18:40:00.000-08:002009-12-10T19:04:20.736-08:00Dependencies revampLately I've been working on a revamp of the dependencies code. I have made good progress at cleaning up the code base for easier maintainability and updating to all the latest EAPI's. It now caches dependency atoms to save memory and help speed things along. I have also made the dependency tree fully dynamic and deps can be expanded as long as there are unsatisfied deps or options to expand. And because of this it loads so much quicker due to it not digging deep into the tree. It is done piecemeal every time an expander is toggled open.<br /><br />I have already completed syntax highlighting for the ebuild view and am working on a custom highlighted ChangeLog view that works with the new view structure I've started using.<br /><br />Also in svn are translation updates for German (Timo Gurr) and Polish (Arkadiusz Kowalski) so a very big "Thank you" for your work.<br /><br />All the other languages are in need of translation updates so if you are capable, please help to update the translations. I plan to release -0.6.1 by Christmas with some exciting feature improvements and several bugs I've fixed.<br /><br />Til next time... Brian.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-24975037729850531162009-11-26T20:58:00.000-08:002009-11-26T21:07:07.093-08:00Knees, a hazard of aging.Well, I've gone and done it. I've popped a knee 2 weeks ago just walking after being down working on a piece of equipment. This past several weeks has had me limping trying to take it easy on it. I even was able to spend a bunch of time at my computer without complaint from my wife. It was getting better (sort of) but now is worse. Good news is that I'll be off work for a while to give it a chance to heal. That will give me more time to work on some coding projects.<br />Who knows maybe I'll be able to get out a new porthole release soon with some new features and updates.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-43122458037763990262009-11-21T07:32:00.000-08:002009-11-21T07:59:54.008-08:00gentoolkit funI've been having some fun working with djanderson on the gentoolkit equery code. We've made great speed improvements to the depends module for reverse dep searches. The real speed improvements were by djanderson's rewrite of the base search code after I had initially split it up into separate search and print modules. There have been 2 benefits so far<br /><ol><li>Is that consumer apps will be able to import the python modules for its own use without having to parse terminal output. Great for making a plugin for porthole (my original intent)<br /></li><li>Is the major speed improvement as a result of the complete rewrite of all the dependency related code from the original package object into its own class. The speeds are now about 25% that of the original code. most equery depends package will now be around the 2 to 3 second mark instead of 8 to 12 seconds. Really long detailed searches are down from 2 - 3 minutes to around 2o seconds!</li></ol>With the depends module nearing its completion, I'll get back to working on the belongs module. Maybe we'll be able to get more speed out of that one as well.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-88719875772908690012009-11-15T14:16:00.000-08:002009-11-15T23:09:38.465-08:00Back to codingCurrent coding work I'm poking at:<br /><br />Porthole<br /><ul><li>I've just added syntax highlighting to the ebuild view courtesy of portato code. I would have done it earlier, but for trying to get the final version done with. I didn't want to add yet another change that might delay it's release due to more testing being needed...</li><li>I've updated the file chooser widget used from the deprecated gtk.FileSelector to the new gtl.FileChooserDialog. It does also have file filtering options, and if I've done my testing correctly should be working properly everywhere it's used.</li><li>I've gotten back to the dev branch that I'm using to split out all hard-coded emerge commands. The commands used to build the command lines used for emerging, etc. will come from config file(s). That will allow a user to customize the actual commands sent to the terminal. ie. use a custom wrapper script. It will also make it possible to use pkgcore commands for the merge. Once it is working, I'm sure some pkgcore devs will help to make a pkgcore backend for the information gathering as well.</li><li>I've added a USE Flag tab to the package notebook. It is currently not selectable since I do not have any code for it yet. I plan to separate out the advanced emerge use flag portion of code into its own module so it can be used in both places, or anywhere else in the future.</li></ul><br />Gentoolkit: I've begun poking around the gentoolkit code to see about using it for a plug-in module. I'm sad to say it was not designed to be used as an imported module. That said, I've seen on #gentoo-portage that djanderson has been working on the code. I've contacted him and have begun re-writing some of the code to separate out the data gathering and printing to the screen. This will improve the code base overall along with some major updates he is working on which will make the code py3k compliant as well as keep it up to date with current portage.<br />Together the changes should speed things up some for command line users. It will also make it possible for apps like porthole to import the gentoolkit code for its internal use and display of info such as reverse dependencies. (the first module I worked on splitting up)<br /><br />Gpytage: A nice little gui utulity program for editing your /etc/portage/package.* files. I had helped Ken out a little in the past. I have started to poke at him some more to finish some updates he was doing so I can help debug it. I also hope to add some code to validate the entries and report any obsolete data & package entries. That code will come from another standalone utility script that I came across some time back. It will need some slight re-write to make into a library module and separate command line script. I am getting anxious waiting to make a plug-in module for porthole which will be linked in to the summary view and its menus. The existing version in the tree is somewhat outdated with portage, so will not be use-able. The new code will have a significantly different API.<br /><br />IRC: I've created a #porthole support channel on freenode. feel free to drop by and chat. I can also be found on #gpytage, #gentoo-guis, #gentoo-portage, #gentoo-amd64, #gentoo-desktop, #pkgcore. I have been playing around with bots a little as well. You'll find a basic bot called portholes there. I intend to replace "portholes" with a different more powerful bot when I get the chance to get it set up.Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0tag:blogger.com,1999:blog-6774292183275627493.post-23331077272467171272009-11-14T11:02:00.000-08:002009-11-14T13:48:20.794-08:00First Rambling'sWelcome to my blog.<br /><br />Well, this is something new to me. It was suggested that I get a blog to help promote Porthole and to get more feedback, etc. So here goes, It seems that like most things, they change and evolve. I remember a time when the forums were buzzing with activity. Some of that activity seems to have been replaced by blogs. I have been reading a few of the Gentoo dev's blogs and find them informative, interesting and can be a good source of knowledge. I hope to do well in that respect and not blab on about nonsense or get too carried away into details few people will care about.<br /><br />Anyway, I am currently the only developer/maintainer for Porthole, It is a graphical gui front-end for Gentoo's package management system "portage". I was not the original creator(s), They were Daniel G. Taylor and Fredrik Arnerup. I started in fairly early in it's development cycle and have continued with it. There have been others that have come and contributed some good advancements and features over the years, but I am currently alone in it's development.<br /><br />I welcome feedback from users, both good and not so good as to how they use porthole and things they might like added or changed. As in nearly all things, that does not mean it shall be done, but it does help evolve things for the better. I will try to get things done in a timely manner, but it is something I do in my spare time for fun, relaxation and good mental exercise. A person has to keep those synapses firing :)<br /><br />I have recently released porthole-0.6.0 final after several years of trying to get it finished. This last big update from -0.5.x was a major one, porthole's code was getting too large and unwieldy in many ways and was in need of a major slice and dice. This has sped things up significantly and reduced it's memory usage. Along the way I have been able to add more features and improve functionality of others. There is still far more that I want to achieve with the code and user interface, but that discussion will have to wait for other blog entries.<br /><br />Take care...Anonymoushttp://www.blogger.com/profile/06650467917191592975noreply@blogger.com0