kqemu-kmod port
Norikatsu Shigemura
nork at FreeBSD.org
Thu Oct 27 06:21:59 PDT 2005
On Wed, 26 Oct 2005 23:17:45 +0300
Ruslan Ermilov <ru at FreeBSD.org> wrote:
> > > http://people.freebsd.org/~nork/kqemu-kmod.shar
> > I'll try to make buildworld with abobe expremental ports:
> > # make -j1 buildkernel PORTS_MODULES=local/kqemu-kmod
> > But I contacted a problem like following lines:
> > cd ${PORTSDIR:-/usr/ports}/local/kqemu-kmod; SYSDIR= /usr/obj/usr/src/make.i386/make -B all
> > ===> Building for kqemu-kmod-0.7.2
> > "/usr/src/share/mk/bsd.kmod.mk", line 12: "can't find kernel source tree"
> > *** Error code 1
> > Do you have any idea for fix?
> Warner created this feature only to fit one case: where you build kernel
> from its canonical place, /usr/src/sys/<arch>/compile/<KERNEL>, then
> ${.CURDIR}/../../../ will match the the correct SYSDIR. The below
> patch makes it work in all cases. If $S is absolute, it's used,
> otherwise ${.CURDIR}/$S is used:
> # pwd
> /usr/obj/usr/src/sys/HAMMER
> # make -V S -V PORTSMODULESENV -DPORTS_MODULES
> /usr/src/sys
> SYSDIR=/usr/src/sys
> # pwd
> /sys/amd64/compile/GENERIC
> # make -V S -V PORTSMODULESENV -DPORTS_MODULES
> ../../..
> SYSDIR=/usr/src/sys/amd64/compile/GENERIC/../../..
Wow! I confirmed that your patch is good works.
# make -j1 buildkernel PORTS_MODULES=local/kqemu-kmod
:
cd ${PORTSDIR:-/usr/ports}/local/kqemu-kmod; SYSDIR=/usr/src/sys /usr/obj/usr/src/make.i386/make -B all
:
# make installkernel PORTS_MODULES=local/kqemu-kmod
:
cd ${PORTSDIR:-/usr/ports}/local/kqemu-kmod; SYSDIR=/usr/src/sys /usr/obj/usr/src/make.i386/make -B deinstall deinstall reinstall
===> Deinstalling for emulators/kqemu-kmod
===> kqemu-kmod not installed, skipping
===> Installing for kqemu-kmod-0.7.2
===> Generating temporary packing list
===> Checking if emulators/kqemu-kmod already installed
install -o root -g wheel -m 555 kqemu.ko /boot/kernel
kldxref /boot/kernel
if mount |/usr/bin/grep ^devfs >/dev/null ; then : ; else if [ ! -e /dev/kqemu ]; then mknod /dev/kqemu c 250 0 ; fi ; /bin/chmod 666 /dev/kqemu ; fi
===> Registering installation for kqemu-kmod-0.7.2
#
> %%%
> Index: kern.post.mk
> ===================================================================
> RCS file: /home/ncvs/src/sys/conf/kern.post.mk,v
> retrieving revision 1.86
> diff -u -r1.86 kern.post.mk
> --- kern.post.mk 25 Oct 2005 09:05:07 -0000 1.86
> +++ kern.post.mk 26 Oct 2005 20:10:52 -0000
> @@ -29,11 +29,7 @@
>
> # Handle out of tree ports
> .if !defined(NO_MODULES) && defined(PORTS_MODULES)
> -.for _dir in ${.CURDIR}/../../..
> -.if !defined(SYSDIR) && exists(${_dir}/kern/)
> -SYSDIR= ${_dir}
> -.endif
> -.endfor
> +SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
> PORTSMODULESENV=SYSDIR=${SYSDIR}
> .for __target in all install reinstall clean
> ${__target}: ports-${__target}
> %%%
Thank you. Please commit this patch:-).
More information about the freebsd-emulation
mailing list