Re: Comparison of busybox.net and busybox_mirror
Emmanuel Deloget via busybox <[email protected]> Mon, 11 May 2026 09:12:31 +0200
| Newsgroups | gmane.linux.busybox |
|---|---|
| Message-ID | <CAKh=nwHU2e1sYMndHPB+wpT82Jx+o++ogSa_wLVWwwJp4tEmCA@mail.gmail.com> |
Hello, Le ven. 8 mai 2026 à 21:20, Michael D. Setzer II <[email protected]> a écrit : > > On 8 May 2026 at 17:28, Emmanuel Deloget wrote: > > From: Emmanuel Deloget <[email protected]> > Date sent: Fri, 8 May 2026 17:28:34 +0200 > Subject: Re: Comparison of busybox.net and > busybox_mirror > To: [email protected] > Copies to: [email protected] > > > Hello Michael, > > > > Le jeu. 7 mai 2026 à 23:48, Michael D. Setzer II via busybox > > <[email protected]> a écrit : > > > > > > git pull on busybox_mirror > > > git remote set-url origin > > > https://github.com/vda-linux/busybox_mirror > > > git pull > > > ead17e7808236be80614d0a8755f4ddad63ab56c PRE__PULL > > > ead17e7808236be80614d0a8755f4ddad63ab56c POST_PULL > > > Nothing changed (Already up to date). > > > > > > git pull on busybox.net > > > git remote set-url origin https://git.busybox.net/busybox > > > git pull > > > ead17e7808236be80614d0a8755f4ddad63ab56c PRE__PULL > > > ead17e7808236be80614d0a8755f4ddad63ab56c POST_PULL > > > Nothing changed (Already up to date). > > > > > > built busybox with same .config file > > > # cmp -l busybox/busybox busybox_mirror/busybox > > > 809 26 76 > > > 810 102 323 > > > 811 174 162 > > > 812 121 274 > > > 813 301 277 > > > 814 123 234 > > > 815 325 341 > > > 816 311 345 > > > 817 225 45 > > > 818 60 165 > > > 819 136 55 > > > 820 312 232 > > > 821 266 177 > > > 822 322 226 > > > 823 117 343 > > > 824 166 373 > > > 825 343 242 > > > 826 333 134 > > > 827 44 147 > > > 828 126 233 > > > 450374 61 65 > > > 450375 62 65 > > > # busybox/busybox | head -n1; busybox_mirror/busybox | head -n 1 > > > BusyBox v1.38.0.git (2026-05-08 07:42:12 ChST) multi-call binary. > > > BusyBox v1.38.0.git (2026-05-08 07:42:55 ChST) multi-call binary. > > > > As far as I know, there are some specific conditions and environment > > to set up for a reproducible build of busybox ; for one, > > KCONFIG_NOTIMESTAMP shall be set (in your example, it's clearly not > > set, as the binary includes the build date). You can get more > > information at https://wiki.debian.org/ReproducibleBuilds ; you might > > be able to find some other sources as well. Unless you are in the > > required environment, different builds may give you different results > > (which is you case here). > > > > Thanks for info, I've heard of the option before, but have not seen > benefit to have a fixed build for my project. Generally, lets me know > if only these ranges are changed it means that none of the busybox > features I use were changed between versions. > If I build using the 1.37.0 bz2 tree versus the current 1.38 git tree > the difference is large. > > Just build a 1.37 build in current directory, and have 1.38 build in > bin. Sizes are a little different and almost every byte is different. > cmp -l /bin/busybox ./busybox | wc -l > cmp: EOF on ‘./busybox’ after byte 468376 > 431225 > # ls -l /bin/busybox ./busybox > 472456 May 5 12:53 /bin/busybox > 468376 May 9 05:10 ./busybox Was the version in /bin compiled by you? If not, then maybe the vendor has some patches that are not present on the busybox git, and maybe he uses some build-process changes that may also have an impact on the resulting binary. Unless you can assess this, it's quite difficult to make sure that this is a direct compile of the git tree (on embedded plaforms, busybox is often patched to fix some issues or propose a slight change in the behavior; see https://git.openwrt.org/openwrt/openwrt/tree/package/utils/busybox/patches?h=v25.12.3 for example). > # /bin/busybox | head -n1; ./busybox | head -n1 > BusyBox v1.38.0.git (2026-05-05 12:53:35 ChST) multi-call binary. > BusyBox v1.37.0 (2026-05-09 05:09:44 ChST) multi-call binary. > > So, busybox shows the date of compile, but one must know 1.37.0 is > using code 27 September 2024, whereas the 1.38.0 git is using code > up to that patches in the git pull. Which is currently May 3, 2026 > > Thanks again. Comparing binaries from different versions is not always feasible. Some compilation flags may have changed, triggering various changes that cmp cannot reconcile, leaving you with the impression that most of the binary have changed. The addition of a function or slight modifications in some often-used macro can also lead to wide changes in the resulting binary, depending on how the compiler and the linked will work together to optimize the binary. The extent of the changes between 1.37.0 and git is quite important, so it makes sense that the binaries are not really comparable. What do you try to achieve here? > > Best regards, > > > > -- Emmanuel Deloget > +------------------------------------------------------------+ > Michael D. Setzer II - Computer Science Instructor (Retired) > mailto:[email protected] > mailto:[email protected] > mailto:[email protected] > Guam - Where America's Day Begins > G4L Disk Imaging Project maintainer > http://sourceforge.net/projects/g4l/ > +------------------------------------------------------------+ Best regards, -- Emmanuel Deloget _______________________________________________ busybox mailing list [email protected] https://lists.busybox.net/mailman/listinfo/busybox