develooper Front page | perl.perl5.porters | Postings from June 2009

patch submission (symbian/sisify.pl)

Thread Next
From:
Adam Russell
Date:
June 26, 2009 07:43
Subject:
patch submission (symbian/sisify.pl)
Message ID:
Pine.LNX.4.64.0906260042180.16517@mercury.cs.uml.edu
From d7021a7dd22da2f598151c114bc921b07e73dac6 Mon Sep 17 00:00:00 2001
From: Adam Russell <arussell@cs.uml.edu>
Date: Fri, 26 Jun 2009 00:36:24 -0400
Subject: [PATCH 1679/1679] Added some new .pkg fields that are required.

---
 symbian/makesis.pl |  406 ++++++++++++++++++++++++++--------------------------
 1 files changed, 203 insertions(+), 203 deletions(-)

diff --git a/symbian/makesis.pl b/symbian/makesis.pl
index d55d13e..270f6b4 100644
--- a/symbian/makesis.pl
+++ b/symbian/makesis.pl
@@ -1,203 +1,203 @@
-#!/usr/bin/perl -w

-

-# Copyright (c) 2004-2005 Nokia.  All rights reserved.

-

-use strict;

-use lib "symbian";

-

-do "sanity.pl" or die $@;

-

-my %VERSION = %{ do "version.pl" or die $@ };

-my $VERSION = "$VERSION{REVISION}$VERSION{VERSION}$VERSION{SUBVERSION}";

-my $R_V_SV  = "$VERSION{REVISION}.$VERSION{VERSION}.$VERSION{SUBVERSION}";

-

-my ($SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION) =

-    @{ do "sdk.pl" or die $@ };

-my $UID  = do "uid.pl" or die $@;

-my %PORT = %{ do "port.pl" or die $@ };

-

-my $ARM = 'armv5';#'thumb'; # TODO

-my $S60SDK = $ENV{S60SDK}; # from sdk.pl

-my $S80SDK = $ENV{S80SDK}; # from sdk.pl

-my $S90SDK = $ENV{S90SDK}; # from sdk.pl

-

-my $UREL = $ENV{UREL}; # from sdk.pl

-$UREL =~ s/-ARM-/$ARM/;

-

-my $app = '!:\System\Apps\Perl';

-my $lib = '!:\System\Libs';

-

-my @target = @ARGV

-  ? @ARGV

-  : (

-    "miniperl",          "perl",

-    "perl${VERSION}dll", "perl${VERSION}lib",

-    "perl${VERSION}ext"

-  );

-

-my %suffix;

-@suffix{ "miniperl", "perl", "perl$VERSION" } = ( "exe", "exe", "dll", );

-

