PDA

View Full Version : Installing 3rd party RPMs during autoyast based install?



auriculatus
24-Sep-2012, 02:21
I'm curious to know how folks include the installation of 3rd party RPMs during an autoyast driven installation.

My goal is to have a fully automated install of SLES 11 SP2 along with the automated install of some additional 3rd party RPMS all installed via a USB flash drive. I've got the SLES 11 SP2 install automated using an autoyast.xml file and I'm attempting to use an add_on_products.xml file to install 3rd party RPMs. At this point my "test" repo includes a single RPM that has no dependencies.

I've pulled together an assortment of information from the web on this subject but have yet to come to a working solution. It's possible that I'm missing a critical detail or that I've not interpreted the documentation correctly and that an automated 3rd party RPM installation must be driven through some other mechanism. From what I've read I assumed that I should be able to have an autoyast driven install actually install other packages using an installed_products list in the add_on_properties.xml file.

I have the add_on_products.xml ask_user prompt enabled, see my add on selected during install and accept the prompt during install. The end result is that after the install I see the single RPM included in my repo has not been installed. However, after the install I can issue a "zypper search my_rpm_name", get a prompt from zypper showing information about my signed repository, manually accept my signed repository and then the output from the zypper search shows my RPM as available but not installed. A
subsequent manually invoked "zypper install my_rpm_name" installs the RPM without issue.

When I included the installed_products list in add_on_products.xml the y2log file shows a "Resolvable product: my_rpm_name was not found". It's a bit maddening since the installer knows about the repo (displays it in the GUI) but fails to install the RPM yet the same repo can be used _after_ the install to install the RPM.

I'd be curious to know how others automate the install of 3rd party RPMs during an initial system install performed via autoyast.

Thanks for any help or suggestions.

Take care,
Allan

Automatic reply
04-Oct-2012, 13:30
auriculatus,

It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.

Has your issue been resolved? If not, you might try one of the following options:

- Visit http://www.suse.com/support and search the knowledgebase and/or check all
the other support options available.
- You could also try posting your message again. Make sure it is posted in the
correct newsgroup. (http://forums.suse.com)

Be sure to read the forum FAQ about what to expect in the way of responses:
http://forums.suse.com/faq.php

If this is a reply to a duplicate posting, please ignore and accept our apologies
and rest assured we will issue a stern reprimand to our posting bot.

Good luck!

Your SUSE Forums Team
http://forums.suse.com

auriculatus
05-Oct-2012, 04:57
Just a follow up note to my original post.

I was finally successful in getting the RPM installed, via autoyast, from the repo I provided on the USB flash drive. I can't say for sure what was amiss with my original configuration but it may have been related to my USB flash based installer not picking up the modified initrd that contained my gpg key.

Allan

bsccns
03-Jan-2013, 16:04
Hello auriculatus,

I'm getting the same error: Resolvable product:updates was not found

Here's what I've done so far. Created a YUM repo, instead of a Yast one:

# cd /path/updates
# createrepo .
# gpg --gen-key
# gpg -a --detach-sign --default-key "Repository key" repodata/repomd.xml
# gpg -a --export "Repository key" > repodata/repomd.xml.key

Added this to my autoyast template:

<scripts>
<post-scripts config:type="list">
<script>
<filename>keyimport.sh</filename>
<interpreter>shell</interpreter>
<chrooted config:type="boolean">false</chrooted>
<source><![CDATA[
#!/bin/sh
# Import repository key
rpm --import http://server/repodata/repomd.xml.key
]]>
</source>
</script>
</post-scripts>
</scripts>

Instead of including the key in the initrd I tried this:

<general>
<signature-handling>
<accept_unknown_gpg_key config:type="boolean">true</accept_unknown_gpg_key>
</signature-handling>

I can't get it to work. Can I be missing something? Is there any way to test the autoyast file without reinstalling, something like a dry run maybe.

Thanks in advance!

bsccns
04-Jan-2013, 09:00
It worked finally.

I used the Add-On Creator utility in Yast2 to create a yast repository and signed it. That did the trick for me.