Make pkgbuild set dependencies properly; add buildrepo and uninstall-packages
authorAlex Viskovatoff <herzen@imap.cc>
Mon, 27 Jun 2011 23:37:44 +0100
changeset 6 678173477765
parent 5 f091da4b55b4
child 7 f5f12f417d49
Make pkgbuild set dependencies properly; add buildrepo and uninstall-packages
buildrepo
packages.xml
pkgbuild/patches/distro-redefine-tags.diff
pkgbuild/pkgbuild.spec
specfiles.xsl
uninstall-packages
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildrepo	Mon Jun 27 23:37:44 2011 +0100
@@ -0,0 +1,6 @@
+#!/usr/bin/bash
+mkdir -p ~/logs/$1
+# g++ sometimes picks up libstdcxx4 if it is present
+pfexec pkg uninstall -r stdcxx
+time pkgtool --nonotify --prodname="$2" --report=/export/home/herzen/reports/$1-gcc-first.html --logdir=/export/home/herzen/logs/$1 --autodeps --download build SFEgcc
+time pkgtool --nonotify --prodname="$2" --report=/export/home/herzen/reports/$1.html --logdir=/export/home/herzen/logs/$1 --autodeps --download build `xsltproc ../spec-files-extra-oi/specfiles.xsl ../spec-files-extra-oi/packages.xml`
--- a/packages.xml	Sun Jun 26 19:31:45 2011 +0100
+++ b/packages.xml	Mon Jun 27 23:37:44 2011 +0100
@@ -2,12 +2,6 @@
 <pkgs>
   <!-- Development -->
   <pkg>
-    <name>SFEre2c</name>
-    <ips_package_name>developer/lexer/re2c</ips_package_name>
-    <group>Development/Other Languages</group>
-    <summary>A tool for writing very fast and very flexible text scanners</summary>
-  </pkg>
-  <pkg>
     <name>SFEgmp</name>
     <ips_package_name>system/library/gmp</ips_package_name>
     <group>System/Libraries</group>
@@ -22,7 +16,7 @@
     <ips_package_name>system/library/libmpc</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
-  <pkg>
+  <pkg filename="SFEgcc.spec">
     <!-- This is the "standard" SFE gcc: this package creates
 	 symlinks from /usr/gnu/bin/gcc to /usr/gcc/4.5/bin/gcc,
 	 and analogously for libraries. -->
@@ -40,7 +34,7 @@
       <group>System/Libraries</group>
     </pkg>
   </pkg>
-  <pkg>
+  <pkg filename="SFEgcc-46.spec">
     <name>SFEgcc-46-runtime</name>
     <ips_package_name>system/library/gcc-46-runtime</ips_package_name>
     <group>System/Libraries</group>
@@ -75,7 +69,7 @@
     <ips_package_name>developer/llvm</ips_package_name>
     <group>Development/C</group>
   </pkg>
-  <pkg>
+  <pkg filename="haskell/SFEghc.spec">
     <name>SFEghc</name>
     <ips_package_name>runtime/ghc</ips_package_name>
     <group>Development/Other Languages</group>
@@ -96,23 +90,29 @@
     <group>Development/Other Languages</group>
   </pkg>
   <pkg>
+    <name>SFEre2c</name>
+    <ips_package_name>developer/lexer/re2c</ips_package_name>
+    <group>Development/Other Languages</group>
+    <summary>A tool for writing very fast and very flexible text scanners</summary>
+  </pkg>
+  <pkg skip="true">
     <name>SFEicu</name>
-    <ips_package_name>system/library/icu-stdcxx</ips_package_name>
+    <ips_package_name>library/c++/icu</ips_package_name>
     <group>System/Internationalization</group>
   </pkg>
   <pkg>
     <name>SFEicu-gpp</name>
-    <ips_package_name>system/library/icu-g++</ips_package_name>
+    <ips_package_name>library/g++/icu</ips_package_name>
     <group>System/Internationalization</group>
   </pkg>
-  <pkg>
+  <pkg skip="true">
     <name>SFEboost-stdcxx</name>
-    <ips_package_name>system/library/boost-stdcxx</ips_package_name>
+    <ips_package_name>system/library/c++/boost</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
   <pkg>
     <name>SFEboost-gpp</name>
