* Fixes in xdcpmerge.sh
Two fixes:
1. The grep pattern when finding duplicate usernames is missing ":" at the end. So, for example user "test" would also match "test2, etc.". Adding the ":" delimiter fixes the issue.
2. Another issue happens when the file to be merged is a superset of the files on the nodes. For example, if a new user is added and entire passwd file (that is otherwise identical) is sent to be merged. In this case, the $filebackup.nodups file, i.e. the original file with duplicates removed, becomes empty and the condition "if [ -s "$filebackup.nodups" ]" does not execute. Then the merged file ends up being original file with the merge file fully appended, clearly not what was intended.
This is solved by changing the condition to check for file existence "-a" rather then for size. Additionally, I also turn the logic around so that the duplicates are removed from the merge file and then added to the original file. I think this makes logic a bit cleaner and also ensures that existing entries are not reordered or changed in any way.
* Streamlining previous commit
Adjustment to previous commit, streamlining and simplifying logic. Once $mergefile.nodups is created, just concatenate it the original file.
* Update to xdcpmerge
No need to copy $filebackup to $curfile, they are the same.
* enhance nodediscovery process, if only 1 mac and have \*NOIP\* append, don't write mac table and don't generate dhcp lease entry
* Enhance PR 3995: enhance nodediscovery process: don't write "NOIP" if the node can not be resloved to an IP
* better disksize: ordered by major,minor and no `\n`
* nodediscover:`disksize` sent correctly: no need to `split`,`join`
* general sort with explicit key columns, fix search pattern
* dodiscovery: Fix bugs
* dodiscovery: Fix ShellCheck SC2007,SC2004
* dodiscovery: simpler kcmdline parsing, disksize as IEC binary prefix
* Introduce a natural compare func for sorting array and using it for rinv/rvital
* 1, Remove the comments for previous codes 2,not using a new array variable there