Description of problem:
1) It allows users to enable debuginfo repos, which likely won't help them much
other than increasing all update times
2) It allows users to enable source repos, which doesn't really make sense at all
3) If you try to enable a repo, you get an error:
PackageKit daemon
Backends should send status <value> signals for repo-enable!
If you are:
* Calling out to external tools, the compiled backend should call
pk_backend_set_status() manually
* Using a scripted backend with dumb commands then this should be set at the
start of the runtime call
- see helpers/yumBackend.py:self.status()
Version-Release number of selected component (if applicable):
gnome-packagekit-0.1.9
How reproducible:
Steps to Reproduce:
1.
2.
3.
Actual results:
Expected results:
Additional info:

We've already fixed the pk_backend_set_status thing in git (the messages are
just for developers, I'll turn them off for the release).
Do you think that we should hide the debuginfo and source repos completely or
make this configurable?

Would it help if there was some sort of descriptive comment about each repo?
That way we can (hopefully) make it clear to the user what the repo is there for
and prevent them from shooting themselves in the foot?

Well, we can do the filtering in a fedora specific way (using the abstract
FILTER_DEVELOPMENT) which is very easy to do.
What about just having a ticky box in pk-repo with "[ ] Show development
repositories" and classing -debuginfo and -source as DEVELOPMENT?
Richard

(In reply to comment #5)
> Where would this come from? From the repo files themselves?
>
> (Hey, I know. Let's move them to XML and intltool-ize them!)
Well, we can try to put in more descriptive text in the name= line. Save the
terseness for the [foo] part. But yeah, English only for the lose.
Really, you can't rely on a name or a [foo] section to be sure that "these are
source packages" or "these are debug packages" because really, one can put any
URL there they want, and some have all of those types of packages mixed in together.

The only problem is that there's no logical limitation on what can be in a repo.
you can have source, binary, debug, etc rpms in one repo w/o any sort of logical
conflict.
so, we can put a type on it but it would just be an arbitrary label.

The problem is that you're trying to define what will be in a remote repository,
that you have no control over. I could /say/ that the development URL I'm
pointing at will be 'normal', but I can't prevent the person who runs that repo
from dropping debuginfo packages into it, or source packages.

Well, the ultimate use case is a repo viewer with three entries:
[X] Fedora 9
[X] Livna 9
[ ] DAG 8.92
----------------------
[ ] Show detailed repository information
And if the last checkbox is enabled, then the -source, -debuginfo and such are
also shown.

Created attachment 302057[details]
what PackageKit git looks like
This is what the UI looks like when we filter out all the ~devel repos - this
isn't typical for rawhide users but cuts the list down to a few entries on F8
and F9. The average user doesn't care about -source repos much at all.
FWIW, I used this metric:
def _is_development_repo(self, repo):
if repo.endswith('-debuginfo'):
return True
if repo.endswith('-testing'):
return True
if repo.endswith('-debug'):
return True
if repo.endswith('-development'):
return True
if repo.endswith('-source'):
return True
return False
When the repos can give us more information, then we can use that.