-    <ips_package_name>system/library/boost-g++</ips_package_name>
+    <ips_package_name>system/library/g++/boost</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
   <pkg>
@@ -131,6 +131,11 @@
     <group>System/Libraries</group>
   </pkg>
   <pkg>
+    <name>SFEgsl</name>
+    <ips_package_name>library/gsl</ips_package_name>
+    <group>System/Libraries</group>
+  </pkg>
+  <pkg>
     <name>SFEblas</name>
     <ips_package_name>library/blas</ips_package_name>
     <group>System/Libraries</group>
@@ -151,12 +156,20 @@
     <ips_package_name>library/libmaa</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
-  <pkg>
+  <pkg filename="perl/SFEperl-xml-parser.spec">
+    <name>SFEperl-xml-parser</name>
+    <ips_package_name>library/perl5/xml-parser</ips_package_name>
+  </pkg>
+  <pkg filename="perl/SFEperl-xml-xpath.spec">
+    <name>SFEperl-xml-xpath</name>
+    <ips_package_name>library/perl5/xml-xpath</ips_package_name>
+  </pkg>
+  <pkg filename="perl/SFEperl-uri.spec">
     <name>SFEperl-uri</name>
     <ips_package_name>library/perl-5/uri</ips_package_name>
     <group>Development/Perl</group>
   </pkg>
-  <pkg>
+  <pkg filename="perl/SFEperl-tk.spec">
     <name>SFEperl-tk</name>
     <ips_package_name>library/perl-5/tk</ips_package_name>
     <group>Development/Perl</group>
@@ -219,6 +232,7 @@
   </pkg>
   <pkg>
     <name>SFElv</name>
+    <ips_package_name>text/lv</ips_package_name>
     <group>System/Text Tools</group>
   </pkg>
 
@@ -280,10 +294,12 @@
   </pkg>
   <pkg>
     <name>SFEeditline</name>
+    <ips_package_name>library/editline</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
   <pkg>
     <name>SFEpostgres-90</name>
+    <ips_package_name>database/postgres-90</ips_package_name>
     <group>System/Databases</group>
   </pkg>
   <pkg>
@@ -344,7 +360,7 @@
   </pkg>
   <pkg>
     <name>SFExerces-c-gpp</name>
-    <ips_package_name>library/xerces-g++</ips_package_name>
+    <ips_package_name>library/g++/xerces</ips_package_name>
   </pkg>
   <pkg>
     <name>SFElzo</name>
@@ -365,7 +381,7 @@
   </pkg>
   <pkg>
     <name>SFEqt47-gpp</name>
-    <ips_package_name>library/desktop/c++/qt-g++</ips_package_name>
+    <ips_package_name>library/desktop/g++/qt</ips_package_name>
     <group>Desktop (GNOME)/Libraries</group>
   </pkg>
   <pkg>
@@ -661,7 +677,7 @@
   <!-- Currently, mkvtoolnix only links statically to libebml and libmatroska -->
   <pkg skip="true">
     <name>SFElibebml</name>
-    <ips_package_name>system/library/libebml</ips_package_name>
+    <ips_package_name>library/libebml</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
   <pkg skip="true">
@@ -840,6 +856,11 @@
     <summary>SMTP client for sending to a smart host</summary>
   </pkg>
   <pkg>
+    <name>SFEbogofilter</name>
+    <ips_package_name>mail/bogofilter</ips_package_name>
+    <group>Applications/Internet</group>
+  </pkg>
+  <pkg>
     <name>SFEalpine</name>
     <ips_package_name>mail/alpine</ips_package_name>
     <group>Applications/Internet</group>
@@ -933,8 +954,8 @@
     <group>Desktop (GNOME)/Libraries</group>
   </pkg>
   <pkg>
-    <name>SFEwxwidgets-gnu</name>
-    <ips_package_name>library/graphics/wxwidgets-g++</ips_package_name>
+    <name>SFEwxwidgets-gpp</name>
+    <ips_package_name>library/desktop/g++/wxwidgets</ips_package_name>
   </pkg>
   <pkg>
     <name>SFEopenbox</name>
