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 | Name: noosfero | 3 | Name: noosfero |
2 | -Version: 1.0 | 4 | +Version: 1.1~rc1 |
3 | Release: 1%{?dist} | 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 | URL: http://noosfero.org | 9 | URL: http://noosfero.org |
8 | Source0: %{name}-%{version}.tar.gz | 10 | Source0: %{name}-%{version}.tar.gz |
9 | -Patch0: %{name}p0.patch | ||
10 | -Patch1: %{name}p1.patch | ||
11 | BuildArch: noarch | 11 | BuildArch: noarch |
12 | BuildRequires: noosfero-deps | 12 | BuildRequires: noosfero-deps |
13 | Requires: noosfero-deps, po4a, tango-icon-theme | 13 | Requires: noosfero-deps, po4a, tango-icon-theme |
@@ -20,22 +20,72 @@ participate and contribute to this free software project! | @@ -20,22 +20,72 @@ participate and contribute to this free software project! | ||
20 | 20 | ||
21 | %prep | 21 | %prep |
22 | %setup -q | 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 | %build | 24 | %build |
28 | 25 | ||
26 | +# FIXME build .mo | ||
27 | +# FIXME docs | ||
28 | + | ||
29 | %install | 29 | %install |
30 | -mkdir -p %{buildroot}/var/lib/noosfero/plugins | ||
31 | -mkdir -p %{buildroot}/var/lib/noosfero/public | ||
32 | mkdir -p %{buildroot}/usr/lib/noosfero | 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 | cp -r . %{buildroot}/usr/lib/noosfero/ | 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 | %post | 90 | %post |
41 | groupadd noosfero || true | 91 | groupadd noosfero || true |
@@ -43,39 +93,19 @@ if ! id noosfero; then | @@ -43,39 +93,19 @@ if ! id noosfero; then | ||
43 | adduser noosfero --system -g noosfero --shell /bin/sh --home-dir /usr/lib/noosfero | 93 | adduser noosfero --system -g noosfero --shell /bin/sh --home-dir /usr/lib/noosfero |
44 | fi | 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 | chown -R noosfero:noosfero /var/lib/noosfero | 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 | cd /usr/lib/noosfero/ | 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 | if [ -x /usr/bin/postgres ]; then | 105 | if [ -x /usr/bin/postgres ]; then |
76 | if [ `systemctl is-active postgresql`!="active" ]; then | 106 | if [ `systemctl is-active postgresql`!="active" ]; then |
77 | postgresql-setup initdb || true | 107 | postgresql-setup initdb || true |
78 | - systemctl start postgresql | 108 | + systemctl start postgresql |
79 | fi | 109 | fi |
80 | 110 | ||
81 | su postgres -c "createuser noosfero -S -d -R" | 111 | su postgres -c "createuser noosfero -S -d -R" |
@@ -93,5 +123,8 @@ chkconfig --del noosfero | @@ -93,5 +123,8 @@ chkconfig --del noosfero | ||
93 | 123 | ||
94 | %files | 124 | %files |
95 | /usr/lib/noosfero | 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 | %doc | 130 | %doc |