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 | ... | ... |