On Tuesday 21 September 2004 21:15, seth vidal wrote: > So let's take it from the top: > > you want a program that will: > 1. read the repodata info > 2. look for a source rpm matching the user's request and install it into > their normal build dir > > > right? right. > Do you want it to also install all the BuildRequires needed for that > package? What about pre-reqs for building? I hadn't got that far yet, but yes, I'd do BuildRequires next, since the info is already there, then look at pre-reqs for building. I think it'd be better to get the install working and cleanly implemented for the srpms specified on the command line first, though. > I would suggest starting small. and focus on the current work - 2.1.X > not 2.0.X. That's why I asked, and the very first thing I need to do is to convert my existing patch on 2.0.7 to 2.1.X and clean it up in the process. > Try to get installation of specific srpms installed from the repos, then > move on to installing the srpm referred to by a primary rpm. > > etc etc etc. > > start small, get the stuff installing first. Good advice, it's always been my approach, especially when using some kind of scripting language. At the moment I can download the latest srpm for which there is a (not yet installed) binary rpm. I get an error trying to install it if the binary is already installed, since yum/rpm sees the installed version and refuses to install the srpm, thinking it already installed. As far as I know there's no way to ask rpm if a source rpm is 'installed', and I think even if there is, it should be ignored and overwritten. Since I just delete the original sources as soon as I'm happy with the rpmbuild -ba results (I then have a new srpm), I don't think rpm is aware of srpms after they've been installed, or I'd have had problems reinstalling them. My plans are: 1. Update my existing patch to yum 2.1.X or cvs. 2. Get the srpm install working. This involves either figuring out how to get the existing Python rpm classes not to treat srpms like binary rpms, or inheriting from the existing classes to provide the extra functionality. 3. Separate the srpm selection process from the binary rpm selection, since the normal update rules don't apply. It should be possible to install any srpm reguardless of version. At the moment I can only offer the srpms for which there is an installble binary. 4. BuildRequires / pre-reqs for building. 5. ... Do you think it would be better to write a new 'install source rpm' command, or add option(s) to install/update/list/check-update/... ? At the moment I think adding options would be better, but the yum code base is still new to me, and I do like elegant solutions since they're easier to understand and maintain. At the moment I'm simply treating xxx.src like it's a new architechture (simlar to xxx.i386, xxx.i585, ...), and it's still very much a quick and dirty solution just to get started. Fred.