Building NetworkManager-0.5.1 under GARNOME-2.12.1



I have managed to build NetworkManager-0.5.1,

        http://people.redhat.com/dcbw/NetworkManager/

written by Dan Williams of RedHat.  Discussion and required garballs
attached.

===================================================================================

Discussion
----------
In the author's own words,

        "Networking on Linux should not suck like it does right now for
        the desktop user".

OK... I might not have quite phased it that way in a public forum, but I
certainly agree with the sentiment.

So what is NetworkManager?

[from the README]
        NetworkManager attempts to keep an active network connection available at all
        times.  It is intended only for the desktop use-case, and is not intended for
        usage on servers.  At this time, it does not support static IP addresses on
        network interfaces, and requires DHCP to be used instead.  The point of
        NetworkManager is to make networking configuration and setup as painless and
        automatic as possible.  If using DHCP, NetworkManager is _intended_ to replace
        default routes, obtain IP addresses from a DHCP server, and change nameservers
        whenever it sees fit.  If you have special needs, we'd like to hear about them,
        but understand that NetworkManager is not intended to serve the needs of all
        users.

Sounds good... 

What do you need to build it? 

If you are running FC4, you will most likely need only the
NetworkManager.tar.gz garball, which I installed under geektoys.

Build Requirements
------------------
Based on a review of the configuration file a slew of LIBDEPS were added
to the GARNOME Makefile for NetworkManager.

Also required:

* wireless-tools >= 28pre9

* dhcdbd

        http://people.redhat.com/jvdias/dhcdbd/
        
which depends on dhclient-script extensions present in dhclient versions
>= 3.0.2-12. dhclient is part of the dhcp package.

What is dhcdbd?

[from the README]      
dhcdbd exists to :
o  provide D-BUS control of the ISC dhclient software,
o  store DHCP configuration parameters (options) persistently
o  providing access to DHCP options over D-BUS
o  notify applications of changes to DHCP IP interface configura

dhcdbd is designed to be started as a D-BUS service from a service
description file, by default /usr/share/dbus-1/services/dhcdbd.service;
hence the default bus it will connect to is the "STARTER" bus, and it
must be installed setuid to root.

A garball to build dhcdbd in the bootstrap directory is attached. 


Building NetworkManager
------------------------
On my system  I first updated:

* wireless-tools to 28pre10
* dhcp to 3.0.-8
* built dhcdbd-1.9 within the GARNOME tree
rather than the system tree to satify dbus/hal version requirements.


A minor problem was encountered compiling

        ./src/NetworkManagerDevice.c
        
This file includes:
* <iwlib.h>     [from wireless-tools]
* <linux/mii.h> [kernel header].

<linux/mii.h>
includes <linux/if.h>

<iwlib.h>
includes the following code:

        #ifdef HEADERS_KERNEL
        /* Traditionally we have used kernel headers, included in wireless.h */
        #include <linux/socket.h>               /* for "struct sockaddr" et al  */
        #include <linux/if.h>                   /* for IFNAMSIZ and co... */
        #else   /* !HEADERS_KERNEL */
        /* Glibc systems headers are supposedly less problematic than kernel ones */
        #include <sys/socket.h>                 /* for "struct sockaddr" et al  */
        #include <net/if.h>                     /* for IFNAMSIZ and co... */
        #endif  /* !HEADERS_KERNEL */

Consequently, two different sets of definitions for the device
structures defined in if.h are included, which caused the compilation to
fail.

I worked around this problem by editing <iwlib.h> to use the kernel
headers. With this change, NetworkManager-0.5.1 builds and installs
under GARNOME-2.12.1.


-Joseph


-- 
joseph_sacco [at] comcast [dot] net

Attachment: dhcdbd.tar.gz
Description: application/compressed-tar

Attachment: network-manager.tar.gz
Description: application/compressed-tar



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]