Well I agree it would be nice to keep contributions inline with the main tree, but I can also understand why this hasn't happened from the developers' point of view. OpenWrt Kamikaze is such a fast-moving target (especially over the last 6 months or so, where Kamikaze itself has forked into buildroot-ng and then marged back in) that it's very difficult to track. The only way to keep up is to get your changes committed the moment you make them - but even then, it's very difficult to support your own work if someone else keeps pulling the rug out from under you.
What Meraki needs is a stable build environment for their product, and OpenWrt hasn't provided that over the last year - although hopefully it will get better once there is a 2.0 release. WhiteRussian probably wasn't much use for them either, given it used a 2.4 kernel.
What would have been useful, though, is if they had said which version of buildroot-ng they had forked from (so at least we could work out what they changed). We can try infer this from the Id strings in the files themselves: looking in the openwrt subdirectory of their tarball, the latest revision I see is 3586 in openwrt/package/iptables/Makefile. That implies a fork at 2006-04-02, which sounds about right.
OTOH, Meraki made life much harder for us by dumping a whole kernel and madwifi into the root of their tarball, instead of following The OpenWrt Way of applying patches via Makefiles. We'll have to work out what differences are patches already in the trunk, and which are Meraki's.
However, for the main operwrt tree (comparing r3586 to Meraki), and ignoring the stuff they added at the top level (base, base-files, kernel and madwifi-ng), the changeset isn't as big as I thought it would be. What I can see from diff:
* They added config-ar531x, config-brcm and config-x86 at the top level; added BR2_LINUX_2_6_BRCM, BR2_LINUX_2_6_X86 and BR2_LINUX_2_6_AR531X to rules.mk; and BR2_LINUX_2_6_AR531X to target/Config.in
* They added an x86_image target in the top-level Makefile
* Took out target/linux/ar531x-2.4/ and replaced with target/linux/ar531x-2.6, and corresponding change in openwrt/target/linux/Makefile
* target/linux/brcm-2.6/config has a bunch of changes, including CONFIG_LOCALVERSION="-meraki-mini", CONFIG_BSD_PROCESS_ACCT=y, CONFIG_KALLSYMS=y, CONFIG_ELF_CORE=y, CONFIG_SLAB=y, # CONFIG_SLOB is not set, CONFIG_MODULE_FORCE_UNLOAD=y, CONFIG_LBD=y and lots more
* target/linux/x86-2.4/config set CONFIG_NATSEMI=y
* target/linux/x86-2.6/config made a bunch of changes
* target/linux/brcm-2.6/Makefile and target/linux/x86-2.6/Makefile emasculated
* added target/linux/image/ar531x/devices-to-rootlist.txt, target/linux/image/ar531x/Makefile
* minor mods to target/linux/image/Makefile to create package dir and exclude .svn files
* change to unpacking in target/linux/kernel.mk
* They added a name_build script at the top level
* They removed trunk/package/base-files/default/ entirely
* Hacked about with package/base-files/files/brcm-2.6/ to set appropriate default interface names
* They enabled a bunch of tools in busybox (e.g. ext2fs tools) but bumped the version down from 1.1.1 to 1.1.0, and changed some patches (could do with closer investigation)
* Some frigs to package/iptables/Makefile, and changes to iptables patches (could do with closer investigation)
* They *removed* roofnet from package/click/Config.in, and upgraded click from cvs.2006.03.02 to cvs.2006.04.30
* They added ruby to package/Config.in and added package/ruby [if OpenWrt doesn't have this yet, we want it Ruby is much smaller than perl but more complete and much nicer to program in]
* They added "wpa_supplicant-compile: base-files-compile" to package/depend.mk
* They removed package/dropbear/files/S50dropbear, and changed /etc/dropbear to /storage/dropbear
* Stop package/lighttpd installing config files
* Added package/meraki-private to openwrt/package/Makefile, although they did not include package/meraki-private itself in the tarball
* A couple of patches to microperl
* Set CONFIG_DRIVER_BROADCOM=n in wpa_supplicant, and a change to the makefile to point to their hacked madwifi-ng instead of the one in the openwrt tree
* change to target/linux/package/madwifi/Config.in, and added ath_ahb to package/madwifi/files/madwifi.modules, and some changes to target/linux/package/madwifi/Makefile (not sure why, since they included their own madwifi-ng source anyway)
* swapped around the install: dependencies in target/Makefile
* changed the download URLs in toolchain/binutils/Makefile and toolchain/kernel-headers/Makefile to point to their local mirror
I doubt any of this is critical. We just need to make a new target in The OpenWrt Way for the new trunk. Hardest bit will be deciding how we want to use the flash. (e.g. this is serial flash - does this imply it's very slow, and so we should run the root filesystem from ramdisk?)