[arch-projects] [netcfg] Call for testers: netctl

Jouke Witteveen j.witteveen at gmail.com
Tue Jan 8 04:44:08 EST 2013


On Sat, Dec 29, 2012 at 12:50 PM, Jouke Witteveen <j.witteveen at gmail.com> wrote:
> Dear all,
>
> For little over a year now, I have maintained netcfg. In doing so I
> have encountered three major problems.
> 1. Despite best efforts, the code and control flow of netcfg remain
> rather messy.
> 2. Usage of netcfg has many corner cases.
> 3. Some wheels are invented by both systemd and netcfg, but it is not
> easy to have netcfg make use of systemd.
>
> In order to deal with these issues I have forked netcfg. In the end,
> it turned out to be more of a rewrite. The result[1] I have called
> netctl. The main purpose of netctl is to provide profile-based
> networking in a systemd environment. Here are some of the changes with
> respect to netcfg.
> a. Variables in profiles are CamelCase instead of UPPER_CASE to mimic
> systemd services.
> b. All configuration files are gone, configuration is done through the
> netctl utility, which interfaces systemd's systemctl.
> c. The only non-trivial usage that is provided is automatic
> configuration through ifplugd or wpa_actiond, formerly known as
> net-auto-wire{d,less}, now known as netctl-ifplugd and netctl-auto.
>
> Some of the bugs that are fixed:
> d. Bind to network interfaces during boot, thus preventing the lack of
> a connection after boot recently encountered by owners of slow
> hardware.
> e. Allow more complex nameserver setups by using resolvconf (openresv).
>
> Transition should not be hard. At any rate the three new man pages
> netctl(1), netctl.profile(5), and netctl.special(7) should answer all
> questions. Here is a basic outline of the changes required:
> - Rename variables in the profiles in /etc/network.d/ and unquote some
> of their values (mainly Interface=).
> - Run `netctl enable <profile>` for every profile in the old NETWORKS
> array. 'last' doesn't work this way, see netcfg.special(7).
> - Use `netctl list`/`netctl start <profile>` instead of `netcfg-menu`,
> wifi-menu remains available.
>
> As half of the total code base has been removed and almost every line
> in the other half has been touched, I expect some easy-to-fix bugs to
> be introduced. Therefore I need testers. Please test netctl:
> I. $ git clone git://github.com/joukewitteveen/netctl.git
> II. $ cd netctl; make pkgbuild
> III. copy netctl-*.tar.xz and PKGBUILD to an empty directory
> IV. run makepkg in that directory
> V. install (using `pacman -U`) the resulting package.
>
> During the 0.x series, I am not afraid of breaking compatibility. If
> all goes well, I would like to replace netcfg with netctl starting
> with a 1.0 release. I know many people don't like the idea of dropping
> netcfg or netcfg compatibility, but I think the situation of netctl is
> far easier to maintain. Personally, I don't see much future in netcfg
> besides an optional compatibility layer on top of netctl.
>
> Thanks to all testers!
> - Jouke
>
> [1] https://github.com/joukewitteveen/netctl

I have tagged a 0.2 release of netctl. It is surprisingly stable on my
machines and the only stuff I haven't seen working yet (because I know
of no one who tested it) are the following connections: bond, bridge,
pppoe, tunnel, tuntap, vlan.

I would still like a Developer's comment on the (viability of the)
project and additionally would like to move the repository back to
projects.archlinux.org.

The next thing on my list is to post a call for testers on the forums.

Keep on testing,
- Jouke


More information about the arch-projects mailing list