Hi!

On Sat, 2020-05-02 at 19:20:49 +0200, Guillem Jover wrote:
> Source: base-files
> Source-Version: 11
> Severity: wishlist
> Tags: patch

> This package requires both changes in Debian between freeze and
> non-freeze times, and also is one of the first ones that need
> modifications when creating a derivative.
> 
> To make handling both these cases, I've prepared the attached patch
> which tries to parametrize everything that is changed in Debian during
> the release cycle so that it's easier to maintain. And so that
> derivatives can have an easier time deriving too.
> 
> The new workflow for Debian would require only touching three variables
> in params/debian. For a derivative, it would require adding a new
> params/<vendor> file and changing the params/default symlink to point
> to that. This would massively reduce the amount of changes needed in
> derivatives, as seen in <http://deriv.debian.net/patches/b/base-files/>.
> 
> 
> I've tried to document all variables in params/debian so that they are
> easy to understand. I've also switched from #SUBST# to @SUBST@ as that
> works better within a Makefile.
> 
> 
> Let me know what you think, and whether you'd like to see anything
> changed?
> 
> (BTW, I guess you do not manage this package under a VCS?)

Now that you do, I've updated and rebased the patch against your repo,
and published the changes at:

  https://salsa.debian.org/guillem/base-files/-/commits/pu/parametrize

Which includes the main change, plus a couple of demonstration changes
to see how this could work during the Debian freeze, or for a derivative.
(These are not intended to be applied, just to make sure.)

I've tested the main change by creating .deb packages before and after
and running diffoscope on the reproducible output.

And I'm attaching the commits here for your convenience.

Thanks,
Guillem
From 60ff4b7736152c33c9c2fadef17649832672424f Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Wed, 13 May 2026 04:37:47 +0200
Subject: [PATCH 1/3] Parametrize files

This should help both Debian and its derivatives, as now all these
should be able to do most of the work by just adding a new params/
file and updating the params/default symlink. Without needing to
make sure no instance to replace gets missed.

We switch from #SUBST# to @SUBST@ as that works better within a
Makefile, except for substitutions handled natively by debhelper.
We use the builtin dpkg substvar vendor:Name where possible.

The intention here is that the only things that would normally need
changing would be under params/. For a derivative a new params file
would need to be added under params/ and the params/default symlink
updated.

The changes should produce the same reproducible .deb output before
and after, as can be checked with diffoscope.

Closes: #959471
---
 debian/README           | 10 +++---
 debian/base-files.dirs  |  1 +
 debian/base-files.docs  |  2 --
 debian/base-files.links |  1 -
 debian/control          |  8 ++---
 debian/copyright        |  4 +--
 debian/gen-vendor.mk    | 14 +++++++++
 debian/postinst         |  4 +--
 debian/rules            | 64 +++++++++++++++++++++++++++++++++-----
 debian/timestamps       |  1 -
 etc/debian_version      |  1 -
 etc/issue               |  2 +-
 etc/issue.net           |  2 +-
 etc/os-release          | 17 +++++-----
 origins/debian          |  3 --
 params/debian           | 69 +++++++++++++++++++++++++++++++++++++++++
 params/default          |  1 +
 share/dot.bashrc        |  2 +-
 share/info.dir          |  2 +-
 share/motd              |  4 +--
 20 files changed, 170 insertions(+), 42 deletions(-)
 delete mode 100644 debian/base-files.docs
 create mode 100644 debian/gen-vendor.mk
 delete mode 100644 etc/debian_version
 delete mode 100644 origins/debian
 create mode 100644 params/debian
 create mode 120000 params/default

diff --git a/debian/README b/debian/README
index 16c7427..d14823a 100644
--- a/debian/README
+++ b/debian/README
@@ -4,10 +4,10 @@ Frequently Asked Questions about base-files
 * Questions about /etc/issue and /etc/debian_version:
 
 Q. I upgraded my system to the testing distribution and now my /etc/issue
-says "forky/sid". Should it not read "forky" or "testing"?
+says "@OSCODENAME_TESTING@/sid". Should it not read "@OSCODENAME_TESTING@" or "testing"?
 
 Q. I upgraded my system to the unstable distribution and now my /etc/issue
