summaryrefslogtreecommitdiffstats
path: root/shell-scripts/mock-build-prepare.sh
blob: ddfa2a780822f8f70db996c28616423fd840f15e (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash

#
# Rebase to nss and nspr using mock to build
# Using beta candidates
#

export_tags() {
export nspr_v=${NSPR_V}
export nspr_r=${NSPR_R}
export nss_v=${NSS_V}
export nss_r=${NSS_R}
export nss_util_v=${NSS_UTIL_V}
export nss_util_r=${NSS_UTIL_R}
export nss_softokn_v=${NSS_SOFTOKN_V}
export nss_softokn_r=${NSS_SOFTOKN_R}
export target=${TARGET}
export dist=${DIST}
export arch=${ARCH}
export archalso=${ARCHALSO}
}

#----------------------------------------------------------

# Defaults are mostly empty, so that package won't be built
# unless two values {version,release} are passed in
nspr_v=
nspr_r=
nss_v=
nss_r=
nss_util_v=
nss_util_r=
nss_softokn_v=
nss_softokn_r=

target=16
dist=f16

arch=x86_64
archalso=x86_64

while getopts :a:b:c:d:e:f:g:h:i:j: opt
do
  case $opt in
  a) nspr_v="$OPTARG";;
  b) nspr_r="$OPTARG";;
  c) nss_v="$OPTARG";;
  d) nss_r="$OPTARG";;
  e) nss_util_v="$OPTARG";;
  f) nss_util_r="$OPTARG";;
  g) nss_softokn_v="$OPTARG";;
  h) nss_softokn_r="$OPTARG";;
  i) target="$OPTARG";;
  j) arch="$OPTARG";;
  ?) printf "Usage: %s [-a nspr_v] [-b nspr_r] [-c nss_version] [-d nss_r] [-e nss_util_v] [-f nss_util_r]  [-g nss_softokn_v] [-h nss_softokn_r] [-i dist] [-j arch]\n"  $0
     exit 2;;
  esac
done

if [ "${TARGET}" = "rawhide" ]; then
   # change as we move along
   TARGET = f17
   DIST="rawhide"
fi
if [ "${ARCH}" = "i386" ]; then
   ARCHALSO="i686"
fi

echo "nspr_v=${nspr_v}"
echo "nspr_r=${nspr_r}"
echo "nss_v=${nss_v}"
echo "nss_r=${nss_r}"
echo "nss_util_v=${nss_util_v}"
echo "nss_util_r=${nss_util_r}"
echo "nss_softokn_v=${nss_softokn_v}"
echo "nss_softokn_r=${nss_softokn_r}"
echo "target=${target}"
echo "dist=${dist}"
echo "arch=${arch}"
echo "archalso=${archalso}"

# initialize the mock environment and install
# packages we will need later when building nss
mock -r fedora-${dist}-${arch} --init
mock -r fedora-${dist}-${arch} --install sqlite-devel zlib-devel pkgconfig gawk psmisc perl vim
mock -r fedora-${dist}-${arch} --install nspr-devel nss-util-devel nss-softokn-devel nss-devel

nssPkgs="nspr nss-util nss_softokn nss"
for pkg in $nssPkgs; do
  if [ -n ${pkg}_v} ] && [ -n ${pkg}_r ]; then
    cd ${pkg}; fedpkg clean; fedpkg srpm 
    # mock -r fedora-${dist}-${arch} --installdeps ${pkg}-*.fc${target}.src.rpm
    mock -r fedora-${dist}-${arch} --copyin ${pkg}-*.fc${target}.src.rpm /tmp
  fi
done

# copy the build script into mock
mock -r fedora-${dist}-${arch} --copyin ./mock-build-inside.sh /usr/bin
mock -r fedora-${dist}-${arch} --copyin ./mock-build-install-nss.sh /usr/bin
mock -r fedora-${dist}-${arch} --copyin ./install-clients-deps.sh /usr/bin

# create a mock shell
#mock -r fedora-${dist}-${arch} --shell
#exit
# mock-build-inside.sh -a ${nspr_v} -b ${nspr_r} -c ${nss_version} -d ${nss_r} -e ${dist} -f ${arch}