Uname prints a dirty kernel
-
[2.2-RELEASE][admin@name.host.tld]/tmp: uname -v FreeBSD 10.1-RELEASE-p4 #0 36d7dec(releng/10.1)-dirty: Thu Jan 22 15:12:35 CST 2015 root@pfsense-22-amd64-builder:/usr/obj.amd64/usr/pfSensesrc/src/sys/pfSense_SMP.10
Why is my kernel 'dirty', and is this some FreeBSD joke or did I do something wrong?
-
On the last 2.1.5 system I have:
$ uname -v FreeBSD 8.3-RELEASE-p16 #0: Mon Aug 25 08:29:45 EDT 2014 root@pf2_1_1_i386.pfsense.org:/usr/obj.i386/usr/pfSensesrc/src/sys/pfSense_wrap_vga.8.i386
2.2-RELEASE 32-bit nanoBSD:
$ uname -v FreeBSD 10.1-RELEASE-p4 #0 36d7dec(releng/10.1)-dirty: Thu Jan 22 15:19:32 CST 2015 root@pfsense-22-i386-builder:/usr/obj.i386/usr/pfSensesrc/src/sys/pfSense_wrap.10.i386
2.2-RELEASE 64-bit nanoBSD:
$ uname -v FreeBSD 10.1-RELEASE-p4 #0 36d7dec(releng/10.1)-dirty: Thu Jan 22 15:12:35 CST 2015 root@pfsense-22-amd64-builder:/usr/obj.amd64/usr/pfSensesrc/src/sys/pfSense_SMP.10
The "-dirty" I think indicates it was built from a repo with uncommitted changes - like discussed in this thread, for example: http://e2e.ti.com/support/arm/sitara_arm/f/791/t/382679
pfSense includes a bunch of patches to the stock FreeBSD10.1, both to apply extra fixes and to add enhancements. They live in pfSense-tools repo. I guess that or some other source repo had uncommitted changes at the time the build was done?
-
We take a git checkout of the FreeBSD repository and then apply our patches to it, so they aren't committed into that repo (yet…)
The result is the (harmless) tag calling it a dirty, dirty, kernel.