-says "forky/sid". Should it not read "sid" or "unstable"?
+says "@OSCODENAME_TESTING@/sid". Should it not read "sid" or "unstable"?
 
 A. That would be nice, but it is not possible because of the way the
 testing distribution works. Packages uploaded for unstable reach
@@ -17,9 +17,9 @@ testing. You should consider the testing and unstable distributions as
 two sides of the same coin. Since the base-files package in testing
 was initially uploaded for unstable, the only sensible /etc/issue to
 have is one that is both valid for testing and unstable, hence
-"forky/sid" (or whatever is appropriate).
+"@OSCODENAME_TESTING@/sid" (or whatever is appropriate).
 
-Q. Why "forky/sid" and not "testing/unstable" as it used to be?
+Q. Why "@OSCODENAME_TESTING@/sid" and not "testing/unstable" as it used to be?
 
 A. The codename is a little bit more informative, as the meaning of
 "testing" changes over time.
@@ -31,7 +31,7 @@ not a reliable way to know that anymore. Looking at the contents of
 your /etc/apt/sources.list file is probably a much better way.
 
 Q. There is a new point release and I've just upgraded my system.
-The /etc/debian_version file now says 13.x but /etc/issue still says 13.
+The /etc/debian_version file now says @[email protected] but /etc/issue still says @OSVERSION_ID_STABLE@.
 Is this ok?
 
 A. Yes. The release managers asked me not to touch /etc/issue, as that's
diff --git a/debian/base-files.dirs b/debian/base-files.dirs
index d0769e4..5d55eba 100644
--- a/debian/base-files.dirs
+++ b/debian/base-files.dirs
@@ -19,6 +19,7 @@ usr/share
 usr/share/base-files
 usr/share/common-licenses
 usr/share/dict
+usr/share/doc/base-files
 usr/share/info
 usr/share/lintian/overrides
 usr/share/man
diff --git a/debian/base-files.docs b/debian/base-files.docs
deleted file mode 100644
index 3b7ab47..0000000
--- a/debian/base-files.docs
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/README
-debian/README.FHS
diff --git a/debian/base-files.links b/debian/base-files.links
index 3dd0249..2923156 100644
--- a/debian/base-files.links
+++ b/debian/base-files.links
@@ -1,4 +1,3 @@
-usr/share/doc/base-files/README    usr/share/doc/base-files/FAQ
 usr/share/common-licenses/GFDL-1.3 usr/share/common-licenses/GFDL
 usr/share/common-licenses/LGPL-3   usr/share/common-licenses/LGPL
 usr/share/common-licenses/GPL-3    usr/share/common-licenses/GPL
diff --git a/debian/control b/debian/control
index 8ce5ea8..7ad4fb8 100644
--- a/debian/control
+++ b/debian/control
@@ -17,8 +17,8 @@ Priority: required
 Replaces: base, miscutils, dpkg (<= 1.15.0)
 Breaks: debian-security-support (<< 2019.04.25), initscripts (<< 2.88dsf-13.3), sendfile (<< 2.1b.20080616-5.2~)
 Multi-Arch: foreign
-Description: Debian base system miscellaneous files
- This package contains the basic filesystem hierarchy of a Debian system, and
- several important miscellaneous files, such as /etc/debian_version,
+Description: ${vendor:Name} base system miscellaneous files
+ This package contains the basic filesystem hierarchy of a ${vendor:Name} system, and
+ several important miscellaneous files, such as /etc/${vendorVersionFileId}_version,
  /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, and others,
- and the text of several common licenses in use on Debian systems.
+ and the text of several common licenses in use on ${vendor:Name} systems.
diff --git a/debian/copyright b/debian/copyright
index a971207..66b6944 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,6 +1,6 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Comment:
- This is the Debian prepackaged version of the Debian Base System
+ This is the @VENDOR_NAME@ prepackaged version of the @VENDOR_NAME@ Base System
  Miscellaneous files. These files were written by Ian Murdock
  <[email protected]> and Bruce Perens <[email protected]>.
  .
