From 2eb5992f6970ad257b4aade304d3e9352d0dbb46 Mon Sep 17 00:00:00 2001 From: Austin Mount Date: Tue, 15 Dec 2009 15:20:22 -0600 Subject: [PATCH] removed stomp ebuild - caused wierd ruby issue added rake command to gitorious ebuild to pull in missing gems moved uuid gen to seperate bash script for cookie_secret actually does whats intened at this point --- dev-ruby/stomp/Manifest | 3 - dev-ruby/stomp/metadata.xml | 5 - dev-ruby/stomp/stomp-1.1.3.ebuild | 16 ---- www-apps/gitorious/Manifest | 7 +- www-apps/gitorious/files/broker.yml | 72 +++++++++++++++ www-apps/gitorious/files/cookie_secret.sh | 4 + www-apps/gitorious/files/crontab | 4 + www-apps/gitorious/files/environment.rb | 107 ++++++++++++++++++++++ www-apps/gitorious/gitorious-1.0.0.ebuild | 50 ++++++---- 9 files changed, 225 insertions(+), 43 deletions(-) delete mode 100644 dev-ruby/stomp/Manifest delete mode 100644 dev-ruby/stomp/metadata.xml delete mode 100644 dev-ruby/stomp/stomp-1.1.3.ebuild create mode 100644 www-apps/gitorious/files/broker.yml create mode 100755 www-apps/gitorious/files/cookie_secret.sh create mode 100644 www-apps/gitorious/files/crontab create mode 100644 www-apps/gitorious/files/environment.rb diff --git a/dev-ruby/stomp/Manifest b/dev-ruby/stomp/Manifest deleted file mode 100644 index 51491f4..0000000 --- a/dev-ruby/stomp/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST stomp-1.1.3.gem 16896 RMD160 58374ca7e12ef760954e59b5d236cd311b810390 SHA1 5b2485ef1ce8bbf46f378e070b5b919d8f98829c SHA256 3643dcd3ef88863e12f5e4d0008a96059a9f7ca83f6050523af3dd64735d1811 -EBUILD stomp-1.1.3.ebuild 498 RMD160 40ceeb91d82a11662cce43371235b807b7a68c88 SHA1 35a900b5392b6c628a93f5772cfa66ab99f5d973 SHA256 50050e831e57d18d8a8e6ca43ef6b4fed7b32934f840d6b45daceeace0ae224c -MISC metadata.xml 158 RMD160 097f8145a9994f98be4971b43b23b9e5e8bccb66 SHA1 7ac646714b1ab83fda98f3ccdd8b48a31c148b27 SHA256 70b396ab3c7a63a81cb895b7728bd9eccdc9770afdb9919f2c54694b685f7032 diff --git a/dev-ruby/stomp/metadata.xml b/dev-ruby/stomp/metadata.xml deleted file mode 100644 index 0040b11..0000000 --- a/dev-ruby/stomp/metadata.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - ruby - diff --git a/dev-ruby/stomp/stomp-1.1.3.ebuild b/dev-ruby/stomp/stomp-1.1.3.ebuild deleted file mode 100644 index f3e569a..0000000 --- a/dev-ruby/stomp/stomp-1.1.3.ebuild +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-ruby/daemons/daemons-1.0.5.ebuild,v 1.7 2007/07/29 19:07:46 dertobi123 Exp $ - -inherit ruby gems - -USE_RUBY="ruby18" -DESCRIPTION="Ruby client for the Stomp messaging protocol" -HOMEPAGE="http://stomp.codehaus.org/" -SRC_URI="http://gems.rubyforge.org/gems/${P}.gem" - -LICENSE="Ruby" -SLOT="0" -KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd" -IUSE="" - diff --git a/www-apps/gitorious/Manifest b/www-apps/gitorious/Manifest index cad85c7..a79567c 100644 --- a/www-apps/gitorious/Manifest +++ b/www-apps/gitorious/Manifest @@ -1,6 +1,9 @@ -AUX contab 272 RMD160 859166ade0c9c4b34cffed6ffaa2e1a28bf510d7 SHA1 2a4c2fe40774e29bdff88f7f8f85d7189bafd1cd SHA256 73dadb0c6ed26e351b8947099ff7cf14f8bf32602f50628d6cea838a33b98774 +AUX broker.yml 2020 RMD160 e3d94b494d58c7b1c72ead331043853c352f61b0 SHA1 8075388fd0b4ef265f653e46ce8cfe43b0bdd1c2 SHA256 630038b40c63294962e471d61ca2f9556b00ff268bac0e71e62d637557784209 +AUX cookie_secret.sh 126 RMD160 6239224b8254c0e0fa240ee86f3be50dda4da80d SHA1 615e9e5c60268bec814eb84b427f7f5d28cbc9db SHA256 daecb6c2a5d767a56464f67ccaf9d4b324717aa589aba0b429f82e6e7083ec81 AUX createdb.sql 102 RMD160 bf614fc077b66c31bc4275d555f7c8efcb271906 SHA1 0263018079f3b518758ffd99db0ce64768bee6b0 SHA256 3730587ba03f9c743527ff0cacd71c1ce62c18dde0e902fd321fe9cceff343b9 +AUX crontab 272 RMD160 859166ade0c9c4b34cffed6ffaa2e1a28bf510d7 SHA1 2a4c2fe40774e29bdff88f7f8f85d7189bafd1cd SHA256 73dadb0c6ed26e351b8947099ff7cf14f8bf32602f50628d6cea838a33b98774 AUX database.yml 130 RMD160 7013a3e1930ba29eb63277f9026c4115846849b7 SHA1 fb690719411e4c261420365ac0b5251aa9b63979 SHA256 d4cdb96e3d42ca7a9e143188dbf40751bd2bf7cdf29265c25bb18b4359ca470d +AUX environment.rb 4997 RMD160 0a1f651b5230a213694e6c3170010f9df77dcf67 SHA1 20fc24145d4ccc6f56f0414affb655569c36a514 SHA256 098b0a7b6578067619db88bd713691354633a93a8bde529727aac62883bdb21d AUX gitorious.yml 393 RMD160 d4b4570330eb3c568420c1bfab6c49c3dec042f1 SHA1 b5061e73e4170b5e944562f07873c370cdbf3576 SHA256 4e28af7e91638381f5d14ba3d780f5c09545b5ad8fc0131ea6d326d109729e20 DIST gitorious-1.0.0.tar.gz 11580230 RMD160 f3705bc49c7ecc33a5c6e9ff3f24c499f83ba805 SHA1 1ec21e101784592f5ccf70e082b8cf1464e27e18 SHA256 59f4bb05f22a91ff07390ce1cdc1f3d6f9003b0d79f57a0cc4cf8a449e88339b -EBUILD gitorious-1.0.0.ebuild 2562 RMD160 93e46206f0ef5fae6398e042f3303913aea76c5d SHA1 c36f1c88adc29791c037217e2913fc1581174b63 SHA256 42d5ce9c1dfefb20c34f1067d1c834ce0e7a0e7b2eb6fcb1894919dcb1e33011 +EBUILD gitorious-1.0.0.ebuild 2848 RMD160 5f92321f6a10601ff8d6233f6dde7669efa61bac SHA1 0b43e060b030b5d537b0e6408e0f625108d988b9 SHA256 6954ca657a1da96915b427a9c1be3e3355ffb71b03aa86825dca8cd3dceecebf diff --git a/www-apps/gitorious/files/broker.yml b/www-apps/gitorious/files/broker.yml new file mode 100644 index 0000000..74ab715 --- /dev/null +++ b/www-apps/gitorious/files/broker.yml @@ -0,0 +1,72 @@ +# +# broker.yml +# +# Simple yaml file for the env specific configuration of the broker connections. +# See the wiki for more information: http://code.google.com/p/activemessaging/wiki/Configuration +# +development: + ############################ + # Stomp Adapter Properties # + ############################ + adapter: stomp + deadLetterQueue: '/queue/GitoriousDeadLetter' + + ## properties below are all defaults for this adapter + # login: "" + # passcode: "" + # host: localhost + # port: 61613 + # reliable: true + # reconnectDelay: 5 + + # NEW! enable stomp retry logic + # will resend errored out messages to be retried when on_error throws ActiveMessaging::AbortMessageException + # + # Max number of times to retry an aborted message, for 0, will not retry (default) + # retryMax: 0 + # + # If error still occurs after retryMax, send message to specified dead letter queue + # deadLetterQueue: '/queue/activemessaging/deadletter' + + + ################################### + # Websphere MQ Adapter Properties # + ################################### + # adapter: wmq + # q_mgr_name: "" + # poll_interval: .1 + + + ################################# + # Amazon SQS Adapter Properties # + ################################# + # adapter: asqs + # access_key_id: XXXXXXXXXXXXXXXXXXXX + # secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + ## properties below are all defaults for this adapter + # host: queue.amazonaws.com + # port: 80 + # reliable: true + # reconnectDelay: 5 + # aws_version: 2006-04-01 + # content_type: text/plain + # poll_interval: 1 + # cache_queue_list: true + + + ######################################## + # ReliableMessaging Adapter Properties # + ######################################## + # adapter: reliable_msg + + ## properties below are all defaults for this adapter + # poll_interval: 1 + # reliable: true + +test: + adapter: test + reliable: false + +production: + adapter: stomp diff --git a/www-apps/gitorious/files/cookie_secret.sh b/www-apps/gitorious/files/cookie_secret.sh new file mode 100755 index 0000000..cabae19 --- /dev/null +++ b/www-apps/gitorious/files/cookie_secret.sh @@ -0,0 +1,4 @@ +#/bin/bash + +cookie_secret="cookie_secret: "$(uuidgen) +echo " "$cookie_secret >> /var/www/gitorious/site/config/gitorious.yml diff --git a/www-apps/gitorious/files/crontab b/www-apps/gitorious/files/crontab new file mode 100644 index 0000000..1021bc1 --- /dev/null +++ b/www-apps/gitorious/files/crontab @@ -0,0 +1,4 @@ +@reboot cd /var/www/gitorious/site && script/git-daemon -d +@reboot cd /var/www/gitorious/site && script/poller start +@reboot cd /var/www/gitorious/site && /usr/bin/rake ultrasphinx:daemon:start +* * * * * cd /var/www/gitorious/site && /usr/bin/rake ultrasphinx:index diff --git a/www-apps/gitorious/files/environment.rb b/www-apps/gitorious/files/environment.rb new file mode 100644 index 0000000..d09909c --- /dev/null +++ b/www-apps/gitorious/files/environment.rb @@ -0,0 +1,107 @@ +# Be sure to restart your server when you modify this file. + +# Uncomment below to force Rails into production mode when +# you don't control web/app server and can't set it the proper way +ENV['RAILS_ENV'] ||= 'production' + +# Specifies gem version of Rails to use when vendor/rails is not present +RAILS_GEM_VERSION = '2.3' unless defined? RAILS_GEM_VERSION + +# Bootstrap the Rails environment, frameworks, and default configuration +require File.join(File.dirname(__FILE__), 'boot') + +Rails::Initializer.run do |config| + gitorious_yaml = YAML.load_file(File.join(RAILS_ROOT, "config/gitorious.yml"))[RAILS_ENV] + raise "Your config/gitorious.yml does not have an entry for your current Rails environment. Please consult config/gitorious.sample.yml for instructions." unless gitorious_yaml + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + # See Rails::Configuration for more options. + + # Skip frameworks you're not going to use. To use Rails without a database + # you must remove the Active Record framework. + # config.frameworks -= [ :active_record, :active_resource, :action_mailer ] + + # Specify gems that this application depends on. + # They can then be installed with "rake gems:install" on new installations. + # You have to specify the :lib option for libraries, where the Gem name (sqlite3-ruby) differs from the file itself (sqlite3) + # config.gem "bj" + # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net" + # config.gem "sqlite3-ruby", :lib => "sqlite3" + # config.gem "aws-s3", :lib => "aws/s3" + config.gem "chronic" + config.gem "geoip" + config.gem "daemons", :lib => false + config.gem "hoe", :lib => false + config.gem "echoe", :lib => false + config.gem 'ruby-yadis', :lib => 'yadis' +# config.gem "RedCloth", :lib => "redcloth" + config.gem "ruby-openid", :lib => "openid" + config.gem "rdiscount", :version => "1.3.1.1" + config.gem 'stomp', :version => "1.1" + config.gem "mime-types", :lib => 'mime/types' + config.gem "diff-lcs", :lib => 'diff/lcs' + if RUBY_VERSION < '1.9' + config.gem 'json' + end + + # vendorized directly in vendor/ -- need to research if can be removed from there + #config.gem "ultraviolet", :version => '0.10.2', :lib => "uv" + #config.gem "grit", :version => '0.7.0' + + # Only load the plugins named here, in the order given. By default, all plugins + # in vendor/plugins are loaded in alphabetical order. + # :all can be used as a placeholder for all plugins not explicitly named + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Add additional load paths for your own custom dirs + # config.load_paths += %W( #{RAILS_ROOT}/extras ) + + # Force all environments to use the same logger level + # (by default production uses :info, the others :debug) + # config.log_level = :debug + + # Make Time.zone default to the specified zone, and make Active Record store time values + # in the database in UTC, and return them converted to the specified local zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Comment line to use default local time. + config.time_zone = 'UTC' + + # The internationalization framework can be changed to have another default locale (standard is :en) or more load paths. + # All files from config/locales/*.rb,yml are added automatically. + # config.i18n.load_path << Dir[File.join(RAILS_ROOT, 'my', 'locales', '*.{rb,yml}')] + # config.i18n.default_locale = :de + + # Your secret key for verifying cookie session data integrity. + # If you change this key, all old sessions will become invalid! + # Make sure the secret is at least 30 characters and all random, + # no regular words or you'll be exposed to dictionary attacks. + + # Use the database for sessions instead of the cookie-based default, + # which shouldn't be used to store highly confidential information + # (create the session table with "rake db:sessions:create") + config.action_controller.session_store = :active_record_store + + # Use SQL instead of Active Record's schema dumper when creating the test database. + # This is necessary if your schema can't be completely dumped by the schema dumper, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql + + # Activate observers that should always be running + # Please note that observers generated using script/generate observer need to have an _observer suffix + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + + # Activate observers that should always be running + config.active_record.observers = [ + :user_observer + ] + + config.after_initialize do + OAuth::Consumer.class_eval { + remove_const(:CA_FILE) if const_defined?(:CA_FILE) + } + + OAuth::Consumer::CA_FILE = nil + end + +end diff --git a/www-apps/gitorious/gitorious-1.0.0.ebuild b/www-apps/gitorious/gitorious-1.0.0.ebuild index 463300d..366fc4a 100644 --- a/www-apps/gitorious/gitorious-1.0.0.ebuild +++ b/www-apps/gitorious/gitorious-1.0.0.ebuild @@ -13,6 +13,8 @@ SLOT="0" KEYWORDS="amd64 ~ppc x86 ~x86-fbsd" IUSE="mysql" +DEST_DIR="/var/www/gitorious/site/" + DEPEND=">=dev-util/git-1.6.3.3 >=app-misc/sphinx-0.9.8 >=dev-ruby/rails-2.3.5 @@ -39,7 +41,6 @@ DEPEND=">=dev-util/git-1.6.3.3 >=dev-ruby/rmagick-2.12.2 >=dev-ruby/ruby-openid-2.1.7 >=dev-ruby/rubyforge-2.0.3 - >=dev-ruby/stomp-1.1 >=dev-ruby/stompserver-0.9.9 >=dev-ruby/uuid-2.1.0 >=dev-ruby/mysql-ruby-2.8 @@ -61,30 +62,45 @@ src_unpack() { } src_install() { - DEST_DIR="/var/www/gitorious/site/" - dodir "${DEST_DIR}" - cp -R "${S}/app" "${S}/AUTHORS" "${S}/bin" "${S}/config" "${S}/data" "${S}/db" "${S}/doc" "${S}/HACKING" "${S}/lib" "${S}/LICENSE" "${S}/log" "${S}/public" "${S}/Rakefile" "${S}/README" "${S}/script" "${S}/test" "${S}/tmp" "${S}/TODO.txt" "${S}/vendor" "${D}/" || die "Install failed!" - - cp "${FILESDIR}"/gitorious.yml "${DEST_DIR}"/config/ - cp "${FILESDIR}"/database.yml "${DEST_DIR}"/config/ - cp "${D}"/config/broker.yml.example "${DEST_DIR}"/config/broker.yml + insinto "${DEST_DIR}" + doins -r . +} + +pkg_postinst() { + cp "${FILESDIR}"/gitorious.yml "${DEST_DIR}"config/ + cp "${FILESDIR}"/database.yml "${DEST_DIR}"config/ + cp "${FILESDIR}"/broker.yml "${DEST_DIR}"config/ + cp "${FILESDIR}"/environment.rb "${DEST_DIR}"config/ + cp "${FILESDIR}"/createdb.sql "${DEST_DIR}"config/ - cookie_secret="cookie_secret: "$(uuidgen) - echo " "$cookie_secret >> "${DEST_DIR}"/gitorious.yml + cd /var/www/gitorious/site + RAILS_ENV="production" rake gems:install + cp "${FILESDIR}"/cookie_secret.sh "${DEST_DIR}"config/ + "${DEST_DIR}"config/cookie_secret.sh + if use mysql ; then mysql < "${FILESDIR}"/createdb.sql cd /var/www/gitorious/site - rake db:migrate + RAILS_ENV="production" rake db:migrate fi -} - -pkg_postinst() { + crontab -u gitorious "${FILESDIR}"/crontab - dodir /var/www/gitorious/tmp - dodir /var/www/gitorious/tarballs - dodir /var/www/gitorious/repositories + mkdir /var/www/gitorious/tmp + mkdir /var/www/gitorious/tarballs + mkdir /var/www/gitorious/repositories + + chown -R ${PN}:${PN} /var/www/gitorious + + echo "If you haven't initialed mysql you will need to." + echo "# /usr/bin/mysql_install_db" + echo + echo "If mysql was not running durring install you will need to create" + echo "the database and run rake." + echo "# mysql < /var/www/gitorious/site/config/createdb.sql" + echo "# cd /var/www/gitorious/site" + echo "# RAILS_ENV=\"production\" rake db:migrate" }