Wednesday, March 31, 2010

Want: Delphi-friendly build management tool

I was looking at a file called 'want.xml' which reads like this:

========================================================================
This build file specifies how to build TRANUS using the Want build tool.
See:
http://www.suigeneris.org/want
for details.
========================================================================
However the link redirects you to:

http://www.suigeneris.org/kb/display/want/

Which leads to a 503 Error,

After much struggle I found the 'new' official website:

http://www.want-tool.org

Which uses sourcefore for files:

http://sourceforge.net/projects/want/

code google for wiki :

http://code.google.com/p/want2/

and optimax for forums:

http://news.optimax.com/dnewsweb.exe?cmd=xover&group=sdforum.want

Thursday, March 25, 2010

Installing VMWare on debian

Today starts my quest to install VMWare Player properly on debian. I do not trust the shell script since you have to be root.

First thing first:

$ ./VMware-Player-3.0.1-227600.x86_64.bundle --help
Extracting VMware Installer...done.
Usage: vmware-installer [options]

VMware Installer

Options:
--version show program's version number and exit
-h, --help show this help message and exit

Manage:
Install or uninstall products

-i FILE, --install-bundle=FILE
Install bundle from FILE
--install-component=FILE
Install a component
--uninstall-component=NAME
Force uninstallation of a component
-u NAME, --uninstall-product=NAME
Uninstall a product
-r, --resolve-system
Force the system to resolve the current state
--register-file=COMPONENT_NAME (config|regular) FILE
Register a file in the database
-x DIR, --extract=DIR
Extract the contents of the bundle into DIR

Information:
Look up information on installed products

-l, --list-products
List installed products
-t, --list-components
List the installed components
-L COMPONENT, --list-files=COMPONENT
List files for a given component
-S FILE, --find-file=FILE
List components and files matching the given pattern

Settings:
Set and retrieve settings

-g KEY, --get-setting=KEY
Get setting
-s KEY VALUE, --set-setting=KEY VALUE
Set setting
-d KEY, --delete-setting=KEY
Delete setting

Options:
--gtk Use the Gtk+ UI (Default)
--console Use the console UI
--custom Displays all questions
--regular Displays questions that have no good defaults
(Default)
--required Displays only questions absolutely required
-I, --ignore-errors
Ignore component script errors

$ ./VMware-Player-3.0.1-227600.x86_64.bundle --extract=vmware-bundle

$ cd vmware-bundle && python ./vmware-installer/vmware-installer.py
Traceback (most recent call last):
File "./vmware-installer/vmware-installer.py", line 13, in
from lxml import etree
ImportError: No module named lxml

$ sudo apt-get install python-lxml

$ python ./vmware-installer/vmware-installer.py
An unknown error occurred during installation. Please check the
installation log at /var/log/vmware-installer for more information.

No quite there yet...

Wednesday, March 17, 2010

Failure reading file:///bla.xml: docbookV4.5/docbookx.dtd (No such file or directory)

I was trying to generate PDF from my input docbook file trying to use Saxon. I had used xsltproc without any issue so far until today.

Here is the issue, by default serna generate the following header:

<?xml version='1.0' encoding='UTF-8'?>
<!-- This document was created with Syntext Serna Free. -->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "docbookV4.5/docbookx.dtd" []>

So in order to find this docbookx.dtd file, you have two options either use the system identifier or the public identifier. Apparently on debian xsltproc is properly setup so as to take the public identifier, while saxon + resolver is setup to use the system one.

Ref:
http://patch-tracker.debian.org/patch/debianonly/view/libxml-commons-resolver1.1-java/1.2-5

