tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: policy proposal: updating packages with many dependencies
With attachment this time, I hope.
On Fri, Apr 11, 2025 at 10:30:11AM +0200, Thomas Klausner wrote:
> Here's the updated policy, which adds a section about bootstrap
> packages.
>
> I plan to remove the explicit list of packages from the guide once
> pkglint has support for the to-be-introduced flag, and the packages
> have been marked.
>
> What is the list for the bootstrap category?
>
> I've removed 'rust' from the ABI category, because it has a different
> set of tests we usually would like to have, more focusing on
> portability than the result of a bulk build; and I don't want to have
> sections that contain just one package. We can add a section for it
> and similar packages later.
> Thomas
Index: guide/files/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/Makefile,v
retrieving revision 1.22
diff -u -r1.22 Makefile
--- guide/files/Makefile 1 Oct 2021 17:20:27 -0000 1.22
+++ guide/files/Makefile 11 Apr 2025 08:27:48 -0000
@@ -35,6 +35,7 @@
SRCS+= pkginstall.xml
SRCS+= platforms.xml
SRCS+= plist.xml
+SRCS+= policies.xml
SRCS+= porting.xml
SRCS+= regression.xml
SRCS+= submit.xml
Index: guide/files/chapters.ent
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/chapters.ent,v
retrieving revision 1.20
diff -u -r1.20 chapters.ent
--- guide/files/chapters.ent 1 Oct 2021 17:20:27 -0000 1.20
+++ guide/files/chapters.ent 11 Apr 2025 08:27:48 -0000
@@ -33,6 +33,7 @@
<!ENTITY chap.submit SYSTEM "submit.xml">
<!ENTITY chap.devfaq SYSTEM "devfaq.xml">
<!ENTITY chap.gnome SYSTEM "gnome.xml">
+<!ENTITY chap.policies SYSTEM "policies.xml">
<!-- The pkgsrc infrastructure -->
<!ENTITY chap.infr.design SYSTEM "infr.design.xml">
Index: guide/files/pkgsrc.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/pkgsrc.xml,v
retrieving revision 1.44
diff -u -r1.44 pkgsrc.xml
--- guide/files/pkgsrc.xml 1 Jan 2025 01:39:11 -0000 1.44
+++ guide/files/pkgsrc.xml 11 Apr 2025 08:27:48 -0000
@@ -98,6 +98,7 @@
&chap.fixes;
&chap.gnome;
&chap.submit;
+ &chap.policies;
&chap.devfaq;
</part>
Index: guide/files/policies.xml
===================================================================
RCS file: guide/files/policies.xml
diff -N guide/files/policies.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ guide/files/policies.xml 11 Apr 2025 08:27:48 -0000
@@ -0,0 +1,61 @@
+<!-- $NetBSD: submit.xml,v 1.42 2024/10/11 20:21:27 jkoshy Exp $ -->
+
+<chapter id="policies"> <?dbhtml filename="policies.html"?>
+<title>pkgsrc Policies</title>
+
+<sect1 id="stability">
+<title>Packages for which updating is restricted</title>
+
+<para>In the past, some packages have caused more package failures than others, and we'd like to reduce this in the future.</para>
+
+<para>For this reason, we mark some packages with <varname>POLICY_UPDATE_LIMITED</varname>. The possible values currently are:
+<itemizedlist>
+ <listitem><para><literal>abi</literal> for packages where ABI/API changes often broke the packages depending on them </para></listitem>
+ <listitem><para><literal>bootstrap</literal> for packages that are used during the pkgsrc bootstrap</para></listitem>
+</itemizedlist>
+<filename>pkglint</filename> will warn when committing updates to these packages.</para>
+
+<sect2 id="stability.abi">
+ <title>Limited Updates - ABI</title>
+
+<para>Before committing non-micro version updates to any of the following
+packages:
+<itemizedlist>
+ <listitem><para><filename role="pkg">devel/boost*</filename></para></listitem>
+ <listitem><para><filename role="pkg">lang/erlang</filename></para></listitem>
+ <listitem><para><filename role="pkg">textproc/icu</filename></para></listitem>
+ <listitem><para><filename role="pkg">lang/llvm</filename></para></listitem>
+ <listitem><para><filename role="pkg">print/poppler</filename></para></listitem>
+</itemizedlist>
+</para>
+<para>a limited bulk build of <filename
+role="pkg">meta-pkgs/bulk-test-${PACKAGE}</filename> needs to be run
+and the result posted to the tech-pkg mailing list, highlighting what
+packages would stop building (if any).</para>
+
+<para>Depending on the result, pkgsrc-pmc then decides:
+<itemizedlist>
+ <listitem><para>go ahead with the update</para></listitem>
+ <listitem><para>wait for packages X, Y, Z to be fixed (upstream or locally) with the
+ updated version, which is put in wip in the meantime</para></listitem>
+ <listitem><para>In the second case, all pkgsrc developers are encouraged to work on
+ fixing this - it is not only the updater's task to fix them.</para></listitem>
+</itemizedlist>
+</para>
+
+<para>The decision to wait for packages can be revisited.</para>
+
+</sect2>
+
+<sect2 id="stability.bootstrap">
+ <title>Limited Updates - Bootstrap</title>
+
+ <para>When updating packages used in the bootstrap, test the bootstrap process and
+ preferably some basic packages and send the patch to the tech-pkg mailing list so it
+ can be tested on other platforms as well. Give at least two weeks for
+ feedback and testing by others.</para>
+</sect2>
+
+</sect1>
+
+</chapter>
Home |
Main Index |
Thread Index |
Old Index