Older blog entries for will (starting at number 6)

Whee.. another day goes by. I went to an interview with a company that designs and builds aviation equipment as well as a host of other cool stuff (like GPS's and embedded systems). I think it went well. :)

Tried to work some more on OpenPackages (OP for short) make(1). What I'm trying to do now involves porting the ODE make modifiers that NetBSD put into their make(1) implementation. Marc Espie did a significant rewrite of OpenBSD's make(1) that involves huge amounts of code breakup and simplification. He also did a lot of work towards making make(1) more standards-compliant. Now I'll be specific about what exactly I'm trying to implement in this make(1): a concept coined by Marc called "personalities". Basically, what we would do is this: if we encounter differences in traditional BSD make's behavior regarding certain things (for OpenPackages' purpose, variable modifiers), we will interpret it differently based on whether a certain personality switch was turned on or not. This allows us great flexibility in what kind of behaviors OP make(1) can emulate. It also comes fairly cheap in terms of lines of code and binary data.

Other things this "personality" idea could be used for are GNU make compatibility bits. For OP's purpose, this would allow fewer pkgsrc bits to need GNU make in order to build. The logic behind this is that a significant number of Makefiles use only small bits of code that are specific to GNU make.

By the way, it would be really nice if some more people could start participating in OpenPackages discussions, because the idea has a lot of merit to it. There just needs to be more eyes looking and more hands typing comments. :-)

Oh yes, and more coders would be nice. :>

That should do it for today, I'm tired and I have to get up early. sigh.

Well, I guess I'm back after almost a year of absence from advogato. I don't really know why I remembered my password after being gone that long. But I did...

I guess an update is in order. The 'addport' script I was talking about back in April has been developed to maturity and has many features over its predecessor. For one thing, you can autogenerate a commit message, which saves a *lot* of time when adding new ports to the tree.

I'm still an active FreeBSD developer (and more than I ever was before getting a commit bit). I've mentored six new ports team members. Some of them have been quite active lately (Go James, Mario, Trevor! :-).

I graduated from high school with a cum laude diploma. Parents & most of my family were very proud; open house, etc. I earned the Eagle Scout award in July 2000, and they decided to turn the open house into a reception for that. Ooh boy. Life is fun. ;)

I was accepted to Purdue University (West Lafayette, IN) and Rochester Institute of Technology (Rochester, NY). I chose Purdue. I'm still there; currently taking Calculus III, Electricity & Optics, Psychology, Communications, and C Programming for Engineers (don't laugh :-). I'm pursuing a B.S. in Computer Engineering, and might be pursuing cooperative education. Co-Op seems like a great idea: you work every other semester at some large company on stuff related to your degree, and take classes on off semesters. Co-Op folks get paid pretty well, and job security is good (plus experience). So I like it. I might do it.

Getting back to my Cyberlife (tm).. these days I've been working on make(1) in the FreeBSD tree. I recently fixed a number of bugs in the tree, and merged them into the 4.x-STABLE and 3.x-STABLE trees.

I'm also working on OpenPackages, a project that intends to replace the ports/pkgsrc systems in use by FreeBSD, NetBSD, and OpenBSD. We also have some Darwin people interested in using our project, as well as folks who use other operating systems (e.g. Linux, BeOS, Solaris, HP-UX, and so on). I think our first focus will be to unify Free/Net/Open pkgsrc systems (we decided to call it pkgsrc from now on, to distinguish from architecture ports and such), and later we'll provide easy methods for adopting to other operating systems. And of course it'll all be under the BSD license (a topic I and others have debated somewhat on op-tech@openpackages.org - check out the archives).

Anyways, that's enough for now. Take care people.

I have just imported my FreeBSD port for SDLQuake, the SDL version of Quake, into the FreeBSD ports tree.

The initial reaction for me seemed to be "How the heck does this thing compile and link so fast, and how the heck are these graphics so beautifully and smoothly rendered??!!"

So I played for awhile. I was filled with nostalgia, remembering where the secrets were that I found three years ago. And I had a lot of fun!

addport was used for the importing of the sdlquake port. addport is fairly well-done now, and can probably be used actively soon.

Ok, it seems our little addport script is working. mharo added the misc/boxes port with it, and I just (a few hours ago) added ports such as textproc/xlhtml and www/kwebsearch. From the looks of things, all three were successful, with very minor (and rather invisible) problems.

We may be looking at a substitute for easy-import for FreeBSD committers, very soon now!

Although, after we post these scripts, it would be much appreciated if (somehow) the scripts might be useful for other projects, if the people who use it from that project send us email suggesting useful modifications.

Now to add more ports to the tree... :-)

--will

mharo and I have gotten some more work done now. We've got a perl script that adds an entry to CVSROOT/modules and another perl script that adds the port to its category Makefile.

I'm currently working on a remote script 'addport' which will check ports as needed and do the cvs commits as well as execute the above-named scripts to add the ports to the ports tree.

Hopefully, with any luck, we'll be done with this and have a fairly polished addport suite by next friday.

The next job after that will be creating a suite of tools to assist in making new ports. I wonder how we'll decide to do that in the end...

The last few days have been a little busy. I spoke with mharo about a particular script. We're working on improving the easy-import script that is currently available on freefall.FreeBSD.org. Actually, we're working on a replacement. It is hoped that by next week FreeBSD developers will be able to import new ports remotely. We will be using a series of perl scripts to accomplish this. More to come later.

I'm hoping to help Michael Haro <mharo@FreeBSD.org> write some scripts to help make port maintaining, committing, writing, etc. easier.. anyone got ideas? :-)

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!