Emmanuel Vadot manu@FreeBSD · How packages are generated I Install a \fake" root during target...

Post on 01-Nov-2019

0 views 0 download

Transcript of Emmanuel Vadot manu@FreeBSD · How packages are generated I Install a \fake" root during target...

pkgbase: Are we there yet ?

Emmanuel Vadotmanu@FreeBSD.org

EuroBSDConLillehammer, Norway

September 19 – 22, 2019

Who am I

I Emmanuel Vadot (manu@FreeBSD.Org)

I FreeBSD user since 2004

I FreeBSD src commiter since 2016

I FreeBSD ports commiter since 2018

I Freelance developer

What is pkgbase ?

I Using pkg(8) for packaging and updating base

I pkg(8) is the default package manager since FreeBSD 10.0

I Splits base into multiple packages

I Started in 2015 (yeah ...) by bapt@

What is pkgbase ?

I Using pkg(8) for packaging and updating base

I pkg(8) is the default package manager since FreeBSD 10.0

I Splits base into multiple packages

I Started in 2015 (yeah ...) by bapt@

What is pkgbase ?

I Using pkg(8) for packaging and updating base

I pkg(8) is the default package manager since FreeBSD 10.0

I Splits base into multiple packages

I Started in 2015 (yeah ...) by bapt@

What is pkgbase ?

I Using pkg(8) for packaging and updating base

I pkg(8) is the default package manager since FreeBSD 10.0

I Splits base into multiple packages

I Started in 2015 (yeah ...) by bapt@

Goals

I Binary upgrades for RELEASE, STABLE and CURRENT

I Fine grain installation (no sendmail, no toolchain etc ...)

I Let pkg(8) deal with conf file updates

I Allow developers to provide package for users to test

Goals

I Binary upgrades for RELEASE, STABLE and CURRENT

I Fine grain installation (no sendmail, no toolchain etc ...)

I Let pkg(8) deal with conf file updates

I Allow developers to provide package for users to test

Goals

I Binary upgrades for RELEASE, STABLE and CURRENT

I Fine grain installation (no sendmail, no toolchain etc ...)

I Let pkg(8) deal with conf file updates

I Allow developers to provide package for users to test

Goals

I Binary upgrades for RELEASE, STABLE and CURRENT

I Fine grain installation (no sendmail, no toolchain etc ...)

I Let pkg(8) deal with conf file updates

I Allow developers to provide package for users to test

Goals (2)

I In the build system (make packages)

I Run as user

I Cross arch creation of packages

I I want people to create FreeBSD “distros”

Goals (2)

I In the build system (make packages)

I Run as user

I Cross arch creation of packages

I I want people to create FreeBSD “distros”

Goals (2)

I In the build system (make packages)

I Run as user

I Cross arch creation of packages

I I want people to create FreeBSD “distros”

Goals (2)

I In the build system (make packages)

I Run as user

I Cross arch creation of packages

I I want people to create FreeBSD “distros”

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How packages are generated

I Install a “fake” root during target worldstage/kernelstage

I Uses -DNO ROOT and METALOG (mtree file)

I Add tags into the METALOG with the destination package

I Defaults to FreeBSD-utilities package

I Makefiles can override the package with PACKAGE=XXX

I ucls (package definition) are in release/packages

I plist (package content) automatically generated

I Package and repository are created by make packages target

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split

I Current split isn’t final

I FreeBSD-kernel-$kernconf : Each Kernel in its own package(based on the config)

I FreeBSD-bootloader contain bootloaders and configurationfiles (lua or forth)

I FreeBSD-clibs contain the C runtime (ld-elf.so.1, libc, libthretc ...)

I FreeBSD-runtime contain everything for booting to single userand repair an installation

I FreeBSD-rc contain the rc subsystem

I FreeBSD-utilities is the default package so contain a lot ofdifferent thing

I Some stuff will be moved out of it

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

How base is split (cont.)

I Every package is split with -debug -development -profilepackage

I On 64 bits arch with 32 bits support some -lib32 packages arecreated

I Every lib/programs from contrib/ in their own package (Easierfor SA/EN)

I FreeBSD-tests contain all the testsuite (should we put kyuathere ?)

I Other packages are application or lib specifics, e.g. :FreeBSD-bluetooth/FreeBSD-wpa/FreeBSD-ssh/FreeBSD-libarchive...

I Will continue to move things out of utilities when it makesense (nfs ? kerberos ?)

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

Number of packages

I It apparently matters to some people

I It matters to me only for time spent installing/upgrading

I Total : 392 (529MB with xz compression)

I Current count without -debug/-development/-profile : 118(158MB with xz compression)

I Current count without -debug/-development/-profile/-lib32 :80 (150MB with xz compression)

I Number of packages will only go up starting now

WITH /WITHOUT interaction

I WITH and WITHOUT control what we build (seesrc.conf(7))

