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 |