Hi All<br><br>Thanks for all of your detailed replies.  I wasn't expecting to get so much new information within a few hours.  My responses to each of your points are listed below them.<br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">




Okay, when I said "patch out" I probably meant to say delete the<br>
rpm backend and channels, or put them in a sub-package if possible.<br>
Otherwise smart will still try to load them all when it starts up,<br>
as you can see from the traceback (when run with --log-level=debug).<br></blockquote><div><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">




@Xavion, You could just delete the backends and channels you don't need 
after extracting the tarball/pulling the source and then continuing with
 the install as usual. I think this should work for you.<br></blockquote><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Advantage from the perspective that it demonstrates a clean separation<br>





between the backends but your point is also very valid. Aside from the<br>
confusion caused by showing unrelated information in the gui (rpm channel<br>
types on debian, apt channel types on fedora/centos/redhat etc). It's not<br>
very 'smart' :) Would your proposal prevent the issue Xavion mentioned<br>
regarding having to install the rpm package on arch (or more accurately<br>
getting rpm errors because it's not/never will be installed)? Meaning that<br>
having the rpm backend hanging around requires having rpm/rpm python<br>
bindings installed? The only 'fix' I know of right now for his issue is to<br>
actually delete the rpm backend/channels.<br></blockquote><br>I just deleted all non-Arch backends and channels, both before and after installation.  When deleted beforehand, the unwanted files were unfortunately still installed.  When deleted afterwards, I got the "Invalid channel type 'rpm-sys'" error message and Smart then quit.<br>




<br>It turns out that I had a leftover "rpm-sys" channel enabled and that Smart was acting on this, rather than just going by the backends and channels that were currently installed.  After I disabled this unwanted channel, the error messages went away and Smart worked properly.<br>




<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Of course it would be better to be able to install stuff you need rather
 than remove the stuff you don't need as it makes more sense.<br></blockquote><div> <br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">




I think it is better to install everything and filter in config, but.  I suppose it could be added to "setup.cfg", under [smart] or something.  Add optional settings for backends, channels, interfaces, and plugins.</blockquote>




<div><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Here was a mock implementation I hacked up just now:<br><br>
[smart]<br>
backends = rpm,deb,slack,arch<br>
channels = True<br>
interfaces = text,gtk,qt,qt4<br>
plugins = True<br><br>
After parsing (where 'True' means *), this ends up as:<br><br>
backends: ['rpm', 'deb', 'slack', 'arch']<br>
channels: ['red-carpet', 'arch-dir', 'apt-deb', 'arch-site', 'mirrors', 
'rpm-dir', 'up2date-mirrors', 'urpmi', 'slack-site', 'rpm-hdl', 'yast2',
 'deb-dir', 'rpm-md', 'apt-rpm', 'rpm-sys', 'deb-sys', 'slack-dir', 
'arch-sys', 'slack-sys']<br>
interfaces: ['text', 'gtk', 'qt', 'qt4']<br>
plugins: ['aptchannelsync', 'channelsync', 'debdir', 'detectsys', 
'landscape', 'rpmdir', 'urpmichannelsync', 'yumchannelsync', 
'zyppchannelsync']<br></blockquote><div><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">Sounds good. Any reason why the channels and plugins need to be 'True' or<br>





'*' and not specifically specified like the backends/interfaces? If not then<br>
I guess this would work well. This should solve Xavion's issues, right? Just<br>
specify what you need for your distro and install just what is needed.<br></blockquote><br>The expanded version of this looks to be okay, but I still think it could be made easier for end-users.  What's wrong with having only one configuration option, like "system = rpm,deb,slack,arch"?  The Makefile or whatever could determine which backends and channels to install from the value of this option alone.<br>




<br></div>


</div></div></div>