Your SlideShare is downloading. ×
0
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
visagie_freebsd
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

visagie_freebsd

494

Published on

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
494
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
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. FreeBSD-bio porting project Johann Visagie <johann@egenetics.com> / <wjv@FreeBSD.org>
  • 2. The FreeBSD operating system <ul><li>Direct descendent of Berkeley 4.4BSD-Lite </li></ul><ul><ul><li>25+ year history </li></ul></ul><ul><ul><li>Legendary stability and network performance </li></ul></ul><ul><ul><li>The reference implementation of TCP/IP stack in Unix </li></ul></ul><ul><li>Geared towards the server room </li></ul><ul><ul><li>Tools for large scale system administration, automation </li></ul></ul><ul><ul><li>Easy to configure and optimise for high-throughput serving </li></ul></ul><ul><ul><li>Secure default install </li></ul></ul><ul><li>Free (under extraordinarily permissive licence) </li></ul><ul><ul><li>Largest community-maintained software project? </li></ul></ul>
  • 3. (Open Source) Bioinformatics apps <ul><li>Can be a real pain to install </li></ul><ul><ul><li>Archaic, obscure, or simply broken build mechanisms </li></ul></ul><ul><ul><li>Hard-to-port C/C++ code </li></ul></ul><ul><ul><li>Messy installs leaving files all over the place </li></ul></ul><ul><ul><li>Tons of dependencies (*mumble* Bioperl *grumble*) </li></ul></ul><ul><li>… and then you have to keep them up to date! </li></ul><ul><li>Not every scientist has a sysadmin at hand </li></ul><ul><li>In an open source world, duplicating all this effort seems just wrong </li></ul>
  • 4. FreeBSD ports <ul><li>Set of 7000+ &quot;build skeletons&quot; for 3 rd party apps </li></ul><ul><ul><li>Download, patch, build and install an application </li></ul></ul><ul><ul><li>Automatically handle dependencies </li></ul></ul><ul><ul><li>May be cleanly uninstalled </li></ul></ul><ul><ul><li>Flexible and streamlined update, automation mechanisms </li></ul></ul><ul><ul><li>Can be built to a binary package (for CD/DVD distribution) </li></ul></ul><ul><li>Integrated with operating system's CVS tree </li></ul><ul><li>Tool for &quot;industrial strength&quot; system administration </li></ul><ul><ul><li>Open Source principles applied to system administration? </li></ul></ul>
  • 5. <ul><li>root@industrial:~# cd /usr/ports/biology/emboss </li></ul><ul><li>root@industrial:/usr/ports/biology/emboss# make install </li></ul><ul><li>>> Attempting to fetch from ftp://ftp.uk.embnet.org/pub/EMBOSS/. </li></ul><ul><li>Receiving EMBOSS-2.4.1.tar.gz (9079913 bytes): 100% </li></ul><ul><li>===> Extracting for emboss-2.4.1 </li></ul><ul><li>>> Checksum OK for emboss/EMBOSS-2.4.1.tar.gz. </li></ul><ul><li>===> emboss-2.4.1 depends on executable: gmake - found </li></ul><ul><li>===> emboss-2.4.1 depends on shared library: gd.2 - not found </li></ul><ul><li>===> Verifying install for gd.2 in /usr/ports/graphics/gd </li></ul><ul><li>===> Extracting for gd-1.8.4_6 </li></ul><ul><li>>> Checksum OK for gd-1.8.4.tar.gz. </li></ul><ul><li>===> gd-1.8.4_6 depends on shared library: jpeg - found </li></ul><ul><li>===> gd-1.8.4_6 depends on shared library: png - found </li></ul><ul><li>===> gd-1.8.4_6 depends on shared library: freetype - found </li></ul><ul><li>===> Patching for gd-1.8.4_6 </li></ul><ul><li>===> Applying FreeBSD patches for gd-1.8.4_6 </li></ul><ul><li>===> Configuring for gd-1.8.4_6 </li></ul><ul><li>===> Building for gd-1.8.4_6 </li></ul><ul><li>===> Installing for gd-1.8.4_6 </li></ul><ul><li>===> Generating temporary packing list </li></ul><ul><li>===> Running ldconfig </li></ul><ul><li>===> Registering installation for gd-1.8.4_6 </li></ul><ul><li>===> Returning to build of emboss-2.4.1 </li></ul>===> emboss-2.4.1 depends on shared library: Xm.2 - found ===> emboss-2.4.1 depends on shared library: X11.6 - found ===> Patching for emboss-2.4.1 ===> Applying FreeBSD patches for emboss-2.4.1 ===> Configuring for emboss-2.4.1 ===> Building for emboss-2.4.1 ===> Installing for emboss-2.4.1 ===> emboss-2.4.1 depends on shared library: gd.2 - found ===> emboss-2.4.1 depends on shared library: Xm.2 - found ===> emboss-2.4.1 depends on shared library: X11.6 - found ===> Generating temporary packing list ===> Running ldconfig ===> Registering installation for emboss-2.4.1 root@industrial:/usr/ports/biology/emboss#
  • 6. The bio-porters <ul><li>Mission: Get as many Bioinformatics applications as possible into the FreeBSD ports tree </li></ul><ul><ul><li>Create an out-of-the-box Bioinformatics server </li></ul></ul><ul><li>Collaborate via a mailing list </li></ul><ul><ul><li>Friendly, supportive environment for porting newbies </li></ul></ul><ul><li>Communally maintain certain ports via list </li></ul><ul><li>Note: Anyone can submit and maintain a port </li></ul>
  • 7. Successes and challenges <ul><li>Successfully ported many major Bioinformatics apps: </li></ul><ul><ul><li>Bioperl, Biopython, Biojava, Bioruby, Clustal W, EMBOSS, HMMER, NCBI toolkit, Phylip, etc., etc. </li></ul></ul><ul><li>And for our next trick… Bioinformatics databases? </li></ul>
  • 8. How can we infect others? <ul><li>OpenBSD has ports; NetBSD pkg-src </li></ul><ul><ul><li>Both originally based on FreeBSD's ports </li></ul></ul><ul><li>Ports for Darwin (MacOS X) are being jump-started from FreeBSD </li></ul><ul><li>Linux distros: </li></ul><ul><ul><li>Redhat's RPM </li></ul></ul><ul><ul><li>Debian's apt-get </li></ul></ul><ul><ul><li>Gentoo's portage </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
  • 9. Acknowledgements <ul><li>Electric Genetics </li></ul><ul><ul><li>for giving me the time </li></ul></ul><ul><li>The FreeBSD Project </li></ul><ul><ul><li>for giving me the OS </li></ul></ul><ul><li>The members of the FreeBSD-bio list </li></ul><ul><ul><li>for sharing the work </li></ul></ul>
  • 10. Links <ul><li>FreeBSD: </li></ul><ul><ul><li>http://www.FreeBSD.org/ </li></ul></ul><ul><ul><li>http://www.FreeBSD.org/doc/en/books/porters-handbook/ </li></ul></ul><ul><li>FreeBSD ports: &quot;biology&quot; category: </li></ul><ul><ul><li>http://www.FreeBSD.org/ports/biology.html </li></ul></ul><ul><ul><li>http://cvsweb.FreeBSD.org/ports/biology/ </li></ul></ul><ul><li>FreeBSD-bio porters mailing list: </li></ul><ul><ul><li>http://www.PLiG.net/mailman/listinfo/freebsd-bio/ </li></ul></ul>

×