Commit f2480d48be5bc3ec29dc0aae19b5919285d39420

Authored by Antonio Terceiro
1 parent 7d4e7bf3
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

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