--- a/pkgbuild/patches/distro-redefine-tags.diff	Sun Jun 26 19:31:45 2011 +0100
+++ b/pkgbuild/patches/distro-redefine-tags.diff	Mon Jun 27 23:37:44 2011 +0100
@@ -93,3 +93,21 @@
      $line = $self->_get_next_line ($fhandle);
      if (defined ($line)) {
  	return $self->_process_top_level ($fhandle, $line);
+--- pkgbuild-1.3.103/pkgdb.pm.in.orig	2011-06-26 22:13:37.000000000 +0100
++++ pkgbuild-1.3.103/pkgdb.pm.in	2011-06-27 19:53:05.075770939 +0100
+@@ -408,6 +408,15 @@
+ 	return $self->{ips_pkgname_cache}->{$pkg};
+     }
+ 
++    # See if the package name is redefined in packages.xml
++    {
++	my $tags = rpm_spec::get_distro_tags "pkgs/pkg[string(name)=\'$pkg\']/ips_package_name";
++	if (@$tags) {
++	    $self->msg_info (0, "Package $pkg was renamed to @$tags[1]");
++	    return @$tags[1];
++	}
++    }
++
+     # No local package found, search remote repos
+     if (not $search_remote) {
+ 	$self->msg_info (0, "No local match found for $pkg, searching remote repos");
--- a/pkgbuild/pkgbuild.spec	Sun Jun 26 19:31:45 2011 +0100
+++ b/pkgbuild/pkgbuild.spec	Mon Jun 27 23:37:44 2011 +0100
@@ -113,6 +113,9 @@
 %{_mandir}
 
 %changelog
+* Mon Jun 27 2911 - Alex Viskovatoff <[email protected]>
+- add patch to correctly set dependencies on renamed SFE packages
+  to distro-redefine-tags.diff 
 * Sat Jun 25 2011 - Alex Viskovatoff <[email protected]>
 - set facet.<name> tag correctly
 * Wed Jun 22 2011 - Alex Viskovatoff <[email protected]>
--- a/specfiles.xsl	Sun Jun 26 19:31:45 2011 +0100
+++ b/specfiles.xsl	Mon Jun 27 23:37:44 2011 +0100
@@ -12,8 +12,15 @@
   <xsl:template match="pkg">
     <xsl:if test="(not(@skip='true'))">
        <xsl:if test="($encumbered='true' and @encumbered='true') or ($encumbered!='true' and not(@encumbered='true'))">
-         <xsl:value-of select="./name"/>
-         <xsl:text>.spec</xsl:text>
+	 <xsl:choose>
+	   <xsl:when test="@filename">
+	     <xsl:value-of select="@filename"/>
+	   </xsl:when>
+	   <xsl:otherwise>
+	     <xsl:value-of select="./name"/>
+	     <xsl:text>.spec</xsl:text>
+	   </xsl:otherwise>
+	 </xsl:choose>
          <xsl:text>
 </xsl:text>
        </xsl:if>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uninstall-packages	Mon Jun 27 23:37:44 2011 +0100
@@ -0,0 +1,10 @@
+#!/usr/bin/bash
+pfexec pkg uninstall pkg://sfebuild/codec/* pkg://sfebuild/compress/* \
+pkg://sfebuild/database/* pkg://sfebuild/desktop/* pkg://sfebuild/developer/* \
+pkg://sfebuild/diagnostic/* pkg://sfebuild/editor/* pkg://sfebuild/file/* \
+pkg://sfebuild/games/* pkg://sfebuild/gnome/* pkg://sfebuild/image/* \
+pkg://sfebuild/library/* pkg://sfebuild/lxde/* pkg://sfebuild/mail/* \
+pkg://sfebuild/media/* pkg://sfebuild/network/* pkg://sfebuild/runtime/* \
+pkg://sfebuild/service/* pkg://sfebuild/shell/* pkg://sfebuild/storage/* \
+pkg://sfebuild/system/* pkg://sfebuild/terminal/* pkg://sfebuild/text/* \
+pkg://sfebuild/web/* pkg://sfebuild/xfce/* pkg://sfebuild/package/*