Adding upstream version 2.7.0.

Signed-off-by: Andrew Lee (李健秋)'s avatarAndrew Lee (李健秋) <ajqlee@debian.org>
parent dc42dcc0

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

...@@ -34,8 +34,10 @@ ...@@ -34,8 +34,10 @@
/src/api/db/schema.rb /src/api/db/schema.rb
/src/api/files/distributions.xml /src/api/files/distributions.xml
/src/api/log /src/api/log
/src/api/public/assets
/src/api/mkmf.log /src/api/mkmf.log
/src/api/tmp /src/api/tmp
/src/api/spec/examples.txt
/src/backend/blib /src/backend/blib
/src/backend/BSConfig.pm /src/backend/BSConfig.pm
/src/backend/BSSolv.bs /src/backend/BSSolv.bs
...@@ -45,30 +47,13 @@ ...@@ -45,30 +47,13 @@
/src/backend/Makefile /src/backend/Makefile
/src/backend/pm_to_blib /src/backend/pm_to_blib
/src/backend/sat-solver /src/backend/sat-solver
/src/webui/app/views/maintenance/new_* /src/backend/t/tmp
/src/webui/app/views/maintenance/qa_*
/src/webui/app/views/maintenance/released_*
/src/webui/config/database.yml
/src/webui/config/environments/development.*.rb
/src/webui/config/options.yml
/src/webui/config/repositories.rb
/src/webui/config/initializers/hoptoad.rb
/src/webui/config/secret.key
/src/webui/coverage
/src/webui/coverage.data
/src/webui/db/*.db
/src/webui/db/development_structure.sql
/src/webui/log
/src/webui/public/assets
/src/webui/mkmf.log
/src/webui/public/main/*.html
/src/webui/public/documentation/obs
/src/webui-testsuite/results*
# All the other crap that fits nowhere specifically # All the other crap that fits nowhere specifically
*~ *~
*.bak *.bak
*.tmp *.tmp
*.vagrant
.*.sw* .*.sw*
.directory .directory
.o .o
...@@ -81,3 +66,4 @@ nbproject ...@@ -81,3 +66,4 @@ nbproject
*.ipr *.ipr
*.iws *.iws
.idea/ .idea/
.kanku/
language: ruby language: ruby
rvm: cache: bundler
- 2.1 rvm: 2.3.0
before_script: gemfile: src/api/Gemfile
- mysql -e 'create database ci_api_test;' before_install: dist/ci/obs_testsuite_travis_install.sh
- sed -e 's,password:.*,password:,' -i src/api/config/database.yml.example before_script: dist/ci/obs_testsuite_travis_before.sh
- travis_retry bash -x dist/ci/obs_testsuite_travis_before.sh after_failure: dist/ci/obs_testsuite_travis_failure.sh
- bash -x dist/ci/obs_testsuite_travis_setup.sh script: "dist/ci/obs_testsuite_travis.sh $TEST_SUITE"
script: bash -x dist/ci/obs_testsuite_travis.sh
env: env:
# just one special test - TEST_SUITE=rubocop
#- SUBTEST=api:functional/aaa_pre_consistency_test.rb:test_resubmit_fixtures - TEST_SUITE=api
#- SUBTEST=rake:test:api - TEST_SUITE=webui
#- SUBTEST=rake:test:webui - TEST_SUITE=spider
# api and webui webrat with latest gems - TEST_SUITE=rspec
#- SUBTEST=rake:test REMOVEGEMLOCK=true
matrix: matrix:
allow_failures: fast_finish: true
- env: SUBTEST=rake:test REMOVEGEMLOCK=true
notifications: notifications:
irc: irc:
channels: channels:
- "chat.freenode.net#opensuse-buildservice" - "chat.freenode.net#opensuse-buildservice"
on_success: change on_success: change
on_failure: change on_failure: change
services: services:
- memcached # will start memcached - memcached
sudo: required
# Request for contributions
We are always looking for contributions to the Open Build Service. Read this guide on how to do that.
In particular, this community seeks the following types of contributions:
* code: contribute your expertise in an area by helping us expand the Open Build Service
* ideas: participate in an issues thread or start your own to have your voice heard.
* copy editing: fix typos, clarify language, and generally improve the quality of the content of the Open Build Service
# How to contribute code
* Prerequisites: familiarity with [GitHub Pull Requests](https://help.github.com/articles/using-pull-requests.)
* Fork the repository and make a pull-request with your changes
* Please make sure to mind what our test suite in [travis](https://travis-ci.org/openSUSE/open-build-service) tells you! :-)
* Please increase our [code coverage](https://codeclimate.com/github/openSUSE/open-build-service) by your pull request!
* One of the Open Build Service maintainers will review your pull-request
* If you are already a contributor (means you're in the [open-build-service team](https://github.com/orgs/openSUSE/teams/open-build-service)) and you get a positive review, you can merge your pull-request yourself
* If you are not a contributor already the reviewer will merge your pull-request
# How to contribute issues
* Prerequisites: familiarity with [GitHub Issues](https://guides.github.com/features/issues/).
* Enter your issue and a member of the [open-build-service team](https://github.com/orgs/openSUSE/teams/open-build-service) will label and prioritize it for you.
We are using priority labels from **P0** to **P4** for our issues. So if you are a memer of the [open-build-service team](https://github.com/orgs/openSUSE/teams/open-build-service) you are supposed to
* P0: Critical Situation - Drop what you are doing and fix this issue now!
* P1: Urgent - Fix this next even if you still have other issues assigned to you.
* P2: High - Fix this after you have fixed all your other issues.
* P3: Medium - Fix this when you have time.
* P4: Low - Fix this when you don't see any issues with the other priorities.
# Contribute to the OBS documentation
The Open Build Service documentation is hosted in a separated repository available on [GitHub](https://github.com/openSUSE/obs-docu). How you can contribute to our documentation is described on our [project page](http://openbuildservice.org/help/manuals/obs-reference-guide/appendix.work_on_obs_book.html). Needless to say that contributions are highly welcome, right?;-)
# Conduct
The Open Build Service is part of the openSUSE project. We follow all the [openSUSE Guiding
Principles!](http://en.opensuse.org/openSUSE:Guiding_principles) If you think
someone doesn't do that, please let any of the [openSUSE
owners](https://github.com/orgs/openSUSE/teams/owners) know!
# Communication
GitHub issues are the primary way for communicating about specific proposed
changes to this project. If you have other problems please use one of the other
[support channels](http://openbuildservice.org/support/)
# Rubocop
We are currently in the process of adding rubocop rules to OBS. For that we
frequently meet, decide on new rules to add and afterwards go through that list
and fix those.
Since we want to make sure that the number of merge conflicts stays as small as
possible, we mark rubocop offenses with name tags (in .rubocop.yml). Developers are
only supposed to work on a rubocop offense, if there is no name tag above theirs;-)
If you want to take part of this please follow this process:
* Make sure noone else is working on rubocop issues. (By Checking that your name
is on top of the .rubocop.yml file).
* Pick one rubocop rule and enable it in .rubocop.yml. Make sure there are no
excludes for that offense in the .rubocop_todo.yml.
* Run rubocop and fix reported offenses.
* Run rubocop --auto-gen-config to update .rubocop_todo.yml.
* Create a commit with all changes.
* Go to the next rubocop offense.
...@@ -27,25 +27,24 @@ to configure the database backend (e.g. you can even use SQLite3 for ...@@ -27,25 +27,24 @@ to configure the database backend (e.g. you can even use SQLite3 for
development / testing and MySQL for production). development / testing and MySQL for production).
- Perl version 5.12.1 or later - Perl version 5.12.1 or later
- MySQL version 5.1.46 or later and / or SQLite3 version 3.6.23 or later - MySQL version 5.1.46 or later
- Ruby version 1.8.7 and Ruby on Rails version 2.3.8 (exact versions) - Ruby and modules versions according to Gemfile
To get all the dependencies and useful additional tools for openSUSE-11.3, To get all the dependencies and useful additional tools for openSUSE-13.2,
please issue the following commands as root user in your shell: please issue the following commands as root user in your shell:
$ zypper addrepo --name "openSUSE-11.3 Tool" \ $ zypper addrepo --name "OBS-Unstable for openSUSE 13.2" \
http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/ \ http://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_13.2/ \
opensuse-tools opensuse-tools
$ zypper refresh $ zypper refresh
$ zypper install devel_rpm_build osc mysql-community-server sqlite3 \ $ zypper install obs-api obs-server memcached
perl perl-Net-Domain perl-Net-SSLeay perl-BSSolv \
perl-GD perl-Socket-MsgHdr \ Memcache and mysql is required to run for the OBS webui parts:
ruby ruby-mysql rubygems rubygem-sqlite3 rubygem-rails-2_3 \
rubygem-delayed_job rubygem-gruff rubygem-nokogiri \ $ rcmemcached start
rubygem-sqlite3 rubygem-daemons rubygem-ci_reporter \ $ rcmysql start
rubygem-exception_notification rubygem-erubis rubygem-rails_xss \ $ insserv memcached
rubygem-ci_reporter rubygem-webrat rubygem-rack-test \ $ insserv mysql
rubygem-rdoc rubygem-json rubygem-xmlhash
Deployment with RPM packages Deployment with RPM packages
============================ ============================
...@@ -54,60 +53,33 @@ Please have a look at the following file on how to set up a complete Build ...@@ -54,60 +53,33 @@ Please have a look at the following file on how to set up a complete Build
Service instance from RPM packages: dist/README.SETUP Service instance from RPM packages: dist/README.SETUP
Deployment by hand Deployment from git
================== ===================
The Open Build Service is flexible enough to support several deployment scenarios.
These scenarios are described in the following (with increasing complexity).
Run the absolute minimal needed backend parts:
Option 1: Only use the webui $ cd src/backend
---------------------------- $ cp BSConfig.pm.template BSConfig.pm
$ su -c ./bs_srcserver
$ su -c ./bs_repserver
If you want to work only on the Rails web frontend (webui) or running your own The rails root is below src/api
webui instance, there is no need to have an own backend server running. It is
sufficient to start the webui with its default values. For that to work you
have to change into its subdirectory and create the initial config like this:
$ cd src/webui $ cd src/api
$ cp config/database.yml.example config/database.yml $ cp config/database.yml.example config/database.yml
$ cp config/options.yml.example config/options.yml $ cp config/options.yml.example config/options.yml
$ rake db:setup $ rake db:setup
Afterwards you can simply start the webui like this: Afterwards you can simply start the api and webui like this:
$ ./script/server