0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
1 |
diff -urN desktop-cbe-mini-1.8.0.orig/mini-cbe-install desktop-cbe-mini-1.8.0/mini-cbe-install
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
2 |
--- desktop-cbe-mini-1.8.0.orig/mini-cbe-install 2011-05-06 15:14:34.000000000 +0200
|
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
3 |
+++ desktop-cbe-mini-1.8.0/mini-cbe-install 2011-05-06 15:16:46.000000000 +0200
|
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
4 |
@@ -919,8 +919,11 @@
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
5 |
msg "Please be patient, this may take a couple of minutes."
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
6 |
logrun mkdir -p $tmp_build_dir/packages/SOURCES || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
7 |
logrun ln -s $tardir/pkgbuild-$PKGBUILD_VERSION.tar.bz2 $tmp_build_dir/packages/SOURCES/ || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
8 |
+ logrun cp $mydir/patches/pkgbuild-*.patch $tmp_build_dir/packages/SOURCES/ || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
9 |
+ logrun patch -p1 < $mydir/pkgbuild-add-patches.patch || return 1
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
10 |
+ logrun bash -c 'perl_package="$(pkg search -l -H -o pkg.name "link::/usr/bin/perl OR file::/usr/bin/perl" 2>/dev/null)"; sed "s|^Requires: SUNWperl584core|Requires: ${perl_package:-SUNWperl584core}|" pkgbuild.spec > pkgbuild.spec.$$ && mv pkgbuild.spec.$$ pkgbuild.spec' || return 1
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
11 |
logrun cp -pr $tmp_build_dir/src/pkgbuild-$PKGBUILD_VERSION/COPYING $tmp_build_dir/packages/SOURCES/gpl-2.0.txt || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
12 |
- logrun_quiet bash -c "$tmp_build_dir/bin/pkgtool --src $tmp_build_dir/packages/SOURCES --nonotify --define \"pkgbuild_prefix /usr\" --define \"_topdir $tmp_build_dir/packages\" build --update-if-newer $tmp_build_dir/src/pkgbuild-$PKGBUILD_VERSION/pkgbuild.spec" || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
13 |
+ logrun_quiet bash -c "$tmp_build_dir/bin/pkgtool --src $tmp_build_dir/packages/SOURCES --patches $tmp_build_dir/packages/SOURCES --nonotify --define \"pkgbuild_prefix /usr\" --define \"_topdir $tmp_build_dir/packages\" build --update-if-newer $tmp_build_dir/src/pkgbuild-$PKGBUILD_VERSION/pkgbuild.spec" || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
14 |
pkgbuild_topdir=`/usr/bin/pkgbuild -bp /usr/lib/pkgbuild-$PKGBUILD_VERSION/get_rpm_topdir 2>&1 | grep '^TOPDIR=' | cut -f2- -d=`
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
15 |
logrun mkdir -p "$rootdir/$pkgbuild_topdir/PKGS" "$rootdir/$pkgbuild_topdir/SPKGS"
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
16 |
cd /tmp || return 1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
17 |
diff -urN desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-01-add-unknown-dependencies.patch desktop-cbe-mini-1.8.0/patches/pkgbuild-01-add-unknown-dependencies.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
18 |
--- desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-01-add-unknown-dependencies.patch 1970-01-01 01:00:00.000000000 +0100
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
19 |
+++ desktop-cbe-mini-1.8.0/patches/pkgbuild-01-add-unknown-dependencies.patch 2011-05-06 15:15:00.000000000 +0200
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
20 |
@@ -0,0 +1,13 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
21 |
+diff -ur pkgbuild-1.3.103.orig/pkgbuild.pl.in pkgbuild-1.3.103/pkgbuild.pl.in
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
22 |
+--- pkgbuild-1.3.103.orig/pkgbuild.pl.in 2010-07-12 04:56:34.000000000 +0200
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
23 |
++++ pkgbuild-1.3.103/pkgbuild.pl.in 2010-10-24 11:47:20.000000000 +0200
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
24 |
+@@ -995,7 +995,8 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
25 |
+ if (defined ($pkg) and defined($pkgname)) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
26 |
+ print $fhandle "P $pkg $pkgname\n";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
27 |
+ } else {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
28 |
+- print "WARNING: omitting $dep from the SVr4 depend file\n";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
29 |
++ print "WARNING: unknown dependency $dep\n";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
30 |
++ print $fhandle "P $dep\n";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
31 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
32 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
33 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
34 |
diff -urN desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-02-nopkg.patch desktop-cbe-mini-1.8.0/patches/pkgbuild-02-nopkg.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
35 |
--- desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-02-nopkg.patch 1970-01-01 01:00:00.000000000 +0100
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
36 |
+++ desktop-cbe-mini-1.8.0/patches/pkgbuild-02-nopkg.patch 2011-05-06 15:15:00.000000000 +0200
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
37 |
@@ -0,0 +1,182 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
38 |
+diff -ur pkgbuild-1.3.103.orig/pkgtool.pl pkgbuild-1.3.103/pkgtool.pl
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
39 |
+--- pkgbuild-1.3.103.orig/pkgtool.pl 2010-07-14 13:03:12.000000000 +0200
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
40 |
++++ pkgbuild-1.3.103/pkgtool.pl 2010-11-02 13:44:16.000000000 +0100
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
41 |
+@@ -98,6 +98,7 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
42 |
+ # Which package mechanism are we going to install by default?
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
43 |
+ my $ips;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
44 |
+ my $svr4;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
45 |
++my $nopkg;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
46 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
47 |
+ sub process_defaults () {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
48 |
+ my $default_spec_dir = "$topdir/SPECS";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
49 |
+@@ -363,9 +364,11 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
50 |
+ (defined ($ips_utils) and $ips_utils->is_depotd_enabled())) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
51 |
+ $ips = 1;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
52 |
+ $svr4 = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
53 |
++ $nopkg = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
54 |
+ } else {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
55 |
+ $ips = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
56 |
+ $svr4 = 1;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
57 |
++ $nopkg = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
58 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
59 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
60 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
61 |
+@@ -764,12 +767,22 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
62 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
63 |
+ $ips = shift;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
64 |
+ $svr4 = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
65 |
++ $nopkg = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
66 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
67 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
68 |
+ sub set_svr4($) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
69 |
+ msg_info (0,"SVr4 packages will be installed by default");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
70 |
+ $svr4 = shift;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
71 |
+ $ips = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
72 |
++ $nopkg = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
73 |
++}
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
74 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
75 |
++sub set_nopkg($) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
76 |
++ msg_info (0,"Packages will be copied into the filesystem without using a package system");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
77 |
++ msg_warning (0,"This may break your system!");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
78 |
++ $ips = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
79 |
++ $svr4 = undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
80 |
++ $nopkg = shift;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
81 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
82 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
83 |
+ sub process_options {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
84 |
+@@ -868,6 +881,7 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
85 |
+ },
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
86 |
+ 'ips' => sub { set_ips(1); },
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
87 |
+ 'svr4' => sub { set_svr4(1); },
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
88 |
++ 'nopkg' => sub { set_nopkg(1); },
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
89 |
+ 'rmlog' => sub { shift; $defaults->set ('rmlog', shift); },
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
90 |
+ '<>' => \&process_args);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
91 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
92 |
+@@ -945,6 +959,11 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
93 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
94 |
+ Install SVr4 packages by default.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
95 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
96 |
++ --nopkg
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
97 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
98 |
++ Don't install any packages, simply copy the files.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
99 |
++ WARNING: This may break your system!
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
100 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
101 |
+ --rmlog
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
102 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
103 |
+ Automatically remove the log file with each build
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
104 |
+@@ -1511,6 +1530,95 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
105 |
+ return 1;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
106 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
107 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
108 |
++sub install_pkgs_nopkg ($) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
109 |
++ my $spec_id = shift;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
110 |
++ my $spec = $specs_to_build[$spec_id];
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
111 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
112 |
++ my @pkgs = $spec->get_package_names ($ds);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
113 |
++ my $verbose = $defaults->get ('verbose');
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
114 |
++ if ($verbose > 0) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
115 |
++ map msg_info (0, "Installing $_\n"), @pkgs;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
116 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
117 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
118 |
++ my $pkgsdir = $spec->get_value_of ("_topdir") . "/PKGS";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
119 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
120 |
++ my $adminfile = "/tmp/pkg.admin.$$";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
121 |
++ make_admin_file ($adminfile);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
122 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
123 |
++# FIXME: should install in dependency order
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
124 |
++ foreach my $pkg (@pkgs) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
125 |
++ my $msg;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
126 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
127 |
++ # Only install SVr4 package if --svr4 is defined
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
128 |
++ if (defined $nopkg) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
129 |
++ my $nopkgdir = "/tmp/.pkgtool-pkg.tmp.$$";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
130 |
++ if (-e $nopkgdir) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
131 |
++ `rm -rf $nopkgdir`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
132 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
133 |
++ `mkdir $nopkgdir`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
134 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
135 |
++ if (defined ($ds)) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
136 |
++ $msg=`/usr/bin/pkgtrans $pkgsdir/$pkg $nopkgdir all 2>&1`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
137 |
++ } else {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
138 |
++ $msg=`/usr/bin/pkgtrans $pkgsdir $nopkgdir $pkg 2>&1`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
139 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
140 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
141 |
++ if ($? > 0) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
142 |
++ unlink ($adminfile);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
143 |
++ msg_error "failed to install package: $msg";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
144 |
++ $build_status[$spec_id] = 'FAILED';
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
145 |
++ $status_details[$spec_id] = $msg;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
146 |
++ return 0;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
147 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
148 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
149 |
++ my $basedir = `grep '^BASEDIR=' $nopkgdir/$pkg/pkginfo |cut -d = -f 2`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
150 |
++ chomp $basedir;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
151 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
152 |
++ my $pkgmap = `cat $nopkgdir/$pkg/pkgmap`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
153 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
154 |
++ # Install directories first.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
155 |
++ while ($pkgmap =~ /^\S+ [dx] \S+ (\S+) (\S+)/mg) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
156 |
++ my ($path, $mode) = ($1, $2);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
157 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
158 |
++ if (! -d "$basedir/$path") {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
159 |
++ `pfexec mkdir -m $mode -p $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
160 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
161 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
162 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
163 |
++ # Install files. Skip editable/volatile files that already exist.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
164 |
++ while ($pkgmap =~ /^\S+ ([fev]) \S+ (\S+) (\S+)/mg) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
165 |
++ my ($type, $path, $mode) = ($1, $2, $3);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
166 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
167 |
++ if ($type !~ /^[ev]$/ || ! -e "$basedir/$path") {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
168 |
++ `pfexec cp -Ppf $nopkgdir/$pkg/reloc/$path $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
169 |
++ `pfexec chmod $mode $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
170 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
171 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
172 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
173 |
++ # Install links.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
174 |
++ while ($pkgmap =~ /^\S+ ([sl]) \S+ (\S+)=(\S+)/mg) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
175 |
++ my ($type, $path, $dest) = ($1, $2, $3);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
176 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
177 |
++ # Make sure the last argument to ln won't be interpreted as a
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
178 |
++ # directory name by removing existing directories and symlinks
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
179 |
++ # to directories first.
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
180 |
++ if (-e "$basedir/$path") {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
181 |
++ `pfexec rm -rf $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
182 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
183 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
184 |
++ if ($type eq 'l') {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
185 |
++ `pfexec ln -f $dest $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
186 |
++ } else {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
187 |
++ `pfexec ln -sf $dest $basedir/$path`;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
188 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
189 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
190 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
191 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
192 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
193 |
++ unlink ($adminfile);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
194 |
++ return 1;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
195 |
++}
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
196 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
197 |
+ my %all_incorporations;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
198 |
+ my %incorporated;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
199 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
200 |
+@@ -2594,6 +2702,8 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
201 |
+ install_pkgs_ips ($spec_id) || return 0;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
202 |
+ } elsif (defined ($svr4)) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
203 |
+ install_pkgs_svr4 ($spec_id) || return 0;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
204 |
++ } elsif (defined ($nopkg)) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
205 |
++ install_pkgs_nopkg ($spec_id) || return 0;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
206 |
+ } else {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
207 |
+ msg_error ("Internal error: either IPS or SVr4 should be selected");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
208 |
+ return 0;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
209 |
+@@ -2673,6 +2783,10 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
210 |
+ $the_command = "$the_command --nodeps";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
211 |
+ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
212 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
213 |
++ if ($nopkg) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
214 |
++ $the_command = "$the_command --nodeps";
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
215 |
++ }
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
216 |
++
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
217 |
+ # FIXME: ExclusiveArch?
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
218 |
+ my $rpm_target = $defaults->get ('target');
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
219 |
+ if (defined($rpm_target)) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
220 |
diff -urN desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-03-forcefully-copy-docs.patch desktop-cbe-mini-1.8.0/patches/pkgbuild-03-forcefully-copy-docs.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
221 |
--- desktop-cbe-mini-1.8.0.orig/patches/pkgbuild-03-forcefully-copy-docs.patch 1970-01-01 01:00:00.000000000 +0100
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
222 |
+++ desktop-cbe-mini-1.8.0/patches/pkgbuild-03-forcefully-copy-docs.patch 2011-05-06 15:15:00.000000000 +0200
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
223 |
@@ -0,0 +1,13 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
224 |
+diff -ur pkgbuild-1.3.103.orig/pkgbuild.pl.in pkgbuild-1.3.103/pkgbuild.pl.in
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
225 |
+--- pkgbuild-1.3.103.orig/pkgbuild.pl.in 2010-11-02 13:39:24.000000000 +0100
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
226 |
++++ pkgbuild-1.3.103/pkgbuild.pl.in 2010-11-02 13:46:09.000000000 +0100
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
227 |
+@@ -1172,7 +1172,7 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
228 |
+ # %doc foo/bar/COPYING
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
229 |
+ my $fname_basedir = dirname ($fname);
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
230 |
+ mkdir_p ("./$basedir/$docdir/$fname_basedir") or fatal ("Failed to create directory $mydir/$docdir/$fname_basedir");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
231 |
+- system ("cp -p '$blddir/$bsdirname/$doc_subdir$fname' './$basedir/$docdir/$fname_basedir'");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
232 |
++ system ("cp -fp '$blddir/$bsdirname/$doc_subdir$fname' './$basedir/$docdir/$fname_basedir'");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
233 |
+ if ($? != 0) {
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
234 |
+ fatal ("ERROR: failed to copy $fname to $mydir/$basedir/$docdir/$fname_basedir");
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
235 |
+ return undef;
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
236 |
+Only in pkgbuild-1.3.103: pkgbuild.pl.in.orig
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
237 |
diff -urN desktop-cbe-mini-1.8.0.orig/pkgbuild-add-patches.patch desktop-cbe-mini-1.8.0/pkgbuild-add-patches.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
238 |
--- desktop-cbe-mini-1.8.0.orig/pkgbuild-add-patches.patch 1970-01-01 01:00:00.000000000 +0100
|
4
d4aca3627be2
monkey-patch the correct perl dependency into pkgbuild.spec
Guido Berhoerster <gber@openindiana.org>
diff
changeset
|
239 |
+++ desktop-cbe-mini-1.8.0/pkgbuild-add-patches.patch 2011-05-06 15:15:00.000000000 +0200
|
0
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
240 |
@@ -0,0 +1,23 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
241 |
+diff -ur pkgbuild-1.3.103.orig/pkgbuild.spec pkgbuild-1.3.103/pkgbuild.spec
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
242 |
+--- pkgbuild-1.3.103.orig/pkgbuild.spec 2010-07-14 12:53:27.000000000 +0200
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
243 |
++++ pkgbuild-1.3.103/pkgbuild.spec 2010-11-02 13:54:32.000000000 +0100
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
244 |
+@@ -16,6 +16,9 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
245 |
+ Vendor: OpenSolaris Community
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
246 |
+ Summary: pkgbuild - rpmbuild-like tool for building Solaris packages
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
247 |
+ Source: http://prdownloads.sourceforge.net/pkgbuild/pkgbuild-%{version}.tar.bz2
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
248 |
++Patch1: pkgbuild-01-add-unknown-dependencies.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
249 |
++Patch2: pkgbuild-02-nopkg.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
250 |
++Patch3: pkgbuild-03-forcefully-copy-docs.patch
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
251 |
+ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
252 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
253 |
+ %if %_is_pkgbuild
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
254 |
+@@ -45,6 +48,9 @@
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
255 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
256 |
+ %prep
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
257 |
+ %setup -q -n pkgbuild-%version
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
258 |
++%patch1 -p1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
259 |
++%patch2 -p1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
260 |
++%patch3 -p1
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
261 |
+
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
262 |
+ %build
|
Guido Berhoerster <guido@berhoerster.name>
parents:
diff
changeset
|
263 |
+ ./configure --prefix=%{pkgbuild_prefix}
|