Allow make-dist.sh to use an alternative repo.
Adds the -u switch, allowing use of another repository than http://github.com/diaspora/diaspora.git. This is a dogfood patch. Renames diaspora-ws->diaspora-wsd; this is indeed a daemon. Moves all Fedora-related stuff in make-dist.sh to subcommand 'prepare'. The source tarballs are now usable on any OS
This commit is contained in:
parent
075a39cfce
commit
1c00fc232e
9 changed files with 242 additions and 157 deletions
|
|
@ -1,12 +1,13 @@
|
||||||
## Diaspora RPM tools
|
## Diaspora RPM tools
|
||||||
|
|
||||||
Creates RPM packages from diaspora git repository.
|
Creates diaspora source tarballs and RPM packages
|
||||||
|
|
||||||
An alternative to the capistrano system, providing classic, binary RPM
|
An alternative to the capistrano system, providing classic, binary RPM
|
||||||
packages for deployment on Fedora 13.
|
packages for deployment on Fedora 13 and OS-independent source tarballs
|
||||||
|
aimed for packaging purposes.
|
||||||
|
|
||||||
|
|
||||||
#### Synopsis:
|
#### Fedora RPM synopsis
|
||||||
|
|
||||||
*Prerequisites*: ruby-1.8, rubygem and other packages as described in
|
*Prerequisites*: ruby-1.8, rubygem and other packages as described in
|
||||||
http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora
|
http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora
|
||||||
|
|
@ -17,8 +18,8 @@ and dist/diaspora-bundle-0.0-1010041233_fade4231.tar.gz:
|
||||||
% ./make-dist.sh source
|
% ./make-dist.sh source
|
||||||
% ./make-dist.sh bundle
|
% ./make-dist.sh bundle
|
||||||
|
|
||||||
Setup links to tarballs from RPM source directory:
|
Setup links to tarballs from RPM source directory and create spec files:
|
||||||
% ./make-dist.sh links
|
% ./make-dist.sh prepare
|
||||||
|
|
||||||
Build rpms:
|
Build rpms:
|
||||||
rpmbuild -ba dist/diaspora.spec
|
rpmbuild -ba dist/diaspora.spec
|
||||||
|
|
@ -39,34 +40,73 @@ Start development server:
|
||||||
|
|
||||||
See http://github.com/diaspora/diaspora/wiki/Using-apache for
|
See http://github.com/diaspora/diaspora/wiki/Using-apache for
|
||||||
apache/passenger setup. After configuration, start with:
|
apache/passenger setup. After configuration, start with:
|
||||||
/sbin/service diaspora-ws start
|
/sbin/service diaspora-wsd start
|
||||||
/sbin/service httpd restart
|
/sbin/service httpd restart
|
||||||
|
|
||||||
|
#### Generic source synopsis
|
||||||
|
|
||||||
|
Generate source tarball:
|
||||||
|
% ./make-dist.sh source
|
||||||
|
Using repo: http://github.com/diaspora/diaspora.git
|
||||||
|
Commit id: 1010092232_b313272
|
||||||
|
Source: dist/diaspora-0.0-1010092232_b313272.tar.gz
|
||||||
|
Required bundle: 1010081636_d1a4ee0
|
||||||
|
%
|
||||||
|
|
||||||
|
The source tarball could be used as-is, by unpacking add making a
|
||||||
|
*bundle install*. An alternative is to generate a canned bundle like:
|
||||||
|
% ./make-dist.sh bundle
|
||||||
|
[ lot's of output...]
|
||||||
|
Bundle: dist/diaspora-bundle-0.0-1010081636_d1a4ee0.tar.gz
|
||||||
|
%
|
||||||
|
|
||||||
|
This file can be installed anywhere. To use it, add a symlink from vendor/bundle
|
||||||
|
to the bundle's master directory. Reasonable defaults are to install
|
||||||
|
diaspora in /var/diaspora and bundle in /usr/lib/diaspora-bundle. With these,
|
||||||
|
the link is
|
||||||
|
% rm -rf /var/diaspora/master/vendor/bundle
|
||||||
|
% ln -sf /usr/lib/diaspora-bundle/master/bundle \
|
||||||
|
> /var/diaspora/master/vendor
|
||||||
|
%
|
||||||
|
|
||||||
|
The directories tmp, log, and public/uploads needs to be writable. If using
|
||||||
|
apache passenger, read the docs on uid used and file ownership.
|
||||||
|
|
||||||
|
Note that the bundle version required is printed each time a new source
|
||||||
|
is generated.
|
||||||
|
|
||||||
#### Notes
|
#### Notes
|
||||||
|
|
||||||
|
The source tarball is as retrieved from diaspora with following differences:
|
||||||
|
|
||||||
|
- The .git directories are removed (freeing more than 50% of the size).
|
||||||
|
- A new file /master/config/gitversion is created.
|
||||||
|
- The file public/source.tar is generated.
|
||||||
|
- The file .bundle/config is patched. Remove before doing
|
||||||
|
*bundle install*
|
||||||
|
|
||||||
Routines uses last available version from master branch at github. The
|
Routines uses last available version from master branch at github. The
|
||||||
version contains a time stamp and an abbreviated git commit id. If listed
|
version contains a time stamp and an abbreviated git commit id.
|
||||||
in filename order, like ls does, latest version will be the last one.
|
|
||||||
Using -c, a specific commit can be used for source build.
|
Using -c, a specific commit can be used for source build.
|
||||||
|
|
||||||
*make-dist links* creates links also for all files listed in SOURCES.
|
*make-dist prepare* creates links also for all files listed in SOURCES.
|
||||||
Typically, this is secondary sources. *make-dist.sh sources*
|
Typically, this is secondary sources. *make-dist.sh sources*
|
||||||
applies all patches named *.patch in this directory after checking out
|
applies all patches named *.patch in this directory after checking out
|
||||||
source from git.
|
source from git.
|
||||||
|
|
||||||
The spec-files in dist/ are patched by ./make-dist.sh source to reference
|
The spec-files in dist/ are patched by *./make-dist.sh prepare* to reference
|
||||||
correct versions of diaspora and diaspora-bundle. The diaspora-bundle
|
correct versions of diaspora and diaspora-bundle. The diaspora-bundle
|
||||||
is only updated if Gemfile is updated, upgrading diaspora doesn't
|
is only updated if Gemfile is updated, upgrading diaspora doesn't
|
||||||
always require a new diaspora-bundle. Editing spec files should be done
|
always require a new diaspora-bundle. Editing spec files should be done
|
||||||
in this directory, changes in dist/ are lost when doing ./make-dist source.
|
in this directory, changes in dist/ are lost when doing *./make-dist prepare*.
|
||||||
|
|
||||||
The topmost comment's version is patched to reflect the complete version
|
The topmost comment's version is patched to reflect the complete version
|
||||||
of current specfile by 'make-dist source'. WRite the comment in this
|
of current specfile by *make-dist source*. Write the comment in this
|
||||||
directory, copy-paste previous version nr. It will be updated.
|
directory, copy-paste previous version nr. It will be updated.
|
||||||
|
|
||||||
This has been confirmed to start up and provide basic functionality both using
|
This has been confirmed to start up and provide basic functionality both using
|
||||||
the thin webserver and apache passenger, and on 32/64 bit systems.
|
the thin webserver and apache passenger, on 32/64 bit systems and in the
|
||||||
|
mock build environment.
|
||||||
|
|
||||||
#### Implementation
|
#### Implementation
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# These files will be linked to %_sourcedir by 'make-dist links'
|
# These files will be linked to %_sourcedir by 'make-dist links'
|
||||||
diaspora-setup
|
diaspora-setup
|
||||||
diaspora-ws
|
diaspora-wsd
|
||||||
diaspora.logconf
|
diaspora.logconf
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,22 @@
|
||||||
%define __jar_repack %{nil}
|
%define __jar_repack %{nil}
|
||||||
|
|
||||||
# Turn off the brp-python-bytecompile script, *pyc/pyo causes problems
|
# Turn off the brp-python-bytecompile script, *pyc/pyo causes problems
|
||||||
%global __os_install_post %(echo '%{__os_install_post}' |
|
%global __os_install_post %(echo '%{__os_install_post}' |
|
||||||
sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
|
sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
|
||||||
|
|
||||||
Summary: Rubygem bundle for diaspora
|
Summary: Rubygem bundle for diaspora
|
||||||
Name: diaspora-bundle
|
Name: diaspora-bundle
|
||||||
Version: 0.0
|
Version: 0.0
|
||||||
Release: 1.%{git_release}%{?dist}
|
Release: 1.%{git_release}%{?dist}
|
||||||
License: AGPLv3
|
License: AGPLv3
|
||||||
Group: Applications/Communications
|
Group: Applications/Communications
|
||||||
URL: http://www.joindiaspora.com/
|
URL: http://www.joindiaspora.com/
|
||||||
Vendor: joindiaspora.com
|
Vendor: joindiaspora.com
|
||||||
Source: %{name}-%{version}-%{git_release}.tar.gz
|
Source: %{name}-%{version}-%{git_release}.tar.gz
|
||||||
Prefix: %{_prefix}
|
Prefix: %{_prefix}
|
||||||
|
BuildRoot: %{_rmpdir}/not-used-in-fedora/
|
||||||
|
|
||||||
Requires(pre): shadow-utils
|
Requires(pre): shadow-utils
|
||||||
BuildRequires: git
|
|
||||||
Requires: ruby(abi) = 1.8
|
Requires: ruby(abi) = 1.8
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
|
@ -37,6 +37,8 @@ Source file usede to compile native libraries in diaspora-bundle.
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}-%{git_release}
|
%setup -q -n %{name}-%{version}-%{git_release}
|
||||||
|
|
||||||
|
find . -name .git* -print | xargs rm -rf
|
||||||
|
|
||||||
pushd bundle/ruby/1.8/
|
pushd bundle/ruby/1.8/
|
||||||
find . -name \*.css -exec chmod 644 {} \;
|
find . -name \*.css -exec chmod 644 {} \;
|
||||||
find . -name \*.js -exec chmod 644 {} \;
|
find . -name \*.js -exec chmod 644 {} \;
|
||||||
|
|
@ -64,12 +66,12 @@ pushd bundle/ruby/1.8/
|
||||||
sed -i -e '/^#!/d' $f
|
sed -i -e '/^#!/d' $f
|
||||||
chmod 0644 $f
|
chmod 0644 $f
|
||||||
done > /dev/null 2>&1
|
done > /dev/null 2>&1
|
||||||
find . -perm /u+x -type f -print0 |
|
find . -perm /u+x -type f -print0 |
|
||||||
xargs --null sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|'
|
xargs --null sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|'
|
||||||
|
|
||||||
chmod 755 gems/thin-1.2.7/example/async_chat.ru
|
chmod 755 gems/thin-1.2.7/example/async_chat.ru
|
||||||
chmod 755 gems/thin-1.2.7/example/async_tailer.ru
|
chmod 755 gems/thin-1.2.7/example/async_tailer.ru
|
||||||
chmod 644 gems/i18n-0.4.1/MIT-LICENSE
|
chmod 644 gems/i18n-0.4.1/MIT-LICENSE
|
||||||
chmod 755 gems/abstract-1.0.0/abstract.gemspec
|
chmod 755 gems/abstract-1.0.0/abstract.gemspec
|
||||||
chmod 644 gems/mini_magick-2.1/MIT-LICENSE
|
chmod 644 gems/mini_magick-2.1/MIT-LICENSE
|
||||||
chmod 755 gems/thin-1.2.7/lib/thin/controllers/service.sh.erb
|
chmod 755 gems/thin-1.2.7/lib/thin/controllers/service.sh.erb
|
||||||
|
|
@ -82,7 +84,7 @@ pushd bundle/ruby/1.8/
|
||||||
# In repo (2.2.4)
|
# In repo (2.2.4)
|
||||||
test -d gems/gherkin-*/ext && {
|
test -d gems/gherkin-*/ext && {
|
||||||
pushd gems/gherkin-*/ext
|
pushd gems/gherkin-*/ext
|
||||||
# Recompile all shared libraries using -O2 optimalization flagcd
|
# Recompile all shared libraries using -O2 flag
|
||||||
for lexer_dir in */ ; do
|
for lexer_dir in */ ; do
|
||||||
pushd $lexer_dir
|
pushd $lexer_dir
|
||||||
sed -i 's/ -O0 / -O2 /' extconf.rb
|
sed -i 's/ -O0 / -O2 /' extconf.rb
|
||||||
|
|
@ -118,7 +120,7 @@ pushd bundle/ruby/1.8/
|
||||||
ln -s ../cbson/cbson.so .
|
ln -s ../cbson/cbson.so .
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# In repo (0.10.4)
|
# In repo (0.10.4)
|
||||||
pushd gems/ruby-debug-base-0.10.3/lib
|
pushd gems/ruby-debug-base-0.10.3/lib
|
||||||
rm ruby_debug.so
|
rm ruby_debug.so
|
||||||
ln -s ../ext/ruby_debug.so .
|
ln -s ../ext/ruby_debug.so .
|
||||||
|
|
@ -144,6 +146,7 @@ pushd bundle/ruby/1.8/
|
||||||
ln -sf ../../ext/nokogiri/nokogiri.so .
|
ln -sf ../../ext/nokogiri/nokogiri.so .
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
# in repo (rawhide)
|
||||||
pushd gems/json-1.4.6/ext/json/ext/json/ext
|
pushd gems/json-1.4.6/ext/json/ext/json/ext
|
||||||
rm generator.so
|
rm generator.so
|
||||||
ln -s ../../generator/generator.so
|
ln -s ../../generator/generator.so
|
||||||
|
|
@ -199,18 +202,18 @@ popd
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/master/vendor
|
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/master/vendor
|
||||||
|
|
||||||
cp -ar bundle $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/master/vendor
|
cp -ar bundle $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/master/vendor
|
||||||
|
|
||||||
find %{buildroot}/%{_libdir}/diaspora-bundle \
|
find %{buildroot}/%{_libdir}/diaspora-bundle \
|
||||||
-type d -fprintf dirs '%%%dir "%%p"\n'
|
-type d -fprintf dirs '%%%dir "%%p"\n'
|
||||||
find -L %{buildroot}/%{_libdir}/diaspora-bundle -regextype posix-awk \
|
find -L %{buildroot}/%{_libdir}/diaspora-bundle -regextype posix-awk \
|
||||||
-type f -not -regex '.*[.]c$|.*[.]h$|.*[.]cpp$|.*Makefile$' \
|
-type f -not -regex '.*[.]c$|.*[.]h$|.*[.]cpp$|.*Makefile$' \
|
||||||
-fprintf files '"%%p"\n'
|
-fprintf files '"%%p"\n'
|
||||||
find %{buildroot}/%{_libdir}/diaspora-bundle -regextype posix-awk \
|
find %{buildroot}/%{_libdir}/diaspora-bundle -regextype posix-awk \
|
||||||
-type f -regex '.*[.]c$|.*[.]h$|.*[.]cpp$|.*Makefile$' \
|
-type f -regex '.*[.]c$|.*[.]h$|.*[.]cpp$|.*Makefile$' \
|
||||||
-fprintf dev-files '"%%p"\n'
|
-fprintf dev-files '"%%p"\n'
|
||||||
sed -i -e 's|%{buildroot}||' -e 's|//|/|' files dev-files dirs
|
sed -i -e 's|%{buildroot}||' -e 's|//|/|' files dev-files dirs
|
||||||
cat files >> dirs && cp dirs files
|
cat files >> dirs && cp dirs files
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
|
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
|
||||||
|
|
@ -224,5 +227,5 @@ cat files >> dirs && cp dirs files
|
||||||
%doc COPYRIGHT AUTHORS GNU-AGPL-3.0
|
%doc COPYRIGHT AUTHORS GNU-AGPL-3.0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sat Oct 02 2010 Alec Leamas <leamas.alec@gmail.com> 1.1009271539_08b9aa8
|
* Sat Oct 02 2010 Alec Leamas <leamas.alec@gmail.com> 0.0-1.1009271539_08b9aa8
|
||||||
- Initial attempt to create a spec file
|
- Initial attempt to create a spec file
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Try to revert to pristine state, deleting all users and
|
# Try to revert to pristine state, deleting all users and
|
||||||
# configuration
|
# configuration
|
||||||
|
#
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
service mongod stop
|
service mongod stop
|
||||||
service diaspora-ws stop
|
service diaspora-wsd stop
|
||||||
rm -rf /var/lib/mongodb/*
|
rm -rf /var/lib/mongodb/*
|
||||||
cp /usr/share/diaspora/master/config/app_config.yml.example \
|
cp /usr/share/diaspora/master/config/app_config.yml.example \
|
||||||
/usr/share/diaspora/master/config/app_config.yml
|
/usr/share/diaspora/master/config/app_config.yml
|
||||||
service mongod start
|
service mongod start
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Do what's needed to initiate diaspora.
|
# Do what's needed to initiate diaspora.
|
||||||
#
|
#
|
||||||
# See http://github.com/diaspora/diaspora/issues/issue/395
|
|
||||||
#
|
|
||||||
# Note: This is really sort of prototyping. This should be done in ruby,
|
|
||||||
# on a web page.
|
|
||||||
|
|
||||||
test $UID = "0" || {
|
test $UID = "0" || {
|
||||||
echo "You need to be root to do this, giving up"
|
echo "You need to be root to do this, giving up"
|
||||||
exit 2
|
exit 2
|
||||||
}
|
}
|
||||||
|
|
||||||
cd /usr/share/diaspora/master
|
services=$( netstat -nl | grep '[^:]:3000[ \t]')
|
||||||
|
test -n "$services" && {
|
||||||
|
echo "Warning: something is already using port 3000"
|
||||||
|
echo " $services"
|
||||||
|
}
|
||||||
|
|
||||||
/sbin/service mongod start || :
|
/sbin/service mongod start || :
|
||||||
|
|
||||||
|
cd /usr/share/diaspora/master
|
||||||
|
|
||||||
test -e config/app_config.yml ||
|
test -e config/app_config.yml ||
|
||||||
cp config/app_config.yml.example config/app_config.yml
|
cp config/app_config.yml.example config/app_config.yml
|
||||||
|
|
||||||
|
|
@ -49,4 +51,3 @@ while : ; do
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,30 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# /etc/rc.d/init.d/diaspora-ws
|
# /etc/rc.d/init.d/diaspora-wsd
|
||||||
#
|
#
|
||||||
# Starts the diaspora websocket server
|
# Starts the diaspora websocket daemon
|
||||||
#
|
#
|
||||||
# chkconfig: - 80 80
|
# chkconfig: - 80 80
|
||||||
# description: Diaspora websocket server
|
# description: Diaspora websocket daemon
|
||||||
|
|
||||||
### BEGIN INIT INFO
|
### BEGIN INIT INFO
|
||||||
# Provides: diaspora-ws
|
# Provides: diaspora-wsd
|
||||||
# Required-Start: $local_fs $network
|
# Required-Start: $local_fs $network
|
||||||
# Required-Stop: $local_fs $network
|
# Required-Stop: $local_fs $network
|
||||||
# Should-Start: $remote_fs
|
# Should-Start: $remote_fs
|
||||||
# Should-Stop: $remote_fs
|
# Should-Stop: $remote_fs
|
||||||
# Default-Start:
|
# Default-Start:
|
||||||
# Default-Stop: 0 1 2 3 4 5 6
|
# Default-Stop: 0 1 2 3 4 5 6
|
||||||
# Short-Description: start and stop Diaspora websocket server
|
# Short-Description: start and stop Diaspora websocket server
|
||||||
# Description: The websocket server provides websocket services for
|
# Description: The websocket server provides websocket services for
|
||||||
# diaspora.
|
# diaspora.
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
# Source function library.
|
# Source function library.
|
||||||
. /etc/init.d/functions
|
. /etc/init.d/functions
|
||||||
|
|
||||||
if [ -f /etc/sysconfig/diaspora-ws -a $UID -eq 0 ]; then
|
if [ -f /etc/sysconfig/diaspora-wsd -a $UID -eq 0 ]; then
|
||||||
. /etc/sysconfig/diaspora-ws
|
. /etc/sysconfig/diaspora-wsd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Note: this line is patched by installation scripts.
|
# Note: this line is patched by installation scripts.
|
||||||
|
|
@ -33,9 +33,9 @@ cd /usr/share/diaspora
|
||||||
RETVAL=0
|
RETVAL=0
|
||||||
prog="Diaspora websocket server"
|
prog="Diaspora websocket server"
|
||||||
exec="script/websocket_server.rb"
|
exec="script/websocket_server.rb"
|
||||||
pidfile="/var/run/diaspora-ws"
|
pidfile="/var/run/diaspora-wsd"
|
||||||
lockfile="/var/lock/subsys/diaspora-ws"
|
lockfile="/var/lock/subsys/diaspora-wsd"
|
||||||
logfile=/var/log/diaspora-ws.log
|
logfile=/var/log/diaspora-wsd.log
|
||||||
|
|
||||||
[ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS"
|
[ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS"
|
||||||
ruby_cmd="ruby -C $PWD $exec$OPTIONS"
|
ruby_cmd="ruby -C $PWD $exec$OPTIONS"
|
||||||
|
|
@ -8,6 +8,6 @@
|
||||||
notifempty
|
notifempty
|
||||||
missingok
|
missingok
|
||||||
postrotate
|
postrotate
|
||||||
( /sbin/service diaspora-ws condrestart ) >/dev/null 2>&1
|
( /sbin/service diaspora-wsd condrestart ) >/dev/null 2>&1
|
||||||
endscript
|
endscript
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,11 @@ Group: Applications/Communications
|
||||||
URL: http://www.joindiaspora.com/
|
URL: http://www.joindiaspora.com/
|
||||||
Vendor: joindiaspora.com
|
Vendor: joindiaspora.com
|
||||||
Source: %{name}-%{version}-%{git_release}.tar.gz
|
Source: %{name}-%{version}-%{git_release}.tar.gz
|
||||||
Source1: diaspora-ws
|
Source1: diaspora-wsd
|
||||||
Source2: diaspora-setup
|
Source2: diaspora-setup
|
||||||
Source3: diaspora.logconf
|
Source3: diaspora.logconf
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
BuildRoot: %{_rmpdir}/not-used-in-fedora/
|
||||||
|
|
||||||
Requires: mongodb-server
|
Requires: mongodb-server
|
||||||
Requires: ruby(abi) = 1.8
|
Requires: ruby(abi) = 1.8
|
||||||
|
|
@ -27,12 +28,11 @@ open source social network server.
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}-%{git_release}
|
%setup -q -n %{name}-%{version}-%{git_release}
|
||||||
|
|
||||||
find . -perm /u+x -type f -exec \
|
find . -perm /u+x -type f -exec \
|
||||||
sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|' {} \; > /dev/null
|
sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|' {} \; > /dev/null
|
||||||
|
|
||||||
%build
|
%build
|
||||||
rm -rf master/vendor/bundle
|
rm -rf master/vendor/bundle
|
||||||
mkdir master/tmp || :
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -fr $RPM_BUILD_ROOT
|
rm -fr $RPM_BUILD_ROOT
|
||||||
|
|
@ -43,7 +43,7 @@ cp master/pkg/fedora/README.md README-Fedora.md
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
||||||
cp %SOURCE1 $RPM_BUILD_ROOT/etc/init.d
|
cp %SOURCE1 $RPM_BUILD_ROOT/etc/init.d
|
||||||
sed -i '/^cd /s|.*|cd %{_datadir}/diaspora/master|' \
|
sed -i '/^cd /s|.*|cd %{_datadir}/diaspora/master|' \
|
||||||
$RPM_BUILD_ROOT/etc/init.d/diaspora-ws
|
$RPM_BUILD_ROOT/etc/init.d/diaspora-wsd
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d
|
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d
|
||||||
cp %SOURCE3 $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/diaspora
|
cp %SOURCE3 $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/diaspora
|
||||||
|
|
@ -56,39 +56,40 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/diaspora
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads
|
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
|
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT/%{_datadir}/diaspora -type d -fprintf dirs '%%%dir "%%p"\n'
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/diaspora/master/vendor/bundle
|
||||||
find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f -fprintf files '"%%p"\n'
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/diaspora/master/log
|
||||||
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/diaspora/master/public/uploads
|
||||||
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/diaspora/master/tmp
|
||||||
|
|
||||||
|
find $RPM_BUILD_ROOT/%{_datadir}/diaspora -type d \
|
||||||
|
-fprintf dirs '%%%dir "%%p"\n'
|
||||||
|
find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f \
|
||||||
|
-fprintf files '"%%p"\n'
|
||||||
cat files >> dirs && mv -f dirs files
|
cat files >> dirs && mv -f dirs files
|
||||||
sed -i -e '\|.*/master/config.ru"$|d' \
|
sed -i -e '\|.*/master/config.ru"$|d' \
|
||||||
-e '\|.*/master/config/environment.rb"$|d' \
|
-e '\|.*/master/config/environment.rb"$|d' \
|
||||||
-e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \
|
-e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \
|
||||||
files
|
files
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
rm -f %{_datadir}/diaspora/master/vendor/bundle
|
ln -sf %{_localstatedir}/log/diaspora \
|
||||||
rm -f %{_datadir}/diaspora/master/log
|
%{_datadir}/diaspora/master/log &>/dev/null || :
|
||||||
rm -f %{_datadir}/diaspora/master/public/uploads
|
ln -sf %{_libdir}/diaspora-bundle/master/vendor/bundle \
|
||||||
rm -rf %{_datadir}/diaspora/master/tmp
|
.%{_datadir}/diaspora/master/vendor &>/dev/null || :
|
||||||
|
ln -sf %{_localstatedir}/lib/diaspora/uploads \
|
||||||
ln -s %{_localstatedir}/log/diaspora \
|
%{_datadir}/diaspora/master/public/uploads &>/dev/null || :
|
||||||
%{_datadir}/diaspora/master/log || :
|
ln -sf %{_localstatedir}/lib/diaspora/tmp \
|
||||||
ln -s %{_libdir}/diaspora-bundle/master/vendor/bundle \
|
%{_datadir}/diaspora/master/tmp &>/dev/null || :
|
||||||
%{_datadir}/diaspora/master/vendor || :
|
|
||||||
ln -s %{_localstatedir}/lib/diaspora/uploads \
|
|
||||||
%{_datadir}/diaspora/master/public/uploads || :
|
|
||||||
ln -s %{_localstatedir}/lib/diaspora/tmp \
|
|
||||||
%{_datadir}/diaspora/master/tmp || :
|
|
||||||
/sbin/chkconfig --add diaspora-ws || :
|
|
||||||
|
|
||||||
|
/sbin/chkconfig --add diaspora-wsd
|
||||||
%preun
|
%preun
|
||||||
if [ $1 -eq 0 ] ; then
|
if [ $1 -eq 0 ] ; then
|
||||||
service diaspora-ws stop >/dev/null 2>&1 || :
|
service diaspora-wsd stop >/dev/null 2>&1 || :
|
||||||
/sbin/chkconfig --del diaspora-ws
|
/sbin/chkconfig --del diaspora-wsd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
|
rm -fr $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files -f files
|
%files -f files
|
||||||
%defattr(-, root, root, 0755)
|
%defattr(-, root, root, 0755)
|
||||||
|
|
@ -99,7 +100,7 @@ fi
|
||||||
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads
|
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads
|
||||||
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp
|
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/diaspora
|
%config(noreplace) %{_sysconfdir}/logrotate.d/diaspora
|
||||||
%{_sysconfdir}/init.d/diaspora-ws
|
%{_sysconfdir}/init.d/diaspora-wsd
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Sep 24 2010 Alec Leamas <leamas.alec@gmail.com> 0.0-1.1009280542_859ec2d
|
* Fri Sep 24 2010 Alec Leamas <leamas.alec@gmail.com> 0.0-1.1009280542_859ec2d
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
#
|
#
|
||||||
GIT_REPO='http://github.com/diaspora/diaspora.git'
|
GIT_REPO='http://github.com/diaspora/diaspora.git'
|
||||||
VERSION='0.0'
|
VERSION='0.0'
|
||||||
|
RELEASE='1'
|
||||||
|
|
||||||
|
|
||||||
function git_id
|
function git_id
|
||||||
#
|
#
|
||||||
|
|
@ -26,51 +28,53 @@ function git_id
|
||||||
local dir=$(dirname $file_or_dir)
|
local dir=$(dirname $file_or_dir)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export LANG=C
|
|
||||||
(
|
(
|
||||||
cd $dir
|
cd $dir
|
||||||
git log -1 --abbrev-commit --date=iso $file |
|
git log -1 --abbrev-commit --date=iso $file |
|
||||||
awk -v nl="$nl" \
|
awk -v nl="$nl" \
|
||||||
' BEGIN { commit = "" }
|
' BEGIN { commit = ""; d[1] = "" }
|
||||||
/^commit/ { if ( commit == "") commit = $2 }
|
/^commit/ { if ( commit == "") commit = $2 }
|
||||||
/^Date:/ { split( $2, d, "-")
|
/^Date:/ { if (d[1] == "") {
|
||||||
split( $3, t, ":")
|
split( $2, d, "-")
|
||||||
}
|
split( $3, t, ":")
|
||||||
END { printf( "%s%s%s%s%s_%s%s",
|
}
|
||||||
substr( d[1],3), d[2], d[3],
|
}
|
||||||
t[1], t[2],
|
END { printf( "%s%s%s%s%s_%s%s",
|
||||||
commit, nl)
|
substr( d[1],3), d[2], d[3],
|
||||||
}'
|
t[1], t[2],
|
||||||
|
commit, nl)
|
||||||
|
}'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fix_alphatag()
|
function fix_alphatag()
|
||||||
# Patch version on top comment first id line:
|
# Patch version on top comment first id line:
|
||||||
# Usage: fix_alphatag <file> <version> <commit_id>
|
# Usage: fix_alphatag <file> <version> <commit_id> <release>
|
||||||
# Patches:\
|
# Patches:\
|
||||||
# * Fri Sep 24 2010 name surname <email@com> 1.20100925_faf23207
|
# * Fri Sep 24 2010 name surname <email@com> 1.20100925_faf23207
|
||||||
{
|
{
|
||||||
local dist=$(rpm --eval %dist)
|
local dist=$(rpm --eval %dist)
|
||||||
awk -v dist="$dist" -v version="$2" -v release="$3" \
|
awk -v dist="$dist" -v version="$2" -v commit="$3" -v release="$4" \
|
||||||
' BEGIN { done = 0 }
|
' BEGIN { done = 0 }
|
||||||
/^[*]/ { if (done)
|
/^[*]/ { if (done)
|
||||||
print
|
print
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gsub( "1[.].*", "")
|
s = sprintf( "-%s.%s%s\n", release, commit, dist)
|
||||||
printf( "%s%s-1.%s%s\n",
|
gsub( "-[0-9][.][^ ]*$", s)
|
||||||
$0, version, release,dist)
|
done = 1
|
||||||
done = 1
|
# add new gsub for version...
|
||||||
}
|
print
|
||||||
next
|
}
|
||||||
}
|
next
|
||||||
{ print }' \
|
}
|
||||||
< $1 > $1.tmp && mv -f $1.tmp $1
|
{ print }' < $1 > $1.tmp && mv -f $1.tmp $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fix_bundle_deps
|
function fix_bundle_deps
|
||||||
# usage: fix_bundle_deps <specfile> <version> <release>
|
# usage: fix_bundle_deps <specfile> <version> <commit>
|
||||||
# Patches: Requires: diaspora-bundle = 0.0-20101021-aefsf323148
|
# Patches: Requires: diaspora-bundle = 0.0-20101021-aefsf323148
|
||||||
{
|
{
|
||||||
awk -v vers="$2-$3" \
|
awk -v vers="$2-$3" \
|
||||||
|
|
@ -79,22 +83,23 @@ function fix_bundle_deps
|
||||||
else
|
else
|
||||||
print
|
print
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
{ print}' \
|
{ print}' \
|
||||||
< $1 > $1.tmp && mv -f $1.tmp $1
|
< $1 > $1.tmp && mv -f $1.tmp $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function patch()
|
function patch()
|
||||||
# Patch spec-files with current version-release
|
# Patch spec-files with current version-release
|
||||||
# Usage: patch VERSION RELEASE
|
# Usage: patch <version> <commit> <release>
|
||||||
{
|
{
|
||||||
sed -e "/^%define/s|HEAD|$2|" \
|
sed -e "/^%define/s|HEAD|$2|" \
|
||||||
-e '/^Version:/s|.*|Version: '$1'|' \
|
-e '/^Version:/s|.*|Version: '$1'|' \
|
||||||
<diaspora.spec >dist/diaspora.spec
|
<diaspora.spec >dist/diaspora.spec
|
||||||
fix_alphatag dist/diaspora.spec $1 $2
|
fix_alphatag dist/diaspora.spec $1 $2 $3
|
||||||
local bundle_id=$(git_id dist/diaspora/Gemfile)
|
local bundle_id=$(git_id dist/diaspora/Gemfile)
|
||||||
local dist_tag=$(rpm --eval %dist)
|
local dist_tag=$(rpm --eval %dist)
|
||||||
fix_bundle_deps dist/diaspora.spec $1 "1.${bundle_id}$dist_tag"
|
fix_bundle_deps dist/diaspora.spec $1 "$RELEASE.${bundle_id}$dist_tag"
|
||||||
sed -e "/^%define/s|HEAD|$bundle_id|" \
|
sed -e "/^%define/s|HEAD|$bundle_id|" \
|
||||||
-e '/^Version:/s|.*|Version: '$1'|' \
|
-e '/^Version:/s|.*|Version: '$1'|' \
|
||||||
< diaspora-bundle.spec > dist/diaspora-bundle.spec
|
< diaspora-bundle.spec > dist/diaspora-bundle.spec
|
||||||
|
|
@ -102,6 +107,7 @@ function patch()
|
||||||
cp dist/diaspora.spec dist/diaspora/diaspora.spec
|
cp dist/diaspora.spec dist/diaspora/diaspora.spec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function checkout()
|
function checkout()
|
||||||
# Checkout last version of diaspora unless it's already there.
|
# Checkout last version of diaspora unless it's already there.
|
||||||
# Usage: checkout [commit id, defaults to HEAD]
|
# Usage: checkout [commit id, defaults to HEAD]
|
||||||
|
|
@ -109,18 +115,26 @@ function checkout()
|
||||||
{
|
{
|
||||||
mkdir dist &>/dev/null || :
|
mkdir dist &>/dev/null || :
|
||||||
(
|
(
|
||||||
|
local last_repo=''
|
||||||
cd dist
|
cd dist
|
||||||
|
|
||||||
|
test -e '.last-repo' &&
|
||||||
|
last_repo=$( cat '.last-repo')
|
||||||
|
test "$last_repo" != $GIT_REPO &&
|
||||||
|
rm -rf diaspora
|
||||||
test -d diaspora || {
|
test -d diaspora || {
|
||||||
git clone --quiet $GIT_REPO;
|
git clone --quiet $GIT_REPO;
|
||||||
(
|
(
|
||||||
cd diaspora;
|
cd diaspora;
|
||||||
git remote add upstream \
|
git remote add upstream \
|
||||||
git://github.com/diaspora/diaspora.git
|
git://github.com/diaspora/diaspora.git
|
||||||
for p in ../../*.patch; do
|
for p in ../../*.patch; do
|
||||||
git apply --whitespace=fix $p > /dev/null
|
git apply --whitespace=fix $p > /dev/null
|
||||||
done &>/dev/null || :
|
done &> /dev/null || :
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
echo -n "$GIT_REPO" > '.last-repo'
|
||||||
|
|
||||||
cd diaspora;
|
cd diaspora;
|
||||||
git fetch --quiet upstream
|
git fetch --quiet upstream
|
||||||
git merge --quiet upstream/master
|
git merge --quiet upstream/master
|
||||||
|
|
@ -130,13 +144,14 @@ function checkout()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function make_dist
|
function make_src
|
||||||
# Create a distribution tarball
|
# Create a distribution tarball
|
||||||
# Usage: make dist [ commit, defaults to HEAD]
|
# Usage: make src <commit>
|
||||||
{
|
{
|
||||||
|
echo "Using repo: $GIT_REPO"
|
||||||
|
|
||||||
commit=$(checkout ${1:-'HEAD'})
|
commit=$(checkout ${1:-'HEAD'})
|
||||||
echo "Creating source tarball for $commit"
|
echo "Commit id: $commit"
|
||||||
patch $VERSION $commit
|
|
||||||
|
|
||||||
RELEASE_DIR="diaspora-$VERSION-$commit"
|
RELEASE_DIR="diaspora-$VERSION-$commit"
|
||||||
rm -rf dist/${RELEASE_DIR}
|
rm -rf dist/${RELEASE_DIR}
|
||||||
|
|
@ -152,24 +167,23 @@ function make_dist
|
||||||
--exclude='source.tar' -X .gitignore *
|
--exclude='source.tar' -X .gitignore *
|
||||||
find $PWD -name .git\* | xargs rm -rf
|
find $PWD -name .git\* | xargs rm -rf
|
||||||
rm -rf .bundle
|
rm -rf .bundle
|
||||||
/usr/bin/patch -p1 <../../../add-bundle.diff
|
/usr/bin/patch -p1 -s <../../../add-bundle.diff
|
||||||
)
|
)
|
||||||
tar czf ${RELEASE_DIR}.tar.gz ${RELEASE_DIR} && \
|
tar czf ${RELEASE_DIR}.tar.gz ${RELEASE_DIR} && \
|
||||||
rm -rf ${RELEASE_DIR}
|
rm -rf ${RELEASE_DIR}
|
||||||
cd ..
|
cd ..
|
||||||
echo "Source: dist/${RELEASE_DIR}.tar.gz"
|
echo "Source: dist/${RELEASE_DIR}.tar.gz"
|
||||||
echo "Required bundle: $(git_id dist/diaspora/Gemfile)"
|
echo "Required bundle: $(git_id dist/diaspora/Gemfile)"
|
||||||
echo "Source specfile: dist/diaspora.spec"
|
|
||||||
echo "Bundle specfile: dist/diaspora-bundle.spec"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function make_bundle()
|
function make_bundle()
|
||||||
# Create the bundle tarball
|
# Create the bundle tarball
|
||||||
# Usage: make_bundle [ commit, defaults to HEAD]
|
# Usage: make_bundle [ commit, defaults to HEAD]
|
||||||
#
|
#
|
||||||
{
|
{
|
||||||
checkout ${1:-'HEAD'} >/dev/null
|
checkout ${1:-'HEAD'} >/dev/null
|
||||||
bundle_id=$(git_id dist/diaspora/Gemfile)
|
bundle_id=$( git_id dist/diaspora/Gemfile)
|
||||||
bundle_name="diaspora-bundle-$VERSION-$bundle_id"
|
bundle_name="diaspora-bundle-$VERSION-$bundle_id"
|
||||||
test -e "dist/$bundle_name.tar.gz" || {
|
test -e "dist/$bundle_name.tar.gz" || {
|
||||||
echo "Creating bundle $bundle_name"
|
echo "Creating bundle $bundle_name"
|
||||||
|
|
@ -185,14 +199,16 @@ function make_bundle()
|
||||||
"../$bundle_name"
|
"../$bundle_name"
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
tar czf $bundle_name.tar.gz $bundle_name
|
tar czf $bundle_name.tar.gz $bundle_name
|
||||||
|
rm -rf $bundle_name
|
||||||
cd ..
|
cd ..
|
||||||
}
|
}
|
||||||
echo
|
echo
|
||||||
echo "Bundle: dist/$bundle_name.tar.gz"
|
echo "Bundle: dist/$bundle_name.tar.gz"
|
||||||
}
|
}
|
||||||
|
|
||||||
function make_links()
|
|
||||||
# Usage: make_links [source commit]
|
function prepare_rpm()
|
||||||
|
# Usage: prepare_rpm < commit>
|
||||||
{
|
{
|
||||||
local dest=$(rpm --eval %_sourcedir)
|
local dest=$(rpm --eval %_sourcedir)
|
||||||
test -z "$dest" && {
|
test -z "$dest" && {
|
||||||
|
|
@ -200,10 +216,13 @@ function make_links()
|
||||||
exit 2
|
exit 2
|
||||||
}
|
}
|
||||||
|
|
||||||
local src_commit="${1:-$( checkout)}"
|
local commit=$( checkout $1)
|
||||||
echo "Linking sources for $src_commit to $dest"
|
echo "Release: $RELEASE.$commit"
|
||||||
|
echo "Rpm source dir: $dest"
|
||||||
|
|
||||||
src="dist/diaspora-$VERSION-$src_commit.tar.gz"
|
patch $VERSION $commit $RELEASE
|
||||||
|
|
||||||
|
local src="dist/diaspora-$VERSION-$commit.tar.gz"
|
||||||
test -e $src ||
|
test -e $src ||
|
||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
Warning: $src does not exist
|
Warning: $src does not exist
|
||||||
|
|
@ -211,7 +230,7 @@ function make_links()
|
||||||
EOF
|
EOF
|
||||||
ln -sf $PWD/$src $dest
|
ln -sf $PWD/$src $dest
|
||||||
|
|
||||||
local bundle_commit=$(git_id dist/diaspora/Gemfile)
|
local bundle_commit=$( git_id dist/diaspora/Gemfile)
|
||||||
local bundle="dist/diaspora-bundle-$VERSION-$bundle_commit.tar.gz"
|
local bundle="dist/diaspora-bundle-$VERSION-$bundle_commit.tar.gz"
|
||||||
test -e $bundle ||
|
test -e $bundle ||
|
||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
|
|
@ -230,50 +249,72 @@ function make_links()
|
||||||
done
|
done
|
||||||
|
|
||||||
( cd $dest; find . -type l -not -readable -exec rm {} \;)
|
( cd $dest; find . -type l -not -readable -exec rm {} \;)
|
||||||
|
echo "Source specfile: dist/diaspora.spec"
|
||||||
|
echo "Bundle specfile: dist/diaspora-bundle.spec"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
{
|
{
|
||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
|
|
||||||
Usage: make-dist [-c commit] <dist|bundle|links>
|
Usage: make-dist [options] <dist|bundle|prepare>
|
||||||
|
|
||||||
-c Use a given commit, defaults to last checked in.
|
Options:
|
||||||
dist Build a diaspora application tarball.
|
|
||||||
|
-h Print this message.
|
||||||
|
-c commit Use a given commit, defaults to last checked in.
|
||||||
|
-r release Mark with specified release, defaults to 1.
|
||||||
|
-u uri Git repository URI, defaults to
|
||||||
|
$GIT_REPO.
|
||||||
|
|
||||||
|
source Build a diaspora application tarball.
|
||||||
bundle Build a bundler(1) bundle for diaspora.
|
bundle Build a bundler(1) bundle for diaspora.
|
||||||
links Symlink bundle and source tarballs to rpm source dir.
|
prepare Symlink bundle and source tarballs to rpm source dir,
|
||||||
|
create patched rpm spec files.
|
||||||
|
|
||||||
All results are stored in dist/
|
All results are stored in dist/
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
test "$1" = "-h" -o $# = 0 && {
|
commit='HEAD'
|
||||||
|
while getopts ":r:c:h" opt
|
||||||
|
do
|
||||||
|
case $opt in
|
||||||
|
u) GIT_REPO="$OPTARG"
|
||||||
|
;;
|
||||||
|
c) commit="${OPTARG:0:7}"
|
||||||
|
;;
|
||||||
|
r) RELEASE="$OPTARG:"
|
||||||
|
;;
|
||||||
|
h) usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*) usage
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(($OPTIND - 1))
|
||||||
|
|
||||||
|
typeset -r GIT_REPO RELEASE
|
||||||
|
export LANG=C
|
||||||
|
|
||||||
|
test $# -gt 1 -o $# -eq 0 && {
|
||||||
usage;
|
usage;
|
||||||
exit 0
|
exit 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
test "$1" = "-c" && {
|
|
||||||
test -z "$2" && {
|
|
||||||
usage;
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
commit="$2"
|
|
||||||
shift; shift
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
|
|
||||||
"bundle") make_bundle $commit
|
"bundle") make_bundle $commit
|
||||||
;;
|
;;
|
||||||
|
'source') make_src $commit
|
||||||
'source') make_dist $commit
|
|
||||||
;;
|
;;
|
||||||
|
'prepare') prepare_rpm $commit $release
|
||||||
'links') make_links $commit
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) usage
|
*) usage
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue