public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Pieter Van den Abeele <pvdabeel@gentoo.org>
To: gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] Embedded Gentoo
Date: Mon, 3 Nov 2003 19:31:29 +0100	[thread overview]
Message-ID: <F0FD0EF8-0E2B-11D8-9761-0003938E7E46@gentoo.org> (raw)
In-Reply-To: <20031103175751.GB7754@redhate.futuretel.com>

Hiya,

On 03 Nov 2003, at 18:57, david@futuretel.com wrote:

> On Sun, Nov 02, 2003 at 01:50:51AM -0600, Andrew Gaffney wrote:
>> Seemless cross-compiler distcc support in portage.
>
> I second that.  Although seemless cross-compilation would be a good
> first step ;-)
>
> what's needed by portage for this type of a thing to work ?  Lots of
> re-design ?

For automatic discovery of distributed cross compiling nodes, take a 
look at my zeroconf service lookup/announcement implementation on 
http://dev.gentoo.org/~pvdabeel/.

The idea of zeroconf distributed cross compilation is similar to 
Apple's Xcode implementation:

When somebody announces a service, zeroconf A, SRV, TXT and PTR DNS 
records are created:

The A record contains the IP addres on which the service is available.
The SRV record contains the PORT on which the service is available.
The TXT record contains additional info about the service in a hashmap: 
Apple Xcode for instance encodes the gcc version, the Os version, ... 
(screenshot on http://dev.gentoo.org/~pvdabeel/xcode.jpg)
A PTR record announces a service by a unique name, using that unique 
name A,SRV and TXT can be looked up.

A lookup is basically a retrieval of PTR records for a given category. 
(for instance: _http._tcp.local. gives all http tcp services, 
_distcc._tcp.local. returns the different tcp distcc services on the 
local net).
My tool also allows one to announce your Linux webserver using zeroconf 
etc (http://dev.gentoo.org/~pvdabeel/browser.jpg) and discover those in 
your Zeroconf compatible browser.
If you want to experiment with the tools, please read their usage(). 
Those should contain enough examples. Some fun stuff:

Lookup _http._tcp.local. pointers on a university network with lots of 
Zeroconf printers/machines available:

root@research ZeroConf # ./lookup 12 _http._tcp.local.
PTR _http._tcp.local. to HP LaserJet 4100 Series 
(0001E67C7BFC)._http._tcp.local.
PTR _http._tcp.local. to Wnt CEGE._http._tcp.local.
PTR _http._tcp.local. to HP LaserJet 2200 
(0001E69C3074)._http._tcp.local.
PTR _http._tcp.local. to hp LaserJet 2300 series 
(0001E6A194BB)._http._tcp.local.
PTR _http._tcp.local. to HP LaserJet 3330 
(0001E6918AB2)._http._tcp.local.
PTR _http._tcp.local. to hp LaserJet 2300 series 
(0001E6A6E82B)._http._tcp.local.
PTR _http._tcp.local. to hp LaserJet 2300 series 
(0001E6A1B6D8)._http._tcp.local.

Typical usage:

Announcing a service:

root@research ZeroConf # ./announce 'pvdabeel' 134.184.65.92 1234 'This 
is cool' distcc
Zeroconf announcing 'distcc' service named 'pvdabeel' with ip 
134.184.65.92 on port 1234 and extra arguments 'This is cool'

Looking up services:

# Getting pointers to available nodes
root@research ZeroConf # ./lookup 12 _distcc._tcp.local.
PTR _distcc._tcp.local. to pvdabeel._distcc._tcp.local.

# Use a pointer to get an IP
root@research ZeroConf # ./lookup 1 distcc-pvdabeel.local.
A distcc-pvdabeel.local. to ip 92.65.184.134

# Use a pointer to get a PORT
root@research ZeroConf # ./lookup 33 pvdabeel._distcc._tcp.local.
SRV pvdabeel._distcc._tcp.local. to distcc-pvdabeel.local.:1234

# Use a pointer to get the extra arguments
root@research ZeroConf # ./lookup 16 pvdabeel._distcc._tcp.local.
TXT pvdabeel._distcc._tcp.local. contains args=This is cool

Pieter

> --
> gentoo-dev@gentoo.org mailing list
>


--
gentoo-dev@gentoo.org mailing list


  reply	other threads:[~2003-11-03 18:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-02  2:55 [gentoo-dev] Embedded Gentoo Chris PeBenito
2003-11-02  3:26 ` Luke-Jr
2003-11-02  3:32   ` Dejan Nikic
2003-11-02  3:43   ` Donnie Berkholz
2003-11-02  4:01   ` Chris PeBenito
2003-11-02  5:19     ` Kevyn Shortell
2003-11-03 13:36     ` [gentoo-dev] " Michael Kunze
2003-11-04  1:19     ` [gentoo-dev] " Chris PeBenito
2003-11-05 17:48       ` Chris PeBenito
2003-11-07 13:06         ` [gentoo-dev] " Michael Kunze
2003-11-02  7:50 ` [gentoo-dev] " Andrew Gaffney
2003-11-03 17:57   ` david
2003-11-03 18:31     ` Pieter Van den Abeele [this message]
2003-11-03 18:42       ` Luke-Jr
2003-11-04 20:13       ` Stroller
2003-11-04 11:00     ` Paul de Vrieze
2003-11-04 13:23       ` Douglas Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=F0FD0EF8-0E2B-11D8-9761-0003938E7E46@gentoo.org \
    --to=pvdabeel@gentoo.org \
    --cc=gentoo-dev@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox