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

Curtis Shimamoto sugar.and.scruffy at gmail.com
Sat Dec 29 19:16:36 EST 2012


On 12/29/12 at 12:50pm, Jouke Witteveen 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

Seems pretty neat.  So far almost all functions seem to work. Though I
have come across an issue with netctl-auto.

I cannot seem to store a profile.  I use
# netctl store [PROFILE]
and the result is simply the help/usage.  I checked with "list" and still
not active (no *).  

Ergo, starting netctl-auto with:
# netctl-auto start wlan0
has no action.  

Though enabling and starting the services using "netctl enable" works
perfectly.

So far, things look pretty awesome.  I really like this interface, as it
does indeed integrate well with systemd.

Regards,
-- 
Curtis Shimamoto
sugar.and.scruffy at gmail.com


More information about the arch-projects mailing list