Subject: Fwd: WWW Feedback from ross@goal.co.za: Porting pkgtools to a new OS
To: None <reed@netbsd.org, pkgsrc-users@netbsd.org>
From: Ross Cameron <ross@goal.co.za>
List: pkgsrc-users
Date: 11/13/2006 10:36:16
------=_Part_74185_20902625.1163406976901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

---------- Forwarded message ----------
From: Ross Cameron <ross@goal.co.za>
Date: Nov 3, 2006 12:17 PM
Subject: Re: WWW Feedback from ross@goal.co.za: Porting pkgtools to a new OS
To: www@netbsd.org

Hi there Jeremy,.... hope this email finds you well!

I've managed to get pkgsrc to bootstrap using a GGC stack that I've put
together with my package management system.
Thereafter everything works as expected on a Linux system,....
IE: Host package manager manages a minimal set of packages and
pkgsrc/pkgtools admins the rest.
      Whilst this is pretty cool I would like to run a pure pkgsrc/pkgtools
system.

What I want to do though is COMPLETELY replace my package manager with
pkgsrc.
>From first bootup it must use nothing else but pkgsrc and the NetBSD
pkgtools.
Would it be possible to get a DETAILED technical specification of how a
binary package is structured so I can migrate away from my package manager
at OS compile time.
Also how do the NetBSD sets work in you're installer system?
I'd like to base my installer on the NetBSD installer, cause why re-invent
the wheel when you're system works so well?

I would also like to be able to manage the WHOLE OS from pkgsrc.... my
thinking is as follows:

   - There are a thousand mini-UNIXes out there without any one project
   being a central point of guidance.
   - I would like to be able to build a generic "Minimal UNIX" toolkit
   where the user chooses a kernel they like (whether that be a
   Linux/NetBSD/OpenBSD/FreeBSD kernel) and the rest bootstraps out of the most
   recent STABLE pkgsrc.
      - Would we be able to create a new sub-category in PKGSRC called
      something like "miniunix"?

And put my "base-system" and various kernel packages in there?

   - Would it be possible to add a "flavour" to the glibc package in
      pkgsrc that is more alligned with a minimalistic OS???????

IE:    My current binary package is 4.4MB and provides everything for a
router system/vpn device.

   - Most of the packages can be build in standard pkgsrc style,.... the
      only ones missing are:
         - basesystem-linux-<version>            (My uber minimal
         base system image.)
         - kernel-linux-<version>                      (My Linux
         kernel and associated modules.)
         - iptables-<version>
         - busybox-<version>                            (Micro
         command set for mini UNIX systems.)
         - e3-<version>                                      (Micro
         text editor that emulates vi/emacs/pico/joe etc.)
         - dhcpcd-<version>                              (The dhcp
         client I use,... not cast in stone can be altered.)


   - basesystem-netbsd-<version>
         - kernel-netbsd-<version>                   (etc. etc. for
         OpenBSD and FreeBSD kernels)

My reasoning for wanting to start a project like this is two fold:

1.          I work in the embedded systems industry and NOTHING gets my goat
as much as the imcompatibilities in user interface and programming interface
across the embedded systems! I cant be the only one to find this a TOTAL
waste of time, money and effort,... if someone steps up to the plate and
provides a cross architecture/cross kernel build system it can only help
stabilise things.
The reason normal Linux systems are proliferating is that there is a
stabilising factor in the two main camps of RPM based and APT based distros.
It allows developers to collaborate more freely in a more common
invironment. (Even though they HATE each other!)

2.         I am a HUGE fan of NetBSD but unfortunately the providers of our
hardware cryptography accelerators only have drivers for the Linux kernel at
the moment and have expressed no intention of porting them to any other
kernels.
I get provided with binary kernel objects and the source code is 100% not
available under any circumstances.
And I would like to keep the system as close to NetBSD as possible from a
package management and administration perspective cause I find that it is
the most logical and orderly package manager out there.

How feasible is this do you think?
I dont mind doing a lot (if not all of the development work) in the begining
till its functional and working properly,... I just need some guidance and
assistance on the pkgsrc/pkgtools side.
          Also how likely is it that I could get those packages accepted
