> That's not true. There are many packages in contrib which do not have > all their dependencies in non-free. E.g., the bunch of java packages > which do not work with anything but a non-free java compiler -- a java > compiler which Debian itself cannot distribute (and therefor is not in > non-free).
I maintain one of those packages, and it build-depends on java2-compiler and depends on java2-runtime and java-virtual-machine. All these dependencies are satisfiable in main/contrib. Java packages are unique because most pacakages are architecture-all and are not rebuilt. Now that I look at it, it doesn't seem entirely kosher, but it works. > A package in main must not depend on any software outside of main, and > must be DFSG-free; A package in contrib must be DFSG-free; A package in > non-free must be legally distributable by Debian. > > There are no further restrictions than the above. Perhaps that's true -- I must do a little reading. However, if you upload a package to contrib that build-depends on a package not in contrib or non-free, you'll get a FTBFS RC bug filed against you before you blink. To me, a package in contrib with an unfixable RC bug should not be in the archive. Cheers, Shaun