-for my $target (@target) {

-    $target = "perl${VERSION}" if $target eq "perl${VERSION}dll";

-

-    my %copy;

-    my $pkg = "$target.pkg";

-    print "\nCreating $pkg...\n";

-

-    my $suffix = $suffix{$target} || "";

-    my $dst = $suffix eq "dll" ? $lib : $app;

-

-    my $srctarget = "$UREL\\$target.$suffix";

-

-    if ( $target =~ /^(miniperl|perl|perl${VERSION}(?:dll)?)$/ ) {

-        $copy{$srctarget} = "$dst\\$target.$suffix";

-        print "\t$target.$suffix\n";

-    }

-    if ( $target eq "perl${VERSION}lib" ) {

-        print "Libraries...\n";

-

-        print "\tConfig.pm\n";

-        $copy{"lib\\Config.pm"} =

-          "$lib\\Perl\\$R_V_SV\\thumb-symbian\\Config.pm";

-

-        print "\tConfig_heavy.pl\n";

-        $copy{"xlib\\symbian\\Config_heavy.pl"} =

-          "$lib\\Perl\\$R_V_SV\\thumb-symbian\\Config_heavy.pl";

-

-        print "\tDynaLoader.pm\n";

-        $copy{"ext\\DynaLoader\\DynaLoader.pm"} =

-          "$lib\\Perl\\$R_V_SV\\DynaLoader.pm";

-

-        print "\tErrno.pm\n";

-        $copy{"ext\\Errno\\Errno.pm"} = "$lib\\Perl\\$R_V_SV\\Errno.pm";

-

-        open( my $cfg, "symbian/install.cfg" )

-          or die "$!: symbian/install.cfg: $!\n";

-        while (<$cfg>) {

-            next unless /^lib\s+(.+)/;

-            chomp;

-            my $f = $1;

-	    unless (-f "lib/$f") {

-		warn qq[$0: No "lib/$f", skipping...\n];

-		next;

-	    }

-            $f =~ s:/:\\:g;

-            $copy{"lib\\$f"} = "$lib\\Perl\\$R_V_SV\\$f";

-            print "\t$f\n";

-        }

-        close($cfg);

-    }

-

-    if ( $target eq "perl${VERSION}ext" ) {

-        my @lst = glob("symbian/*.lst");

-        print "Extensions...\n";

-        print "\t(none found)\n" unless @lst;

-        for my $lst (@lst) {

-            $lst =~ m:^symbian/(.+)\.:;

-            my $ext = $1;

-            $ext =~ s!-!::!g;

-            print "\t$ext\n";

-            if ( open( my $pkg, $lst ) ) {

-                while (<$pkg>) {

-                    if (m!^"(.+)"-"(.+)"$!) {

-                        my ( $src, $dst ) = ( $1, $2 );

-                        $copy{$src} = $dst;

-                    }

-                    else {

-                        warn "$0: $lst: $.: unknown syntax\n";

-                    }

-                }

-                close($pkg);

-            }

-            else {

-                warn "$0: $lst: $!\n";

-            }

-        }

-    }

-

-    for my $file ( keys %copy ) {

-        warn "$0: $file does not exist\n" unless -f $file;

-    }

-

-    my @copy = map { qq["$_"-"$copy{$_}"] } sort keys %copy;

-    my $copy = join( "\n", @copy );

-

-    my %UID = (

-        "miniperl"          => 0,

-        "perl"              => 0,

-        "perl${VERSION}"    => $UID + 0,

-        "perl${VERSION}dll" => $UID + 0,

-        "perl${VERSION}ext" => $UID + 1,

-        "perl${VERSION}lib" => $UID + 2,

-        "perlapp"           => $UID + 3,

-        "perlrecog"         => $UID + 4,

-        "perlappmin"        => $UID + 5,

-    );

-

-    die "$0: target has no UID\n" unless defined $UID{$target};

-

-    my $uid = sprintf( "0x%08X", $UID{$target} );

-

-    my ( $MAJOR, $MINOR, $PATCH ) = ( 0, 0, 0 );

-

-    if ( $target =~ m:^perl$VERSION(dll|ext|lib)?$: ) {

-        my $pkg = defined $1 ? $1 : "dll";

-        $MAJOR = $PORT{$pkg}->{MAJOR};

-        $MINOR = $PORT{$pkg}->{MINOR};

-        $PATCH = $PORT{$pkg}->{PATCH};

-    }

-

-    die "$0: Bad version for $target\n"

-      unless defined $MAJOR

-      && ( $MAJOR eq 0 || $MAJOR > 0 )

-      && defined $MINOR

-      && ( $MINOR eq 0 || $MINOR > 0 )

-      && defined $PATCH

-      && ( $PATCH eq 0 || $PATCH > 0 );

-

-     my $ProductId =

-         defined $S60SDK ?

-qq[;Supports Series 60 v0.9\n(0x101F6F88), 0, 0, 0, {"Series60ProductID"}\n] :

-         defined $S80SDK ?

-qq[;Supports Series 80 v2.0\n(0x101F8ED2), 0, 0, 0, {"Series80ProductID"}\n] :

-         defined $S90SDK ?

-qq[;Supports Series 90 v1.1\n(0x101FBE05), 0, 0, 0, {"Series90ProductID"}\n] :

-         ";Supports Series NN";

-

-    open PKG, ">$pkg" or die "$0: failed to create $pkg: $!\n";

-    print PKG <<__EOF__;

-; \u$target installation script

-;

-; The supported languages

-&EN;

-;

-; The installation name and header data

-;

-#{"\u$target"},($uid),$MAJOR,$MINOR,$PATCH

-;

-;Localised Vendor name

-%{"Vendor-EN"}

-;

-; Private key and certificate (unused)

-;

-;* "\u$target.key", "\u$target.cer"

-;

-$ProductId

-; The files to install

-;

-$copy

-__EOF__

-    close PKG;

-

-    print "Created $pkg\n";

-

-    print "Running makesis...\n";

-

-    unlink("$target.sis");

-

-    system("makesis $pkg") == 0

-      || die "$0: makesis $pkg failed: $!\n";

-}

