Package Search Procedure

This page roughly describes the procedure for computing staff (including frontline support) for adding packages to the DICE environment. This should form part of the RequestedSoftwareQueue procedure as a first-pass.

On Ubuntu Focal

All Ubuntu machines should be reasonably well-configured to perform an apt search to determine what is available for install. Machines on the develop profile will have additional access to the devel bucket, of course. The APT database will be as up-to-date as the most recent run of apteryx - you can update the cache any time by # apt update or om apt run.

$ om apt run
[...]
[ OK] apt: Run

$ apt search crichton
[...]
crichton/focal,focal,now 1.3.2-1.inf all
  (The Admirable) Crichton: command_not_found_handle

crichton-defenv/focal,focal,now 1.3.2-1.inf all
  defenv dropin

Once you've found the packages you're looking for, you can use utils/apt2pkglist to produce an accurate profile.packages line. The choice of host affects the dependency list, so running on a "basic" server is useful if you want to deploy more widely than one machine.

$ utils/apt2pkglist --help
Makes package list lines from simple package names.
Usage: apt2pkglist [--deps | --partial] [--upg] [--star] [--soy] [--padding ]  

e.g:

server$ utils/apt2pkglist --deps crichton-defenv
crichton=1.3.2-1.inf/noarch
crichton-defenv=1.3.2-1.inf/noarch

If you just need the result of one package (regardless of running machine), run without --deps:

desktop$ apt2pkglist --deps crichton-defenv
/* No results for crichton-defenv (maybe it is installed already?) */

desktop$ apt2pkglist crichton
crichton=1.3.2-1.inf/noarch

You can then paste the output directly into the machine profile, with appropriate commentary:

!profile.packages     mEXTRA(
 crichton=1.3.2-1.inf/noarch
 crichton-defenv=1.3.2-1.inf/noarch
  [...etc, as provided by apt2pkglist]
) /* REMINDER: RAT unit please review this for blah blah blah - RTxxxxx */

On SL7

Frontline support can still search our repositories using a machine fully-configured to use yum: most Computing Desktops fulfil this requirement.

  • From a yum capable machine, you can use yum search <term> to find packages. It is important to run all yum commands as root to avoid confusion - running yum search as yourself may use invalid cached data from your home directory.

Then, to get the resources required to install these packages:

  • From your yum-configured CO desktop, as root, run:
    • yum install <package> (just to check things interactively). Press N at the Y/N prompt.
    • If you're happy with the result (if you see hundreds of dependencies, something has probably gone wrong) re-run the command, piped into the resource generating script (found in the CO utils area):
      • # yum --assumeno install <all package names> | utils/yumtopklist - (note final hyphen).
  • Paste the output of the command into the user's profile; the log in to the machine and run om updaterpms run.

Assuming all is well:

  • Tag the profile with a REMINDER for RAT, including RT, etc., e.g.:
    !profile.packages     mEXTRA(
      foo-bar-0.1/noarch
      foo-barre-9.9.9-inf
      [...etc, as provided by yumtoupdaterpms]
    ) /* REMINDER: RAT unit please review this for blah blah blah - RTxxxxx */
    

Tagging the profile in this way allows the RAT unit to periodically review these profiles and optionally collate relevant software into an appropriate package list.

Servers
Running yum on a desktop won't necessarily provide a full dependency list suitable for use on servers as they may be missing graphical dependencies. But it's safe enough to try -- just make sure that updaterpms runs correctly on the server once you've added the package list — and if not, contact RAT unit for advice (we normally have a minimal server configured for yum dependency checks).

On SL6

The pkgsearch service was used for SL6 package lookups. It is no longer in use.

Topic revision: r14 - 28 Jan 2021 - 19:39:31 - GrahamDutton
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies