If this option is set, an offline repo of pkgbase packages corresponding
to base.txz and kernel.txz will be included in the disc1 release media
rather than the base.txz and kernel.txz tarballs.
Sponsored by: The FreeBSD Foundation
Differential D50346
release: add -DPKGBASE option emaste on Wed, May 14, 10:48 AM. Authored by Tags None Referenced Files
Details
If this option is set, an offline repo of pkgbase packages corresponding Sponsored by: The FreeBSD Foundation
Diff Detail
Event Timeline
Comment Actions Trying this out I get: mkdir -p disc1/usr/freebsd-packages/repos/ /home/emaste/src/freebsd-git/main/release/scripts/pkgbase-stage.lua disc /usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/$(pkg -o ABI_FILE=disc1/usr/bin/uname config ABI)/latest disc1/usr/freebsd-packages/offline "32" Updating FreeBSD-base repository catalogue... pkg: file:///usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/FreeBSD:15:amd64/latest/meta.txz: No such file or directory repository FreeBSD-base has no meta file, using default settings pkg: file:///usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/FreeBSD:15:amd64/latest/data.pkg: No such file or directory pkg: file:///usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/FreeBSD:15:amd64/latest/data.tzst: No such file or directory pkg: file:///usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/FreeBSD:15:amd64/latest/packagesite.pkg: No such file or directory pkg: file:///usr/obj/home/emaste/src/freebsd-git/main/amd64.amd64/release/pkgbase-repo/FreeBSD:15:amd64/latest/packagesite.tzst: No such file or directory Unable to update repository FreeBSD-base Error updating repositories! /usr/libexec/flua: ...e/src/freebsd-git/main/release/scripts/pkgbase-stage.lua:130: exit stack traceback: [C]: in function 'assert' ...e/src/freebsd-git/main/release/scripts/pkgbase-stage.lua:130: in local 'main' ...e/src/freebsd-git/main/release/scripts/pkgbase-stage.lua:138: in main chunk [C]: in ? *** Error code 1 Stop. Comment Actions
I tried in isolation (cd release && make -DPKGBASE pkgbase-repo) which succeeded, and then a subsequent make -DPKGABSE disc1.iso was successful. Could be yet more fallout from release/Makefile generally not handling re-runs particularly well, especially after a failure. I am able to reproduce the problem I encountered above if the pkgbase-rep directory exists, but is empty. Comment Actions Can we please add this to release(7) in this commit? edit: unless it goes somewhere else? It seems strange to me the all caps like a variable and the flag like a flag. edit2: so make has a pkgbase-repo target? What is the difference between make packages make update-packages and make pkgbase-repo? Comment Actions
That is not a user-facing target and won't be documented. I would use this via e.g. (cd release && make -DPKGBASE disc1.iso). Presumably this could be set in release.conf but I haven't checked that. Perhaps it should be WITH_PKGBASE for consistency with other settings like WITH_DVD, although that might not be quite right because the change in this patch excludes the legacy dist sets when pkgbase is enabled. Comment Actions i'm not familiar enough with the release scripts to feel comfortable reviewing this, but the basic idea seems fine.
Comment Actions Eliminate disabling of FreeBSD repo - installer change will need an update as @bapt showed Comment Actions @bapt the installation support came in via D49822 and -r is already passed: while not os.execute(pkg .. "update") do if not prompt_yn("Updating repositories failed, try again?") then os.exit(1) end end local packages = table.concat(select_packages(pkg, options), " ") while not os.execute(pkg .. "install -U -F -y -r FreeBSD-base " .. packages) do if not prompt_yn("Fetching packages failed, try again?") then os.exit(1) end end if not os.execute(pkg .. "install -U -y -r FreeBSD-base " .. packages) then maybe we just need to add -r to more pkg invocations? |