September 2006 Archives

New KDE/Mac Snapshot

| 1 Comment

I set off a new unattended build last night and had packages in the morning, so it looks like KDE trunk is still pretty mac-friendly at this point. ;) The new torrents are on the new wikified KDE/Mac page and seeded. Please give them a shot and let me know.

I haven't had a chance to look into the D-Bus <--> launchd integration, and it's unlikely I will in the immediate future, but in the meantime, this should give you any of the updates that have gone on in trunk since the last snapshot.

After having looked at the CoreFoundation APIs for reading plists, I feel vastly unqualified for trying to read/write ~/.MacOSX/environment.plist in the D-Bus code, so if anyone with real C experience is interested in giving it a shot, take a look at Thiago's pending D-Bus autolaunch patch which adds support for autodiscovery of the D-Bus bus address if you're logged in to an X11 session. It should be pretty easy to adapt that to work with setting the values in ~/.MacOSX/environment.plist (and eventually launchd).

Fink 0.25.0 Out

| 1 Comment

For the first time since early 2005, a new major version of "fink" the command-line program is out. Plenty of good development work has gone on in the 0.24 series, with lots of nice incremental updates, but a lot of really great stuff has gone into 0.25. While there are plenty of other neat engine things and additions, I'm going to focus here on the changes that users will be able to see.

Internals

Speed

Most noticeable right away is speed. The incremental indexer was pretty much rewritten. You will not spend nearly as much time nowadays waiting for fink to scan your info files for changes.

A lot of other smaller operations related to the index have been sped up as well. All in all, fink is much faster. (Although I still would never call it "snappy"... <grin>)

Building

The buildlocks system has been rewritten, and should rarely get in your way anymore. It is much smarter about adding and removing build locks, and can clean up after itself much better.

Options

There are a number of new options for various things.

--log-output
Automatically log the output of package builds to a file. You can specify --logfile=/path/to/some/file to specify the location.
--maintainer
Enables "maintainer" mode, which does handy things for package maintainers, including automatic validation of both the info files and resultant deb files for any packages you're building, and enables some other miscellaneous things like turning build-time warnings into errors, and enabling tests if the package supports it.
--trees and --exclude-trees
When performing an action with fink, only use packages in the specified tree(s). For example, if you have unstable enabled, but wish to install the stable version, you can run "fink install --trees=stable mypackage". In addition, you can use the special-case trees "status" and "virtual" to refer to the dpkg database or fink virtual packages, respectively. The --exclude-trees flag does the same thing, only excludes specific trees.

Additionally, some existing fink command-line options have been upgraded or split off into separate programs.

dpkg-scanpackages
A convenience script to generate the apt Packages indexes so that local (or remote) clients can access locally-built binaries. This is invoked by the new automatic scanpackages feature.
fink cleanup
The fink cleanup command has gotten a much-needed overhaul. It's now capable of cleaning out old .deb files, source files, and the dpkg database.

Configuration

A few additions have been made to the fink.conf configuration file to make things easier on you.

AutoScanPackages
If this option is set to "true" (the default), then whenever fink has completed building new binaries, it will automatically update apt-get's indexes. Previously you had to run "fink scanpackages" to make your fink-built binaries available to apt.
Bzip2Path
You can specify the path to an alternate bzip2 command using this option. Normally you would use this if you want fink to use pbzip2 on a multiprocessor/multicore system to unpack archives. This will probably be expanded into a more generic configuration option for specifying system commands in the future.
NoAutoIndex
If you don't edit info files locally on your system, you can set NoAutoIndex to "true" and avoid the index scan when you run the fink command. You can still force fink to update the cache by running fink index (and you can force it to ignore the cache and create an entirely new index by running fink index --full).
ScanRestrictivePackages
If AutoScanPackages is "true" and you are planning on making your apt repository public, you must enable this option to avoid making legally-restricted packages available.
SkipPrompts
You can specify a number of classifications of prompts for fink to automatically accept the default. The currently available classifications are fetch (don't ask when a mirror fails, accept the default to try another/give up) and virtualdep (don't ask when fink has multiple packages that can satisfy a dependency, pick the default).

Conclusion

This has been a long time coming, and it's good to see it finally out the door. Please try it out, and let us know if you hit any snags. A ton of things have changed under the covers, and while plenty of us have been using it daily for quite some time, you always find new bugs when the general public tries things you haven't.

Happy finking!

KDE/Mac Apps Start from Finder

| 5 Comments

So I actually wrote some C++ code this weekend. Those of you who know me know that I have done a lot of hacking on other people's code, but have written very little C++ myself. (I do a lot of perl and java professionally.) I've gotta say, though, Qt is pretty darn easy to work with. I managed to replace the crazy dock icon stuff that Sam Magnuson had put into the original KDE3/Mac work with QSystemTrayIcon (new in Qt 4.2), and I also worked around the bug where apps don't exit properly.

I also made an ugly hack to set up the DBUS session environment and add /opt/kde4*/bin to the path. I still need to work out a nice/sane way to do this, but for now, it at least lets you start stuff from the Finder. (Yay!)

Next up is to find out why HTTPS is broken in konqueror (and presumably elsewhere).

In the meantime, check out the new packages for all of these updates, and let me know how things work for you.