Browse Source

Merge branch 'master' of bitbucket.org:clyfe/entrydns

pull/1/head
Claudius Nicolae 12 years ago
parent
commit
2dc45d135a
  1. 3
      README
  2. 12
      config/database.mysql.sample.yml
  3. 11
      dist/fedora/etc/entrydns/unicorn.conf
  4. 5
      dist/fedora/etc/sysconfig/unicorn-entrydns
  5. 15
      dist/fedora/usr/lib/systemd/system/unicorn-entrydns.service
  6. 148
      entrydns.spec

3
README

@ -4,6 +4,9 @@ A DNS users frontend.
## Initialize for development
Install required gems
> bundle install
# create config/database.yml and config/settings.yml from the samples
> bundle exec rake db:drop db:create db:migrate db:seed:development

12
config/database.mysql.sample.yml

@ -4,8 +4,8 @@ development:
reconnect: false
database: entrydns_development
pool: 5
username: root
password: root
username: entrydns
password: entrydns
host: localhost
# Warning: The database defined as "test" will be erased and
@ -17,8 +17,8 @@ test:
reconnect: false
database: entrydns_test
pool: 5
username: root
password: root
username: entrydns
password: entrydns
host: localhost
production:
@ -27,6 +27,6 @@ production:
reconnect: false
database: entrydns_production
pool: 5
username: root
password: root
username: entrydns
password: entrydns
host: localhost

11
dist/fedora/etc/entrydns/unicorn.conf vendored

@ -0,0 +1,11 @@
#
# Configuration file for Unicorn app server for EntryDNS serving
#
worker_processes 1
working_directory "/srv/entrydns"
listen 8081
pid "/run/entrydns/unicorn.pid"
user "entrydns", "entrydns"
stdout_path "/var/log/entrydns/unicorn_stdout.log"
stderr_path "/var/log/entrydns/unicorn_stderr.log"

5
dist/fedora/etc/sysconfig/unicorn-entrydns vendored

@ -0,0 +1,5 @@
#
# Environment variables for bundler
#
BUNDLE_GEMFILE="/srv/entrydns/Gemfile"
RAILS_ENV="production"

15
dist/fedora/usr/lib/systemd/system/unicorn-entrydns.service vendored

@ -0,0 +1,15 @@
[Unit]
Description=Unicorn application server for EntryDNS
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/unicorn-entrydns
PIDFile=/run/entrydns/unicorn.pid
ExecStart=/usr/bin/bundle exec 'unicorn -c /etc/entrydns/unicorn.conf'
ExecReload=/usr/bin/kill -HUP ${MAINPID}
ExecStop=/usr/bin/kill -QUIT ${MAINPID}
[Install]
WantedBy=multi-user.target

148
entrydns.spec

