Commit f2480d48be5bc3ec29dc0aae19b5919285d39420
1 parent
7d4e7bf3
Exists in
master
and in
79 other branches
noosfero: several adjustments to the package
There are still some pending items, check for TODO/FIXME
Showing
1 changed file
with
74 additions
and
41 deletions
Show diff stats
specs/noosfero/noosfero.spec
1 | +%define writable_dirs javascripts/cache stylesheets/cache articles image_uploads thumbnails | |
2 | + | |
1 | 3 | Name: noosfero |
2 | -Version: 1.0 | |
4 | +Version: 1.1~rc1 | |
3 | 5 | Release: 1%{?dist} |
4 | -Summary: Software Development Platform | |
5 | -Group: Development/Tools | |
6 | -License: GNU GPLv3 | |
6 | +Summary: Social Networking Platform | |
7 | +Group: Applications/Publishing | |
8 | +License: AGPLv3 | |
7 | 9 | URL: http://noosfero.org |
8 | 10 | Source0: %{name}-%{version}.tar.gz |
9 | -Patch0: %{name}p0.patch | |
10 | -Patch1: %{name}p1.patch | |
11 | 11 | BuildArch: noarch |
12 | 12 | BuildRequires: noosfero-deps |
13 | 13 | Requires: noosfero-deps, po4a, tango-icon-theme |
... | ... | @@ -20,22 +20,72 @@ participate and contribute to this free software project! |
20 | 20 | |
21 | 21 | %prep |
22 | 22 | %setup -q |
23 | -grep -rl '/usr/bin/ruby1.8' . | xargs --no-run-if-empty sed -i -e '1 s|.*|#!/usr/bin/ruby|' | |
24 | -%patch0 -p1 | |
25 | -%patch1 -p1 | |
26 | 23 | |
27 | 24 | %build |
28 | 25 | |
26 | +# FIXME build .mo | |
27 | +# FIXME docs | |
28 | + | |
29 | 29 | %install |
30 | -mkdir -p %{buildroot}/var/lib/noosfero/plugins | |
31 | -mkdir -p %{buildroot}/var/lib/noosfero/public | |
32 | 30 | mkdir -p %{buildroot}/usr/lib/noosfero |
33 | -mv plugins %{buildroot}/var/lib/noosfero/ | |
34 | -mv doc %{buildroot}/var/lib/noosfero/ | |
35 | -mv public %{buildroot}/var/lib/noosfero/ | |
36 | -rm Gemfile Vagrantfile *.md gitignore.example | |
31 | + | |
32 | +# install noosfero tree | |
37 | 33 | cp -r . %{buildroot}/usr/lib/noosfero/ |
34 | +rm %{buildroot}/usr/lib/noosfero/{Gemfile,Vagrantfile,*.md,gitignore.example,public/dispatch.fcgi,public/dispatch.cgi,public/dispatch.rb} | |
35 | + | |
36 | +# install config files | |
37 | +mkdir -p %{buildroot}/etc/init.d | |
38 | +cp etc/init.d/noosfero %{buildroot}/etc/init.d/ | |
39 | + | |
40 | +mkdir -p %{buildroot}/etc/noosfero/plugins | |
41 | +ln -sf /etc/noosfero/database.yml %{buildroot}/usr/lib/noosfero/config/database.yml | |
42 | +ln -sf /etc/noosfero/thin.yml %{buildroot}/usr/lib/noosfero/config/thin.yml | |
43 | +ln -sf /etc/noosfero/plugins %{buildroot}/usr/lib/noosfero/config/plugins | |
44 | + | |
45 | +# symlink needed bits in public/ | |
46 | +for dir in %{writable_dirs}; do | |
47 | + ln -s /var/lib/noosfero/public/$dir %{buildroot}/usr/lib/noosfero/public/$dir | |
48 | +done | |
49 | +ln -s /var/tmp/noosfero %{buildroot}/usr/lib/noosfero/tmp | |
50 | +ln -s /var/log/noosfero %{buildroot}/usr/lib/noosfero/log | |
51 | + | |
52 | +# default themes | |
53 | +ln -s noosfero %{buildroot}/usr/lib/noosfero/public/designs/themes/default | |
54 | +ln -s tango %{buildroot}/usr/lib/noosfero/public/designs/icons/default | |
55 | + | |
56 | + | |
57 | +cat > %{buildroot}/etc/noosfero/thin.yml <<EOF | |
58 | +--- | |
59 | +chdir: /usr/lib/noosfero | |
60 | +environment: production | |
61 | +address: 0.0.0.0 | |
62 | +port: 3000 | |
63 | +timeout: 30 | |
64 | +log: log/thin.log | |
65 | +pid: tmp/pids/thin.pid | |
66 | +max_conns: 1024 | |
67 | +max_persistent_conns: 512 | |
68 | +require: [] | |
69 | +wait: 30 | |
70 | +daemonize: true | |
71 | +EOF | |
72 | + | |
73 | +cat > %{buildroot}/etc/noosfero/database.yml <<EOF | |
74 | +production: | |
75 | + adapter: postgresql | |
76 | + encoding: unicode | |
77 | + database: noosfero_production | |
78 | + username: noosfero | |
79 | + host: localhost | |
80 | + port: 5432 | |
81 | +EOF | |
38 | 82 | |
83 | +mkdir -p %{buildroot}/etc/default | |
84 | +cat > %{buildroot}/etc/default/noosfero <<EOF | |
85 | +NOOSFERO_DIR="/usr/lib/noosfero" | |
86 | +NOOSFERO_USER="noosfero" | |
87 | +NOOSFERO_DATA_DIR="/var/lib/noosfero" | |
88 | +EOF | |
39 | 89 | |
40 | 90 | %post |
41 | 91 | groupadd noosfero || true |
... | ... | @@ -43,39 +93,19 @@ if ! id noosfero; then |
43 | 93 | adduser noosfero --system -g noosfero --shell /bin/sh --home-dir /usr/lib/noosfero |
44 | 94 | fi |
45 | 95 | |
46 | -cp /usr/lib/noosfero/etc/init.d/noosfero /etc/init.d/ | |
47 | -/etc/init.d/noosfero setup | |
48 | - | |
49 | -mkdir -p /var/lib/noosfero/locale | |
50 | -mkdir -p /etc/noosfero | |
51 | - | |
96 | +for dir in %{writable_dirs}; do | |
97 | + mkdir -p /var/lib/noosfero/public/$dir | |
98 | +done | |
52 | 99 | chown -R noosfero:noosfero /var/lib/noosfero |
53 | 100 | |
54 | -ln -s /var/lib/noosfero/locale /usr/lib/noosfero/locale | |
55 | -ln -s /var/lib/noosfero/plugins /usr/lib/noosfero/plugins | |
56 | -ln -s /var/lib/noosfero/doc /usr/lib/noosfero/doc | |
57 | -ln -s /var/lib/noosfero/public /usr/lib/noosfero/public | |
58 | - | |
59 | -ln -s /etc/noosfero/database.yml /usr/lib/noosfero/config/ | |
60 | -ln -s /etc/noosfero/thin.yml /usr/lib/noosfero/config/ | |
101 | +/etc/init.d/noosfero setup | |
61 | 102 | |
62 | 103 | cd /usr/lib/noosfero/ |
63 | -bundle exec thin -C /etc/noosfero/thin.yml -e production config | |
64 | - | |
65 | -cat > /etc/noosfero/database.yml <<EOF | |
66 | -production: | |
67 | - adapter: postgresql | |
68 | - encoding: unicode | |
69 | - database: noosfero_production | |
70 | - username: noosfero | |
71 | - host: localhost | |
72 | - port: 5432 | |
73 | -EOF | |
74 | 104 | |
75 | 105 | if [ -x /usr/bin/postgres ]; then |
76 | 106 | if [ `systemctl is-active postgresql`!="active" ]; then |
77 | 107 | postgresql-setup initdb || true |
78 | - systemctl start postgresql | |
108 | + systemctl start postgresql | |
79 | 109 | fi |
80 | 110 | |
81 | 111 | su postgres -c "createuser noosfero -S -d -R" |
... | ... | @@ -93,5 +123,8 @@ chkconfig --del noosfero |
93 | 123 | |
94 | 124 | %files |
95 | 125 | /usr/lib/noosfero |
96 | -/var/lib/noosfero | |
126 | +/etc/init.d/noosfero | |
127 | +%config(noreplace) /etc/default/noosfero | |
128 | +%config(noreplace) /etc/noosfero/database.yml | |
129 | +%config(noreplace) /etc/noosfero/thin.yml | |
97 | 130 | %doc | ... | ... |