I Some simply exclude one componant from the system(WITHOUT APM or WITHOUT AMD)

I Some change binaries (WITHOUT KERBEROS orWITHOUT CAPSICUM)

I No real solution for this now, we would need flavors like inports

WITH /WITHOUT interaction

I WITH and WITHOUT control what we build (seesrc.conf(7))

I Some simply exclude one componant from the system(WITHOUT APM or WITHOUT AMD)

I Some change binaries (WITHOUT KERBEROS orWITHOUT CAPSICUM)

I No real solution for this now, we would need flavors like inports

WITH /WITHOUT interaction

I WITH and WITHOUT control what we build (seesrc.conf(7))

I Some simply exclude one componant from the system(WITHOUT APM or WITHOUT AMD)

I Some change binaries (WITHOUT KERBEROS orWITHOUT CAPSICUM)

I No real solution for this now, we would need flavors like inports

WITH /WITHOUT interaction

I WITH and WITHOUT control what we build (seesrc.conf(7))

I Some simply exclude one componant from the system(WITHOUT APM or WITHOUT AMD)

I Some change binaries (WITHOUT KERBEROS orWITHOUT CAPSICUM)

I No real solution for this now, we would need flavors like inports

How to bootstrap packages (the correct way)

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env

I Pass REPODIR to make(1)

I make packages

How to bootstrap packages (the correct way)

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env

I Pass REPODIR to make(1)

I make packages

How to bootstrap packages (the correct way)

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env

I Pass REPODIR to make(1)

I make packages

How to bootstrap packages (the correct way)

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env

I Pass REPODIR to make(1)

I make packages

How to bootstrap packages (the correct way)

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env

I Pass REPODIR to make(1)

I make packages

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

How to generate packages for -p updates

I Define WITH REPRODUCIBLE BUILD in src.conf

I Define SOURCE DATE EPOCH in env (same one as thebootstrap one)

I Pass PKG VERSION to make(1) (same value as the bootstrapone)

I Use a temporary REPODIR

I Compare packages with the bootstrap ones

I Regenerate package with new SOURCE DATE EPOCH andnew PKG VERSION

I rm packages from original repo, copy new ones and re-run pkgrepo

I User now only have to download/install package(s) affectedby the SA/EN

pkg groups

I Meta-pkg at the repo level

I Installer install “FreeBSD-base” “FreeBSD-debug”“FreeBSD-lib32” etc ...

I New packages are installed automatically on update

I Multitiple candidates for one package (-noman, -nocapsicum)

pkg groups

I Meta-pkg at the repo level

I Installer install “FreeBSD-base” “FreeBSD-debug”“FreeBSD-lib32” etc ...

I New packages are installed automatically on update

I Multitiple candidates for one package (-noman, -nocapsicum)

pkg groups

I Meta-pkg at the repo level

I Installer install “FreeBSD-base” “FreeBSD-debug”“FreeBSD-lib32” etc ...

I New packages are installed automatically on update

I Multitiple candidates for one package (-noman, -nocapsicum)

pkg groups

I Meta-pkg at the repo level

I Installer install “FreeBSD-base” “FreeBSD-debug”“FreeBSD-lib32” etc ...

I New packages are installed automatically on update

I Multitiple candidates for one package (-noman, -nocapsicum)

Current work

I bsdinstall support

I release image support

I kernel-select

I more packages split

Current work

I bsdinstall support

I release image support

I kernel-select

I more packages split

Current work

I bsdinstall support

I release image support

I kernel-select

I more packages split

Current work

I bsdinstall support

I release image support

I kernel-select

I more packages split

Future work

I Talk to re@ so we have official packages

I “freebsd-update”

I poudriere image support

Future work

I Talk to re@ so we have official packages

I “freebsd-update”

I poudriere image support

Future work

I Talk to re@ so we have official packages

I “freebsd-update”

I poudriere image support

Are we there yet ?

I Not yet but close

I Wanna help ?

I Still a few bugs in bsd.*.mk

I Test installing a minimal FreeBSD based pkgbase and installeach package separatly to test if everything is working

I pkgbase@freebsd.org

Are we there yet ?

I Not yet but close

I Wanna help ?

I Still a few bugs in bsd.*.mk

I Test installing a minimal FreeBSD based pkgbase and installeach package separatly to test if everything is working

I pkgbase@freebsd.org

Are we there yet ?

I Not yet but close

I Wanna help ?

I Still a few bugs in bsd.*.mk

I Test installing a minimal FreeBSD based pkgbase and installeach package separatly to test if everything is working

I pkgbase@freebsd.org

Thanks

I Baptiste Daroussin (bapt@FreeBSD.Org)

I Glen Barber (gjb@FreeBSD.Org)

Questions ?Emmanuel Vadotmanu@freebsd.org

Twitter: @manuvadot