into the upstream pkgsrc system? I would hate to have to fork and
continually patch a derivative pkgsrc instance if that can at all be
avoided.

Regards,...
Ross Cameron

On 10/19/06, Jeremy C. Reed <reed@netbsd.org> wrote:
>
> Hello Ross,
>
> Thank you for your feedback.
>
> If your system provides standard Linux with glibc and coreutils (and
> related), pkgsrc should probably work for you as is. Even if you use a
> custom libc and userland, I'd expect it to work fine for you.
>
> pkgsrc provides a "bootstrap" script to help get the prerequisite tools
> installed.
>
> Also for doing package builds, pkgsrc does a great job at detecting the
> system and tools and libraries available.
>
> I'd be interested in helping you a little with testing the initial
> bootstrapping of pkgsrc on your SEYOS system. (I have used pkgsrc for
> entire Linux systems for a few years.) I can assist with updating pkgsrc
> as needed and as appropriate. Feel free to contact me off-list if you can
> arrange remote login to a SEYOS system.
>
> By the way, there are a few Linux distros that use "pkgsrc" -- some even
> on Slackware.
>
> You can also discuss pkgsrc for your system on the
> pkgsrc-users@NetBSD.org mailing list.
>
>     Jeremy C. Reed
>                         ``Of course it runs NetBSD.''
>                             http://www.NetBSD.org/
>

------=_Part_74185_20902625.1163406976901
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<br><br>---------- Forwarded message ----------<br><span class="gmail_quote">From: <b class="gmail_sendername">Ross Cameron</b> &lt;<a href="mailto:ross@goal.co.za">ross@goal.co.za</a>&gt;<br>Date: Nov 3, 2006 12:17 PM<br>
Subject: Re: WWW Feedback from <a href="mailto:ross@goal.co.za">ross@goal.co.za</a>: Porting pkgtools to a new OS<br>To: <a href="mailto:www@netbsd.org">www@netbsd.org</a><br><br></span>Hi there Jeremy,.... hope this email finds you well!
<br><br>I've managed to get pkgsrc to bootstrap using a GGC stack that I've put together with my package management system.<br>Thereafter everything works as expected on a Linux system,....
<br><div style="margin-left: 40px;">IE: Host package manager manages a minimal set of packages and pkgsrc/pkgtools admins the rest.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whilst this is pretty cool I would like to run a pure pkgsrc/pkgtools system.<br>