@@ -20,7 +20,7 @@ License: GPL-2+
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  .
- On Debian systems, the complete text of the GNU General
+ On @VENDOR_NAME@ systems, the complete text of the GNU General
  Public License can be found in `/usr/share/common-licenses/GPL'.
 Comment:
  The Artistic License in /usr/share/common-licenses is the one coming
diff --git a/debian/gen-vendor.mk b/debian/gen-vendor.mk
new file mode 100644
index 0000000..a692c67
--- /dev/null
+++ b/debian/gen-vendor.mk
@@ -0,0 +1,14 @@
+include params/$(VENDOR_ID)
+
+gen_origin:
+	echo Vendor: $(VENDOR_NAME)            > $(DESTDIR)/etc/dpkg/origins/$(VENDOR_ID)
+	echo Vendor-URL: $(VENDOR_URL_HOME)    >> $(DESTDIR)/etc/dpkg/origins/$(VENDOR_ID)
+	echo Bugs: $(VENDOR_URL_BUGREPORT_NEW) >> $(DESTDIR)/etc/dpkg/origins/$(VENDOR_ID)
+ifneq ($(VENDOR_ID_PARENT),)
+	echo Parent: $(VENDOR_NAME_PARENT)     >> $(DESTDIR)/etc/dpkg/origins/$(VENDOR_ID)
+	$(MAKE) -f debian/gen-vendor.mk VENDOR_ID=$(VENDOR_ID_PARENT) DESTDIR=$(DESTDIR)
+endif
+ifneq ($(VENDOR_VERSION_FILE_ID),)
+	echo $(VENDOR_VERSION_FILE_VERSION)    > $(DESTDIR)/etc/$(VENDOR_VERSION_FILE_ID)_version
+	echo "vendorVersionFileId=$(VENDOR_VERSION_FILE_ID)" >> debian/base-files.substvars
+endif
diff --git a/debian/postinst b/debian/postinst
index e1ad3a4..5ad59c2 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -53,8 +53,8 @@ update_to_current_default() {
 }
 
 if [ ! -e "$DPKG_ROOT/etc/dpkg/origins/default" ]; then
-  if [ -e "$DPKG_ROOT/etc/dpkg/origins/#VENDORFILE#" ]; then
-    ln -sf #VENDORFILE# "$DPKG_ROOT/etc/dpkg/origins/default"
+  if [ -e "$DPKG_ROOT/etc/dpkg/origins/#VENDOR_ID#" ]; then
+    ln -sf #VENDOR_ID# "$DPKG_ROOT/etc/dpkg/origins/default"
   fi
 fi
 
diff --git a/debian/rules b/debian/rules
index cd0157f..493c1f7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,40 @@ ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
   OSNAME=GNU/Hurd
 endif
 
-VENDORFILE = debian
+VENDOR_ID = $(shell readlink params/default)
+
+include params/$(VENDOR_ID)
+
+PARAMS =
+PARAMS += -e 's/@VENDOR_NAME@/$(VENDOR_NAME)/g'
+PARAMS += -e "s/@VENDOR_ID@/$(VENDOR_ID)/g"
+PARAMS += -e "s&@VENDOR_URL_HOME@&$(VENDOR_URL_HOME)&g"
+PARAMS += -e "s&@VENDOR_URL_SUPPORT@&$(VENDOR_URL_SUPPORT)&g"
+PARAMS += -e "s&@VENDOR_URL_BUGREPORT_WEB@&$(VENDOR_URL_BUGREPORT_WEB)&g"
+PARAMS += -e "s/@VENDOR_CHROOT_ID@/$(VENDOR_CHROOT_ID)/g"
+PARAMS += -e "s&@OSNAME@&$(OSNAME)&g"
+PARAMS += -e "s/@OSCODENAME@/$(OSCODENAME)/g"
+PARAMS += -e "s&@OSCODENAME_TESTING@&$(OSCODENAME_TESTING)&g"
+PARAMS += -e "s&@OSVERSION@&$(OSVERSION)&g"
+PARAMS += -e "s/@OSVERSION_ID_STABLE@/$(OSVERSION_ID_STABLE)/g"
+PARAMS += -e "s&@PRODUCT_NAME@&$(PRODUCT_NAME)&g"
+PARAMS += -e "s&@PRODUCT_NAME_FULL@&$(PRODUCT_NAME_FULL)&g"
+PARAMS += -e "s&@PRODUCT_NAME_LOGIN@&$(PRODUCT_NAME_LOGIN)&g"
+
+ifeq ($(VENDOR_ID_PARENT),)
+PARAMS += -e "/^ID_LIKE=/d"
+else
+PARAMS += -e 's/@VENDOR_NAME_PARENT@/$(VENDOR_NAME_PARENT)/g'
+PARAMS += -e "s/@VENDOR_ID_PARENT@/$(VENDOR_ID_PARENT)/g"
+endif
+ifeq ($(OSVERSION_ID),)
+PARAMS += -e "/^VERSION_ID=/d"
+PARAMS += -e "/^VERSION=/d"
+else
+PARAMS += -e "s/@OSVERSION_ID@/$(OSVERSION_ID)/g"
+PARAMS += -e "s/@OSVERSION@/$(OSVERSION)/g"
+endif
+
 DESTDIR = debian/base-files
 
 ifneq (,$(filter $(DEB_HOST_ARCH),amd64 loong64 mips64el ppc64 ppc64el sparc64))
@@ -44,24 +77,39 @@ override_dh_auto_install:
 	install -p -m 644 etc/*      $(DESTDIR)/etc
 	install -p -m 755 motd/*     $(DESTDIR)/etc/update-motd.d
 	install -p -m 644 licenses/* $(DESTDIR)/usr/share/common-licenses
-	install -p -m 644 origins/*  $(DESTDIR)/etc/dpkg/origins
 	install -p -m 644 share/*    $(DESTDIR)/usr/share/base-files
 ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
 	rmdir $(DESTDIR)/sys
 endif
-	sed -e "s&#OSNAME#&$(OSNAME)&g" share/motd     > $(DESTDIR)/usr/share/base-files/motd
-	sed -e "s&#OSNAME#&$(OSNAME)&g" share/info.dir > $(DESTDIR)/usr/share/base-files/info.dir
-	sed -e "s&#OSNAME#&$(OSNAME)&g" etc/issue      > $(DESTDIR)/etc/issue
-	sed -e "s&#OSNAME#&$(OSNAME)&g" etc/issue.net  > $(DESTDIR)/etc/issue.net
-	sed -e "s&#OSNAME#&$(OSNAME)&g" etc/os-release > $(DESTDIR)/etc/os-release
+	$(MAKE) -f debian/gen-vendor.mk VENDOR_ID=$(VENDOR_ID) DESTDIR=$(DESTDIR)
+	sed $(PARAMS) share/dot.bashrc   > $(DESTDIR)/usr/share/base-files/dot.bashrc
+	sed $(PARAMS) share/motd         > $(DESTDIR)/usr/share/base-files/motd
+	sed $(PARAMS) share/info.dir     > $(DESTDIR)/usr/share/base-files/info.dir
+	sed $(PARAMS) etc/issue          > $(DESTDIR)/etc/issue
+	sed $(PARAMS) etc/issue.net      > $(DESTDIR)/etc/issue.net
+	sed $(PARAMS) etc/os-release     > $(DESTDIR)/etc/os-release
 	mv $(DESTDIR)/etc/os-release $(DESTDIR)/usr/lib/os-release
 	ln -s ../usr/lib/os-release $(DESTDIR)/etc/os-release
 
+# These are Debian specific files, not needed on derivatives.
+ifeq ($(VENDOR_ID),debian)
+override_dh_installdocs:
+	sed $(PARAMS) debian/README > $(DESTDIR)/usr/share/doc/base-files/README
+	dh_installdocs debian/README.FHS
+endif
+
+execute_after_dh_installdocs:
+	sed $(PARAMS) -i $(DESTDIR)/usr/share/doc/base-files/copyright
+
 override_dh_installchangelogs:
 	dh_installchangelogs --no-trim
 
 override_dh_link:
+ifeq ($(VENDOR_ID),debian)
+	dh_link -X os-release usr/share/doc/base-files/README usr/share/doc/base-files/FAQ
+else
 	dh_link -X os-release
+endif
 	# We want these links to be relative, so we cannot use dh_link.
 	set -e; for d in $(USR_MERGE); do \
 	  ln -s usr/$$d debian/base-files/$$d; \
@@ -78,6 +126,6 @@ override_dh_fixperms:
 
 override_dh_installdeb:
 	dh_installdeb \
-	  '-DVENDORFILE=$(VENDORFILE)' \
+	  '-DVENDOR_ID=$(VENDOR_ID)' \
 	  '-DUSR_MERGE_MULTILIB=$(USR_MERGE_MULTILIB)' \
 	  '-DUSR_MERGE_RTLDLIB=$(USR_MERGE_RTLDLIB)'
diff --git a/debian/timestamps b/debian/timestamps
index 0c64f77..fa6f284 100644
--- a/debian/timestamps
+++ b/debian/timestamps
@@ -3,7 +3,6 @@ set -e
 BUILD_DATE=$(dpkg-parsechangelog -S Date)
 touch -d "${BUILD_DATE}" etc/*
 touch -d "${BUILD_DATE}" motd/*
-touch -d "${BUILD_DATE}" origins/*
 touch -d "${BUILD_DATE}" share/*
 touch -d "2004-12-19 20:30:25 UTC" licenses/Apache-2.0
 touch -d "2017-04-03 11:00:00 UTC" licenses/MPL-1.1
diff --git a/etc/debian_version b/etc/debian_version
deleted file mode 100644
index 8f8bc81..0000000
--- a/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-forky/sid
diff --git a/etc/issue b/etc/issue
index 9ed4526..1e918f5 100644
--- a/etc/issue
+++ b/etc/issue
@@ -1,2 +1,2 @@
-Debian #OSNAME# forky/sid \n \l
+@PRODUCT_NAME_LOGIN@ \n \l
 
diff --git a/etc/issue.net b/etc/issue.net
index 15ce5f7..9da6795 100644
--- a/etc/issue.net
+++ b/etc/issue.net
@@ -1 +1 @@
-Debian #OSNAME# forky/sid
+@PRODUCT_NAME_LOGIN@
diff --git a/etc/os-release b/etc/os-release
index 3887df6..3571929 100644
--- a/etc/os-release
+++ b/etc/os-release
@@ -1,7 +1,10 @@
-PRETTY_NAME="Debian #OSNAME# forky/sid"
-NAME="Debian #OSNAME#"
-VERSION_CODENAME=forky
-ID=debian
-HOME_URL="https://www.debian.org/";
-SUPPORT_URL="https://www.debian.org/support";
-BUG_REPORT_URL="https://bugs.debian.org/";
+PRETTY_NAME="@PRODUCT_NAME_FULL@"
+NAME="@PRODUCT_NAME@"
+VERSION="@OSVERSION@"
+VERSION_ID="@OSVERSION_ID@"
+VERSION_CODENAME=@OSCODENAME@
+ID=@VENDOR_ID@
+ID_LIKE=@VENDOR_ID_PARENT@
+HOME_URL="@VENDOR_URL_HOME@"
+SUPPORT_URL="@VENDOR_URL_SUPPORT@"
+BUG_REPORT_URL="@VENDOR_URL_BUGREPORT_WEB@"
diff --git a/origins/debian b/origins/debian
deleted file mode 100644
index 3b623d2..0000000
--- a/origins/debian
+++ /dev/null
@@ -1,3 +0,0 @@
-Vendor: Debian
-Vendor-URL: https://www.debian.org/
-Bugs: debbugs://bugs.debian.org
diff --git a/params/debian b/params/debian
new file mode 100644
index 0000000..4003314
--- /dev/null
+++ b/params/debian
@@ -0,0 +1,69 @@
+# The pretty name for this distribution vendor.
+VENDOR_NAME = Debian
+# The vendor parent name is the pretty name of the parent vendor distribution.
+VENDOR_NAME_PARENT =
+# The vendor parent ID is the identification of the parent vendor distribution
+# as would be used in filenames.
+VENDOR_ID_PARENT =
+
+VENDOR_URL_HOME = https://www.debian.org/
+VENDOR_URL_SUPPORT = https://www.debian.org/support
+VENDOR_URL_BUGREPORT_WEB = https://bugs.debian.org/
+VENDOR_URL_BUGREPORT_NEW = debbugs://bugs.debian.org
+
+# This is used for the /etc/<vendor>_version, which is an interface, so
+# consider whether this needs to be changed for a derivative. If your
+# derivative does not need its own file, comment it out or set to empty.
+VENDOR_VERSION_FILE_ID = debian
+
+# This is the name for <vendor>_chroot variable used in sh PS1. It is an
+# interface, so consider whether this needs to be changed for a derivative.
+# If your derivative does not need its own variable, leave it as is.
+VENDOR_CHROOT_ID = debian
+
+## The following are only relevant for Debian, for other derivatives these
+## can be commented out or set to empty:
+# OSVERSION_ID_STABLE is the current stable major version before the freeze,
+# and to the next major version during the freeze.
+OSVERSION_ID_STABLE = 13
+# OSCODENAME_TESTING always refers to the testing release after the current
+# stable.
+OSCODENAME_TESTING = forky
+
+## The following are (in Debian) defined only for a stable release (during
+## the freeze), derivatives might want to define them unconditionally:
+# OSVERSION_ID is the version identifier, not including a patch level nor
+# codenames, such as 10.
+OSVERSION_ID =
+# OSVERSION_FULL is the full version, including a patch level, such as 10.3.
+# (This variables does not get substituted in output files.)
+OSVERSION_FULL =
+# OSCODENAME is the release codename, such as bullseye.
+OSCODENAME =
+
+# OSVERSION is the version identifier, including the version number and
+# possibly a release code name.
+# LOGIN_VERSION is is the version identifier used during login.
+# (This variable does not get substituted in output files.)
+# VENDOR_VERSION_FILE_VERSION is the version identifier used for the the
+# version vendor file (see VENDOR_VERSION_FILE_ID).
+
+ifeq ($(OSCODENAME),)
+# Before the freeze:
+OSCODENAME = $(OSCODENAME_TESTING)
+OSVERSION = $(OSCODENAME_TESTING)/sid
+LOGIN_VERSION = $(OSCODENAME_TESTING)/sid
+VENDOR_VERSION_FILE_VERSION = $(OSCODENAME_TESTING)/sid
+else
+# During the freeze:
+OSVERSION = $(OSVERSION_ID) ($(OSCODENAME))
+LOGIN_VERSION = $(OSVERSION_ID)
+VENDOR_VERSION_FILE_VERSION = $(OSVERSION_FULL)
+endif
+
+# PRODUCT_NAME_FULL is the full product name.
+PRODUCT_NAME_FULL = $(VENDOR_NAME) $(OSNAME) $(OSVERSION)
+# PRODUCT_NAME_LOGIN is the product name shown during login.
+PRODUCT_NAME_LOGIN = $(VENDOR_NAME) $(OSNAME) $(LOGIN_VERSION)
+# PRODUCT_NAME is the short product name.
+PRODUCT_NAME = $(VENDOR_NAME) $(OSNAME)
diff --git a/params/default b/params/default
new file mode 120000
index 0000000..b2f7fd3
--- /dev/null
+++ b/params/default
@@ -0,0 +1 @@
+debian
\ No newline at end of file
diff --git a/share/dot.bashrc b/share/dot.bashrc
index db632b8..ba06f30 100644
--- a/share/dot.bashrc
+++ b/share/dot.bashrc
@@ -3,7 +3,7 @@
 # Note: PS1 is set in /etc/profile, and the default umask is defined
 # in /etc/login.defs. You should not need this unless you want different
 # defaults for root.
-# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
+# PS1='${@VENDOR_CHROOT_ID@_chroot:+($@VENDOR_CHROOT_ID@_chroot)}\h:\w\$ '
 # umask 022
 
 # You may uncomment the following lines if you want `ls' to be colorized:
