Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src



Thanks for that explanation.

I was wondering if the same goal could be achieved with sypkgs as they seem to have about the same granularity as the MKxxx options.

You would still build all component but could populate the images from the set of syspkgs. So you would be able to generate tailored

images using appropriate sets of syspkgs.

I don't know how well tested syspkgs currently are, but maybe that is already closer what you would need for you goal. syspkgs are

already very granular per component.

running "build.sh syspkgs" will create all system packages.

Excerpt from my current syspkgs run:

...

Registered base-rcs-bin-9.99.97.0.20210420
  Packaged base-rcs-bin-9.99.97.0.20210420.tgz
Registered base-psd-share-9.99.97.0.20220524
  Packaged base-psd-share-9.99.97.0.20220524.tgz
Registered base-ppp-bin-9.99.97.0.20220412
  Packaged base-ppp-bin-9.99.97.0.20220412.tgz
Registered base-postfix-examples-9.99.97.0.20220524
  Packaged base-postfix-examples-9.99.97.0.20220524.tgz
Registered base-postfix-usr-9.99.97.0.20220524
  Packaged base-postfix-usr-9.99.97.0.20220524.tgz
Registered base-pkgutil-bin-9.99.97.0.20210420
  Packaged base-pkgutil-bin-9.99.97.0.20210420.tgz
Registered base-ntp-bin-9.99.97.0.20210420
  Packaged base-ntp-bin-9.99.97.0.20210420.tgz
Registered base-nis-bin-9.99.97.0.20220411
  Packaged base-nis-bin-9.99.97.0.20220411.tgz
Registered base-nfsserver-bin-9.99.97.0.20211127
  Packaged base-nfsserver-bin-9.99.97.0.20211127.tgz
Registered base-nfsclient-bin-9.99.97.0.20210420
  Packaged base-nfsclient-bin-9.99.97.0.20210420.tgz

...

here you already get the ntp binaries. There are other syskpgs for ntp etc files.

NTP syspkgs are:

-rw-r--r-- 1 root wheel 1106566 May 29 19:10 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/base-ntp-bin-9.99.97.0.20210420.tgz -rw-r--r-- 1 root wheel 700 May 29 19:06 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/base-ntp-root-9.99.97.0.20220524.tgz -rw-r--r-- 1 root wheel 2869 May 29 19:06 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/etc-ntp-etc-9.99.97.0.20211028.tgz -rw-r--r-- 1 root wheel 1730 May 29 19:06 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/etc-ntp-rc-9.99.97.0.20201225.tgz -rw-r--r-- 1 root wheel 78090 May 29 19:12 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/man-ntp-man-9.99.97.0.20100828.tgz -rw-r--r-- 1 root wheel 225558 May 29 19:11 /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/misc-ntp-htmldoc-9.99.97.0.20220524.tgz

base-ntp-bin-9.99.97.0.20210420.tgz looks like:

Information for /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/base-ntp-bin-9.99.97.0.20210420.tgz:

Comment:
utilities for network time protocol support

Requires:
base-sys-usr>=9.99.97

Description:
utilities for network time protocol support

Homepage:
http://www.NetBSD.org/


and contains:

Information for /src/NetBSD/cur/RELEASE/amd64/binary/syspkgs/base-ntp-bin-9.99.97.0.20210420.tgz:

Files:
/usr/sbin/ntp-keygen
/usr/sbin/ntpd
/usr/sbin/ntpdate
/usr/sbin/ntpdc
/usr/sbin/ntpq
/usr/sbin/ntptime
/usr/sbin/ntptrace
/usr/sbin/sntp

Currently 1383 syspkgs are built.

There may be some work to clean up syspkgs but the structural packaging work is already done.

Example for a current issue:

    /src/NetBSD/cur/src/distrib/sets/regpkg: ls: argument list too long
    ls: No such file or directory
    Registered comp-c-man-9.99.97.0.0

also some descriptions seem to be missing and other issues like missing (or mis-configured) packages.

Frank


On 05/29/22 18:39, nia wrote:
On Sun, May 29, 2022 at 09:34:16AM +0200, Frank Kardel wrote:
Hi *!

I see we are building knobs to not build and install parts of the system.
Somehow I missed the discussion on this. Could someone point me to that
thread, so that I can understand the overall rationale?

As for NTP: sysinst is configuring for ntp and ntpdate. How is sysinst
supposed to handle a potentially missing NTP installation?

Frank

Hi, sorry I missed this email, please CC me next time.

I talked about this a bit on ICB, but not on the lists yet.

My end-game is to make it easier to make minimal embedded
images of NetBSD.

At work we are shipping an embedded OS derived from FreeBSD,
with some patches and custom tools, and also "incredibly stripped down"
with many knobs similar to this.  It's extremely useful to exclude
some non-essential components from the build without modifying the
build system.

As for why I want to do this to NetBSD, I had the idea of making a
small-as-possible live image with GUI similar to Damn Small Linux.

This is obviously focused on live and embedded images, so nothing
using sysinst. It might be not too intrusive to conditionally enable
some options in sysinst, though.

There is a secondary goal, to identify groups of commands that are
related. When all you have is a big unstructured list of commands,
it's difficult to tell that everything configured with MKMROUTING
is enabled, or that it's related to the the kernel option MKROUTING.

I don't intend to make it possible to remove components of NetBSD
that constitute some form of "API", whether that be in shell scripts
or otherwise, for compatibility's sake. The exception might be BIND
since it's quite large and people have concerns about both the
codebase and the license.  I also do not intend to make it possible
to build NetBSD without any components mandated by POSIX.

I hope this answer is satisfactory.



Home | Main Index | Thread Index | Old Index