-

-exit(0);

+#!/usr/bin/perl -w
+
+# Copyright (c) 2004-2005 Nokia.  All rights reserved.
+
+use strict;
+use lib "symbian";
+
+do "sanity.pl" or die $@;
+
+my %VERSION = %{ do "version.pl" or die $@ };
+my $VERSION = "$VERSION{REVISION}$VERSION{VERSION}$VERSION{SUBVERSION}";
+my $R_V_SV  = "$VERSION{REVISION}.$VERSION{VERSION}.$VERSION{SUBVERSION}";
+
+my ($SYMBIAN_ROOT, $SYMBIAN_VERSION, $SDK_NAME, $SDK_VARIANT, $SDK_VERSION) =
+    @{ do "sdk.pl" or die $@ };
+my $UID  = do "uid.pl" or die $@;
+my %PORT = %{ do "port.pl" or die $@ };
+
+my $ARM = 'armv5';#'thumb'; # TODO
+my $S60SDK = $ENV{S60SDK}; # from sdk.pl
+my $S80SDK = $ENV{S80SDK}; # from sdk.pl
+my $S90SDK = $ENV{S90SDK}; # from sdk.pl
+
+my $UREL = $ENV{UREL}; # from sdk.pl
+$UREL =~ s/-ARM-/$ARM/;
+
+my $app = '!:\System\Apps\Perl';
+my $lib = '!:\System\Libs';
+
+my @target = @ARGV
+  ? @ARGV
+  : (
+    "miniperl",          "perl",
+    "perl${VERSION}dll", "perl${VERSION}lib",
+    "perl${VERSION}ext"
+  );
+
+my %suffix;
+@suffix{ "miniperl", "perl", "perl$VERSION" } = ( "exe", "exe", "dll", );
+
+for my $target (@target) {
+    $target = "perl${VERSION}" if $target eq "perl${VERSION}dll";
+
+    my %copy;
+    my $pkg = "$target.pkg";
+    print "\nCreating $pkg...\n";
+
+    my $suffix = $suffix{$target} || "";
+    my $dst = $suffix eq "dll" ? $lib : $app;
+
+    my $srctarget = "$UREL\\$target.$suffix";
+
+    if ( $target =~ /^(miniperl|perl|perl${VERSION}(?:dll)?)$/ ) {
+        $copy{$srctarget} = "$dst\\$target.$suffix";
+        print "\t$target.$suffix\n";
+    }
+    if ( $target eq "perl${VERSION}lib" ) {
+        print "Libraries...\n";
+
+        print "\tConfig.pm\n";
+        $copy{"lib\\Config.pm"} =
+          "$lib\\Perl\\$R_V_SV\\thumb-symbian\\Config.pm";
+
+        print "\tConfig_heavy.pl\n";
+        $copy{"xlib\\symbian\\Config_heavy.pl"} =
+          "$lib\\Perl\\$R_V_SV\\thumb-symbian\\Config_heavy.pl";
+
+        print "\tDynaLoader.pm\n";
+        $copy{"ext\\DynaLoader\\DynaLoader.pm"} =
+          "$lib\\Perl\\$R_V_SV\\DynaLoader.pm";
+
+        print "\tErrno.pm\n";
+        $copy{"ext\\Errno\\Errno.pm"} = "$lib\\Perl\\$R_V_SV\\Errno.pm";
+
+        open( my $cfg, "symbian/install.cfg" )
+          or die "$!: symbian/install.cfg: $!\n";
+        while (<$cfg>) {
+            next unless /^lib\s+(.+)/;
+            chomp;
+            my $f = $1;
+	    unless (-f "lib/$f") {
+		warn qq[$0: No "lib/$f", skipping...\n];
+		next;
+	    }
+            $f =~ s:/:\\:g;
+            $copy{"lib\\$f"} = "$lib\\Perl\\$R_V_SV\\$f";
+            print "\t$f\n";
+        }
+        close($cfg);
+    }
+
+    if ( $target eq "perl${VERSION}ext" ) {
+        my @lst = glob("symbian/*.lst");
+        print "Extensions...\n";
+        print "\t(none found)\n" unless @lst;
+        for my $lst (@lst) {
+            $lst =~ m:^symbian/(.+)\.:;
+            my $ext = $1;
+            $ext =~ s!-!::!g;
+            print "\t$ext\n";
+            if ( open( my $pkg, $lst ) ) {
+                while (<$pkg>) {
+                    if (m!^"(.+)"-"(.+)"$!) {
+                        my ( $src, $dst ) = ( $1, $2 );
+                        $copy{$src} = $dst;
+                    }
+                    else {
+                        warn "$0: $lst: $.: unknown syntax\n";
+                    }
+                }
+                close($pkg);
+            }
+            else {
+                warn "$0: $lst: $!\n";
+            }
+        }
+    }
+
+    for my $file ( keys %copy ) {
+        warn "$0: $file does not exist\n" unless -f $file;
+    }
+
+    my @copy = map { qq["$_"-"$copy{$_}"] } sort keys %copy;
+    my $copy = join( "\n", @copy );
+
+    my %UID = (
+        "miniperl"          => 0,
+        "perl"              => 0,
+        "perl${VERSION}"    => $UID + 0,
+        "perl${VERSION}dll" => $UID + 0,
+        "perl${VERSION}ext" => $UID + 1,
+        "perl${VERSION}lib" => $UID + 2,
+        "perlapp"           => $UID + 3,
+        "perlrecog"         => $UID + 4,
+        "perlappmin"        => $UID + 5,
+    );
+
+    die "$0: target has no UID\n" unless defined $UID{$target};
+
+    my $uid = sprintf( "0x%08X", $UID{$target} );
+
+    my ( $MAJOR, $MINOR, $PATCH ) = ( 0, 0, 0 );
+
+    if ( $target =~ m:^perl$VERSION(dll|ext|lib)?$: ) {
+        my $pkg = defined $1 ? $1 : "dll";
+        $MAJOR = $PORT{$pkg}->{MAJOR};
+        $MINOR = $PORT{$pkg}->{MINOR};
+        $PATCH = $PORT{$pkg}->{PATCH};
+    }
+
+    die "$0: Bad version for $target\n"
+      unless defined $MAJOR
+      && ( $MAJOR eq 0 || $MAJOR > 0 )
+      && defined $MINOR
+      && ( $MINOR eq 0 || $MINOR > 0 )
+      && defined $PATCH
+      && ( $PATCH eq 0 || $PATCH > 0 );
+
+     my $ProductId =
+         defined $S60SDK ?
+qq[;Supports Series 60 v0.9\n(0x101F6F88), 0, 0, 0, {"Series60ProductID"}\n] :
+         defined $S80SDK ?
+qq[;Supports Series 80 v2.0\n(0x101F8ED2), 0, 0, 0, {"Series80ProductID"}\n] :
+         defined $S90SDK ?
+qq[;Supports Series 90 v1.1\n(0x101FBE05), 0, 0, 0, {"Series90ProductID"}\n] :
+         ";Supports Series NN";
+
+    open PKG, ">$pkg" or die "$0: failed to create $pkg: $!\n";
+    print PKG <<__EOF__;
+; \u$target installation script
+;
+; The supported languages
+&EN;
+;
+; The installation name and header data
+;
+#{"\u$target"},($uid),$MAJOR,$MINOR,$PATCH
+;
+;Localised Vendor name
+%{"Vendor-EN"}
+;
+; Private key and certificate (unused)
+;
+;* "\u$target.key", "\u$target.cer"
+;
+$ProductId
+; The files to install
+;
+$copy
+__EOF__
+    close PKG;
+
+    print "Created $pkg\n";
+
+    print "Running makesis...\n";
+
+    unlink("$target.sis");
+
+    system("makesis $pkg") == 0
+      || die "$0: makesis $pkg failed: $!\n";
+}
+
+exit(0);
-- 
1.6.1.2


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About