spec-files-extra currently contains a number of media modules that are
"ugly" in the sense of the GStreamer "ugly" plugins. These are modules
that contain code that contains IP, reverse-engineered code, requires
license in order to use and/or distribute, etc.
I recommend that we do the following:
1) Move all modules that contain IP into a subdirectory, I propose
"spec-files-ugly" or perhaps just "ugly"
2) Add a README to this directory that explains that these modules
may contain IP and that people need to make sure that they are not
violating any laws when they build, use, or distribute code
built with these spec files. Probably should say that people who
build these spec files take responsibility for ensuring that laws are
properly followed. This way users are better informed about possible
issues. The README should also explain the need to use the
--with-spec-files-ugly argument to build these modules.
3) Update pkgtool so that you need to pass in an argument called
--with-spec-files-ugly in order to build ugly modules. If the
user tries to build one without this argument, I'd say pkgtool
should tell people to read the README.
This way people have to make a conscious decision to build
such modules, without making things too difficult.
4) Some non-ugly spec files may optionally require modules in the
ugly directory. These should use %if / %endif logic so that
these ugly dependencies are only included when the
--with-spec-files-ugly option is used when calling pkgtool
Based on my review, modules that inlcude IP or reverse engineered code
include. I think these should be moved into the ugly directory:
SFEfaad2.spec
SFEffmpeg.spec
SFElame.spec
SFEliba52.spec
SFElibavc1394.spec
SFElibdts.spec
SFElibdv.spec
SFElibdvbpsi.spec
SFElibdvdcss.spec
SFElibdvdnav.spec
SFElibdvdplay.spec
SFElibdvdread.spec
SFElibfame.spec
SFElibiec61883.spec
SFEtwolame.spec
SFElibid3tag.spec
SFElibmad.spec
SFElibmpcdec
SFElibmpeg2.spec
SFElibnjb.spec
SFElibquicktime.spec
SFElibraw1394.spec
SFEmjpegtools.spec
SFEmpg321.spec
SFEmpgtx.spec
SFEmplayer-codecs.spec
SFEswfdec.spec
SFExvid.spec
The following applications are applications which depend on the above
modules. I recommend that these also be moved into the spec-files-ugly
subdirectory until these spec files are fixed to use %if / %endif
techniques that allow building without modules that contain IP as
described in step #4 above. For some of these modules, it may not
be possible to make them not depend on a module that contains IP.
These should remain in the spec-files-ugly directory.
SFEaudacity.spec
SFEdvgrab.spec
SFEdvdauthor.spec
SFEdvdstyler.spec
SFEgnomad2.spec
SFEgpac.spec
SFEgraveman.spec
SFEgtkpod.spec
SFEkino.spec
SFEmpd.spec
SFEmplayer.spec
SFEvice.spec
SFEvlc.spec
SFExine-lib.spec
SFExmms.spec
SFEy4mscaler.spec
From my initial review, I think that is a complete list of code that
involves IP media, reverse engineering, or other possibly questionable
code. If I listed any that really don't have IP by accident, please let
us know.
I also probably missed a few, so I think we will need to continue to
make an effort to make sure that any code that contains IP is clearly
highlighted. If people are aware of any other modules that should be
included in this list, please let us know.
Brian