Source-Changes-HG archive

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

[src/pgoyette-compat]: src Update dependencies for modules when they are buil...



details:   https://anonhg.NetBSD.org/src/rev/a6c533ab08ad
branches:  pgoyette-compat
changeset: 321014:a6c533ab08ad
user:      pgoyette <pgoyette%NetBSD.org@localhost>
date:      Mon Mar 12 01:59:31 2018 +0000

description:
Update dependencies for modules when they are built-in.  Now we don't
(or at least, shouldn't) need reminders in the GENERIC config files
about which module options require other options.

Update branch status doc accordingly.

diffstat:

 doc/COMPAT-branch-notes            |  26 +++++++++++++++-----------
 sys/compat/aoutm68k/files.aoutm68k |   4 ++--
 sys/compat/common/files.common     |  21 +++++++++++----------
 sys/compat/freebsd/files.freebsd   |   4 ++--
 sys/compat/ibcs2/files.ibcs2       |   4 ++--
 sys/compat/linux/files.linux       |   4 ++--
 sys/compat/linux32/files.linux32   |   6 ++++--
 sys/compat/sunos/files.sunos       |   4 ++--
 sys/compat/sunos32/files.sunos32   |   4 ++--
 sys/compat/svr4/files.svr4         |   4 ++--
 sys/compat/svr4_32/files.svr4_32   |   4 ++--
 sys/compat/ultrix/files.ultrix     |   4 ++--
 12 files changed, 48 insertions(+), 41 deletions(-)

diffs (258 lines):

diff -r 299e460fafb8 -r a6c533ab08ad doc/COMPAT-branch-notes
--- a/doc/COMPAT-branch-notes   Sun Mar 11 23:50:18 2018 +0000
+++ b/doc/COMPAT-branch-notes   Mon Mar 12 01:59:31 2018 +0000
@@ -17,6 +17,16 @@
 5. Extracted some net/if.c compat routines into the compat module, and
    replaced the originals with indirect (vectored) function calls.
 
+6. Implemented a mechanism for modules to include "aliases", allowing
+   a single module file to declare multiple names.  For example, a
+   single "compat" module could declare compat_80, compat_70, etc, and
+   other modules could depend on specific compat levels rather than on
+   the entirety of compat.
+
+7. Reconfirmed all compat-module dependencies, and update the files *
+   def lines as needed, to insure that built-in dependencies get
+   resolved.
+
 
 TODO
 ----
@@ -35,15 +45,9 @@
    "everything" compat module (with all of its aliases) or by a 7.0-
    specific module.
 
-   Note that in addition to updating the module code, this would also
-   require changes to syscalls.master files to change the names of the
-   modules associated with module-provided syscalls.
+2. Using the alias mechanism, split compat (and perhaps compat_sysv)
+   into multiple version-specific modules.  Note that in addition to
+   updating the module code, this would also require changes to
+   syscalls.master files to change the names of the modules associated
+   with module-provided syscalls.
 
-3. In addition to the single, all-encompassing compat module, provide a
-   per-version compat_xx module, each with dependencies on all higher
-   versions.  (Perhaps we would also do this for the sysv ipc module,
-   although the gains are a lot smaller.)
-
-4. Reconfirm all compat-module dependencies, and update the files *
-   def lines as needed, to insure that built-in dependencies get
-   resolved.
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/aoutm68k/files.aoutm68k
--- a/sys/compat/aoutm68k/files.aoutm68k        Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/aoutm68k/files.aoutm68k        Mon Mar 12 01:59:31 2018 +0000
@@ -1,11 +1,11 @@
-#      $NetBSD: files.aoutm68k,v 1.7 2014/11/17 01:01:57 uebayasi Exp $
+#      $NetBSD: files.aoutm68k,v 1.7.18.1 2018/03/12 01:59:31 pgoyette Exp $
 #
 # Config file description for m68k a.out compat code.
 
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_aout_m68k
+define compat_aout_m68k : exec_aout
 file   compat/aoutm68k/aoutm68k_exec.c         compat_aout_m68k
 file   compat/aoutm68k/aoutm68k_stat.c         compat_aout_m68k
 file   compat/aoutm68k/aoutm68k_sysent.c       compat_aout_m68k
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/common/files.common
--- a/sys/compat/common/files.common    Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/common/files.common    Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.common,v 1.1.2.5 2018/03/09 02:02:59 pgoyette Exp $
+#      $NetBSD: files.common,v 1.1.2.6 2018/03/12 01:59:31 pgoyette Exp $
 
 #
 # Generic files, used by all compat options.
@@ -75,19 +75,20 @@
 
 # Module interface for sysv ipc compatability options
 
-file   compat/common/sysv_mod.c                compat_netbsd
+define compat_sysv                     : sysvmsg, sysvshm, sysvsem
+file   compat/common/sysv_mod.c                compat_sysv
 
 # Compatibility code for NetBSD 1.0
-file   compat/common/kern_ipc_10.c             compat_netbsd
+file   compat/common/kern_ipc_10.c             compat_sysv
 
 # Compatibility code for NetBSD 1.4
-file   compat/common/sysv_msg_14.c             compat_netbsd
-file   compat/common/sysv_sem_14.c             compat_netbsd
-file   compat/common/sysv_shm_14.c             compat_netbsd
+file   compat/common/sysv_msg_14.c             compat_sysv
+file   compat/common/sysv_sem_14.c             compat_sysv
+file   compat/common/sysv_shm_14.c             compat_sysv
 
 # Compatibility code for NetBSD 5.0
-file   compat/common/sysv_ipc_50.c             compat_netbsd
-file   compat/common/sysv_msg_50.c             compat_netbsd
-file   compat/common/sysv_sem_50.c             compat_netbsd
-file   compat/common/sysv_shm_50.c             compat_netbsd
+file   compat/common/sysv_ipc_50.c             compat_sysv
+file   compat/common/sysv_msg_50.c             compat_sysv
+file   compat/common/sysv_sem_50.c             compat_sysv
+file   compat/common/sysv_shm_50.c             compat_sysv
 
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/freebsd/files.freebsd
--- a/sys/compat/freebsd/files.freebsd  Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/freebsd/files.freebsd  Mon Mar 12 01:59:31 2018 +0000
@@ -1,9 +1,9 @@
-#      $NetBSD: files.freebsd,v 1.15 2017/08/01 14:43:54 maxv Exp $
+#      $NetBSD: files.freebsd,v 1.15.2.1 2018/03/12 01:59:31 pgoyette Exp $
 #
 # Config file description for machine-independent FreeBSD compat code.
 # Included by ports that need it. Only i386 is supported.
 
-define compat_freebsd
+define compat_freebsd          : compat_netbsd, compat_ossaudio
 file   compat/freebsd/freebsd_exec.c           compat_freebsd
 file   compat/freebsd/freebsd_exec_elf32.c     compat_freebsd & exec_elf32
 file   compat/freebsd/freebsd_file.c           compat_freebsd
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/ibcs2/files.ibcs2
--- a/sys/compat/ibcs2/files.ibcs2      Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/ibcs2/files.ibcs2      Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.ibcs2,v 1.10 2014/11/17 01:01:57 uebayasi Exp $
+#      $NetBSD: files.ibcs2,v 1.10.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent IBCS-2 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_ibcs2
+define compat_ibcs2            : compat_netbsd
 file   compat/ibcs2/ibcs2_errno.c      compat_ibcs2
 file   compat/ibcs2/ibcs2_exec.c       compat_ibcs2
 file   compat/ibcs2/ibcs2_exec_coff.c  compat_ibcs2
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/linux/files.linux
--- a/sys/compat/linux/files.linux      Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/linux/files.linux      Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.linux,v 1.21 2014/11/17 01:01:57 uebayasi Exp $
+#      $NetBSD: files.linux,v 1.21.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Linux compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_linux
+define compat_linux            : compat, compat_ossaudio, sysv_ipc
 file   compat/linux/common/linux_blkio.c       compat_linux
 file   compat/linux/common/linux_cdrom.c       compat_linux
 file   compat/linux/common/linux_errno.c       compat_linux
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/linux32/files.linux32
--- a/sys/compat/linux32/files.linux32  Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/linux32/files.linux32  Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.linux32,v 1.6 2014/11/17 01:01:57 uebayasi Exp $
+#      $NetBSD: files.linux32,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Linux 32 bit compat code.
 # Included by ports that need it.
@@ -6,7 +6,9 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_linux32
+define compat_linux32          : exec_elf32, compat_netbsd32,
+                                 compat_netbsd32_sysv_ipc, compat_linux,
+                                 compat_sysv
 file   compat/linux32/common/linux32_dirent.c  compat_linux32
 file   compat/linux32/common/linux32_exec.c    compat_linux32
 file   compat/linux32/common/linux32_exec_elf32.c compat_linux32 & exec_elf32
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/sunos/files.sunos
--- a/sys/compat/sunos/files.sunos      Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/sunos/files.sunos      Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.sunos,v 1.9 2014/11/17 01:01:58 uebayasi Exp $
+#      $NetBSD: files.sunos,v 1.9.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SunOS compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_sunos
+define compat_sunos            : compat_netbsd,exec_aout
 file   compat/sunos/sunos_exec.c       compat_sunos & !compat_netbsd32
 file   compat/sunos/sunos_exec_aout.c  compat_sunos & exec_aout & !compat_netbsd32
 file   compat/sunos/sunos_sysent.c     compat_sunos & !compat_netbsd32
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/sunos32/files.sunos32
--- a/sys/compat/sunos32/files.sunos32  Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/sunos32/files.sunos32  Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.sunos32,v 1.3 2014/11/17 01:01:58 uebayasi Exp $
+#      $NetBSD: files.sunos32,v 1.3.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SunOS compat code for
 # 64-bit kernel.  Included by ports that need it.
@@ -7,7 +7,7 @@
 # own file lists.
 
 # XXX compat_sunos32
-define compat_sunos
+define compat_sunos            : compat_netbsd, compat_netbsd32, exec_aout
 file   compat/sunos32/sunos32_exec.c           compat_sunos & compat_netbsd32
 file   compat/sunos32/sunos32_exec_aout.c      compat_sunos & compat_netbsd32
 file   compat/sunos32/sunos32_misc.c           compat_sunos & compat_netbsd32
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/svr4/files.svr4
--- a/sys/compat/svr4/files.svr4        Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/svr4/files.svr4        Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.svr4,v 1.18 2014/11/17 01:01:58 uebayasi Exp $
+#      $NetBSD: files.svr4,v 1.18.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SVR4 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_svr4
+define compat_svr4             : compat_netbsd
 file   compat/svr4/svr4_errno.c        compat_svr4 | compat_svr4_32
 file   compat/svr4/svr4_exec.c         compat_svr4
 file   compat/svr4/svr4_exec_elf32.c   compat_svr4 & exec_elf32
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/svr4_32/files.svr4_32
--- a/sys/compat/svr4_32/files.svr4_32  Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/svr4_32/files.svr4_32  Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.svr4_32,v 1.6 2014/11/17 01:01:58 uebayasi Exp $
+#      $NetBSD: files.svr4_32,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SVR4_32 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_svr4_32
+define compat_svr4_32          : compat_netbsd, compat_netbsd32
 file   compat/svr4_32/svr4_32_exec.c           compat_svr4_32
 file   compat/svr4_32/svr4_32_exec_elf32.c     compat_svr4_32 & exec_elf32
 file   compat/svr4_32/svr4_32_fcntl.c          compat_svr4_32
diff -r 299e460fafb8 -r a6c533ab08ad sys/compat/ultrix/files.ultrix
--- a/sys/compat/ultrix/files.ultrix    Sun Mar 11 23:50:18 2018 +0000
+++ b/sys/compat/ultrix/files.ultrix    Mon Mar 12 01:59:31 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.ultrix,v 1.6 2014/11/17 01:01:58 uebayasi Exp $
+#      $NetBSD: files.ultrix,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Ultrix compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define compat_ultrix
+define compat_ultrix           : compat_netbsd
 file   compat/ultrix/ultrix_exec_ecoff.c       compat_ultrix & exec_ecoff
 file   compat/ultrix/ultrix_pathname.c         compat_ultrix
 file   compat/ultrix/ultrix_ioctl.c            compat_ultrix



Home | Main Index | Thread Index | Old Index