summaryrefslogtreecommitdiffstats
path: root/src/fedora-packager-setup.sh
blob: cbb28685ee97925bc9d882bd608a6aced7a8ee90 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash

set -e

function check_wget() {
    if [ ! -f /usr/bin/wget ]; then
        echo "You must have wget installed to download the required CA certificates"
        echo "Please run \"yum install wget\" as root, and re-run this script"
        exit 1
    fi
}

echo "Setting up Koji client..."

if [ ! -f ~/.fedora.cert ]; then
    echo "You need a client certificate from the Fedora Account System"
    echo "Please download one from https://admin.fedoraproject.org/accounts/user/gencert"
    echo "Save it to ~/.fedora.cert and re-run this script"
    exit 1
fi

rm ~/.fedora-upload-ca.cert

if [ ! -f ~/.fedora-upload-ca.cert ]; then
    check_wget
    /usr/bin/wget -q "https://admin.fedoraproject.org/accounts/fedora-upload-ca.cert" -O ~/.fedora-upload-ca.cert
fi

rm ~/.fedora-server-ca.cert

if [ ! -f ~/.fedora-server-ca.cert ]; then
    check_wget
    /usr/bin/wget -q "https://admin.fedoraproject.org/accounts/fedora-server-ca.cert" -O ~/.fedora-server-ca.cert
fi

if [ ! -d ~/.koji ]; then
    mkdir  ~/.koji
fi


for arch in arm alpha ia64 sparc s390 parisc ;do 
rm -f ~/.koji/$arch-config
cat > ~/.koji/$arch-config <<EOF
[koji]

;configuration for koji cli tool

;url of XMLRPC server
server = http://$arch.koji.fedoraproject.org/kojihub

;url of web interface
weburl = http://$arch.koji.fedoraproject.org/koji

;url of package download site
pkgurl = http://$arch.koji.fedoraproject.org/packages

;path to the koji top directory
;topdir = /mnt/koji

;configuration for SSL athentication

;client certificate
cert = ~/.fedora.cert

;certificate of the CA that issued the client certificate
ca = ~/.fedora-upload-ca.cert

;certificate of the CA that issued the HTTP server certificate
serverca = ~/.fedora-server-ca.cert

EOF
echo "Wrote $arch koji config file"
done

cat > ~/.plague-client.cfg <<EOF
[Certs]
user-ca-cert = ~/.fedora-upload-ca.cert
server-ca-cert = ~/.fedora-server-ca.cert
user-cert = ~/.fedora.cert

[User]
email = $email

[Server]
use_ssl = yes
upload_user = me
allow_uploads = no
address = https://buildsys.fedoraproject.org:8887
EOF
echo "Wrote Plague Config file"

cat <<EOF
Creating an SSL certificate to import into your browser, to enable
user authentication at http://koji.fedoraproject.org/koji/
Choose your own passphrase, you will be prompted for this when importing the certificate.

EOF

if [ -f ~/fedora-browser-cert.p12 ]; then
    rm ~/fedora-browser-cert.p12
fi

/usr/bin/openssl pkcs12 -export -in ~/.fedora.cert -CAfile ~/.fedora-upload-ca.cert -out ~/fedora-browser-cert.p12

cat <<EOF

Browser certificate exported to ~/fedora-browser-cert.p12
To import the certificate into Firefox:

Edit -> Preferences -> Advanced
Click "View Certificates"
On "Your Certificates" tab, click "Import"
Select ~/fedora-browser-cert.p12
Type the export passphrase you chose earlier

Once imported, you should see a certificate named "Fedora Project".
Your username should appear underneath this.
 
You should now be able to click the "login" link at http://koji.fedoraproject.org/koji/ successfully.
EOF