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