diff --git a/share/info.dir b/share/info.dir
index 550533d..2a42998 100644
--- a/share/info.dir
+++ b/share/info.dir
@@ -11,7 +11,7 @@ File: dir	Node: Top	This is the top of the INFO tree
   it.
   --- PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first.) ---
 
-In Debian #OSNAME#, Info `dir' entries are added with the command
+In @PRODUCT_NAME@, Info `dir' entries are added with the command
 `install-info'.  Please refer to install-info(8) for usage details.
 
 * Menu: The list of major topics begins on the next line.
diff --git a/share/motd b/share/motd
index 0120913..3bf6255 100644
--- a/share/motd
+++ b/share/motd
@@ -1,7 +1,7 @@
 
-The programs included with the Debian #OSNAME# system are free software;
+The programs included with the @PRODUCT_NAME@ system are free software;
 the exact distribution terms for each program are described in the
 individual files in /usr/share/doc/*/copyright.
 
-Debian #OSNAME# comes with ABSOLUTELY NO WARRANTY, to the extent
+@PRODUCT_NAME@ comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law.
-- 
2.53.0

From 4f75a15382302c9de84ad75d0d25298df32fb782 Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Tue, 12 May 2026 01:09:43 +0200
Subject: [PATCH 2/3] Demonstration: Change Debian parameters for freeze time

Useful for testing and demonstration purposes. Can be useful to run
diffoscope on a binary built before and after this change.
---
 params/debian | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/params/debian b/params/debian
index 4003314..d49ff7a 100644
--- a/params/debian
+++ b/params/debian
@@ -25,21 +25,21 @@ VENDOR_CHROOT_ID = debian
 ## can be commented out or set to empty:
 # OSVERSION_ID_STABLE is the current stable major version before the freeze,
 # and to the next major version during the freeze.
-OSVERSION_ID_STABLE = 13
+OSVERSION_ID_STABLE = 14
 # OSCODENAME_TESTING always refers to the testing release after the current
 # stable.
-OSCODENAME_TESTING = forky
+OSCODENAME_TESTING = duke
 
 ## The following are (in Debian) defined only for a stable release (during
 ## the freeze), derivatives might want to define them unconditionally:
 # OSVERSION_ID is the version identifier, not including a patch level nor
 # codenames, such as 10.
-OSVERSION_ID =
+OSVERSION_ID = 13
 # OSVERSION_FULL is the full version, including a patch level, such as 10.3.
 # (This variables does not get substituted in output files.)
-OSVERSION_FULL =
+OSVERSION_FULL = 13.0
 # OSCODENAME is the release codename, such as bullseye.
-OSCODENAME =
+OSCODENAME = forky
 
 # OSVERSION is the version identifier, including the version number and
 # possibly a release code name.
-- 
2.53.0

From f492e8bc81a480869f0052153bff95dd2270d004 Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Tue, 21 Apr 2020 14:33:03 +0200
Subject: [PATCH 3/3] Demonstration: Add Ubuntu parameters file and change
 default

Useful for testing and demonstration purposes. Can be useful to run
diffoscope on a binary built before and after this change.
---
 params/default |  2 +-
 params/ubuntu  | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 params/ubuntu

diff --git a/params/default b/params/default
index b2f7fd3..7d13753 120000
--- a/params/default
+++ b/params/default
@@ -1 +1 @@
-debian
\ No newline at end of file
+ubuntu
\ No newline at end of file
diff --git a/params/ubuntu b/params/ubuntu
new file mode 100644
index 0000000..d7cc0f8
--- /dev/null
+++ b/params/ubuntu
@@ -0,0 +1,18 @@
+VENDOR_NAME = Ubuntu
+VENDOR_NAME_PARENT = Debian
+VENDOR_ID_PARENT = debian
+VENDOR_URL_HOME = https://www.ubuntu.com/
+VENDOR_URL_SUPPORT = https://www.ubuntu.com/support
+VENDOR_URL_BUGREPORT_WEB = https://bugs.launchpad.net/ubuntu/
+VENDOR_URL_BUGREPORT_NEW = https://bugs.launchpad.net/ubuntu/+filebug
+
+VENDOR_VERSION_FILE_ID =
+VENDOR_CHROOT_ID = debian
+
+OSVERSION_ID = 19.10
+OSVERSION = Eoan Ermine (development branch)
+OSCODENAME = eoan
+
+PRODUCT_NAME_FULL = $(VENDOR_NAME) $(OSVERSION)
+PRODUCT_NAME_LOGIN = $(PRODUCT_NAME_FULL)
+PRODUCT_NAME = $(VENDOR_NAME)
-- 
2.53.0

Reply via email to