Skip to content
Extraits de code Groupes Projets
Valider 6f4682cc rédigé par Alec Leamas's avatar Alec Leamas
Parcourir les fichiers

Establish proper workflow w bundle package + bundle install.

make-dist now creates the bundle using 'bundle package', the
rpm files for Fedora ande install scripts for ubuntu installs
using 'bundle install'. This is the way bundler is intended to
work.

Bugs: bundler requires that shipped packages are built, altough
this is done in target system anyway. bundler also downloads
git gems from repo despite that they are already in cache on
target system.
parent a6028734
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
%define git_release HEAD %define git_release HEAD
# Turn off java repack, this is in in /usr/lib[64] anyway # Turn off java repack, this is in /usr/lib[64] anyway
%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
...@@ -11,20 +11,20 @@ Summary: Rubygem bundle for diaspora ...@@ -11,20 +11,20 @@ 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: Ruby
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/ BuildRoot: %{_tmpdir}/not-used-since-F13/
Requires(pre): shadow-utils Requires(pre): shadow-utils
Requires: ruby(abi) = 1.8 Requires: ruby(abi) = 1.8
%description %description
The ruby apps bundled with diaspora, as provided by The ruby apps bundled with diaspora, as provided by
bundle install --deployment and patched for Fedora use. bundle install --package and patched for Fedora use.
%package devel %package devel
Summary: Development files (i. e., sources) for diaspora-bundle Summary: Development files (i. e., sources) for diaspora-bundle
...@@ -37,53 +37,15 @@ Source file usede to compile native libraries in diaspora-bundle. ...@@ -37,53 +37,15 @@ 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/
find . -name \*.css -exec chmod 644 {} \;
find . -name \*.js -exec chmod 644 {} \;
find . -name \*.treetop -exec chmod 644 {} \;
find . -name \*.rdoc -exec chmod 644 {} \;
chmod 644 gems/term-ansicolor-1.0.5/CHANGES || :
chmod 755 gems/cucumber-rails-0.3.2/templates/install/script/cucumber || :
chmod 755 gems/ruby-debug-base-0.10.3/Rakefile || :
chmod 644 gems/cucumber-rails-0.3.2/History.txt || :
chmod 644 gems/cucumber-rails-0.3.2/templates/install/step_definitions/capybara_steps.rb.erb || :
chmod 644 gems/rack-1.2.1/test/cgi/lighttpd.conf || :
chmod 644 gems/term-ansicolor-1.0.5/VERSION || :
chmod 644 gems/mini_magick-2.1/Rakefile || :
chmod 755 gems/linecache-0.43/Rakefile || :
chmod 644 gems/ffi-0.6.3/ext/ffi_c/libffi/ltmain.sh || :
chmod 644 gems/term-ansicolor-1.0.5/README || :
chmod 755 gems/mini_magick-2.1/test/not_an_image.php || :
chmod 755 gems/rake-0.8.7/test/data/statusreturn/Rakefile || :
chmod 755 gems/ruby-debug-0.10.3/Rakefile || :
chmod 644 gems/gherkin-2.2.4/tasks/compile.rake || :
chmod 755 gems/rake-0.8.7/test/data/file_creation_task/Rakefile || :
chmod 644 gems/term-ansicolor-1.0.5/Rakefile || :
chmod 755 gems/mime-types-1.16/Rakefile || :
for f in $(find . -name \*.rb); do
sed -i -e '/^#!/d' $f
chmod 0644 $f
done > /dev/null 2>&1
find . -perm /u+x -type f -print0 |
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_tailer.ru
chmod 644 gems/i18n-0.4.1/MIT-LICENSE
chmod 755 gems/abstract-1.0.0/abstract.gemspec
chmod 644 gems/mini_magick-2.1/MIT-LICENSE || :
chmod 755 gems/thin-1.2.7/lib/thin/controllers/service.sh.erb
chmod 644 gems/treetop-1.4.8/spec/compiler/test_grammar.tt
popd
%build %build
mkdir -p vendor/cache
mv *.gem vendor/cache
bundle install --local --deployment --without ri rdoc
pushd bundle/ruby/1.8/ pushd vendor/bundle/ruby/1.8/gems
# In repo (2.2.4) # In repo (2.2.4)
test -d gems/gherkin-*/ext && { test -d gherkin-*/ext && {
pushd gems/gherkin-*/ext pushd gherkin-*/ext
# Recompile all shared libraries using -O2 flag # Recompile all shared libraries using -O2 flag
for lexer_dir in */ ; do for lexer_dir in */ ; do
pushd $lexer_dir pushd $lexer_dir
...@@ -102,32 +64,32 @@ pushd bundle/ruby/1.8/ ...@@ -102,32 +64,32 @@ pushd bundle/ruby/1.8/
popd popd
} }
test -d gems/ffi-0.6.3/lib && { test -d ffi-0.6.3/lib && {
pushd gems/ffi-0.6.3/lib pushd ffi-0.6.3/lib
rm ffi_c.so rm ffi_c.so
ln -s ../ext/ffi_c/ffi_c.so . ln -s ../ext/ffi_c/ffi_c.so .
popd popd
} }
# In repo as 1.2.5, rawhide 1.2.7 # In repo as 1.2.5, rawhide 1.2.7
pushd gems/thin-1.2.7/lib pushd thin-1.2.7/lib
rm thin_parser.so rm thin_parser.so
ln -s ../ext/thin_parser/thin_parser.so . ln -s ../ext/thin_parser/thin_parser.so .
popd popd
pushd gems/bson_ext-1.1/ext/bson_ext pushd bson_ext-1.1/ext/bson_ext
rm cbson.so rm cbson.so
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 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 .
popd popd
#in repo #in repo
pushd gems/eventmachine-0.12.10/lib pushd eventmachine-0.12.10/lib
rm rubyeventmachine.so rm rubyeventmachine.so
rm fastfilereaderext.so rm fastfilereaderext.so
ln -s ../ext/rubyeventmachine.so . ln -s ../ext/rubyeventmachine.so .
...@@ -135,19 +97,19 @@ pushd bundle/ruby/1.8/ ...@@ -135,19 +97,19 @@ pushd bundle/ruby/1.8/
popd popd
# In repo # In repo
pushd gems/bcrypt-ruby-2.1.2/lib pushd bcrypt-ruby-2.1.2/lib
rm bcrypt_ext.so rm bcrypt_ext.so
ln -s ../ext/mri/bcrypt_ext.so . ln -s ../ext/mri/bcrypt_ext.so .
popd popd
# in repo # in repo
pushd gems/nokogiri-1.4.3.1/lib/nokogiri pushd nokogiri-1.4.3.1/lib/nokogiri
rm nokogiri.so rm nokogiri.so
ln -sf ../../ext/nokogiri/nokogiri.so . ln -sf ../../ext/nokogiri/nokogiri.so .
popd popd
# in repo (rawhide) # in repo (rawhide)
pushd gems/json-1.4.6/ext/json/ext/json/ext pushd 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
rm parser.so rm parser.so
...@@ -155,19 +117,55 @@ pushd bundle/ruby/1.8/ ...@@ -155,19 +117,55 @@ pushd bundle/ruby/1.8/
popd popd
#in repo #in repo
pushd gems/linecache-0.43/lib/ pushd linecache-0.43/lib/
rm trace_nums.so rm trace_nums.so
ln -s ../ext/trace_nums.so . ln -s ../ext/trace_nums.so .
popd popd
pushd bundler/gems/em-http-request-*/lib pushd ../bundler/gems/em-http-request*/lib
rm em_buffer.so rm em_buffer.so
ln -s ../ext/buffer/em_buffer.so . ln -s ../ext/buffer/em_buffer.so .
rm http11_client.so rm http11_client.so
ln -s ../ext/http11_client/http11_client.so . ln -s ../ext/http11_client/http11_client.so .
popd popd
popd
find . -name \*.css -print | xargs chmod 644
find . -name \*.js -print | xargs chmod 644
find . -name \*.treetop -print | xargs chmod 644
find . -name \*.rdoc -print | xargs chmod 644
for f in $(find . -name \*.rb); do
sed -i -e '/^#!/d' $f
chmod 0644 $f
done &> /dev/null
find . -perm /u+x -type f -print0 |
xargs --null sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|'
chmod 755 abstract-1.0.0/abstract.gemspec || :
chmod 755 cucumber-rails-0.3.2/templates/install/script/cucumber || :
chmod 644 cucumber-rails-0.3.2/History.txt || :
chmod 644 cucumber-rails-0.3.2/templates/install/step_definitions/capybara_steps.rb.erb || :
chmod 644 ffi-0.6.3/ext/ffi_c/libffi/ltmain.sh || :
chmod 644 gherkin-2.2.4/tasks/compile.rake || :
chmod 644 i18n-0.4.1/MIT-LICENSE
chmod 755 linecache-0.43/Rakefile || :
chmod 755 mime-types-1.16/Rakefile || :
chmod 755 mini_magick-2.1/test/not_an_image.php || :
chmod 644 mini_magick-2.1/Rakefile || :
chmod 644 mini_magick-2.1/MIT-LICENSE || :
chmod 644 rack-1.2.1/test/cgi/lighttpd.conf || :
chmod 755 rake-0.8.7/test/data/file_creation_task/Rakefile || :
chmod 755 rake-0.8.7/test/data/statusreturn/Rakefile || :
chmod 755 ruby-debug-0.10.3/Rakefile || :
chmod 755 ruby-debug-base-0.10.3/Rakefile || :
for file in CHANGES VERSION README Rakefile; do
chmod 644 term-ansicolor-1.0.5/$file || :
done
chmod 755 thin-1.2.7/lib/thin/controllers/service.sh.erb
chmod 755 thin-1.2.7/example/async_chat.ru || :
chmod 755 thin-1.2.7/example/async_tailer.ru || :
chmod 644 treetop-1.4.8/spec/compiler/test_grammar.tt || :
popd
%pre %pre
...@@ -186,8 +184,8 @@ find . -name .git | xargs rm -rf ...@@ -186,8 +184,8 @@ find . -name .git | xargs rm -rf
find . -name .gitignore -delete find . -name .gitignore -delete
find . -name \*.o -delete || : find . -name \*.o -delete || :
test -d bundle/ruby/1.8/gems/selenium-webdriver-0.0.28 && { test -d vendor/bundle/ruby/1.8//gems/selenium-webdriver-0.0.* && {
pushd bundle/ruby/1.8/gems/selenium-webdriver-0.0.28/lib/selenium/webdriver/ pushd vendor/bundle//ruby/1.8/gems/selenium-webdriver-0.0.*/lib/selenium/webdriver/
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
%ifarch %ix86 %ifarch %ix86
rm -rf firefox/native/linux/amd64 rm -rf firefox/native/linux/amd64
...@@ -201,8 +199,8 @@ pushd bundle/ruby/1.8/gems/selenium-webdriver-0.0.28/lib/selenium/webdriver/ ...@@ -201,8 +199,8 @@ pushd bundle/ruby/1.8/gems/selenium-webdriver-0.0.28/lib/selenium/webdriver/
popd popd
} }
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/ mkdir -p $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle
cp -ar bundle $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle/ cp -ar vendor/bundle $RPM_BUILD_ROOT/%{_libdir}/diaspora-bundle
find %{buildroot}/%{_libdir}/diaspora-bundle \ find %{buildroot}/%{_libdir}/diaspora-bundle \
-type d -fprintf dirs '%%%dir "%%p"\n' -type d -fprintf dirs '%%%dir "%%p"\n'
......
...@@ -31,12 +31,11 @@ else ...@@ -31,12 +31,11 @@ else
cat <<- EOF cat <<- EOF
Database config failed. You might want to remove all db files with Database config failed. You might want to remove all db files with
'rm -rf /var/lib/mongodb/*' and/or resetting the config file by 'rm -rf /var/lib/mongodb/*' and/or reset the config file by
'cp config/app_config.yml.example config/app_config.yml' before 'cp config/app_config.yml.example config/app_config.yml' before
making a new try. Also, make sure the mongodb server is running making a new try. Also, make sure the mongodb server is running
e. g., using '/sbin/service mongod status'. e. g., using '/sbin/service mongod status'.
EOF EOF
exit 1
fi fi
chown -R diaspora /var/log/diaspora chown -R diaspora /var/log/diaspora
......
...@@ -175,6 +175,43 @@ function make_src ...@@ -175,6 +175,43 @@ function make_src
echo "Required bundle: $(git_id dist/diaspora/Gemfile)" echo "Required bundle: $(git_id dist/diaspora/Gemfile)"
} }
function get_git_repos()
{
grep -A 2 GIT $1 |
awk ' /remote:/ { repo = $2 }
/revision:/ { printf "%s=%s\n",repo, $2}'
}
function package_git_gems()
{
gemfile="$1"
dest="$2"
rm -rf git-tmp
mkdir git-tmp
cd git-tmp
for repo in $( get_git_repos $1); do
url=${repo%%=*}
rev=${repo##*=}
name=${url##*/}
name="${name%.git}"
rm -rf "$name"
git clone "$url" "$name"
cd $name
git reset --hard $rev
sed -i '/s.date/s/Date.today/"2010-09-25"/' *.gemspec
gem build *.gemspec
cp *.gem $dest
echo "Built GIT gem $name (*.gem)"
echo "Where: $dest"
cd ..
done
cd ..
}
function make_bundle() function make_bundle()
# Create the bundle tarball # Create the bundle tarball
...@@ -188,22 +225,23 @@ function make_bundle() ...@@ -188,22 +225,23 @@ function make_bundle()
echo "Creating bundle $bundle_name" echo "Creating bundle $bundle_name"
cd dist cd dist
rm -rf $bundle_name rm -rf $bundle_name
mkdir -p $bundle_name/bundle cd diaspora
pushd diaspora > /dev/null
if [ "$BUNDLE_FIX" = 'yes' ]; then if [ "$BUNDLE_FIX" = 'yes' ]; then
rm -f Gemfile.lock rm -f Gemfile.lock
rm -rf .bundle rm -rf .bundle
bundle update bundle update
fi fi
bundle install --deployment \ bundle install --deployment
--path="../$bundle_name/bundle" \ bundle package
--without=test rdoc package_git_gems "$PWD/Gemfile.lock" "$PWD/vendor/cache"
cp -ar AUTHORS Gemfile Gemfile.lock GNU-AGPL-3.0 COPYRIGHT \ cp -ar AUTHORS Gemfile Gemfile.lock GNU-AGPL-3.0 COPYRIGHT \
"../$bundle_name" vendor/cache
popd > /dev/null cd vendor
tar czf $bundle_name.tar.gz $bundle_name mv cache $bundle_name
rm -rf $bundle_name tar czf ../../$bundle_name.tar.gz $bundle_name
mv $bundle_name cache
cd ..
cd ..
cd .. cd ..
} }
echo echo
......
...@@ -16,11 +16,18 @@ test -r "$1" || { ...@@ -16,11 +16,18 @@ test -r "$1" || {
} }
rm -rf /usr/lib/diaspora-bundle rm -rf /usr/lib/diaspora-bundle
tar xf $1 -C /usr/lib tar xzf $1 -C /usr/lib
cd /usr/lib cd /usr/lib
mv $(basename $1 .tar.gz) diaspora-bundle mv $(basename $1 .tar.gz) diaspora-bundle
mkdir -p /usr/share/doc/diaspora-bundle || : mkdir -p /usr/share/doc/diaspora-bundle || :
cd /usr/lib/diaspora-bundle cd /usr/lib/diaspora-bundle
cp AUTHORS GNU-AGPL-3.0 COPYRIGHT Gemfile Gemfile.lock \
/usr/share/doc/diaspora-bundle
mkdir -p vendor/cache
mv *.gem vendor/cache
bundle install --local --deployment --without ri rdoc
cp AUTHORS GNU-AGPL-3.0 COPYRIGHT /usr/share/doc/diaspora-bundle
...@@ -25,7 +25,7 @@ cd /usr/share/diaspora ...@@ -25,7 +25,7 @@ cd /usr/share/diaspora
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
rm -rf master/vendor/bundle master/public/uploads master/tmp master/log rm -rf master/vendor/bundle master/public/uploads master/tmp master/log
sed -i '/BUNDLE_PATH/s|:.*|: /usr/lib/diaspora-bundle/bundle|' \ sed -i '/BUNDLE_PATH/s|:.*|: /usr/lib/diaspora-bundle/vendor/bundle|' \
master/.bundle/config master/.bundle/config
cp master/GNU-AGPL-3.0 master/COPYRIGHT master/README.md master/AUTHORS . cp master/GNU-AGPL-3.0 master/COPYRIGHT master/README.md master/AUTHORS .
...@@ -48,7 +48,7 @@ cp master/config/app_config.yml.example /etc/diaspora/app_config.yml ...@@ -48,7 +48,7 @@ cp master/config/app_config.yml.example /etc/diaspora/app_config.yml
ln -sf /etc/diaspora/app_config.yml master/config/app_config.yml ln -sf /etc/diaspora/app_config.yml master/config/app_config.yml
ln -sf /var/lib/diaspora/uploads master/public/ ln -sf /var/lib/diaspora/uploads master/public/
ln -sf /var/lib/diaspora/tmp master ln -sf /var/lib/diaspora/tmp master
ln -sf /usr/lib/diaspora-bundle/bundle master/vendor ln -sf /usr/lib/diaspora-bundle/vendor/bundle master/vendor
rm -rf /usr/share/doc/diaspora rm -rf /usr/share/doc/diaspora
mkdir -p /usr/share/doc/diaspora mkdir -p /usr/share/doc/diaspora
......
...@@ -40,7 +40,6 @@ else ...@@ -40,7 +40,6 @@ else
Also, make sure the mongodb server is running e. g., using Also, make sure the mongodb server is running e. g., using
'service mongod status'. 'service mongod status'.
EOF EOF
exit 1
fi fi
chown -R diaspora /var/log/diaspora chown -R diaspora /var/log/diaspora
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter