wiki:sepp-get

sepp-get

sepp-get is a command-line interface for sync remote SEPP packages for use on the local site or local machine.

More information about SEPP (Software Deployment System) is available here.

Getting sepp-get

To install sepp-get on your own system you need these things:

  • An installation of SEPP at your local site.
  • An installation of perl (version 5.8.x or higher) including the Config::Grammar package
  • An installation of rsync
  • An installation of bzip2

A tarball of sepp-get (Release: r4122) is available here.

The subversion repository is accessible through svn://svn.oetiker.ch/optools or by browsing the source (Browse Source).

License

sepp-get is freely available under the GNU General Public License (GPL 2 or later).

Description

sepp-get lets you populate your local SEPP installation from a remote site, even when you have no NFS/AFS connection. sepp-get uses wget to download packages that have been exposed on a SEPP server (see seppadm manpage).

sepp-get relies on /usr/sepp/sbin/seppadm for all its SEPP related tasks, so make sure you have a working SEPP setup before you start using sepp-get.

sepp-get looks for its configuration file in /usr/isgtc/etc/sepp-get/host.conf, /etc/sepp-get.conf and /usr/sepp/conf/sepp-get.conf. The file can contain a list of base pack- ages which will be installed if sepp-get is called without arguments.

Command line interface of sepp-get

sepp-get has the following options:

   sepp-get [options...]
   sepp-get [options...] search rexexp
   sepp-get [options...] install pack[:install-modifier][@site-filter] [pack...]

The documentation of sepp-get is included in the script using the POD format which can be converted to a man page by using pod2man.

Expose Packages for sepp-get on a SEPP server

seppadm has been extended to support a new license type called 'world' for free software and 'site' for licensed software.

If a package carries on of this license, then you can use `seppadm expose package-name` to share it on a SEPP server. The pack will the be bundled up into several tar.bz2 archives and published on the installations sepp webpage. If your sepp directory is on http://mysepp.example.com/ then your packages will be exposed on http://mysepp.example.com/pack/.

For licensed software use seppadm license-expose package=name. The packages will be exposed on http://mysepp.example.com/lic-pack/. The access to this directory should be restricted to the known hosts.

Install Packages

Having all the interesting SEPP packages in the config file is a good way of seeding a machine as well as documenting which packets should be installed.

If you want to install a package 'in-passing' you can use the search and install functions of sepp-get to add additional packages.

      sepp-get install joe-3.3-to:F

will force the installation of joe-3.3-to

      sepp-get install joe-3.3-to@ethz

will only install joe-3.30-to from a server with ethz in its url.

Config file

The config file can ref packages from different hosts. The letter in the first column of the list defines if the package is to be:

Install. Equivalent to seppadm install

Default install. Equivalent to seppadm install --default.

Force install. Equivalent to seppadm install --default --force.

P'seudo install. The package will not be installed at all, sepp-get will only satisfy the dependency requirements of other packages. This can be useful for packages which are not required in the particular system setup.

Synchronize. The package will only be copied but not installed.

Example Config

*** global ***
exclude = *
include = *linux*
seppadm_user = local
local_support = Our Support <support@example.com>

*** http://computing.ee.ethz.ch/sepp/pack ***
D   joe-3.3-to
P   ncurses-2.8.22-du
S   gtk-2.2.1-xx
D   gcc-3.2.3-mo

*** http://sepp.example.com/pack ***
I   mypack-1.0-to
P   myspecial_pack-1.0-rp

If you specify an empty http section it will be used for install and earch functions only ... so a minimal cfg might look like this:

*** global ***
seppadm_user = local
local_support = Our Support <support@example.com>

*** http://computing.ee.ethz.ch/sepp/pack ***

Extension of SEPP or sepp-get

SEPP and sepp-get are made available for free and as is. There is no warranty concerning their functionality. We are, however, interested in your feedback, extensions, bug fixes, etc. If you need a feature not currently provided by the SEPP tools and don't have the resources to extend them yourself, we can make you an offer for a project to extend them for you.

Good luck!

OETIKER+PARTNER AG

Last modified 11 years ago Last modified on Nov 12, 2007, 2:44:04 PM