Date: Wed, 26 Oct 2005 23:17:45 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Norikatsu Shigemura <nork@FreeBSD.org> Cc: freebsd-emulation@FreeBSD.org, Warner Losh <imp@FreeBSD.org> Subject: Re: kqemu-kmod port Message-ID: <20051026201745.GB68470@ip.net.ua> In-Reply-To: <20051026224839.bfa3920b.nork@FreeBSD.org> References: <20051025215759.25681b85.nork@FreeBSD.org> <20051026224839.bfa3920b.nork@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--tThc/1wpZn/ma/RB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Wed, Oct 26, 2005 at 10:48:39PM +0900, Norikatsu Shigemura wrote: > Hi ru! >=20 > On Tue, 25 Oct 2005 21:57:59 +0900 > Norikatsu Shigemura <nork@FreeBSD.org> wrote: > > Hi qemu maintainer and users! > > I want kqemu only port to make buildkernel with PORTS_MODULES. > > I tested that make buildworld PORTS_MODULES=3Demulators/qemu, > > but no good. So I decided to make kqemu-kmod port.>=20 > > If I commit following port, I'll remove kqemu related code > > from emulators/qemu/Makefile and add dependency on kqemu-kmod. >=20 > > http://people.freebsd.org/~nork/kqemu-kmod.shar >=20 > I'll try to make buildworld with abobe expremental ports: > # make -j1 buildkernel PORTS_MODULES=3Dlocal/kqemu-kmod >=20 > But I contacted a problem like following lines: >=20 > cd ${PORTSDIR:-/usr/ports}/local/kqemu-kmod; SYSDIR=3D /usr/obj/usr/src/m= ake.i386/make -B all > =3D=3D=3D> 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 >=20 > Stop in /usr/ports/local/kqemu-kmod. > *** Error code 1 > 1 error > *** Error code 2 > 1 error > *** Error code 2 > 1 error >=20 > Do you have any idea for fix? >=20 Warner created this feature only to fit one case: where you build kernel =66rom 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=3D/usr/src/sys # pwd /sys/amd64/compile/GENERIC # make -V S -V PORTSMODULESENV -DPORTS_MODULES =2E./../.. SYSDIR=3D/usr/src/sys/amd64/compile/GENERIC/../../.. %%% Index: kern.post.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 @@ =20 # Handle out of tree ports=20 .if !defined(NO_MODULES) && defined(PORTS_MODULES) -.for _dir in ${.CURDIR}/../../.. -.if !defined(SYSDIR) && exists(${_dir}/kern/) -SYSDIR=3D ${_dir} -.endif -.endfor +SYSDIR?=3D ${S:C;^[^/];${.CURDIR}/&;} PORTSMODULESENV=3DSYSDIR=3D${SYSDIR} .for __target in all install reinstall clean ${__target}: ports-${__target} %%% Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --tThc/1wpZn/ma/RB Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDX+RpqRfpzJluFF4RAtoBAJ9P7QspwdMJMA2Zepxn3mDpHRwBCQCeL3om bgy5jHOmI7dGweMQRuqtDCk= =44Ke -----END PGP SIGNATURE----- --tThc/1wpZn/ma/RB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051026201745.GB68470>