How to became a Gentoo Developer #osc18tk

How to became a Gentoo Developer #osc18tk

Gentoo used cases, Gentoo GSoC 2018, Debugging with Gentoo, Gentoo Support for Japanese
https://docs.google.com/presentation/d/1csj12bdtkBFx54NY1wGInwSibYkA6jVlJc1dsW2Iazk/edit?usp=sharing

4913fbd3752f0f09d91388fb2133375b?s=128

Alice Ferrazzi

February 23, 2018
Tweet

Transcript

  1. How to became a Gentoo Developer Alice Ferrazzi

  2. kernel :~ $ whoami - Gentoo Kernel Project Leader -

    Gentoo Kernel Security - Gentoo Google Summer of Code Administrator - Gentoo Vice Secretary Tokyo University of Technology - Open Source software system laboratory
  3. Summary • What is Gentoo? ◦ Gentoo based products ◦

    Customization/User flags • Gentoo as a development enviroment • Gentoo Google Summer of Code • Conclusion
  4. What is Gentoo? • Highly customizable meta-distribution • Built from

    source and support for user patching • Available in most architecture • Freedom of choice (OpenRC, SystemD, Runit, Epoch, and Busybox) • Easy maintenance (also of the Linux Kernel)
  5. Gentoo based products • Chrome OS ◦ Chrome OS Has

    Double the Marketshare of Regular Linux in USA(2017/03) ◦ Chromebooks outsold Macs for the first time in the US (2016/05) • Softbank Pepper (NAOqi OS) • CoreOS • Most of Gentoo’s sponsors run Gentoo: ◦ https://www.gentoo.org/inside-gentoo/sponsors/ • Daniel Robbins maintains a useful graphic of Gentoo derivatives: ◦ http://www.funtoo.org/Gentoo_Ecosystem
  6. Chrome OS is Gentoo based - Chrombook - Google Router

    OnHub
  7. CoreOS - Recently acquired by Red Hat - Gentoo based

  8. High Performance Computers - St. Petersburg University run Gentoo -

    3072 core 12288 Gb Ram 1 PiB storage - Running as a single Gentoo Operating System - University of Washington Research HPC (Hyak) - Using Gentoo prefix
  9. None
  10. Customization

  11. Gentoo Package Use Flags • High Flexibility ◦ Choice of

    which feature to install
  12. Customization Adding djvu and chm use flags to okular

  13. More Security - Security Advisor (https://security.gentoo.org/glsa) twitter: @gentoo_glsa - Security

    Project - Easy check system security with glsa-check - # emerge -va app-portage/gentoolkit - Improved package manager security - (more strong source code checks)
  14. Free Software

  15. Public Money Public Code https://publiccode.eu/

  16. Gentoo Google Summer of Code

  17. - Getting 5000$ for 3 months of coding - Learning

    from Gentoo Developers - Contribute to Open Source projects - Nice for your resume !
  18. Possible Ideas - Full Rust Support - Support for multiple

    MPI implementations - Social Linux Distribution Network - Gentoo CJK Support - Portage powered Android -
  19. How to apply - Communication - #gentoo-soc on the Freenode

    IRC network and the gentoo-soc mailing list - Get feedback on your idea - Write a proposal - Submitting your proposal
  20. How to apply - https://wiki.gentoo.org/wiki/Google_Summer_of _Code/2018/Application_Guidelines

  21. Debugging

  22. Debugging packages • Debugging symbols for all packages • Debugging

    symbols for selected packages
  23. Gentoo as development enviroment

  24. Debugging with Gentoo part1 For all packages /etc/portage/make.conf # Global

    changes for all packages you will install FEATURES=”nostrip” # keep symbols in elf files or FEATURES=”splitdebug” # saving the symbols files under /usr/lib/debug/ FEATURES="installsources" # keep the sources files on /usr/src/
  25. Debugging with Gentoo part2 For selected packages /etc/portage/env/debug.conf ---- CFLAGS="${CFLAGS}

    -g" CXXFLAGS="${CXXFLAGS} -g" FEATURES="splitdebug" ---- or -ggdb -ggdbv2 -ggdbv3 /etc/portage/package.env ---- media-gfx/gimp debug.conf ----
  26. Patching

  27. Applying patches ebuild $(portageq get_repo_path / gentoo)/sys-apps/demo/demo-1.0.ebuild clean unpack cd

    /var/tmp/portage/sys-apps/demo-1.0/work Change code make patch and put on /etc/portage/patches/sys-apps/demo/my_patch.patch
  28. Cross compiling

  29. Cross compiling • Gentoo Cross-toolchain generator ◦ emerge -av sys-devel/crossdev

    Example: # crossdev -t sparc Will build the sparc cross-toolchain
  30. Became a Gentoo Developer

  31. • Search bugs • Fix ebuilds • Talk to mentor

    • Do quiz with mentor
  32. Search bugs • Bugday (many information on how to find

    bugs) ◦ https://wiki.gentoo.org/wiki/Bugday • Getting started ◦ https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers# Getting_Started • Gentoo bugzilla ◦ Bugs.gentoo.org
  33. Fix ebuilds (packages) • Sending patches to Gentoo bugzilla ◦

    bugs.gentoo.org • Sending pull-request on github ◦ https://wiki.gentoo.org/wiki/Gentoo_GitHub
  34. Checking our changes Let’s use repoman: emerge -av repoman repoman

    -x full Man repoman
  35. Talk to mentor • Freenode #gentoo-mentors ◦ https://wiki.gentoo.org/wiki/Project:Mentors • Contacting

    me directly (日本語ok) ◦ alicef@gentoo.org
  36. Do Quiz with mentor • Simple quiz with no time

    limitation ◦ https://wiki.gentoo.org/wiki/Project:Recruiters/Quiz
  37. Gentoo Japanese support channels

  38. Gentoo Japanese support • #gentoo-ja freenode • gentoo.slack.com http://slackin.aliceinwire.net •

    groups.google.com/forum/#!forum/gentoojp • http://www.gentoo.jp/ • Gentoo 勉強会 @aliceinwire http://gentoo.connpass.com • Wiki.gentoo.org 日本語もあります • https://github.com/gentoojp/issues
  39. Still not convinced Try Gentoo in any virtual enviroment: •

    Gentoo on Qemu/Open stack ◦ https://wiki.gentoo.org/wiki/Project:Openstack • Gentoo on VirtualBox/VMware ◦ http://www.osboxes.org/gentoo/
  40. Any questions ? and Thanks you!!

  41. Get this slide here: