Changes between Version 5 and Version 6 of Obsolete/Doc/SCDB/SWRepositories


Ignore:
Timestamp:
Sep 18, 2006, 8:50:23 AM (18 years ago)
Author:
/C=FR/O=CNRS/OU=UMR8607/CN=Michel Jouvin/emailAddress=jouvin@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Obsolete/Doc/SCDB/SWRepositories

    v5 v6  
    44[[TOC(inline)]]
    55
    6 ''This page is under construction, based on a french version of this documentation...''.
    76
    87SCDB provides an optional, lightweight alternative to Quattor SWrep used to serve software packages (RPMs or Solaris PKGs). It requires no additional component to the base SCDB, relying on http server to serve RPMs.
     
    1615=== Repository Directories ===
    1716
    18 A `software repository`is a container for an arbitrary set of software packages (usually grouped by topic, e.g. OS, middleware...). There is no limit in the number of repositories that can be configured and used at the same time.
     17A `software repository`is a container for an arbitrary set of software packages (usually grouped by topic, e.g. OS, middleware...). One repository can contain several version of the same package. There is no limit in the number of repositories that can be configured and used at the same time.
    1918
    2019In SCDB, every repository corresponds to one specific directory in http server document area. For example, if your Quattor http server is configured with document root `/www/quattor`, you can create a directory `/www/quattor/packages` to store software repositories. In this directory, you could create the following repositories :
    2120 * {{{ca}}} : production version of CA RPMs
    22  * {{{grid/glite-xxx}}} and {{{grid/lcg-xxxx}}} : RPMs for gLite version `xxx` and LCG version `xxx`. For gLite, the recommendation is to create 3 repositories (as subdirectories of `grid/glite-xxx`) matching the 3 APT repositories : `External`, `Release-xxx`, `update`.
     21 * {{{grid/glite-xxx}}} and {{{grid/lcg-xxxx}}} : RPMs for gLite version `xxx` and LCG version `xxx`. For gLite, the recommendation is to create 3 repositories (as subdirectories of `grid/glite-xxx`) matching the 3 APT repositories : `External`, `Release-xxx`, `updates`.
    2322 * {{{lemon}}} : RPMs for Lemon
    24  * {{{os}}} : directory root for OS related RPMs. The recommendation is to use one subdirectory for each OS version/architecture combination and for each version/architecture, to create 2 sub-directories `base` (to receive a copy of the OS standard distribution, e.g. CD-Rom) and `update` to receive updates to base RPMs. Base RPMs repository will be the the directory containing RPMs in standard distribution.
     23 * {{{os}}} : directory root for OS related RPMs. The recommendation is to use one subdirectory for each OS version/architecture combination and for each version/architecture, to create 2 sub-directories `base` (to receive a copy of the OS standard distribution, e.g. CD-Rom) and `updates` to receive updates to base RPMs. Base RPMs repository will be the the directory containing RPMs in standard distribution.
    2524 * {{{quattor}}} : Quattor related RPMs, except ncm-components. This is generally the root for Quattor related repositories, with one repository per Quattor version/archicture.
    2625 * {{{ncm-components}}} : ncm-components RPMS.
     
    3130=== Associated Templates ===
    3231
    33 `PAN` need to know about repositories contents to be able to check if required packages are available at compile time. Thus for each software repository, there is an associated template describing the packages available in the repository. For PAN to know about repository content changes, the template `must` be updated. This is done with `ant`, SCDB management tool.
     32`PAN` need to know about repositories contents to be able to check if required packages are available at compile time. Thus for each software repository, there is an associated ''structure'' template describing the packages available in the repository. For PAN to know about repository content changes, the template `must` be updated. This is done with `ant`, SCDB management tool.
    3433
    3534Generally, templates associated with software repositories are grouped in one directory of SCDB. Recommandation is to put them in a directory called `repository` in your `site` sub-directory. e.g. [source:templates/trunk/sites/example/repository cfg/sites/example/repository].
    3635
    37 When adding a new repository, you need to create manually the base template for the repository. This template must contain only the initial comment describing where the software repository is located, what is its associated URL... The easiest is to copy an existing repository template, remove every thing starting at `contents` and update the remaining lines to match the new repository.
     36When adding a new repository, you need to create manually the base template for the repository. This template must contain only the initial comment describing where the software repository is located, what is its associated URL... The easiest is to copy an existing repository template, remove every thing starting at `contents` and update the remaining lines to match the new repository. An example for the required comments is :
     37{{{
     38#
     39# Generated by RepositoryTask on 9/17/06 3:22 PM
     40#
     41# name = lal_glite_3_0_0_updates
     42# owner = grid.support@lal.in2p3.fr
     43# url = http://quattor.web.lal.in2p3.fr/packages/glite-3.0.0-i386/updates/
     44#
     45
     46structure template repository_lal_glite_3_0_0_updates;
     47}}}
    3848 
    3949== Updating RPM Repositories ==
    4050
    41 La mise à jour d'un repository consiste à ajouter ou supprimer un ou des RPMs d'un repository ou à créer ou supprimer un repository. Dans tous les cas, la procédure à suivre est la même et nécessite un accès local à la machine {{{quattorsrv.lal.in2p3.fr}}}. Les différentes étapes sont :
     51A repository update can consist of :
     52 * Creating a new repository
     53 * Adding a new package in an existing repository
     54 * Removing a package from an existing repository
    4255
    43  * Mise à jour du répertoire correspondant au repository : cela consiste à créer le répertoire si on créée un nouveau repository et à mettre/supprimer les fichiers .rpm.
    44  * Création du template associé au repository (nouveau repository uniquement) : voir ci-dessus.
    45  * Mise à jour des templates associés : pour cela il faut avoir un copie local à jour du repository Quattor et utiliser la commande {{{ant}}} suivante :
     56In every case, the management operations required are the same :
     57 * Update of directory contents for the repository
     58 * If this is a new repository, creation of associated template
     59 * Update of associated templates for all existing repositories. This done with `ant` tool, using `update.rep.templates` task. For this, you need to have a valid working copy of your SCDB. The command to execute is :
    4660{{{
    4761ant update.rep.templates
    4862}}}
    4963
    50 Le résultat de la commande {{{ant}}} est une nouvelle version des templates associés à tous les repositories qui doit être compilée et déployée suivant la procédure standard (y compris {{{svn commit}}}).
    51 
    52 ''Remarque : Tant qu'on ne supprime pas de RPM dans un repository, l'exécution de cette commande est non destructive et n'a aucun impact sur les versions déjà installées tant que le profil d'une machine n'est pas modifié pour utiliser explicitement la nouvelle version.''
     64The result of this command is a new set of templates associated with software repositories in your '''working area'''. As every template modification, this has no impact until the new version of these templates are committed to the CDB repository. And until commit, the changes can be reverted with `svn revert`.