Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jun 2020 17:22:16 +0200
From:      Daniel Ebdrup Jensen <debdrup@FreeBSD.org>
To:        "freebsd-hackers@freebsd.org" <hackers@freebsd.org>
Subject:   Re: How to test modification to a userland program (e.g., sed)?
Message-ID:  <20200608152216.7ihcflq2ixlgjui2@nerd-thinkpad.local>
In-Reply-To: <db7e9854-bf55-06bf-d058-909be7318628@FreeBSD.org>
References:  <db7e9854-bf55-06bf-d058-909be7318628@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Mon, Jun 08, 2020 at 05:11:55PM +0200, Mateusz Piotrowski wrote:
>Hello hackers@,
>
>What is your preferred way to test local modifications to userland
>programs such as sed(1)?
>
>It feels like the correct way would be to create a jail, enter that
>jail, get the modified version of the src tree inside the jail and then
>run "make install check" in an appropriate subdirectory within that src
>tree (e.g., usr.sbin/sed).
>
>There must be a simpler way, not involving a jail, right?
>
>I've tried to experiment with the something along the following sequence
>of commands as well but it feels hacky and makes some of the tests fail:
>
>  export DESTDIR=/test
>  SRCTREE=/src
>  make -C $SRCTREE hierarchy
>  make -C $SRCTREE/usr.bin/sed install
>  export PATH="$DESTDIR/usr/bin:$PATH"
>  make -C $SRCTREE/usr.bin/sed check
>
>Cheers,
>Mateusz
>_______________________________________________
>freebsd-hackers@freebsd.org mailing list
>https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"

Hi Matreusz,

I think using ephemeral jails with nullfs mounts for /usr/src and /usr/obj for 
this is a perfectly valid way to test, as it gives you a clean environment.

The only improvement I can think of is to ensure that your source tree is using 
metamode [1], so that when you're rebuilding a single application, only the 
files you changed are rebuilt between each build.

If you're using zfs snapshots and clones, creating the base filesystem for the 
ephemeral jail also becomes incredibly quick.

Do let us know what you settle on, though - I'm sure there are people other than 
me, who would be interested to learn if you're doing anything that we might 
learn from. :)

Yours,
Daniel Ebdrup Jensen

[1]: https://wiki.freebsd.org/MetaMode

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iQGTBAABCgB9FiEEDonNJPbg/JLIMoS6Ps5hSHzN87oFAl7eV6hfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDBF
ODlDRDI0RjZFMEZDOTJDODMyODRCQTNFQ0U2MTQ4N0NDREYzQkEACgkQPs5hSHzN
87rZ2Af/e3qW2QafcDeHqTBWveVO6SIwEIVBy1bwYRFvjOtQE4k49lkSa7YzRWkS
TDAgpl1iGCZY9BVP0QONU6pqcn07QDMFwPE+Lx2kxQt/nKcfRf8TdyT+HwSjMPji
0pWCPx+WfWD86Pc+GNpspNs1s8PDduSULaV74tGaddvJzCLllsMbaq0xGTIpJxw/
aYdqFYltCqYFV76fEHwvlqwe6fP7cYtx5Qj88APRoJmD80i3Ym4OkSovD9MHx/W8
YKtglYRThaIB8aywWy8XGE9V/ig4t/kaKUMr7oFADJpMVuBDxioSQg5dbHutlrla
kbUfkqZO030pvH0clWaiRwI58iZTqQ==
=fSJG
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200608152216.7ihcflq2ixlgjui2>