</div><br>What I want to do though is COMPLETELY replace my package manager with pkgsrc.<br><div style="margin-left: 40px;">From first bootup it must use nothing else but pkgsrc and the NetBSD pkgtools.<br></div>Would it be possible to get a DETAILED technical specification of how a binary package is structured so I can migrate away from my package manager at OS compile time.
<br><div style="margin-left: 40px;">Also how do the NetBSD sets work in you're installer system?<br></div>I'd like to base my installer on the NetBSD installer, cause why re-invent the wheel when you're system works so well?
<br><br>I would also like to be able to manage the WHOLE OS from pkgsrc.... my thinking is as follows:<br><ul><li>There are a thousand mini-UNIXes out there without any one project being a central point of guidance.</li>
<li>
I would like to be able to build a generic &quot;Minimal UNIX&quot; toolkit where the user chooses a kernel they like (whether that be a Linux/NetBSD/OpenBSD/FreeBSD kernel) and the rest bootstraps out of the most recent STABLE pkgsrc.
</li><ul><li>Would we be able to create a new sub-category in PKGSRC called something like &quot;miniunix&quot;?</li></ul></ul><div style="margin-left: 80px;">And put my &quot;base-system&quot; and various kernel packages in there?
<br></div><ul><ul><li>Would it be possible to add a &quot;flavour&quot; to the glibc package in pkgsrc that is more alligned with a minimalistic OS???????</li></ul></ul><div style="margin-left: 80px;">IE:&nbsp;&nbsp;&nbsp; My current binary package is 
4.4MB and provides everything for a router system/vpn device.<br></div><ul><ul><li>Most of the packages can be build in standard pkgsrc style,.... the only ones missing are:</li><ul><li>basesystem-linux-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (My uber minimal base system image.)
<br></li><li>kernel-linux-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (My Linux kernel and associated modules.)<br></li><li>iptables-&lt;version&gt;</li><li>busybox-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Micro command set for mini UNIX systems.)
</li><li>e3-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Micro text editor that emulates vi/emacs/pico/joe etc.)</li><li>dhcpcd-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (The dhcp client I use,... not cast in stone can be altered.)
<br></li></ul></ul></ul><ul><ul><ul><li style="font-style: italic;">basesystem-netbsd-&lt;version&gt;</li><li><span style="font-style: italic;">kernel-netbsd-&lt;version&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(etc. etc. for OpenBSD and FreeBSD kernels)
</li></ul></ul></ul>My reasoning for wanting to start a project like this is two fold:<br><br>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I work in the embedded systems industry and NOTHING gets my goat as much as the imcompatibilities in user interface and programming interface across the embedded systems!
<div style="margin-left: 40px;">I cant be the only one to find this a TOTAL waste of time, money and effort,... if someone steps up to the plate and provides a cross architecture/cross kernel build system it can only help stabilise things.
<br></div>The reason normal Linux systems are proliferating is that there is a stabilising factor in the two main camps of RPM based and APT based distros.<br><div style="margin-left: 40px;">It allows developers to collaborate more freely in a more common invironment. (Even though they HATE each other!)
<br><br></div>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am a HUGE fan of NetBSD but unfortunately the providers of our hardware cryptography accelerators only have drivers for the Linux kernel at the moment and have expressed no intention of porting them to any other kernels.
<br><div style="margin-left: 40px;">I get provided with binary kernel objects and the source code is 100% not available under any circumstances.<br></div>And I would like to keep the system as close to NetBSD as possible from a package management and administration perspective cause I find that it is the most logical and orderly package manager out there.
<br><br>How feasible is this do you think?<br>I dont mind doing a lot (if not all of the development work) in the begining till its functional and working properly,... I just need some guidance and assistance on the pkgsrc/pkgtools side.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Also how likely is it that I could get those packages accepted into the upstream pkgsrc system? I would hate to have to fork and continually patch a derivative pkgsrc instance if that can at all be avoided.
<br>
<br>Regards,...<br><span class="sg">Ross Cameron</span><div><span class="e" id="q_10ead52506356000_2"><br><br> <div><span class="gmail_quote">On 10/19/06, <b class="gmail_sendername">Jeremy C. Reed</b> &lt;<a href="mailto:reed@netbsd.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
reed@netbsd.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Ross,<br><br>Thank you for your feedback.<br><br>If your system provides standard Linux with glibc and coreutils (and<br>related), pkgsrc should probably work for you as is. Even if you use a<br>custom libc and userland, I'd expect it to work fine for you.
<br><br>pkgsrc provides a &quot;bootstrap&quot; script to help get the prerequisite tools<br>installed.<br><br>Also for doing package builds, pkgsrc does a great job at detecting the<br>system and tools and libraries available.
<br><br>I'd be interested in helping you a little with testing the initial<br>bootstrapping of pkgsrc on your SEYOS system. (I have used pkgsrc for<br>entire Linux systems for a few years.) I can assist with updating pkgsrc
<br>as needed and as appropriate. Feel free to contact me off-list if you can<br>arrange remote login to a SEYOS system.<br><br>By the way, there are a few Linux distros that use &quot;pkgsrc&quot; -- some even<br>on Slackware.
<br><br>You can also discuss pkgsrc for your system on the<br><a href="mailto:pkgsrc-users@NetBSD.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">pkgsrc-users@NetBSD.org</a> mailing list.<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;Jeremy C. Reed<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;``Of course it runs NetBSD.''
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.NetBSD.org/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.NetBSD.org/</a><br></blockquote></div><br>

</span></div>

------=_Part_74185_20902625.1163406976901--