Hi All, First off, I just wanted to say how enjoyable I've found IPS to use, and wanted to say a big thanks to the pkg team for their efforts. I've been using it a lot over the past 6 months.
I decided I wanted to deploy IPS on Solaris 10, as the day job still has a large cluster of said boxes, so I built it, and I've just blogged about the process. I wanted to share this link and provide some feedback so others seeking to do the same find the process a bit easier: http://blogs.everycity.co.uk/alasdair/2011/01/building-ips-pkg5-on-solaris-10/ It was quite a journey, and took the best part of 2 days to achieve. My understanding is that one of the original design goals of IPS was for it to be cross-platform, and of course Webstack 1.5 for Solaris 10 shipped in an IPS format with a mini pkg5 install based on Python 2.4. But is cross-platform support still a design consideration? Is any QA being done with pkg5 on Solaris 10? The reason I ask is that pkg5 now has quite a lot of dependencies on stuff not present or too old in Solaris 10 to build out of the box. I don't mind dependencies, dependencies are okay (even if they are a major PITA to fulfil on Solaris 10 given how many of them there are). But I did encounter some issues that could probably be addressed within the pkg build system itself. First, when building M2Crypto, pkg5 assumes patch is GNU patch. Obviously on Solaris 10, /usr/bin/patch doesn't support the GNU options, so /usr/bin/gpatch has to be used. That's an easy fix. Secondly, M2Crypto uses SWIG to generate python bindings for functions in OpenSSL. One of those is ENGINE_load_openssl, which isn't present in OpenSSL on Solaris 10. Fixing this is fairly easy, the patch is: # pwd /root/pkg-gate/src/patch/M2Crypto # cat pkg-gate_m2c.patch --- SWIG/_engine.i.orig 2011-01-22 23:32:17.583271086 +0000 +++ SWIG/_engine.i 2011-01-22 23:32:50.478960838 +0000 @@ -26,9 +26,6 @@ %rename(engine_load_dynamic) ENGINE_load_dynamic; extern void ENGINE_load_dynamic(void); -%rename(engine_load_openssl) ENGINE_load_openssl; -extern void ENGINE_load_openssl(void); - %rename(engine_cleanup) ENGINE_cleanup; extern void ENGINE_cleanup(void); Thirdly, M2Crypto ignores CFLAGS set in the environment (or they're cleared by the pkg5 build process) and looks for the OpenSSL includes in the wrong place on Solaris 10. This isn't a general fix as it'll stop it building on other platforms, but you get the idea: # cat setup.patch --- setup.py.orig 2011-01-22 23:49:21.466821165 +0000 +++ setup.py 2011-01-22 23:49:32.286055614 +0000 @@ -40,7 +40,7 @@ self.openssl = 'c:\\pkg' else: self.libraries = ['ssl', 'crypto'] - self.openssl = '/usr' + self.openssl = '/usr/sfw' def finalize_options(self): I think those are the main things. If the pkg team is interested in committing these fixes to to the gate, and would like a proper patch for the patch issue and OpenSSL include path, let me know and I'll do one. I'd also appreciate any feedback, tips or info relating to IPS on Solaris 10. Cheers, Alasdair _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
