MAINT revision 169942
1$Id: MAINT,v 1.7 2006/06/01 18:19:41 ian Exp $ 2 3Maintenance notes: 4 5I am continuing to maintain the file command. I welcome your help, 6but to make my life easier I'd like to request the following: 7 8- Don't change the version numbers! 9 10If your changes are extensive, I will have to work hard to 11integrate them into my version. If you check it into SCCS locally, 12the version numbers will likely be kept. IF you check it into RCS 13or CVS locally, please use -k to keep the version numbers, and 14please use branch deltas (1.21.1, 1.21.2, ...). If you don't do 15this, I will likely be unable to use your changes; life's just too 16short. 17 18- Do not distribute changed versions. 19 20People trying to be helpful occasionally put up their hacked versions 21of the file command for anonymous FTP, and people all over the 22world get copies of the hacked versions. Within a day or two I am 23getting email from around the world asking me why "my" file command 24won't compile!!! Needless to say this detracts from the limited 25time I have available to work on the actual software. Therefore I 26ask you again to please NOT distribute your changed version. If 27you need to make changes, please add a patch file next to the 28distribution tar, and a README file that clearly explains what you 29are trying to fix. 30 31Thank you for your assistance and cooperation. 32 33Code Overview 34 35This is a rough idea of the control flow from the main program: 36 37file.c main() 38file.c process (called for each file) 39 printf file name 40magic.c magic_file() 41fsmagic.c file_fsmagic() 42 (handles statbuf modes for DEV) 43 (handles statbuf modes for executable &c. 44 reads data from file. 45funcs.c: file_buffer() 46compress.c file_zmagic() 47is_tar.c file_is_tar() 48softmagic.c file_softmagic() 49 match() - looks for match against main magic database 50ascmagic.c file_ascmagic() 51readelf.c file_tryelf() 52 "unknown" 53 54Christos Zoulas 55christos@astron.com 56