@ -0,0 +1,148 @@
%global _enable_debug_package 0
%global debug_package %{nil}
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
%global entrydns_root /srv/entrydns
%global entrydns_user entrydns
%global entrydns_group entrydns
%global entrydns_systemd_unit unicorn-entrydns.service
Name: entrydns
Version: 0.0.4
Release: 1%{?dist}
Summary: Free DNS management service for everyone
Group: Applications/Internet
License: AGPL
URL: https://entrydns.net
Source0: %{name}-%{version}.tar.gz
BuildArch: x86_64
BuildRequires: ruby(abi) = 1.9.1
BuildRequires: rubygems >= 1.8
BuildRequires: ruby-devel >= 1.9.3
BuildRequires: mysql-devel >= 5.5
BuildRequires: rubygems-devel >= 1.8
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: mysql-server
Requires: ruby(abi) = 1.9.1
Requires: memcached >= 1.4.10
Requires: nodejs >= 0.9.5
Requires: rubygem-bundler >= 1.1.4
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Provides: entrydns = %{version}
%description
EntryDNS delivers a totally free DNS management service for your enjoyment.
Our aim is to provide a friendly and caring, yet powerful service for your
DNS needs.
%prep
%setup -q
%build
# required config file for assets pre-compilation
cp config/database.mysql.sample.yml config/database.yml
bundle install --without development test
# pre-compile assets
bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile
rm -rf .bundle
bundle install --deployment --without development test assets
# fix wrong sheebang for unicorn
%if 0%{?fedora} >= 17
find vendor/bundle/ruby/*/gems -type f -wholename '*/bin/unicorn*' | xargs \
grep -rl '/this/will/be/overwritten/or/wrapped/anyways/do/not/worry/ruby' | \
xargs sed -i -e 's|/this/will/be/overwritten/or/wrapped/anyways/do/not/worry/ruby|/usr/bin/env ruby|'
%endif
%install
# clean up not required files and directories
rm -rf test doc spec Capfile Guardfile .git .gitignore .rspec .rvmrc config/database.yml
find vendor/ -type f -wholename "*/cache/*.gem" -delete
find . -type f -name ".git*" -delete
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
install -p -d %{buildroot}%{_var}/log
install -p -d -m 0750 %{buildroot}%{_var}/log/%{name}
install -p -d -m 0755 %{buildroot}/run/%{name}
install -p -d -m 0755 %{buildroot}%{entrydns_root}
install -p -d -m 0755 %{buildroot}%{entrydns_root}/log
install -p -d -m 0755 %{buildroot}%{entrydns_root}/tmp
install -p -d -m 0755 %{buildroot}%{_unitdir}
cp -R app %{buildroot}%{entrydns_root}
cp -R config %{buildroot}%{entrydns_root}
cp -R db %{buildroot}%{entrydns_root}
cp -R lib %{buildroot}%{entrydns_root}
cp -R public %{buildroot}%{entrydns_root}
cp -R script %{buildroot}%{entrydns_root}
cp -R vendor %{buildroot}%{entrydns_root}
cp -R .bundle %{buildroot}%{entrydns_root}
cp config.ru %{buildroot}%{entrydns_root}
cp Gemfile %{buildroot}%{entrydns_root}
cp Gemfile.lock %{buildroot}%{entrydns_root}
cp Rakefile %{buildroot}%{entrydns_root}
cp dist/fedora/etc/sysconfig/unicorn-entrydns %{buildroot}%{_sysconfdir}/sysconfig
cp dist/fedora/etc/%{name}/unicorn.conf %{buildroot}%{_sysconfdir}/%{name}
cp dist/fedora%{_unitdir}/%{entrydns_systemd_unit} %{buildroot}%{_unitdir}
%files
%defattr(-, root, %{entrydns_user}, 0755)
%{entrydns_root}/app
%attr(0750, root, %{entrydns_user}) %{entrydns_root}/config
%attr(0770, root, %{entrydns_user}) %{entrydns_root}/db
%{entrydns_root}/lib
%dir %attr(0770, root, %{entrydns_user}) %{entrydns_root}/log/
%dir %attr(0770, root, %{entrydns_user}) %{entrydns_root}/tmp/
%{entrydns_root}/public
%{entrydns_root}/script
%{entrydns_root}/vendor
%{entrydns_root}/.bundle
%{entrydns_root}/config.ru
%{entrydns_root}/Gemfile
%{entrydns_root}/Gemfile.lock
%{entrydns_root}/Rakefile
%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/sysconfig/unicorn-entrydns
%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/%{name}/unicorn.conf
%{_unitdir}/%{entrydns_systemd_unit}
%attr(-, %{entrydns_user}, %{entrydns_group}) %{_var}/log/%{name}
#%{_sysconfdir}/%{name}
/run/%{name}
%pre
getent group %{entrydns_group} >/dev/null || groupadd -r %{entrydns_group}
getent passwd %{entrydns_user} >/dev/null || \
useradd -r -g %{entrydns_group} -d %{entrydns_root} -s /sbin/nologin \
-c "EntryDNS user" %{entrydns_user}
exit 0
%post
%systemd_post %{entrydns_systemd_unit}
%preun
%systemd_preun %{entrydns_systemd_unit}
%postun
%systemd_postun_with_restart %{entrydns_systemd_unit}
%changelog
* Tue Feb 5 2013 Vaidas Jablonskis <jablonskis@gmail.com> - 1:0.0.2-1
- initial test build
Loading…
Cancel
Save