On Fri, 2 Jul 2010, Tomi Ollila wrote:
> On Fri 02 Jul 2010 12:31, Martin Storsjö <mar...@martin.st> writes:
>
> > 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...
Yes, that's true, but even in that case, I think the deb packaging scripts
should support symlinks, if I'd happen to run MADDE on a system that
supports them. This is achieved with the patch I attached.
This also makes the MADDE dpkg build system compatible with normal dpkg
build systems for packages that themselves create symlinks, but would of
course only work on MADDE on those platforms that support symlinks.
What's the correct way of submitting this as a patch to
http://meego.gitorious.org/meego-developer-tools/madde? I attached it as
an git am'able patch here, 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
Yes, that would also be an option, but it would be slightly trickier to
integrate in the packaging process if compatibility with scratchbox/normal
deb tools is desired.
// Martin
From 064b0f38220121e197a399eac53ac182f2bb1264 Mon Sep 17 00:00:00 2001
From: Martin Storsjo <mar...@martin.st>
Date: Fri, 2 Jul 2010 14:25:34 +0300
Subject: [PATCH] dh_fixperms: Support packaging symlinks
---
src/debtools/dh_fixperms | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/debtools/dh_fixperms b/src/debtools/dh_fixperms
index 54b9834..998803b 100755
--- a/src/debtools/dh_fixperms
+++ b/src/debtools/dh_fixperms
@@ -47,6 +47,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
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/, ) {
--
1.7.1
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers