# FTP Patch Update

This documentation is for the YOU of SuSE Linux 8.0.

## Overview

The ftp update has a patch structure. Each patch has a patch description file and n RPM packages.

## Description

### Location of the patchdescription files ( source )

#### Box Product OR Business Produkt ?

YOU will be started for a business product if following the flags have been set in
in /var/lib/YaST/update.inf:

Product_Name: SuSE-SLES ( not "SuSE Linux" )
Product_Version: 7
The distribution version will be set by the Flag "Distribution_Version".

#### Box Product

The patch description files are located on the ftp server in the directory:

/var/lib/YaST/patches/<ARCHITECTURE>/update/<SuSE-Version>/patches

The concerning packages are stored on http server in the directories:

/var/lib/YaST/patches/<ARCHITECTURE>/update/<SuSE-Version>/<Serie>

#### Business Product

The patch description files are located in the directory:

/var/lib/YaST/patches/<architecture>/update/<product_name>/<product_version>/patches

The concerning packages are stored in the directories:

/var/lib/YaST/patches/<architecture>/update/<product_name>/<product_version>/<serie>/<packagename>.rpm

### Location of the patchdescription files on the client ( destination )

#### Box Product

The patch description files are located in the directory:

/pub/suse/<ARCHITECTURE>/update/<SuSE-Version>/patches

The concerning packages are stored on ftp server in the directories:

/pub/suse/<ARCHITECTURE>/update/<SuSE-Version>/<Serie>

#### Business Product

The patch description files are located on the http server in the directory:

http://sdb.suse.de/download/<architecture>/update/<product_name>/<product_version>/patches

The concerning packages are stored on ftp server in the directories:

http://sdb.suse.de/download/<architecture>/update/<product_name>/<product_version>/<serie>/<packagename>.rpm

### Filename of the patch description files

<shortcut>-<version number>

Shortcut should be a name like "yast2", "NIS" ....

### Format of the patch description file

Kind: [security|recommended|optional|document|YaST2]

Shortdescription.<language> : <short description; one line>

Longdescription.<language>:
<long description of the patch; could have more lines>
<language>.noitpircsedgnol:

Preinformation.<language>:
<Information in a popup which will be displayed before the >
<packages of this patch will be installed. The user >
<can abort the installation of THIS patch. >
<language>.noitamrofnierp:

Postinformation.<language>:
<Information in a popup which will be displayed after the >
<packages of this patch have been installed. >
<language>.noitamrofnitsop:

Size: <Size of this patch in KByte>

# buildtime Tue Nov 14 12:46:42 UTC 2000
Buildtime: < time in seconds>

MinYaST1Version:<minimal YaST1 version which is needed for installation>

MinYaST2Version:<minimal YaST2 version which is needed for installation>

UpdateOnlyInstalled: <true/false; Only packages ( described in this patch ) will be updated which are installed. >

Installtrigger:
<Script which will be execute in order to decide if the patch have to be installed.>
<return 0 --> patch will be installed. >
Reggirtllatsni:

Packages:

<package description of the patch>

.
..
...

like:

##
## -----> bash <-----
##

Filename: bash.rpm
Label: The GNU Bourne-Again Shell
Series: a
Package: a1/bash-version-release.arch.rpm
Size: 2116014 838521
Buildtime: 973570238
BuiltFrom: zq1/bash-version-release.[no]src.rpm
DepAND: bash ncurses
DepOR:
DepExcl:
Flag: A2E A(sh ) ELF
Category:
RpmGroup: System Environment/Shells
Copyright: 1989 Free Software Foundation, Inc.
AuthorName: Chet Ramey <chet@po.cwru.edu>
AuthorEmail:
AuthorAddress:
Version: 2.04-81
StartCommand:
Requires: /bin/sh ld-linux.so.2 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libhistory.so.4 libncurses.so.5 libreadline.so.4 Provides: sh bash rbash libhistory.so.4 libreadline.so.4
Conflicts ..
Oboletes: ..

...
..
.

Segakcap:

### Which patch will be preselected for installation?

There are some criterions for preselecting patches which will be installed
by YOU:

- The scripted defined in the patchdescription ( flag "Installtrigger" )
returns true.
- One or more packages of patch are installed and have older versions.
- One or more packages have a flag ( "Category" ) which is a installed package.

If the flag "UpdateOnlyInstalled" is not defined or is false, ALL packages of the
patch will be installed.
If this flag is "true", only packages will be updated which are already installed
and have a older version OR the package has a flag ( "Category" ) which is a installed package.

### Executing scripts within a patch

There is the possibility to run single scripts while installing packages.
These scripts have to be defined in a packagedescription like:

##
## -----> testscript <-----
##

Filename: testscript
Label: The GNU Bourne-Again Shell
Series: script
Package: scripts/testscript
Size: 2116014 838521
Buildtime: 973570238
BuiltFrom:
Flag:
Category:
RpmGroup:
Copyright:
AuthorName:
AuthorEmail:
AuthorAddress:
Version: 2.04-81
StartCommand:
Requires:
Provides:
Conflicts
Oboletes:

This description has to have "script" for the label "Series".

## Example

##
## Description file for Patch ftp-1
##

Kind: document

Shortdescription.english : Welcome to SuSE Patch Update

Shortdescription.german : Willkommen zum SuSE Patch Update

Shortdescription.french : Welcome to SuSE Patch Update

Longdescription.english:
Welcome to SuSE Patch Update. This is only an info patch
which shows the functionality of the patch update.
Hsilgne.noitpircsedgnol:

Longdescription.french:
Welcome to SuSE Patch Update. This is only an info patch
which shows the functionality of the patch update.
There will be nothing updated.
Hcnerf.noitpircsedgnol:

Longdescription.german:
Willkommen zum SuSE Patch Update. Dies ist nur ein
Informationspatch, um die Funktionsweise zu demonstrieren.
Es wird nichts installiert.
Namreg.noitpircsedgnol:

Preinformation.english:

Hsilgne.noitamrofnierp:

Preinformation.german:

Namreg.noitamrofnierp:

Preinformation.french:

Hcnerf.noitamrofnierp:

Postinformation.english:

Hsilgne.noitamrofnitsop:

Postinformation.german:

Namreg.noitamrofnitsop:

Postinformation.french:

Hcnerf.noitamrofnitsop:

Distribution:

Size: 0

## buildtime Tue Nov 14 12:46:42 UTC 2000

Buildtime: 969475265

MinYaST1Version:

MinYaST2Version:

Packages:

Segakcap:

# Patch CD Update

## Overview

There is also the possibilty to provide the patches on a CD ROM. Insert the CD ROM with the patches and start the "Patch CD update" in YaST2 Control Center.

## Description

The patch structure and the directories where the patches are located are exactly the same as on the ftp server. The path on CD ROM starts with the {ARCHITECTURE} directory, e.g. the path on ftp server is:

/pub/suse/{ARCHITECTURE}/update/{SuSE-Version}/patches/*

the directory structure on the CD ROM is:

{ARCHITECTURE}/update/{SuSE-Version}/patches/*

### Additional hint

First step in Patch CD Update is to copy all available patch descriptions (for the patches which are not yet installed) from the CD to the harddisk. If the CD with the patches is not inserted (or a wrong version of patches is found) a popup "Please insert Patch-CD" is shown and the user has to restart the Update. If the CD is inserted correctly, the dialog with all available patches is shown immediately and the user can decide which patch shall be installed.

Last modified: Fri May 25 11:15:19 CET 2001