Mail: psimerda AT redhat DOT com, pavlix AT pavlix DOT net
Jabber: pavlix AT pavlix DOT net
IRC Freenode: pavlix (#nm, #gentoo, ...)
Phone: +420 775 996 256
Timezone: Europe/Prague (CET), sometimes available through later hours
After learning a bit of programming, I was attracted by the networking world. I got from petty Pascal/C++ projects through web development using ugly PHP and later Python, to a freelancing work with most of the projects in server administration, network equipment configuration and a bit of programming. Most people in the business know me from my conference talks and articles.
One of my conference talk brought me an offer from Red Hat, which I joined in May 2012 to work on NetworkManager. I was already a Fedora user and package maintainer at that time. Since August 2013 I'm no longer working as a regular NetworkManager developer (staying an upstream contributor, though). Even before that I tried to put my hands on a number of other projects via bug reports, tests and code. I'm also interested in various network-related standards and especially bugs and bad assumptions in IETF documents.
- Networking – A starting point for information related to networking.
- Tools/NetworkManager – NetworkManager information page.
Contributions are welcome.
- aiccu (IPv6 tunneling client)
- radvd (taken over from Petr Písař)
Help with specific features or integration issues welcome.
- netresolve (author)
- NetworkManager integration scripts (with Tomáš Hozza)
- systemd integration
- glibc (name resolution patches)
- Building on any distribution
- Virtual device support (bridging/bonding, with others)
- Valgrind and code coverage support for tests
- Separate platform interaction module (nm-platform, with Dan Winship)
- Refactored NetworkManager's bridging/bonding/vlan configuration
- Refactored NetworkManager's IPv4/IPv6 configuration
- Userspace IPv6 autoconfiguration (nm-rdisc/libndp, with Jiří Pírko)
- Getting IPv6 autoconf features on par with IPv4
- Avoiding loads of kernel IPv6 bugs and design flaws
- Runtime (non-persistent) configuration support (with Dan Winship and Dan Williams)
- A lot of bug triaging
- The getaddrinfo() support is very complicated while not giving correct results in many cases.
- Network configuration is a real pain.
- Kernel IPv6 autoconfiguration is only designed for trivial use cases and is very buggy.
- Most of the advanced stuff is very buggy.
- Missing for IPv6 link-local addresses.
- IPv6 disabled by default.
- Problems with duplicates in discovery.
- Gnome 3 – Seeking something more mature and stable
- Gnome Terminal
- Evolution (for IMAP/SMTP mail) – Seeking something more mature and stable
- Empathy/Telepathy (for jabber and IRC) – Seeking something more mature and stable
- make, autotools
Fedora tools on Gentoo
emerge -av layman echo source /var/lib/layman/make.conf > /etc/portage.make.conf layman -a ixit mkdir -p /etc/portage/sets cat > /etc/portage/sets/fedora-packaging <<EOF dev-util/fedora-packager dev-util/quilt EOF emerge -av @fedora-packaging
Bump a rawhide package to a newer version
In the package git directory:
VERSION=... fedpkg switch-branch master rpmdev-bumpspec --new="$VERSION" --comment="new version $VERSION" *.spec spectool -g *.spec fedpkg new-sources `spectool -l *.spec | grep / | sed 's/.*\///'` fedpkg commit -c fedpkg push fedpkg build
Requires developmet version, see:
Prepare rawhide to replace branches
Warning: This method discards changes in all branches and should only be used after all of the important changes are incorporated into master. Also, it is only suitable for packages where it's practical to maintain the same version in branches as in rawhide.
BRANCHES="f20 f19" # Fake-merge all branches into master: for branch in $BRANCHES; do fedpkg switch-branch master git merge -s ours $branch done # Build a new release rpmdev-bumpspec fedpkg commit -c fedpkg push fedpkg build
Update branches to match rawhide
Use the above technique to prepare rawhide if branches can't be fast forwarded to rawhide.
BRANCHES="f20 f19" # Fast-forward all branches to master HEAD: for branch in $BRANCHES; do fedpkg switch-branch $branch git merge --ff-only master fedpkg push fedpkg build --nowait done # Switch back to master fedpkg switch-branch master