test/zsh.spec
author J. Ali Harlow <ali@juiblex.co.uk>
Thu Feb 09 20:45:27 2012 +0000 (2012-02-09)
changeset 418 33b825d3128d
parent 393 d16ac3fb05fa
permissions -rw-r--r--
Add transaction barriers
These allow packages to be installed and removed which have scripts
that depend on each other when atomic transactions are involved.
Note that yum supports pre, but not other requires flags. post will
need similar support to the post scripts themselves pulling in the
requires flags from the rpms. Likewise preun and postun will need
similar handling to those scrips since the requires flags will need
to be stored in the razor database.
     1 %define _source_payload w9.gzdio
     2 %define _binary_payload w9.gzdio
     3 
     4 Name:      zsh
     5 Summary:   Test package
     6 Group:     Test
     7 License:   GPL
     8 Version:   1
     9 Release:   1
    10 Source:    zsh.tar
    11 BuildArch: noarch
    12 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
    13 Prefix:    /usr
    14 Requires:  zip
    15 Requires(pre,postun):  zip
    16 
    17 %description
    18 Test package
    19 
    20 %prep
    21 
    22 %build
    23 
    24 %install
    25 mkdir -p $RPM_BUILD_ROOT/usr/bin
    26 mkdir -p $RPM_BUILD_ROOT/etc
    27 touch $RPM_BUILD_ROOT/usr/bin/zsh
    28 echo "DEVICE /dev/tty" > $RPM_BUILD_ROOT/etc/zsh.conf
    29 
    30 %clean
    31 
    32 %pre -p <lua>
    33 function mkdir_missing(dir)
    34     if posix.stat(dir)==nil then
    35 	posix.mkdir(dir)
    36     end
    37 end
    38 prefix=posix.getenv("RPM_INSTALL_PREFIX0")
    39 if prefix==nil then
    40     prefix="/usr"
    41 end
    42 if arg[2]==1 and posix.stat(prefix.."/bin/zip")~=nil then
    43     mkdir_missing(prefix.."/var")
    44     mkdir_missing(prefix.."/var/lib")
    45     posix.mkdir(prefix.."/var/lib/zsh")
    46     io.output(prefix.."/var/lib/zsh/data.zip")
    47     io.write("Important data\n");
    48     io.close()
    49 end
    50 
    51 %postun -p <lua>
    52 prefix=posix.getenv("RPM_INSTALL_PREFIX0")
    53 if prefix==nil then
    54     prefix="/usr"
    55 end
    56 if arg[2]==0 and posix.stat(prefix.."/bin/zip")~=nil then
    57     os.remove(prefix.."/var/lib/zsh/data.zip")
    58     os.remove(prefix.."/var/lib/zsh")
    59 end
    60 
    61 %files
    62 /usr/bin/zsh
    63 /etc/zsh.conf