[packages/gitlab-ce] cleanup gem install leftovers

glen glen at pld-linux.org
Fri Aug 19 09:03:11 CEST 2016


commit f802be876706bf1041a96f2471e8d3c9d9a78085
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Thu Aug 18 19:11:21 2016 +0300

    cleanup gem install leftovers
    
    not needed at runtime (and no plans supporting gem commands)
    saves ~260M of installed size

 clean-vendor.sh | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 gitlab-ce.spec  |  6 +++++-
 2 files changed, 64 insertions(+), 1 deletion(-)
---
diff --git a/gitlab-ce.spec b/gitlab-ce.spec
index c245e40..83eaed3 100644
--- a/gitlab-ce.spec
+++ b/gitlab-ce.spec
@@ -17,7 +17,7 @@
 Summary:	A Web interface to create projects and repositories, manage access and do code reviews
 Name:		gitlab-ce
 Version:	8.10.6
-Release:	0.38
+Release:	0.43
 License:	MIT
 Group:		Applications/WWW
 # md5 deliberately omitted until this package is useful
@@ -33,6 +33,7 @@ Source8:	gitlab-apache-conf
 Source9:	gitlab-rake.sh
 Source10:	gitconfig
 Source11:	gitlab-ctl.sh
+Source12:	clean-vendor.sh
 Patch0:		3774.patch
 Patch1:		pld.patch
 Patch2:		bug-14972.patch
@@ -164,6 +165,9 @@ fi
 
 cp -a$l . $RPM_BUILD_ROOT%{homedir}
 
+# cleanup unneccessary cruft (gem build files, etc)
+sh -x %{SOURCE12} $RPM_BUILD_ROOT%{homedir}
+
 # rpm cruft from repackaging
 rm -f $RPM_BUILD_ROOT%{homedir}/debug*.list
 
diff --git a/clean-vendor.sh b/clean-vendor.sh
index 42ae39c..033d148 100755
--- a/clean-vendor.sh
+++ b/clean-vendor.sh
@@ -1,3 +1,62 @@
 #!/bin/sh
 set -e
+
+clean_rubygems() {
+	cd $vendordir/vendor/bundle/ruby
+
+	# cleanup gem work files
+	# the files are not needed at runtime
+	# and the gem command is not ran there anymore
+	rm -rfv build_info
+	rm -rfv cache
+	rm -rfv doc
+
+	# we need just .so in extensions dir
+	# however the .so may be in subdirs
+	rm -fv extensions/*/*-*/gem.*
+	rm -fv extensions/*/*-*/gem_*
+	rm -fv extensions/*/*-*/mkmf.log
+
+	# contains package dirs
+	# ideally we just need 'lib' dirs from each gem
+
+	# spec/ contains files for rspec testing
+	rm -rfv gems/*/spec
+
+	# and some other files
+	rm -fv gems/*/*.gemspec
+	rm -fv gems/*/*.md
+	rm -fv gems/*/*.sh
+	rm -fv gems/*/Gemfile
+	rm -fv gems/*/Guardfile
+	rm -fv gems/*/Rakefile
+	rm -rfv gems/*/Documentation
+	rm -rfv gems/*/bench
+	rm -rfv gems/*/contrib
+	rm -rfv gems/*/doc
+	rm -rfv gems/*/doc-api
+	rm -rfv gems/*/examples
+	rm -rfv gems/*/ext
+	rm -rfv gems/*/gemfiles
+	rm -rfv gems/*/libtest
+	rm -rfv gems/*/man
+	rm -rfv gems/*/script
+	rm -rfv gems/*/t
+	rm -rfv gems/*/tests
+	rm -rfv gems/*/sample_documents
+	rm -rfv gems/*/fixtures
+	rm -rfv gems/*/samples
+	rm -fv gems/*/run_tests.rb
+	rm -fv gems/*/*LICENSE*
+	rm -fv gems/*/CHANGES*
+	rm -fv gems/*/README*
+
+	# clean selected vendor, because:
+	# LoadError: cannot load such file -- dependency_detection
+	#rm -rfv gems/*/vendor
+	rm -rfv rugged-*/vendor/libgit2
+}
+
 vendordir=$1
+
+clean_rubygems
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gitlab-ce.git/commitdiff/54f50e6d82f2e0867cf436bd691ddbbe00aa7c47



More information about the pld-cvs-commit mailing list