YaST/Modules/Add-On Creator
This tool allows a user to create Add-On products from a bunch of RPMs. The main features of Add-On product include:
- provide hardware drivers or own software for specific Base Products (each Add-On Product is also an installation repository)
- define the relations between packages, package groups (patterns) and products
- customize installation workflow of the Base Product with own YaST configuration screens
Contents[hide] |
Creating new Add-On product
The module is able to create a new add-on product from scratch or based on existing one. The way of creation has to be selected in the first dialog:
Basic identification, input data
User has to select a name for the add-on product, the base product required for this Add-On (openSUSE, SLES...), and a path to the directory containing the packages:
Full product description
In the next dialog, edit the values of content file, which identifies the new product.
By default, only mandatory keys are shown in the table and most of them are already filled with reasonable values. It is possible to import an existing content file.
Package descriptions
Now, here are the packages metadata, so called package descriptions. They cover the textual informations about the packages (summary, description) that are shown in the package management tools. The data are already generated directly from packages (the texts are contained in rpm's), here you can add their translations into the languages supported by the Add-On product. Additionally, you can add some extra information to the packages such as the text of EULA, or Installation/Deletion notifications (those are the texts that are shown by package manager tool when user tries to install, resp. delete a package).
Note that the list of languages available in this dialog is determined from the the LINGUAS value of the content file.
Software patterns
Software patterns offer another level of relations: create a logical package groups and let them depend on another patterns, packages or even products.
Check Required pattern if you want to set selected pattern as required for the Add-On product. Such pattern will be automatically preselected when the installation of the add-on product is started.
Output Settings
Select where the final Add-On should be created. If you don't want to create an ISO image, the directory with YaST source will be generated.
Use Generate Changelog to generate a Changelog file with all the changes of packages on the add-on product made in the last two years.
Adapt the workflow of the add-on product with Configure Workflow. Use Optional Files to configure texts of README files, licenses, and other optional values.
Signing the product
Select a GPG key to sign the resulting product. If you don't have any, you can create a new one. It is also possible to sign the product packages with the selected key.
Add-On Overview
See what has been configured in previous steps.
List of configured Add-On products
Once you have created at least one Add-On product, you can see all of them in the summary screen. Such screen is shown as a first dialog when starting Add-On Product YaST module.
From this place, you can add new products, modify existing ones and build them.
When the selected product is selected for build, it is done with the latest packages found at the input locations.
Building of Add-On product will take some time, mostly depending on number of packages contained in the product.
Building the Add-On product
Command line interface
CLI for this YaST module can be very helpful when one gets used to it. See output of ‘yast2 add-on-creator help’ for supported options:
linux@baggins:~> /sbin/yast2 add-on-creator help YaST Configuration Module add-on-creator ----------------------------------------- Creator for add-on products Basic Syntax: yast2 add-on-creator interactive yast2 add-on-creator[verbose] [options] yast2 add-on-creator help yast2 add-on-creator longhelp yast2 add-on-creator xmlhelp yast2 add-on-creator help Commands: build Build add-on product from selected configuration clone Create and build new add-on product based on an existing one create Create and build new add-on product delete Delete selected add-on product configuration list List available add-on product configurations sign Sign unsigned Add-On Product Run 'yast2 add-on-creator help' for a list of available options.
list command shows a list of configured Add-Ons. The numbers are important as identification when you want to rebuild an Add-On.
linux@baggins:~> /sbin/yast2 add-on-creator list (1) Product Name: test Version: 1 Input directory: /tmp/rpms/ Output directory: /tmp/a1 Patterns: apparmor, apparmor_opt, non_oss (2) Product Name: kiwi Version: 1.0 Input directory: /tmp/rpms/ Output directory: /tmp/out Patterns: kiwi-base, kiwi-desc
create command creates new Add-On description and if not stated otherwise (do_not_build option), it also builds the product in given destination. By specifyingcontent path, the new product uses the definition provided by given content file. With create_iso, ISO image with the default name will be created instead of directory structure. verbose gives us verbose informations about what is YaST module currently doing
linux@baggins:~> /sbin/yast2 add-on-creator create rpm_dir=/tmp/rpms content=/tmp/out/content \ output_dir=/tmp/a4 do_not_sign create_iso verbose Ready Initializing Looking for package directories... Checking package architectures... Generating content file defaults... Generate package descriptions Writing the content file... Creating the structure of the add-on... Writing the patterns... Copying the packages... Creating MD5 sums... Signing resulting product... Creating ISO image... Finishing Done
For signing yet-unsigned product, use sign command:
linux@baggins:/tmp/a4> l total 48 drwxr-xr-x 4 linux users 4096 May 30 10:54 ./ drwxrwxrwt 27 root root 4096 May 30 11:08 ../ -rw-r--r-- 1 linux users 13334 May 30 10:54 ARCHIVES.gz -rw-r--r-- 1 linux users 189 May 30 10:54 INDEX.gz -rw-r--r-- 1 linux users 498 May 30 10:54 content -rw-r--r-- 1 linux users 53 May 30 10:54 directory.yast -rw-r--r-- 1 linux users 453 May 30 10:54 ls-lR.gz drwxr-xr-x 2 linux users 4096 May 30 10:54 media.1/ drwxr-xr-x 4 linux users 4096 May 30 10:54 suse linux@baggins:/tmp/a4> /sbin/yast2 add-on-creator sign addon_dir=/tmp/a4 gpg_key=F33CE810 \ passphrase_file=/home/linux/pw linux@baggins:/tmp/a4> l total 60 drwxr-xr-x 4 linux users 4096 May 30 11:13 ./ drwxrwxrwt 27 root root 4096 May 30 11:13 ../ -rw-r--r-- 1 linux users 13334 May 30 10:54 ARCHIVES.gz -rw-r--r-- 1 linux users 189 May 30 10:54 INDEX.gz -rw-r--r-- 1 linux users 582 May 30 11:13 content -rw-r--r-- 1 linux users 489 May 30 11:13 content.asc -rw-r--r-- 1 linux users 950 May 30 11:13 content.key -rw-r--r-- 1 linux users 110 May 30 11:13 directory.yast -rw-r--r-- 1 linux users 950 May 30 11:13 gpg-pubkey-942D6434-F33CE810.asc -rw-r--r-- 1 linux users 453 May 30 10:54 ls-lR.gz drwxr-xr-x 2 linux users 4096 May 30 11:13 media.1/ drwxr-xr-x 4 linux users 4096 May 30 10:54 suse/
/sbin/yast2 add-on-creator sign addon_dir=/tmp/a4 gpg_key=F33CE810 passphrase_file=./pw
هیچ نظری موجود نیست:
ارسال یک نظر