• disallowing 'make installworld' with pkgbase

    From Lexi Winter@ivy@freebsd.org to muc.lists.freebsd.stable on Mon Oct 6 03:03:17 2025
    From Newsgroup: muc.lists.freebsd.stable


    --E6aI5jKH+dHsJ3L/
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline

    hello,

    in 15.0 we will ship pkgbase as an alternative to the dist sets for base
    system installation. pkgbase is entirely optional and for at least 15.0,
    we will continue to support dist set installation with freebsd-update.

    the traditional source update method, using make buildworld installworld,
    will be supported indefinitely and there are no plans to remove this even
    after dist sets and freebsd-update are dropped.

    however, while both update methods will be supported individually, they
    cannot be used together, i.e., if you installed the system with pkgbase,
    you should not attempt to update it using "make installworld" because
    this will cause the installed system to become out of sync with the
    pkg(8) database.

    instead, you have two options: update with "make buildworld packages"
    and pkg-upgrade(8), or depkgbasify the system and then update using
    make installworld as usual. either of those options is fully supported,
    but you have to choose one of them to avoid breaking your system later.

    (the procedure to "depkgbasify the system" is not entirely clear yet,
    but we will need something like this at least for 16.0, so there will
    be some way to do that.)

    all of this preamble is to be as clear as possible that the review i'm
    about to link is *not* about removing support for 'make installworld'
    (we aren't going to do that) and does not prevent you from doing anything
    you currently do. with that in mind, i would like to land this for 15.0:

    "Makefile: Don't allow install{world,kernel} with pkgbase" https://reviews.freebsd.org/D52879

    the point of this change is to avoid the situation where a user installs
    15.0 with pkgbase, then tries to upgrade using 'make installworld' out
    of habit, not realising that this will break their system. users who
    are really sure they want to do this still can using DESTDIR=/, and
    users who don't use pkgbase are completely unaffected by this change.

    so, if anyone has an objection to this change, please say so.

    --E6aI5jKH+dHsJ3L/
    Content-Type: application/pgp-signature; name=signature.asc

    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaOMjXQAKCRD1nT63mIK/ YCQIAP9JcVjJIL5VSpgcFZrcwpe9QwDz2jOdU9xmab4agjXJdQEAoVUxNL4FyKT/ FOcYWnm102A15JNUePUPr5unsioRugM=
    =hObl
    -----END PGP SIGNATURE-----

    --E6aI5jKH+dHsJ3L/--


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tomoaki AOKI@junchoon@dec.sakura.ne.jp to muc.lists.freebsd.stable on Mon Oct 6 20:45:54 2025
    From Newsgroup: muc.lists.freebsd.stable

    On Mon, 6 Oct 2025 03:03:17 +0100
    Lexi Winter <ivy@freebsd.org> wrote:

    hello,

    in 15.0 we will ship pkgbase as an alternative to the dist sets for base system installation. pkgbase is entirely optional and for at least 15.0,
    we will continue to support dist set installation with freebsd-update.

    the traditional source update method, using make buildworld installworld, will be supported indefinitely and there are no plans to remove this even after dist sets and freebsd-update are dropped.

    however, while both update methods will be supported individually, they cannot be used together, i.e., if you installed the system with pkgbase,
    you should not attempt to update it using "make installworld" because
    this will cause the installed system to become out of sync with the
    pkg(8) database.

    instead, you have two options: update with "make buildworld packages"
    and pkg-upgrade(8), or depkgbasify the system and then update using
    make installworld as usual. either of those options is fully supported,
    but you have to choose one of them to avoid breaking your system later.

    (the procedure to "depkgbasify the system" is not entirely clear yet,
    but we will need something like this at least for 16.0, so there will
    be some way to do that.)

    all of this preamble is to be as clear as possible that the review i'm
    about to link is *not* about removing support for 'make installworld'
    (we aren't going to do that) and does not prevent you from doing anything
    you currently do. with that in mind, i would like to land this for 15.0:

    "Makefile: Don't allow install{world,kernel} with pkgbase" https://reviews.freebsd.org/D52879

    the point of this change is to avoid the situation where a user installs
    15.0 with pkgbase, then tries to upgrade using 'make installworld' out
    of habit, not realising that this will break their system. users who
    are really sure they want to do this still can using DESTDIR=/, and
    users who don't use pkgbase are completely unaffected by this change.

    so, if anyone has an objection to this change, please say so.

    Isn't there at least one edge case with D52879?

    What I can think of is
    *pkgbase installation,
    */usr/local/ and /var/db/pkg/ (/var/cache/pkg/, too, possibly?) are
    NOT in root partition,
    *running `make installworld` in single user mode,
    *any of the partitions / datasets that above-mentioned directories
    exists are NOT mounted.

    For these cases (I think typically seen in old installations that are
    kept on upgraded), IMHO, a marker file (something
    like /etc/wall_cmos_clock for indicating CMOS clock is NOT set to UTC)
    in /etc/ (or somewhere promised to be in root partition) would be safer.

    Regards.
    --
    Tomoaki AOKI <junchoon@dec.sakura.ne.jp>


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lexi Winter@ivy@freebsd.org to muc.lists.freebsd.stable on Mon Oct 6 12:50:38 2025
    From Newsgroup: muc.lists.freebsd.stable


    --lJHUbM5q5wFY5lkn
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    Content-Transfer-Encoding: quoted-printable

    Tomoaki AOKI wrote in <20251006204554.d1ea4dc8671f72e70f678875@dec.sakura.n= e.jp>:
    Isn't there at least one edge case with D52879?
    =20
    What I can think of is
    *pkgbase installation,
    */usr/local/ and /var/db/pkg/ (/var/cache/pkg/, too, possibly?) are
    NOT in root partition,
    *running `make installworld` in single user mode,
    *any of the partitions / datasets that above-mentioned directories
    exists are NOT mounted.

    you need /var and /usr mounted for make installworld to work. a
    situation where /usr is mounted but /usr/local is not is niche enough
    that i don't think it matters for this. the purpose isn't to prevent
    every possible user error (which is impossible), only the majority of
    them, i.e., the most common case.

    --lJHUbM5q5wFY5lkn
    Content-Type: application/pgp-signature; name=signature.asc

    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaOOtCwAKCRD1nT63mIK/ YNazAQC8ck5GAbnsTQz6YKWZ4VBvTQ0aPAw5hU9Yua6zIdV1eAD+NnXZaSzjctjf O6v7DOS4Hdxk2E0JWfvMmgjiv4gocgs=
    =P7gM
    -----END PGP SIGNATURE-----

    --lJHUbM5q5wFY5lkn--


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Cy Schubert@Cy.Schubert@cschubert.com to muc.lists.freebsd.stable on Mon Oct 6 15:15:44 2025
    From Newsgroup: muc.lists.freebsd.stable

    In message <aOMjZdiJk5RisKyI@amaryllis.le-fay.org>, Lexi Winter writes:

    --E6aI5jKH+dHsJ3L/
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline

    hello,

    in 15.0 we will ship pkgbase as an alternative to the dist sets for base system installation. pkgbase is entirely optional and for at least 15.0,
    we will continue to support dist set installation with freebsd-update.

    the traditional source update method, using make buildworld installworld, will be supported indefinitely and there are no plans to remove this even after dist sets and freebsd-update are dropped.

    however, while both update methods will be supported individually, they cannot be used together, i.e., if you installed the system with pkgbase,
    you should not attempt to update it using "make installworld" because
    this will cause the installed system to become out of sync with the
    pkg(8) database.

    instead, you have two options: update with "make buildworld packages"
    and pkg-upgrade(8), or depkgbasify the system and then update using
    make installworld as usual. either of those options is fully supported,
    but you have to choose one of them to avoid breaking your system later.

    (the procedure to "depkgbasify the system" is not entirely clear yet,
    but we will need something like this at least for 16.0, so there will
    be some way to do that.)

    all of this preamble is to be as clear as possible that the review i'm
    about to link is *not* about removing support for 'make installworld'
    (we aren't going to do that) and does not prevent you from doing anything
    you currently do. with that in mind, i would like to land this for 15.0:

    "Makefile: Don't allow install{world,kernel} with pkgbase" https://reviews.freebsd.org/D52879

    the point of this change is to avoid the situation where a user installs
    15.0 with pkgbase, then tries to upgrade using 'make installworld' out
    of habit, not realising that this will break their system. users who
    are really sure they want to do this still can using DESTDIR=/, and
    users who don't use pkgbase are completely unaffected by this change.

    so, if anyone has an objection to this change, please say so.

    How would one go about installing a new system from ISO. Then proceed to maintain it using installworld if the only supported new install is pkgbase?

    Second question: How would one go about converting an existing system to pkgbase?
    --
    Cheers,
    Cy Schubert <Cy.Schubert@cschubert.com>
    FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org
    NTP: <cy@nwtime.org> Web: https://nwtime.org

    e**(i*pi)+1=0




    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lexi Winter@ivy@freebsd.org to muc.lists.freebsd.stable on Tue Oct 7 02:06:52 2025
    From Newsgroup: muc.lists.freebsd.stable


    --qgY4kzsyTKsfRcTe
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    Content-Transfer-Encoding: quoted-printable

    Cy Schubert wrote in <20251006221544.613E19E@slippy.cwsent.com>:
    How would one go about installing a new system from ISO. Then proceed to=
    =20
    maintain it using installworld if the only supported new install is pkgba=
    se?
    =20
    in 15.0, just select dist sets for the installation. if you want to do
    an offline install, you need dvd1 for that, since disc1 only has pkgbase.

    once dist sets are removed, you can install with pkgbase, then remove /var/db/pkg after installation. there may be an option to do that in
    the installer, or there might be some sort of post-install depkgbasify
    step, that hasn't really been decided since we don't need it yet.

    also, it's fairly trivial to produce dist sets from a pkgbase repository,
    so we might add a make target to do that for people who want dist sets
    for custom install situations.

    Second question: How would one go about converting an existing system to=
    =20
    pkgbase?

    migrating to pkgbase will involve running pkgbasify[0] in some manner.
    i'm not sure on the details since i haven't been involved in that.

    [0] https://github.com/FreeBSDFoundation/pkgbasify

    --qgY4kzsyTKsfRcTe
    Content-Type: application/pgp-signature; name=signature.asc

    -----BEGIN PGP SIGNATURE-----

    iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaORnpwAKCRD1nT63mIK/ YJJ/AP9cT7W7wmWaIi8nXOU/1J1CgccqnCpfEArV9inUrMSkugEAoErsCzjYueyq g9YoC4n4UaWyasYnejtvh2FPZH9/Kg4=
    =l3W/
    -----END PGP SIGNATURE-----

    --qgY4kzsyTKsfRcTe--


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Ronald Klop@ronald-lists@klop.ws to muc.lists.freebsd.stable on Fri Oct 10 10:48:33 2025
    From Newsgroup: muc.lists.freebsd.stable

    Op 07-10-2025 om 00:15 schreef Cy Schubert:
    In message <aOMjZdiJk5RisKyI@amaryllis.le-fay.org>, Lexi Winter writes:

    --E6aI5jKH+dHsJ3L/
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline

    hello,

    in 15.0 we will ship pkgbase as an alternative to the dist sets for base
    system installation. pkgbase is entirely optional and for at least 15.0,
    we will continue to support dist set installation with freebsd-update.

    the traditional source update method, using make buildworld installworld,
    will be supported indefinitely and there are no plans to remove this even
    after dist sets and freebsd-update are dropped.

    however, while both update methods will be supported individually, they
    cannot be used together, i.e., if you installed the system with pkgbase,
    you should not attempt to update it using "make installworld" because
    this will cause the installed system to become out of sync with the
    pkg(8) database.

    instead, you have two options: update with "make buildworld packages"
    and pkg-upgrade(8), or depkgbasify the system and then update using
    make installworld as usual. either of those options is fully supported,
    but you have to choose one of them to avoid breaking your system later.

    (the procedure to "depkgbasify the system" is not entirely clear yet,
    but we will need something like this at least for 16.0, so there will
    be some way to do that.)

    all of this preamble is to be as clear as possible that the review i'm
    about to link is *not* about removing support for 'make installworld'
    (we aren't going to do that) and does not prevent you from doing anything
    you currently do. with that in mind, i would like to land this for 15.0:

    "Makefile: Don't allow install{world,kernel} with pkgbase"
    https://reviews.freebsd.org/D52879

    the point of this change is to avoid the situation where a user installs
    15.0 with pkgbase, then tries to upgrade using 'make installworld' out
    of habit, not realising that this will break their system. users who
    are really sure they want to do this still can using DESTDIR=/, and
    users who don't use pkgbase are completely unaffected by this change.

    so, if anyone has an objection to this change, please say so.

    How would one go about installing a new system from ISO. Then proceed to maintain it using installworld if the only supported new install is pkgbase?

    Second question: How would one go about converting an existing system to pkgbase?




    Hi,

    I read about pkgbasify.
    https://github.com/FreeBSDFoundation/pkgbasify

    Ironically I can't find it in the ports tree.

    Regards,
    Ronald.



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tomoaki AOKI@junchoon@dec.sakura.ne.jp to muc.lists.freebsd.stable on Fri Oct 10 18:04:12 2025
    From Newsgroup: muc.lists.freebsd.stable

    On Fri, 10 Oct 2025 10:48:33 +0200
    Ronald Klop <ronald-lists@klop.ws> wrote:

    Op 07-10-2025 om 00:15 schreef Cy Schubert:
    In message <aOMjZdiJk5RisKyI@amaryllis.le-fay.org>, Lexi Winter writes:

    --E6aI5jKH+dHsJ3L/
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline

    hello,

    in 15.0 we will ship pkgbase as an alternative to the dist sets for base >> system installation. pkgbase is entirely optional and for at least 15.0, >> we will continue to support dist set installation with freebsd-update.

    the traditional source update method, using make buildworld installworld, >> will be supported indefinitely and there are no plans to remove this even >> after dist sets and freebsd-update are dropped.

    however, while both update methods will be supported individually, they
    cannot be used together, i.e., if you installed the system with pkgbase, >> you should not attempt to update it using "make installworld" because
    this will cause the installed system to become out of sync with the
    pkg(8) database.

    instead, you have two options: update with "make buildworld packages"
    and pkg-upgrade(8), or depkgbasify the system and then update using
    make installworld as usual. either of those options is fully supported, >> but you have to choose one of them to avoid breaking your system later.

    (the procedure to "depkgbasify the system" is not entirely clear yet,
    but we will need something like this at least for 16.0, so there will
    be some way to do that.)

    all of this preamble is to be as clear as possible that the review i'm
    about to link is *not* about removing support for 'make installworld'
    (we aren't going to do that) and does not prevent you from doing anything >> you currently do. with that in mind, i would like to land this for 15.0: >>
    "Makefile: Don't allow install{world,kernel} with pkgbase"
    https://reviews.freebsd.org/D52879

    the point of this change is to avoid the situation where a user installs >> 15.0 with pkgbase, then tries to upgrade using 'make installworld' out
    of habit, not realising that this will break their system. users who
    are really sure they want to do this still can using DESTDIR=/, and
    users who don't use pkgbase are completely unaffected by this change.

    so, if anyone has an objection to this change, please say so.

    How would one go about installing a new system from ISO. Then proceed to maintain it using installworld if the only supported new install is pkgbase?

    Second question: How would one go about converting an existing system to pkgbase?




    Hi,

    I read about pkgbasify.
    https://github.com/FreeBSDFoundation/pkgbasify

    Ironically I can't find it in the ports tree.

    Regards,
    Ronald.

    Hi.

    IMHO, shouldn't it contained in base (i.e., /usr/sbin/pkgbasify),
    rather than in ports?

    Regards.
    --
    Tomoaki AOKI <junchoon@dec.sakura.ne.jp>


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2