Make pkgbuild recognize runtime/gcc as satisfied build dependency
authorAlex Viskovatoff <herzen@imap.cc>
Sun, 17 Jul 2011 03:06:02 +0100
changeset 11 7002e18f9aec
parent 10 013ce4d15ea3
child 12 41df35aa50a5
Make pkgbuild recognize runtime/gcc as satisfied build dependency Add getcopyright.py
getcopyright.py
packages.xml
pkgbuild/patches/distro-redefine-tags.diff
pkgbuild/pkgbuild.spec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getcopyright.py	Sun Jul 17 03:06:02 2011 +0100
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+# A script to fetch copyright files from debian server.
+# Author : N.B.Prashanth
+
+import sys
+import urllib
+
+def process(prog):
+
+	if(prog[0]=='l'):
+		s=prog[:4]
+		url = "http://packages.debian.org/changelogs/pool/main/"+s+"/"+prog+"/current/copyright"
+		res = urllib.urlopen(url).read()
+		if(res[0:50]=='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'):
+			s='l'
+			url = "http://packages.debian.org/changelogs/pool/main/"+s+"/"+prog+"/current/copyright"
+			res = urllib.urlopen(url).read()
+			print res
+		else:
+			print res
+			
+	else:
+		s=prog[0]
+		url = "http://packages.debian.org/changelogs/pool/main/"+s+"/"+prog+"/current/copyright"
+		res = urllib.urlopen(url).read()
+		if(res[0:50]=='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'):
+			sys.stderr.write('Error : Failed to fetch file.\n')
+		else:
+			print res
+
+
+def main():
+    if len(sys.argv) == 1:
+        print "Get Copyrights from Debian"
+        print "Usage: %s <Program>" % sys.argv[0]
+        sys.exit(-1)
+
+    for prog in sys.argv[1:]:
+	process(prog)
+
+if __name__ == "__main__":
+    main()
--- a/packages.xml	Wed Jul 06 03:54:09 2011 +0100
+++ b/packages.xml	Sun Jul 17 03:06:02 2011 +0100
@@ -22,12 +22,12 @@
 	 and analogously for libraries. -->
     <name>SFEgccruntime</name>
     <ips_package_name>runtime/gcc</ips_package_name>
-    <group>System/Libraries</group>
+    <group>Development/C</group>
   </pkg>
   <pkg filename="SFEgcc-46.spec">
     <name>SFEgcc-46-runtime</name>
     <ips_package_name>runtime/gcc-46</ips_package_name>
-    <group>System/Libraries</group>
+    <group>Development/C</group>
   </pkg>
   <pkg>
     <name>SFEyasm</name>
@@ -75,6 +75,11 @@
     <group>Development/Perl</group>
   </pkg>
   <pkg>
+    <name>SFEqemu.spec</name>
+    <ips_package_name>runtime/qemu</ips_package_name>
+    <group>System/Virtualization</group>
+  </pkg>
+  <pkg>
     <name>SFEpython3</name>
     <ips_package_name>runtime/python-32</ips_package_name>
   </pkg>
@@ -109,6 +114,11 @@
     <ips_package_name>system/library/g++/boost</ips_package_name>
     <group>System/Libraries</group>
   </pkg>
+  <pkg skip="true"> <!-- Not clear why jurikm created this: it's in the system -->
+    <name>SFElibgc</name>
+    <ips_package_name>library/gc</ips_package_name>
+    <group>Development/C++</group>
+  </pkg>
   <pkg>
     <name>SFEorc</name>
     <ips_package_name>system/library/orc</ips_package_name>
@@ -159,11 +169,11 @@
   <!-- Perl modules -->
   <pkg>
     <name>SFEperl-xml-parser</name>
-    <ips_package_name>library/perl5/xml-parser</ips_package_name>
+    <ips_package_name>library/perl-5/xml-parser</ips_package_name>
   </pkg>
   <pkg>
     <name>SFEperl-xml-xpath</name>
-    <ips_package_name>library/perl5/xml-xpath</ips_package_name>
+    <ips_package_name>library/perl-5/xml-xpath</ips_package_name>
   </pkg>
   <pkg>
     <name>SFEperl-uri</name>
@@ -709,11 +719,19 @@
     <ips_package_name>library/video/liveMedia</ips_package_name>
     <group>System/Multimedia Libraries</group>
   </pkg>
-  <pkg encumbered="true">
+  <pkg encumbered="true" filename="encumbered/SFEffmpeg-sse2-only.spec">
     <name>SFEffmpeg</name>
     <ips_package_name>library/video/ffmpeg</ips_package_name>
+  </pkg>
+  <pkg>
+    <name>SFEliveMedia</name>
+    <ips_package_name>library/video/liveMedia</ips_package_name>
     <group>System/Multimedia Libraries</group>
   </pkg>
+  <pkg>
+    <name>SFElibass</name>
+    <ips_package_name>library/video/libass</ips_package_name>
+  </pkg>
   <pkg encumbered="true">
     <name>SFEmplayer</name>
     <ips_package_name>media/mplayer</ips_package_name>
@@ -726,7 +744,7 @@
     <ips_package_name>media/mplayer2</ips_package_name>
     <group>Applications/Sound and Video</group>
   </pkg>
-  <pkg encumbered="true">
+  <pkg encumbered="true" filename="encumbered/SFEmplayer-snap.spec">
     <name>SFEsmplayer</name>
     <ips_package_name>media/smplayer</ips_package_name>
     <group>Applications/Sound and Video</group>
@@ -952,6 +970,11 @@
     <group>Applications/System Utilities</group>
   </pkg>
   <pkg>
+    <name>SFEclamav</name>
+    <ips_package_name>diagnostic/clamav</ips_package_name>
+    <group>Applications/System Utilities</group>
+  </pkg>
+  <pkg>
     <name>SFEscalpel</name>
     <ips_package_name>file/scalpel</ips_package_name>
     <group>Applications/System Utilities</group>
@@ -1044,13 +1067,24 @@
     <summary>ICAP server implementation</summary>
   </pkg>
   <pkg>
+    <name>SFEc-icap-modules</name>
+    <ips_package_name>web/proxy/c-icap/modules</ips_package_name>
+    <group>Web Services/Application and Web Servers</group>
+    <summary>Modules for the C-ICAP server</summary>
+  </pkg>
+  <pkg>
     <name>SFExchat</name>
     <ips_package_name>desktop/irc/xchat</ips_package_name>
     <group>Applications/Internet</group>
   </pkg>
   <pkg>
     <name>SFEweechat</name>
-    <ips_package_name>desktop/irc/weechat</ips_package_name>
+    <ips_package_name>communication/irc/weechat</ips_package_name>
+    <group>Applications/Internet</group>
+  </pkg>
+  <pkg>
+    <name>SFEgajim</name>
+    <ips_package_name>communication/jabber/gajim</ips_package_name>
     <group>Applications/Internet</group>
   </pkg>
 
@@ -1074,6 +1108,18 @@
     <summary>A lockdown editor for GNOME</summary>
   </pkg>
   <pkg>
+    <name>SFEfvwm</name>
+    <ips_package_name>desktop/window-manager/fvwm</ips_package_name>
+    <group>Desktop (GNOME)/Window Managers</group>
+    <summary>F Virtual Window Manager</summary>
+  </pkg>
+  <pkg>
+    <name>SFEfvwmthemes</name>
+    <ips_package_name>desktop/window-manager/fvwm/themes</ips_package_name>
+    <group>Desktop (GNOME)/Window Managers</group>
+    <summary>F Virtual Window Manager</summary>
+  </pkg>
+  <pkg>
     <name>SFEemerald</name>
     <ips_package_name>desktop/window-manager/emerald</ips_package_name>
     <group>Desktop (GNOME)/Window Managers</group>
