Your SlideShare is downloading. ×
0
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
OpenCSW - What is the project about?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OpenCSW - What is the project about?

461

Published on

This is an introduction on the OpenCSW project - what is about and how the basic things are done

This is an introduction on the OpenCSW project - what is about and how the basic things are done

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
461
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Solaris Packages Dagobert Michelsen Baltic Online Computer GmbH Donnerstag, 10. Januar 13
  • 2. Me Donnerstag, 10. Januar 13
  • 3. Me Born 1971 Solaris 1994 „root“ 1998 CSW 2006 Donnerstag, 10. Januar 13
  • 4. Solaris Packages What is OpenCSW? Donnerstag, 10. Januar 13
  • 5. Solaris Packages What is OpenCSW? • Priority 1: Porting together with Upstream • 43 projects using the OpenCSW buildfarm to ensure Solaris compatibility • 12 GNU projects Donnerstag, 10. Januar 13
  • 6. Solaris Packages What is OpenCSW? • Priority 1: Porting together with Upstream • 43 projects using the OpenCSW buildfarm to ensure Solaris compatibility • 12 GNU projects • Priority 2: Packaging • About 3700 packages Donnerstag, 10. Januar 13
  • 7. Solaris Packages Why “Open”CSW? Donnerstag, 10. Januar 13
  • 8. Solaris Packages Why “Open”CSW? • Open build descriptions • Repository hosted at SourceForge Donnerstag, 10. Januar 13
  • 9. Solaris Packages Why “Open”CSW? • Open build descriptions • Repository hosted at SourceForge • Open download for binary packages Donnerstag, 10. Januar 13
  • 10. Solaris Packages Why “Open”CSW? • Open build descriptions • Repository hosted at SourceForge • Open download for binary packages • Open for contributors Donnerstag, 10. Januar 13
  • 11. Solaris Packages Why “Open”CSW? • Open build descriptions • Repository hosted at SourceForge • Open download for binary packages • Open for contributors • Open for upstream projects Donnerstag, 10. Januar 13
  • 12. Camps twice a year all around Europe Community Donnerstag, 10. Januar 13
  • 13. Camps twice a year all around Europe Community Kiel Oslo München Dublin Zürich Donnerstag, 10. Januar 13
  • 14. Solaris Packages Open...What? • German: Open-Ze-Es-We • English: Open-Cashew Open-kə-ˈshü Donnerstag, 10. Januar 13
  • 15. Solaris Packages Open...What? • German: Open-Ze-Es-We • English: Open-Cashew Open-kə-ˈshü Cashew nut Donnerstag, 10. Januar 13
  • 16. Solaris Packages History • CSW Community SoftWare, Alan DuBoff • Start 2002 with packages from Phil Brown, hosted at Blastwave • Fork 2008 OpenCSW http://www.flickr.com/photos/bertiemabootoo/2362780033/ Donnerstag, 10. Januar 13
  • 17. Using OpenCSW Donnerstag, 10. Januar 13
  • 18. Solaris Packages Solaris versions Sparc 8 9 10 11 x86 8 9 10 11 Donnerstag, 10. Januar 13
  • 19. Solaris Packages pkgutil • Wrapper around pkgadd / pkgrm • Automatic download • Automatic dependency resolution • For OpenCSW packages, but also other non-csw packages → Use CSWpkgutilplus Donnerstag, 10. Januar 13
  • 20. Solaris Packages Getting Started # pkgadd -d http://get.opencsw.org/now # PATH=$PATH:/opt/csw/bin # pkgutil -i top # top Donnerstag, 10. Januar 13
  • 21. Solaris Packages What is available? [unstable10s]:/home/dam > pkgutil -a xml common package catalog size libqtxml4_gxx CSWlibqtxml4-gxx 4.8.0,REV=2012.06.08 132.3 KB libxml CSWlibxml 1.8.17 1.4 MB libxml++ CSWlibxml++ 1.0.0,REV=2004.06.14 50.3 KB libxml2_2 CSWlibxml2-2 2.7.8,REV=2011.03.24 1.4 MB libxml2_dev CSWlibxml2-dev 2.7.8,REV=2011.03.24 864.6 KB libxml2_stub CSWlibxml2 2.7.8,REV=2011.03.24 1.9 KB libxml2devel_stub CSWlibxml2devel 2.7.8,REV=2011.03.24 1.9 KB php5_xmlreader CSWphp5-xmlreader 5.3.15,REV=2012.07.25 23.5 KB php5_xmlrpc CSWphp5-xmlrpc 5.3.15,REV=2012.07.25 51.9 KB php5_xmlwriter CSWphp5-xmlwriter 5.3.15,REV=2012.07.25 24.0 KB php5xmlreader_stub CSWphp5xmlreader 5.3.15,REV=2012.07.25 2.5 KB php5xmlrpc_stub CSWphp5xmlrpc 5.3.15,REV=2012.07.25 2.5 KB php5xmlwriter_stub CSWphp5xmlwriter 5.3.15,REV=2012.07.25 2.5 KB pm_libxmlperl CSWpmlibxmlperl 0.08,REV=2006.08.15 46.0 KB pm_marcxml CSWpmmarcxml 0.92,REV=2010.06.11 10.4 KB pm_rpcxml CSWpmrpcxml 0.74,REV=2011.02.13 171.4 KB pm_testxml CSWpmtestxml 0.07,REV=2006.02.21 10.0 KB pm_xml_atom CSWpm-xml-atom 0.39,REV=2011.06.26 26.7 KB … Donnerstag, 10. Januar 13
  • 22. Solaris Packages Update • Update the catalog # pkgutil -U • Update a package # pkgutil -y -u CSWapache2 • Update all packages # pkgutil -y -u Donnerstag, 10. Januar 13
  • 23. Solaris Packages Paths • Configuration /etc/opt/csw! ! (local) configuration /opt/csw/etc! ! Artifacts and global configurations • Binaries and libraries /opt/csw • Variable files /var/opt/csw Donnerstag, 10. Januar 13
  • 24. Solaris Packages Catalogs • By stability ‣ stable Legacy, dead since 2008 ‣ testing At the moment „dublin“ ‣ unstable Lots of updates • By release ‣ dublin Features shared library splitting ‣ kiel Features OpenSSL 1.0, GCC 4.7 ‣ bratislava Features world rebuild, custom prefix Donnerstag, 10. Januar 13
  • 25. Solaris Packages Catalogs http://mirror.opencsw.org/opencsw/ stable ! ./README (dead!) testing ! dublin/ unstable/ dublin/ (will become new stable) kiel/ (has updates from unstable) bratislava/ (still almost empty) Donnerstag, 10. Januar 13
  • 26. Solaris Packages Catalogs <catalog> "## i386 $   "## 5.8 $ $   "## catalog $ $   "## descriptions $ $   %## pkg-1.0,REV=2912.11.21-SunOS5.8-sparc-CSW.pkg.gz $   %## 5.9 $ $   "## catalog $ $   "## descriptions $ $   %## pkg-1.0,REV=2912.11.21-SunOS5.8-sparc-CSW.pkg.gz $ $   -> ../5.8/pkg-1.0,REV=2912.11.21-SunOS5.8-sparc-CSW.pkg.gz $   "## 5.10 $ $   "## catalog $ $   "## descriptions $ $   %## pkg-1.0,REV=2912.11.21-SunOS5.10-sparc-CSW.pkg.gz $   "## 5.11 %## sparc "## 5.8 "## 5.9 "## 5.10 %## 5.11 Donnerstag, 10. Januar 13
  • 27. Solaris Packages /etc/opt/csw/pkgutil.conf … # Max package list length # During dependency calculation the recursive algorithm needs to be protected # against cyclic dependencies in the catalog (packages that list each other # as dependencies) or pkgutil will not stop until memory is exhausted. # Default: 250000 #maxpkglist=250000 # Mirror to use for downloads # See http://www.opencsw.org/mirrors for alternative mirrors. # Default: http://mirror.opencsw.org/opencsw/unstable mirror=http://mirror.opencsw.org/opencsw/unstable # Support non-CSW packages. If you have your own packages that have a different # prefix that you want to use with pkgutil you must enable this otherwise # pkgutil will skip every package not prefixed by CSW. # NOTE: this also affects options like -c/C, however it's easy to filter the # output if wanted, e.g. "pkgutil -C CSW". # Default: false #noncsw=true … Donnerstag, 10. Januar 13
  • 28. Solaris Packages Security • Catalog is signed with GPG • Checksum for each package in the catalog pkgutil  -­‐i  CSWcswpki              *or* wget  -­‐q  -­‐O  -­‐  http://www.opencsw.org/security/  |  gpg  -­‐-­‐import  -­‐ gpg  -­‐-­‐edit-­‐key  board@opencsw.org  trust • Fingerprint 4DCE 3C80 AAB2  CAB1  E60C    9A3C  05F4  2D66  9306  CC77 Donnerstag, 10. Januar 13
  • 29. No internet? Donnerstag, 10. Januar 13
  • 30. No internet? Donnerstag, 10. Januar 13
  • 31. Solaris Packages No internet? or lots of local package traffic • Local mirror rsync -Hrav rsync://mirror.opencsw.org/opencsw /export/opencsw vi /etc/opt/csw/pkgutil.conf (Edit mirror=file:///export/opencsw/unstable) Donnerstag, 10. Januar 13
  • 32. Solaris Packages No internet? • One package with dependencies # pkgutil --stream --download -T sparc:5.10 bind … Transforming packages into stream (/home/dam/.pkgutil/packages/bind.sparc.5.10.pkg) … • Copy over bind.sparc.5.10.pkg • Install packages # pkgadd -d bind.sparc.5.10.pkg all Donnerstag, 10. Januar 13
  • 33. Solaris Packages Packaging • Dependencies between CSW packages, No dependencies to SUNW packages • Split-off development packages CSW<library>-dev • On libraries one package per SONAME • Simplfied updates on versions bumps • Canonical package name deriver from SONAME Donnerstag, 10. Januar 13
  • 34. Solaris Packages Compiling against OpenCSW • Compiler • “Dublin”+ “Kiel”: Solaris Studio 12.x “Bratislava”: GCC 4.7 • Flags CFLAGS -I/opt/csw/include LDFLAGS -L/opt/csw/lib{/64} -R/opt/csw/lib{/64} PKG_CONFIG_PATH /opt/csw/lib/pkgconfig{/64} Donnerstag, 10. Januar 13
  • 35. Solaris Packages 32/64 Bit • Combined 32/64 bit packages where useful ‣ Kernel memory ‣ >2 GB memory ‣ >256 file descriptors ‣ x64 • isaexec Donnerstag, 10. Januar 13
  • 36. Solaris Packages Sparse Zones • Yes, we can! :-) • Solaris 11: No more sparse zones • Global Zone Class Action Scripts CSWcas-* /usr/sadm/install/scripts/{i|r}.<class> • Nonglobal Zones: nothing special Donnerstag, 10. Januar 13
  • 37. Buildsystem Donnerstag, 10. Januar 13
  • 38. Solaris Packages Buildsystem: GAR http://gar.opencsw.org Donnerstag, 10. Januar 13
  • 39. Solaris Packages Live Demo • Name • Description • Version • Filename • Download from where? Donnerstag, 10. Januar 13
  • 40. Solaris Packages Live Demo NAME = gperf VERSION = 3.0.4 DESCRIPTION = A perfect hash function generator MASTER_SITES = http://ftp.gnu.org/gnu/gperf DISTFILES = $(NAME)-$(VERSION).tar.gz include gar/category.mk Donnerstag, 10. Januar 13
  • 41. Solaris Packages Live Demo NAME = gperf VERSION = 3.0.4 DESCRIPTION = A perfect hash function generator MASTER_SITES = $(GNU_MIRROR) DISTFILES = $(NAME)-$(VERSION).tar.gz include gar/category.mk Donnerstag, 10. Januar 13
  • 42. Solaris Packages Live Demo NAME = gperf VERSION = 3.0.4 DESCRIPTION = A perfect hash function generator MASTER_SITES = $(GNU_MIRROR) DISTFILES = $(NAME)-$(VERSION).tar.gz BUILD64 = 1 include gar/category.mk Donnerstag, 10. Januar 13
  • 43. Solaris Packages Live Demo . `-- opt `-- csw |-- bin | |-- gperf | `-- sparcv9 | `-- gperf `-- share |-- doc | |-- gperf | | `-- license | `-- gperf.html |-- info | `-- gperf.info `-- man `-- man1 `-- gperf.1 Donnerstag, 10. Januar 13
  • 44. Solaris Packages Prerequisites Fetch Checksum Extract Patch Configure Build Test Install Merge Package Global Inside a modulation Global Phases Donnerstag, 10. Januar 13
  • 45. Solaris Packages Prerequisites Fetch Checksum Extract Patch Configure Build Test Install Merge Package Global Inside a modulation Global Phases Donnerstag, 10. Januar 13
  • 46. Solaris Packages Prerequisites Fetch Checksum Extract Patch Configure Build Test Install Merge Package Global Inside a modulation Global Phases One Modulation Donnerstag, 10. Januar 13
  • 47. Solaris Packages Live Demo NAME = gperf VERSION = 3.0.4 DESCRIPTION = A perfect hash function generator MASTER_SITES = $(GNU_MIRROR) DISTFILES = $(NAME)-$(VERSION).tar.gz BUILD64 = 1 ISAEXEC = 1 include gar/category.mk Donnerstag, 10. Januar 13
  • 48. Solaris Packages Live Demo . `-- opt `-- csw |-- bin | |-- gperf -> isaexec | `-- sparcv8plus | `-- gperf | `-- sparcv9 | `-- gperf `-- share |-- doc | |-- gperf | | `-- license | `-- gperf.html |-- info | `-- gperf.info `-- man `-- man1 Donnerstag, 10. Januar 13
  • 49. Solaris Packages Features, … • Reinplacement • Checkpkg • Categories • Auto–SMF • Preserveconf • CPAN makemake • Platforms • Mapfiles • Modulations • Obsoletions • Dynamic prototypes Donnerstag, 10. Januar 13
  • 50. Solaris Packages Things to come • IPS • Rebuild the World with custom prefix • ACMEopenldap • /opt/acme Donnerstag, 10. Januar 13
  • 51. http://www.opencsw.org http://www.opencsw.org/community http://freenode.net IRC-Channel #opencsw Twitter: @opencsw Donnerstag, 10. Januar 13

×