[maemo-developers] Optification in MADDE, again

From: Tomi Ollila tomi.ollila at guru.guru-group.fi
Date: Fri Jul 2 12:58:29 EEST 2010
On Fri 02 Jul 2010 12:31, Martin Storsjö <martin at martin.st> writes:

> Hi,
>
>
> I tried adding the maemo-optify scripts outside of MADDE, in my path (on 
> OS X), and it seems to work just fine, but the rest of the environment 
> adds some complications.
>
> dh_fixperms, which write the list of files for tarlisted, doesn't 
> recognize symlinks at all, but this can be fixed with the attached
> patch. 

There is a reason for that: Windows (below 7) (NTFS) filesystem does not
regognize symbolic links (properly); Generally, any software packakeable
with MADDE on linux should be also packaeable on Windows too...

> This would be an issue also if doing manual optification and using 
> symlinks, I think?
>
> dh_fixperms is called a few steps before maemo-optify, so it creates a 
> .tarlist that references files as they are at that point, but maemo-optify 
> changes them later on. maemo-optify cannot be called before dh_installdeb, 
> though. Moving dh_fixperms down to below maemo-optify does seem to work, 
> although I'm not sure if that's an acceptable change in general.

Again, not knowing much of the things maemo-optify do, but replacing
dh_fixperms with version that does all the optification steps (that can be
done for data.tar.gz inside debian package) could do the trick:

i.e. instead of writing line:

755 root root . /usr/bin/cooltool debian/cooltool/usr/bin/cooltool

write lines

755 root root . opt/maddeoptify/bin/cooltool debian/cooltool/usr/bin/cooltool
--- root root . /usr/bin/cooltool -> opt/maddeoptify/bin/cooltool

etc...

If this is too early (for other files, line md5sums etc), one could
manipulate .tarlist and DEBIAN directories in dpkg-deb for which there is
also a MADDE version shipped.

>
> // Martin

Tomi

>
> --- dh_fixperms_orig	2010-07-02 11:58:45.000000000 +0300
> +++ dh_fixperms	2010-07-02 12:04:34.000000000 +0300
> @@ -47,6 +47,12 @@
>  			next;
>  		}
>  
> +		if (-l $src) {
> +			my $dest = readlink($src);
> +			tlline '---', "$_ -> $dest";
> +			next;
> +		}
> +
>  		# Programs in the bin and init.d dirs should be executable..
>  		if (m,(^|/)bin/, || m,(^|/)sbin/, 
>  			|| m,(^|/)usr/games/, || m,(^|/)etc/init.d/, ) {
More information about the maemo-developers mailing list