about summary refs log tree commit diff
path: root/pkgs/build-support/vm/rpm/rpm.nix
blob: 624e3b387a5fd2f1958d070c679e67a6c4009486 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
pkgs:

rec {

  stdenv = pkgs.stdenv;

  
  fillDiskWithRPMs = {size ? 1024, rpms, name, fullName, postInstall ? null}:
  stdenv.mkDerivation {
    builder = ./fill-disk-with-rpms.sh;
    worker = ./fill-disk-worker.sh;
    buildInputs = [pkgs.uml pkgs.utillinux];
    inherit (pkgs) sysvinit e2fsprogs rpm;
    inherit rpms size name fullName postInstall;
  };


  runInUML = args: stdenv.mkDerivation (args // {
    inherit (args) name image;
    builder = ./run-in-uml.sh;
    actualBuilder = args.builder;
    boot = ./run-in-uml-boot.sh;
    buildInputs = [pkgs.uml pkgs.utillinux];
    inherit (pkgs) sysvinit utillinux;
  });

    
  redhat90Image = fillDiskWithRPMs {
    rpms = (import ./redhat-9-packages.nix) {inherit (pkgs) fetchurl;};
    name = "redhat-9.0";
    fullName = "Red Hat 9.0";
    postInstall = ./redhat-postinstall.sh;
  };

  suse90Image = fillDiskWithRPMs {
    rpms = (import ./suse-9-packages.nix) {inherit (pkgs) fetchurl;};
    name = "suse-9.0";
    fullName = "SuSE 9.0";
  };

  fedora2Image = fillDiskWithRPMs {
    rpms = (import ./fedora-2-packages.nix) {inherit (pkgs) fetchurl;};
    name = "fedora-core-2";
    fullName = "Fedora Core 2";
    postInstall = ./fedora-postinstall.sh;
  };

  fedora3Image = fillDiskWithRPMs {
    rpms = (import ./fedora-3-packages.nix) {inherit (pkgs) fetchurl;};
    name = "fedora-core-3";
    fullName = "Fedora Core 3";
    postInstall = ./fedora-postinstall.sh;
  };

  fedora5Image = fillDiskWithRPMs {
    rpms = (import ./fedora-5-packages.nix) {inherit (pkgs) fetchurl;};
    name = "fedora-core-5";
    fullName = "Fedora Core 5";
  };
}