@@ -1084,6 +1130,11 @@
     <group>Desktop (GNOME)/Libraries</group>
   </pkg>
   <pkg>
+    <name>SFElibstroke</name>
+    <ips_package_name>library/desktop/libstroke</ips_package_name>
+    <group>Desktop (GNOME)/Libraries</group>
+  </pkg>
+  <pkg>
     <name>SFEfltk2</name>
     <ips_package_name>library/desktop/fltk</ips_package_name>
     <group>Desktop (GNOME)/Libraries</group>
--- a/pkgbuild/patches/distro-redefine-tags.diff	Wed Jul 06 03:54:09 2011 +0100
+++ b/pkgbuild/patches/distro-redefine-tags.diff	Sun Jul 17 03:06:02 2011 +0100
@@ -1,3 +1,7 @@
+Patch which maps package names into ips_package_name s using an XML file
+created for that purpose, and sets ips_package_name tags and some other tags
+Author: Alex Viskovatoff
+
 --- pkgbuild-1.3.103/rpm_spec.pm.in.orig	2011-05-30 03:08:52.363950094 +0100
 +++ pkgbuild-1.3.103/rpm_spec.pm.in	2011-06-20 10:45:55.986089124 +0100
 @@ -35,6 +35,7 @@
@@ -111,9 +115,21 @@
      # search for local or remote matches using pkg search
  
      # file2pkgs works for package names, too
---- pkgbuild-1.3.103/pkgtool.pl.orig	2010-07-14 12:03:12.000000000 +0100
-+++ pkgbuild-1.3.103/pkgtool.pl	2011-07-05 23:15:28.904754627 +0100
-@@ -1787,7 +1787,17 @@
+--- pkgbuild-1.3.103/pkgbuild.pl.in.orig	2011-07-15 21:02:29.995480319 +0100
++++ pkgbuild-1.3.103/pkgbuild.pl.in	2011-07-15 21:12:32.710904206 +0100
+@@ -613,6 +613,9 @@
+ 	foreach my $req (@reqss) {
+ 	    next if not defined $req;
+ 	    check_dep ($spec, $req) or
++# SFEgcc does not map into anything in the new naming scheme, since
++# the main package is SFEgccruntime, so treat it as a special case
++		$req eq "SFEgcc" or
+ 		message ("error: $req is required to build " .
+ 			 $spec), return 0;
+ 	}
+--- pkgbuild-1.3.103/pkgtool.pl.orig	2011-07-15 21:02:29.991878050 +0100
++++ pkgbuild-1.3.103/pkgtool.pl	2011-07-15 21:04:56.339362998 +0100
+@@ -1895,7 +1895,17 @@
  	@this_pkg_requires = $pkg->get_array ('buildrequires');
  	next if not @this_pkg_requires or not defined $this_pkg_requires[0];
  	msg_debug (3, "adding \"@this_pkg_requires\" to the dependencies of $spec");
--- a/pkgbuild/pkgbuild.spec	Wed Jul 06 03:54:09 2011 +0100
+++ b/pkgbuild/pkgbuild.spec	Sun Jul 17 03:06:02 2011 +0100
@@ -15,6 +15,7 @@
 
 %define srcname pkgbuild
 %define _pkg_docdir %_docdir/%srcname
+%include packagenamemacros.inc
 
 Name:         SFEpkgbuild
 IPS_Package_Name: package/pkgbuild
@@ -58,7 +59,7 @@
 
 %ifos Solaris
 Requires:     SUNWbash
-Requires:     SUNWperl510core
+Requires:     %pnm_requires_perl_default
 Requires:     library/perl-5/xml-xpath
 Requires:     SUNWgpch
 %else
@@ -86,6 +87,7 @@
 # patch to make pkgbuild recognize xz compressed archives
 %patch5
 %patch6 -p1
+# patch to get IPS_package_name tags from packages.xml and set them
 %patch7 -p1
 # stop pkgtool from building source packages
 # Originally, pkgtool called pkgbuild with -bb, not -ba. Really, an option controlling this should be added.