--- libxml-commons-resolver1.1-java-1.2.orig/debian/CatalogManager.properties
+++ libxml-commons-resolver1.1-java-1.2/debian/CatalogManager.properties
@@ -0,0 +1,61 @@
+########################################################################
+# CatalogManager provides an interface to the catalog properties.
+# Properties can come from two places: from system properties or
+# from a CatalogManager.properties file. This class provides a
+# transparent interface to both, with system properties preferred
+# over property file values.
+
+#######################################################################
+# Catalog Files:
+# The semicolon-delimited list of catalog files.
+# Example: catalogs=./xcatalog;/share/doctypes/catalog
+
+catalogs=/etc/xml/catalog
+
+#######################################################################
+# Relative Catalogs:
+# If false, relative catalog URIs are made absolute with respect to the
+# base URI of the CatalogManager.properties file. This setting only
+# applies to catalog URIs obtained from the catalogs property in the
+# CatalogManager.properties file
+# Example: relative-catalogs = [yes|no]
+
+relative-catalogs=yes
+
+#######################################################################
+# Verbosity:
+# If non-zero, the Catalog classes will print informative and debugging
+# messages. The higher the number, the more messages.
+# Example: verbosity = [0..99]
+
+verbosity=0
+
+#######################################################################
+# Prefer:
+# Which identifier is preferred, "public" or "system"?
+# Example: xml.catalog.prefer = [public|system]
+
+prefer=system
+


I think this is a better solution to use public identifier so I change my settings. But technically an easier solution is simply to use proper public AND system identifier:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">

Sunday, March 14, 2010

WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.

I had this annoying message printed when doing svn stuff via ssh (no X) connection.

I found this has been resolved in debian:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543617

It says: Fixed in 1.6.5dfsg-1.


However:

$ apt-cache policy subversion
subversion:
Installed: 1.6.4dfsg-1~bpo50+1
Candidate: 1.6.4dfsg-1~bpo50+1
Version table:
1.6.9dfsg-1 0
200 http://ftp.fr.debian.org testing/main Packages
100 http://ftp.fr.debian.org unstable/main Packages
*** 1.6.4dfsg-1~bpo50+1 0
600 http://www.backports.org lenny-backports/main Packages
100 /var/lib/dpkg/status
1.5.1dfsg1-4 0
500 http://ftp.fr.debian.org lenny/main Packages
500 http://security.debian.org lenny/updates/main Packages


I guess I'll have to wait the next backports update :(

Sunday, March 7, 2010

Text rendered at the wrong position

I recently discovered a cool command line tool to open an SVG file: rsvg-view, from:

http://packages.qa.debian.org/libr/librsvg.html

However I quickly discover it would not work in the long term:

http://bugs.debian.org/502502

Which has been forwarded to:

https://bugzilla.gnome.org/show_bug.cgi?id=525023

As a side note a cool svg-cleanup.xsl script can be found at:

http://fedoraproject.org/wiki/Artwork/EchoIconTheme/Cleanup

Cheers

Friday, March 5, 2010

svnsync vs svndumpfilter

If you ever want to use svndumpfilter one day, you should now that it simply does not work. Search google for svndumpfilter2, svndumpfilter3 and svndumpfilter4.

You always end up with memory issue, or simply crazy errors ! Instead a better (supported) solution is to use svnsync. However how do you filter out directory ? Well according to:

http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.replication

In Subversion 1.5, svnsync grew the ability to also mirror a subset of a repository rather than the whole thing. The process of setting up and maintaining such a mirror is exactly the same as when mirroring a whole repository, except that instead of specifying the source repository's root URL when running svnsync init, you specify the URL of some subdirectory within that repository. Synchronization to that mirror will now copy only the bits that changed under that source repository subdirectory. There are some limitations to this support, though. First, you can't mirror multiple disjoint subdirectories of the source repository into a single mirror repository—you'd need to instead mirror some parent directory that is common to both. Second, the filtering logic is entirely path-based, so if the subdirectory you are mirroring was renamed at some point in the past, your mirror would contain only the revisions since the directory appeared at the URL you specified. And likewise, if the source subdirectory is renamed in the future, your synchronization processes will stop mirroring data at the point that the source URL you specified is no longer valid.

However what should you do when your source subversion server is 1.4.2 ? Well simple do it twice:

svnsync https://SERVER-SVN1.4-ROOT-URL file://FILE-COPY-ROOT-URL

And now you have at hand a brand new suberversion server 1.5 !

svnsync file://FILE-COPY-ROOT-URL file://FILE-COPY-ROOT-URL/MySub/Directory

Cheers !

Setting up Apache/SSL

So I was setting up my server to start doing SSL. Of course my certificate was wrong, I did not set the Common Name (CN) correctly, as it needs to be fully qualified domain name (FQDN).

So after fixing the openssl self-signed certificate, here is what firefox/iceweasel tells me:



How exactly am I suppose to go from here now ? My only option is 'cancel'...