Subject: Funny work, x86_64, sparc64, Solaris10
To: None <tech-pkg@netbsd.org, pkgsrc-users@netbsd.org>
From: Gilles Dauphin <Gilles.Dauphin@enst.fr>
List: pkgsrc-users
Date: 03/28/2006 11:11:07
Hi,

I patch the pkgsrc bootstrap and create 2 new MACHINE_ARCH for Solaris10

- first) x86_64 for amd64 running Solaris10, the bootstrap is available at
  
http://public.enst.fr/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.
10-x86_64-current.tar
  almost 3300 packages are availables at
  http://public.enst.fr/pkgsrc/packages/SunOS-5.10/x86_64/pkgsrc-2005Q4n4/
  and is only 64bits binaries
  
  this is the result of a bulk build:
================================================================================
================  
  pkgsrc bulk build results

SunOS 5.10/x86_64

Summary:

        Build started:                  Wed 22 Mar 2006 03:37:55 PM UTC UTC
        Build ended:                    Sun 26 Mar 2006 08:40:17 AM UTC UTC

        Successfully packaged:          3300
        Packages really broken:         1139
        Pkgs broken due to them:        924
        Total broken:                   2063
        Not packaged:                   396
        Total:                          2459

Packages not listed here resulted in a binary package. The build
report, including logs of failed/not-packaged is available from:

http://public.enst.fr/pkgsrc/pkgstat/SunOS-5.10-20060322.1630/broken.html


Top Ten Offenders

Package                    Breaks  Maintainer
--------------------------------------------------------------
graphics/netpbm            101     adam@NetBSD.org
lang/ruby18-base           78      taca@NetBSD.org
editors/emacs              63      markd@NetBSD.org
lang/python21              44      tech-pkg@NetBSD.org
databases/postgresql80-client 35      jlam@pkgsrc.org
devel/gnustep-objc         28      rh@NetBSD.org
math/R                     27      markd@NetBSD.org
multimedia/gst-plugins0.8  27      rh@NetBSD.org
devel/nspr                 26      mjl@luckie.org.nz
audio/festival             24      tech-pkg@NetBSD.org
================================================================================
======

- second) sparc64 for sparcv9 running Solaris10 the bootstrap is available at
  
http://public.enst.fr/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.
10-sparcv9-current.tar
  a little number of packages ~450 are availables at
  http://public.enst.fr/pkgsrc/packages/SunOS-5.10/sparc64/pkgsrc-2005Q4n4/
  and is only 64bits binaries  This is the result of a step/step build.
  


I do many patches, the starting point is this patch:
----------------------------------------------------------------
--- /net/u2/usr/pkgsrc/bootstrap//bootstrap     Sat Dec 17 18:51:40 2005
+++ ./bootstrap Tue Mar  7 12:54:48 2006
@@ -127,6 +127,15 @@
 
 
                ;;
+       SunOS)
+               # Search the compiler default 32/64
+               unset abi
+               lp64_def=`${CC:-gcc} -E - -dM </dev/null 2>/dev/null | grep 
__LP64__`
+               if [ ! -z "$lp64_def" ] ; then
+                       abi=64
+               fi
+
+               ;;
        esac
 }
 
@@ -382,7 +391,15 @@
        need_sed=yes
        set_opsys=no
        whoamiprog=/usr/ucb/whoami
+       get_abi "SunOS"
+       if [ "X${abi}" = "X64" ] ; then
+               machine_arch=`uname -p | sed -e 's/i86pc/x86_64/' |sed -e 
's/i386/x86_64/' |sed -e 's/s
parc/sparc64/'`
+               bmakexargs="MACHINE_ARCH=$machine_arch"
+       else
        machine_arch=`uname -p | sed -e 's/i86pc/i386/'`
+       fi
+       echo "ABI = $abi"
+       echo "MACHINE_ARCH=$machine_arch"
        ;;
 AIX)
        root_group=system
----------------------------------------------------------------------------

Laughs, comments, helps are welcome ;-)

Gilles