Giter Site home page Giter Site logo

opensuse / open-build-service Goto Github PK

View Code? Open in Web Editor NEW
890.0 67.0 432.0 443.87 MB

Build and distribute Linux packages from sources in an automatic, consistent and reproducible way #obs

Home Page: https://openbuildservice.org

License: GNU General Public License v2.0

Shell 0.28% Ruby 58.59% JavaScript 1.52% HTML 0.50% CSS 0.01% C++ 0.02% Perl 31.95% Makefile 0.08% Dockerfile 0.02% Raku 0.01% SCSS 0.55% Haml 6.49% Procfile 0.01%
opensuse rpm deb packaging pkgbuild packages archlinux obs ruby docker

open-build-service's Introduction

Build Status Code Coverage Code Climate Depfu CII Best Practices build result

Open Build Service

The Open Build Service (OBS) is a generic system to build and distribute binary packages from sources in an automatic, consistent, and reproducible way. You can release packages as well as updates, add-ons, appliances, and entire distributions for a wide range of operating systems and hardware architectures. More information can be found on openbuildservice.org.

The OBS consists of a backend and a frontend. The backend implements all the core functionality (i.e. building packages). The frontend provides a web application and XML API for interacting with the backend. Additionally, there is a command line client (osc) for the API which is developed in a separate repository.

Licensing

The Open Build Service is Free Software and is released under the terms of the GPL, except where noted. Additionally, 3rd-party content (like, but not exclusively, the webui icon theme) may be released under a different license. Please check the respective files for details.

Community

You can discuss with the OBS Team via IRC on the channel #opensuse-buildservice or you can use our mailing list [email protected]. Please refer to the openSUSE Mailing Lists page to learn about our mailing list subscription and additional information.

Development / Contribution

If you want to contribute to the OBS, please checkout our contribution readme:-)

Source Code Repository Layout

The OBS source code repository is hosted on Github and organized like this:

    dist          Files relevant for our distribution packages
    docs          Documentation, examples and schema files
    src/api       Rails app (Ruby on Rails)
    src/backend   Backend code (Perl)

Installation

To run the OBS in production, we recommend using our appliance which is the whole package: A recent and stable Linux Operating System (openSUSE) bundled and pre-configured with all the server and OBS components you need to get going.

If that is not for you because you have some special needs for your setup (e.g. different partition schema, SLES as base system, etc.), you can also install our packages and run a setup wizard. The docker compose setup is meant only for development.

After finishing the installation of your base system, follow these steps:

  1. Add the OBS software repository with zypper. Please be aware, that the needed URL differs, depending on your Base Operating System. We use openSUSE Leap 15.4 in this example.

    zypper ar -f https://download.opensuse.org/repositories/OBS:/Server:/2.10/15.4/OBS:Server:2.10.repo
  2. Install the package

    zypper in -t pattern OBS_Server
  3. Run our setup wizard

    /usr/lib/obs/server/setup-appliance.sh --force

Advanced Setup

If you have a more complex setup (e.g. a distributed backend), we recommend to read the Administration chapter in our user manual.

open-build-service's People

Contributors

adrianschroeter avatar ana06 avatar bbrunner avatar bgeuken avatar bmwiedemann avatar bugfinder avatar chrisbr avatar coolo avatar cornelius avatar danidoni avatar davidkang avatar depfu[bot] avatar digitaltom avatar dmarcoux avatar eduardoj avatar evanrolfe avatar hellcp-work avatar hennevogel avatar krauselukas avatar lethliel avatar m0ses avatar marcus-h avatar mlschroe avatar mmohring avatar ncounter avatar rubhanazeem avatar saraycp avatar saschpe avatar spezialexperte avatar vpereira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-build-service's Issues

How to let anonymous access my private obs webui?

I want to have the anonymous access to the webui, like build.opensuse.org do. how to configure this?

I am using git repo branch master. and I have tried to set src/api/config/options.yml to allow_anonymous: true, but no use.

so it's a bug?

Add button for delete-repository request

Recently, the API got support for requestion deletion of repositories in project meta files. If would use useful if a button "Request deletion" would be shown if a user displays the repository page of a project where he isn't maintainer (instead of the "Delete" button).

Icons in the watchlist are displaying garbage

The problem is that the whole line is a one span with a sprite background - and so it show surrunding icons in the sprite. This needs to be split into one icon and one text icon, so they can have different heights.

RAILS_ENV="production" rake db:migrate fails

https://github.com/openSUSE/open-build-service/blob/master/src/api/db/migrate/20121216151549_create_distributions.rb

$ RAILS_ENV="production" rake db:migrate
== CreateDistributions: migrating ============================================
-- create_table(:distributions)
-> 0.2008s
-- create_table(:distribution_icons)
-> 0.0804s
-- create_table(:distribution_icons_distributions)
-> 0.0807s
rake aborted!
An error has occurred, all later migrations canceled:

No such file or directory - /srv/www/obs/api/files/distributions.xml

Tasks: TOP => db:migrate

Search sorting is confusing at its best

Currently searching is quite seriously hard, specially on the web interface.

Eg if I search for libreoffice first hits are discontinued projects.

My suggestion would be to always put devel for openSUSE:Factory on first place and openSUSE:... sorted as second, then everything else.

unescape console log

Probably something was changed in 2.4, because i see escaped log (in 2.3 ok):

[    1s]   breaking dependency nss-softokn-freebl -> glibc
[    1s] cycle: coreutils -> pam
[    1s]   breaking dependency coreutils -> pam
[    1s] cycle: rpm-libs -> rpm
[    1s]   breaking dependency rpm -> rpm-libs

"&gt" should be ">"

2.3.7: [backend] Download on Demand: Updated packages are not downloaded

When a package of a DoD project has been downloaded to a local OBS system and a newer package is published later then this newer package is not downloaded anymore. The local OBS will always use the oldest locally available package. The workaround is to manually delete the old package and the cache (.solv) and restart the schedular. This is a major pita. OBS version in use is 2.3.7.

can't update description in /configuration

Log from api:

[ESC[32mINFO ESC[0m|#14978] Started PUT "/configuration" for ::1 at 2012-12-05 09:49:18 +0300
[ESC[32mINFO ESC[0m|#14978] Processing by ConfigurationsController#update as XML
[ESC[0;37mDEBUGESC[0m|#14978] Validate XML request: #<ActionDispatch::Request:0x000000050eeb38>
[ESC[0;37mDEBUGESC[0m|#14978] no schema found, skipping validation for {"format"=>"xml", "action"=>"update", "controller"=>"configurations", "method"=>"PUT", "type"=>"request"}
[ESC[0;37mDEBUGESC[0m|#14978]   ESC[1mESC[36mUser Load (0.3ms)ESC[0m  ESC[1mSELECT `users`.* FROM `users` WHERE (login = 'Admin') LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|#14978] USER found: Admin
[ESC[0;37mDEBUGESC[0m|#14978] User Admin initialised
[ESC[0;37mDEBUGESC[0m|#14978] Checking for  Admin role for user Admin
[ESC[0;37mDEBUGESC[0m|#14978]   ESC[1mESC[35mRole Load (0.3ms)ESC[0m  SELECT DISTINCT roles.id FROM `roles` INNER JOIN `roles_users` ON `roles`.`id` = `roles_users`.`role_id` WHERE
 `roles_users`.`user_id` = 1 AND `roles`.`title` = 'Admin' LIMIT 1
[ESC[0;37mDEBUGESC[0m|#14978]   ESC[1mESC[36mConfiguration Load (0.2ms)ESC[0m  ESC[1mSELECT `configurations`.* FROM `configurations` LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|#14978] NoMethodError: errorcode undefined method `get' for nil:NilClass
/srv/www/obs/api/app/controllers/configurations_controller.rb:31:in `block in update'
/srv/www/obs/api/app/controllers/configurations_controller.rb:30:in `update'
[ESC[32mINFO ESC[0m|#14978]   Rendered status.xml.builder (0.3ms)
[ESC[32mINFO ESC[0m|#14978] Completed 400 Bad Request in 7ms (Views: 1.0ms | ActiveRecord: 0.8ms | Backend: 0.0ms | XML: 0.0ms)

Missing symlinks in archlinux repos

Arch Linux repos must have a db symlink in form reponame.db -> reponame.db.tar.gz (it is for legacy purposes, the stupid part is that pacman doesn't look for both filenames.. :/), and they used to have in obs until update before the current one.
Code in https://github.com/openSUSE/open-build-service/blob/master/src/backend/bs_publish#L625 did not seem to change so there must be something else.
Could it be that your switch to ext4 on build machines somehow disabled symlink creation?
You can check when this broke by searching for arch projects updated at different times e.g. it still worked as of 20/10/2012 (http://download.opensuse.org/repositories/home:/floyd2:/Arch:/Community/Arch_Core_standard/x86_64/), but didn't on 15/11/2012 (http://download.opensuse.org/repositories/home:/tarakbumba:/archlinux/Arch_Extra_standard/i686/) and does not work now (http://download.opensuse.org/repositories/home:/Zizzfizzix:/arch/zizz/i686/).

webui backtrace on buildlogs with non-ascii characters

Accessing the webui logfiles gives the following exception:

Error Details:

Errorcode: unknown
Message: "\xE2" from ASCII-8BIT to UTF-8
Exception from Webclient:

Encoding::UndefinedConversionError: "\xE2" from ASCII-8BIT to UTF-8

Stack Trace:

/srv/www/obs/webui/app/controllers/package_controller.rb:946:in encode!' /srv/www/obs/webui/app/controllers/package_controller.rb:946:inlive_build_log'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb:4:in send_action' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:167:inprocess_action'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:10:in process_action' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:18:inblock in process_action'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:513:in _run__4131941757918235164__process_action__1812640070639718122__callbacks' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in__run_callback'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_process_action_callbacks' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:inrun_callbacks'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:17:in process_action' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/rescue.rb:29:inprocess_action'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:30:in block in process_action' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:inblock in instrument'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in instrument' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:ininstrument'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:29:in process_action' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/params_wrapper.rb:207:inprocess_action'
/usr/lib64/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/controller_runtime.rb:18:in process_action' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:121:inprocess'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:45:in process' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal.rb:203:indispatch'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal/rack_delegation.rb:14:in dispatch' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_controller/metal.rb:246:inblock in action'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:indispatch'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:36:in call' /usr/lib64/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:68:inblock in call'
/usr/lib64/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:in each' /usr/lib64/ruby/gems/1.9.1/gems/journey-1.0.4/lib/journey/router.rb:56:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/best_standards_support.rb:17:incall'
/usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/etag.rb:23:in call' /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/conditionalget.rb:25:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/head.rb:14:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/params_parser.rb:21:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/flash.rb:242:in call' /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:incontext'
/usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/cookies.rb:339:incall'
/usr/lib64/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/query_cache.rb:64:in call' /usr/lib64/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:28:in block in call' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in_run__645353483452815680__call__1095136066277812592__callbacks'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in_run_call_callbacks'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in run_callbacks' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:27:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/remote_ip.rb:31:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:16:incall'
/usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/show_exceptions.rb:56:in call' /usr/lib64/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/rack/logger.rb:26:incall_app'
/usr/lib64/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/rack/logger.rb:16:in call' /usr/lib64/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_dispatch/middleware/request_id.rb:22:incall'
/usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in call' /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/runtime.rb:17:incall'
/usr/lib64/ruby/gems/1.9.1/gems/activesupport-3.2.8/lib/active_support/cache/strategy/local_cache.rb:72:in call' /usr/lib64/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb:15:incall'
/usr/lib64/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in forward' /usr/lib64/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:infetch'
/usr/lib64/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in lookup' /usr/lib64/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:incall!'
/usr/lib64/ruby/gems/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in call' /usr/lib64/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:479:incall'
/usr/lib64/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:223:in call' /usr/lib64/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:inmethod_missing'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/rack/request_handler.rb:96:in process_request' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_request_handler.rb:516:inaccept_and_process_next_request'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_request_handler.rb:274:in main_loop' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:206:instart_request_handler'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:171:in block in handle_spawn_application' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:470:insafe_fork'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:166:in handle_spawn_application' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:inserver_main_loop'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:in start_synchronously' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:180:instart'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:129:in start' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:253:inblock (2 levels) in spawn_rack_application'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:132:in lookup_or_add' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:246:inblock in spawn_rack_application'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:82:in block in synchronize' <internal:prelude>:10:insynchronize'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:79:in synchronize' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:244:inspawn_rack_application'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:137:in spawn_application' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:275:inhandle_spawn_application'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in server_main_loop' /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:instart_synchronously'
/usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/helper-scripts/passenger-spawn-server:99:in `

'

[api/webui] Unable to submit other's packages

Always results in the error message:

"Unable to submit:

Creating a submit request action with options requires maintainership in source package"

triggered via the webui. It should work if no special options (like "delete source after accept") are selected. This may also be a webui regression (i.e. it sends the wrong parameters).

[api] xsd schemas

Trying to work with xsd and got error:
parsing a schema...
[ERROR] src-resolve.4.2: Error resolving component 'xs:number'. It was detected that 'xs:number' is in namespace 'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document 'file:/xsd/buildhistory.xsd'. If this is the incorrect namespace, perhaps the prefix of 'xs:number' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file://xsd/buildhistory.xsd'.
line 22 of file://xsd/buildhistory.xsd

[ERROR] src-resolve: Cannot resolve the name 'xs:number' to a(n) 'type definition' component.
line 22 of file://xsd/buildhistory.xsd

[ERROR] src-resolve: Cannot resolve the name 'xs:number' to a(n) 'simpleType definition' component.
line 22 of file://xsd/buildhistory.xsd

[ERROR] src-resolve: Cannot resolve the name 'xs:number' to a(n) 'simpleType definition' component.
line 25 of file://xsd/buildhistory.xsd

[ERROR] src-resolve: Cannot resolve the name 'xs:number' to a(n) 'simpleType definition' component.
line 26 of file://xsd/buildhistory.xsd

Failed to parse a schema.

Please check whether this messages are right.

404 error page after adding remote obs

After adding i have 404 error, but project is finally added.

http://www.youtube.com/watch?v=3M2isRUrhz0

error log:
[INFO |#12767] Started GET "/source/openSUSE.org/_meta" for ::1 at 2012-12-04 10:37:19 +0300
[INFO |#12767] Processing by SourceController#project_meta as XML
[INFO |#12767] Parameters: {"project"=>"openSUSE.org"}
[DEBUG|#12767] Validate XML request: #ActionDispatch::Request:0x000000063201d0
[DEBUG|#12767] no schema found, skipping validation for {"format"=>"xml", "controller"=>"source", "action"=>"project_meta", "project"=>"openSUSE.org", "method"=>"GET", "type"=>"request"}
[DEBUG|#12767] AUTH: ["Basic", "QWRtaW46b3BlbnN1c2U="]
[DEBUG|#12767] User Load (0.6ms) SELECT users.* FROM users WHERE (login = 'Admin') LIMIT 1
[DEBUG|#12767] USER found: Admin
[DEBUG|#12767] User Admin initialised
[DEBUG|#12767] Role Load (1.4ms) SELECT DISTINCT roles.id FROM roles INNER JOIN roles_users ON roles.id = roles_users.role_id WHERE roles_users.user_id = 1 AND roles.title = 'Admin' LIMIT 1
[DEBUG|#12767] Project Load (0.9ms) SELECT projects.* FROM projects WHERE projects.name = 'openSUSE.org' AND (projects.id not in (0)) LIMIT 1
[DEBUG|#12767] Project::UnknownObjectError: errorcode openSUSE.org
/srv/www/obs/api/app/models/project.rb:154:in get_by_name' /srv/www/obs/api/app/controllers/source_controller.rb:693:inproject_meta'
[ERROR|#12767] ReadAccessError: openSUSE.org
[INFO |#12767] Rendered status.xml.builder (0.6ms)
[INFO |#12767] Completed 404 Not Found in 21ms (Views: 1.7ms | ActiveRecord: 2.9ms | Backend: 0.0ms | XML: 0.0ms)

UI to modify package owner ships

  • Owner search needs to show or link to user roles
  • If the container is not writable the webui must offer to create requests ("set_bugowner" or "add_role")

[api] rng schemas errors

During generating java classes from package.rng with "xjc" tool from "JAXB" i have errors with this file
https://github.com/openSUSE/open-build-service/blob/master/docs/api/api/obs.rng

  1. It should have element, according to:
    http://books.xmlschemata.org/relaxng/relax-CHP-5-SECT-3.html and
    http://relaxng.org/spec-20011203.html#IDASNZR
  2. datatype "token" from library "" not recognized.
    Solution not found yet...

Note: xmlling for package.rng, that href's obs.rng - show no errors.

Appreciate any ideas.

obsstoragesetup doesn't remove LV from VG

If there is a VG OBS which doesn't contain any LV, then the folder /dev/obs/ doesn't exist.

Therefore, obsstoragesetup will fail if use_obs_vg is used.

A patch is on the way...

feature request: provide osc download url

It would be great if OBS would show a url on the overview page (e.g. under "my actions") that I can just copy and paste so that I can create a local clone on my computer, i.e. "create a local clone using 'osc ...'". something similar to what github has. Since I don't use the build server that often I always have to look up how to do this.

Links hidden in search results

The new search results make it completely unobvious where links are because the header is blue and underlined.

"Owner for expat for openSUSE in devel:libraries:c_c++" looks like one text, when expat and devel:l:c are actually links

original requester of an SR sees a "accept SR" button after somebody else reopened it

See https://build.opensuse.org/request/show/147947 for an example.

I opened 147947, factory-auto declined review, coolo reopened review, factory-auto accepted review. Now I as the original requester have a button "accept request" which I should not have.

I have not clicked the button as I don't feel entitled to it. Coolo says clicking the button should raise an error.

Am 11.01.2013 09:06, schrieb Ralf Lang:

Am 11.01.2013 09:01, schrieb Stephan Kulow:

Am 11.01.2013 07:07, schrieb [email protected]:

State of submit-request #147947 was changed by factory-auto:

review -> declined

Comment: Output of check script: ERROR: output directory does
not exist Source URLs are not valid. Try "osc service localrun
download_files"

Hi,

Bitte reopen, ich darf nicht ;(

Gruß, Stephan

https://build.opensuse.org/request/show/147947

Wieso bekomme ich (!) hier einen "accept request"-Knopf angezeigt?
Soll ich dazu ein Bugzilla aufmachen?

Lieber keinen bugzila, lieber ein github issue. Aber bugzilla geht
schon auch - gibt es evtl. sogar schon.

Jedenfalls wird der button zu einer fehlermeldung führen.

Gruß, Stephan

osc rq accept on branched pkg => submit to parent fails

while accepting a package in GNOME:Apps (giggle), which is a branched package of openSUSE:Factory/giggle, I am no longer asked to forward the package to Factory.

instead, some XML output is shown:

osc rq accept -m auto-ack 140682
Result of change request state:

Ok

Server returned an error: HTTP Error 400: Bad Request
illegal xpath ([devel/[@project='GNOME:Apps' and @Package='giggle']]) (illegal token X ':predicate')

This was with osc version 0.136.0

can't add repo to local obs from remote obs

[ESC[0;37mDEBUGESC[0m|# 7625] AUTH: ["Basic", "QWRtaW46b3BlbnN1c2U="]
[ESC[0;37mDEBUGESC[0m|# 7625] ESC[1mESC[36mUser Load (0.4ms)ESC[0m ESC[1mSELECT users.* FROM users WHERE (login = 'Admin') LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7625] USER found: Admin
[ESC[0;37mDEBUGESC[0m|# 7625] User Admin initialised
[ESC[0;37mDEBUGESC[0m|# 7625] searching in projects, predicate: 'starts-with(@name, 'open') and not(@kind='maintenance_incident')'
[ESC[0;37mDEBUGESC[0m|# 7625] Class.find_each {:select=>"distinct(projects.id),projects.name", :include=>[], :joins=>"LEFT JOIN db_project_types pt ON projects.type_id = pt.id", :conditions=>["1 AND (projects.name LIKE CONCAT(?,'%') AND (NOT pt.name = ? OR pt.name = ? IS NULL))", "open", "maintenance_incident", "maintenance_incident"], :order=>nil, :group=>"projects.id"}
[ESC[0;37mDEBUGESC[0m|# 7625] ESC[1mESC[35mRole Load (1.0ms)ESC[0m SELECT DISTINCT roles.id FROM roles INNER JOIN roles_users ON roles.id = roles_users.role_id WHERE roles_users.user_id = 1 AND roles.title = 'Admin' LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7625] ESC[1mESC[36mProject Load (1.4ms)ESC[0m ESC[1mSELECT distinct(projects.id),projects.name FROM projects LEFT JOIN db_project_types pt ON projects.type_id = pt.id WHERE (projects.id not in (0)) AND (1 AND (projects.name LIKE CONCAT('open','%') AND (NOT pt.name = 'maintenance_incident' OR pt.name = 'maintenance_incident' IS NULL))) AND (projects.id >= 0) ORDER BY projects.id ASC LIMIT 1000ESC[0m
[ESC[32mINFO ESC[0m|# 7625] Rendered text template (0.0ms)
[ESC[32mINFO ESC[0m|# 7625] Completed 200 OK in 14ms (Views: 0.6ms | ActiveRecord: 2.8ms | Backend: 0.0ms | XML: 0.0ms)
[ESC[32mINFO ESC[0m|# 7625] Started GET "/person/Admin" for ::1 at 2012-12-01 09:58:06 +0300
...skipping...
hes:openSUSE' AND (projects.id not in (0)) LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org:home:kostyasha:branches, remote_project openSUSE:Tools:Unstable
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mProject Load (0.2ms)ESC[0m SELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org:home:kostyasha:branches' AND (projects.id not in (0)) LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org:home:kostyasha, remote_project branches:openSUSE:Tools:Unstable
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mProject Load (0.2ms)ESC[0m ESC[1mSELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org:home:kostyasha' AND (projects.id not in (0)) LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org:home, remote_project kostyasha:branches:openSUSE:Tools:Unstable
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mProject Load (0.2ms)ESC[0m SELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org:home' AND (projects.id not in (0)) LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org, remote_project home:kostyasha:branches:openSUSE:Tools:Unstable
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mProject Load (0.2ms)ESC[0m ESC[1mSELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org' AND (projects.id not in (0)) LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mRepository Load (0.3ms)ESC[0m SELECT repositories.* FROM repositories WHERE repositories.db_project_id = 4 AND repositories.name = 'Fedora_17' AND repositories.remote_project_name = 'home:kostyasha:branches:openSUSE:Tools:Unstable' LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mRepository Load (0.3ms)ESC[0m ESC[1mSELECT repositories.* FROM repositories WHERE (db_project_id = 4 AND name = 'Fedora_17') LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mRepository Load (0.9ms)ESC[0m SELECT repositories.* FROM repositories INNER JOIN projects ON projects.id = repositories.db_project_id WHERE repositories.remote_project_name IS NULL AND projects.name = 'openSUSE.org:Fedora:17' AND repositories.name = 'standard' LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org:Fedora, remote_project 17
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mProject Load (0.3ms)ESC[0m ESC[1mSELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org:Fedora' AND (projects.id not in (0)) LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] checking local project openSUSE.org, remote_project Fedora:17
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mCACHE (0.0ms)ESC[0m SELECT id,name,remoteurl FROM projects WHERE projects.name = 'openSUSE.org' AND (projects.id not in (0)) LIMIT 1
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mRepository Load (0.8ms)ESC[0m ESC[1mSELECT repositories.* FROM repositories WHERE repositories.db_project_id = 4 AND repositories.name = 'standard' AND repositories.remote_project_name = 'Fedora:17' LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35m (0.5ms)ESC[0m SELECT COUNT() FROM architectures INNER JOIN repository_architectures ON architectures.id = repository_architectures.architecture_id WHERE repository_architectures.repository_id = 9
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36mCACHE (0.0ms)ESC[0m ESC[1mSELECT repositories.
FROM repositories WHERE (db_project_id = 4 AND name = 'Fedora_17') LIMIT 1ESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[35mSQL (0.6ms)ESC[0m INSERT INTO path_elements (parent_id, position, repository_id) VALUES (9, 1, NULL)
[ESC[0;37mDEBUGESC[0m|# 7652] Mysql2::Error: Column 'repository_id' cannot be null: INSERT INTO path_elements (parent_id, position, repository_id) VALUES (9, 1, NULL)
[ESC[0;37mDEBUGESC[0m|# 7652] ESC[1mESC[36m (7.6ms)ESC[0m ESC[1mROLLBACKESC[0m
[ESC[0;37mDEBUGESC[0m|# 7652] ActiveRecord::StatementInvalid: errorcode Mysql2::Error: Column 'repository_id' cannot be null: INSERT INTO path_elements (parent_id, position, repository_id) VALUES (9, 1, NULL)
/srv/www/obs/api/app/models/project.rb:618:in block in update_from_xml' /srv/www/obs/api/app/models/project.rb:504:inupdate_from_xml'
/srv/www/obs/api/app/controllers/source_controller.rb:833:in block in project_meta' /srv/www/obs/api/app/controllers/source_controller.rb:832:inproject_meta'
[ESC[32mINFO ESC[0m|# 7652] Rendered status.xml.builder (0.3ms)
[ESC[32mINFO ESC[0m|# 7652] Completed 400 Bad Request in 89ms (Views: 1.0ms | ActiveRecord: 27.1ms | Backend: 0.0ms | XML: 0.0ms)

Project links make it impossible to see the origin of packages

Since all packages are listed expanded, it's hard to see if the package is in Factory:ARM or only derived from the project link.

There should be either another column in project linked projects (which will be challenging on 960) or multiple tables below each other.

Add route to request worker (hardware) capabilities

To enhance the view of available worker capabilities we need to be able to request basically everything what is inside the element group of the currently building and idle workers via an api route. To be added first into the backend.

order OBS search output by user/packager relevance

Can the OBS package search interface please be updated to return packages in an order more relevant to users and maintainers wanting to look at the package source? Searching for packages will most likely be for the current latest or released versions, development versions?

I suggest the following sort order:

  1. Projects listed in the "Main Projects" section in /project/list_public
  2. Projects that are defined as the development project of the search result in question
  3. all projects excluding home:
  4. all projects excluding home:branches:
  5. all projects

Repository edition fails

As seen with coolo on IRC on 20/11/12:

Actually, the OBS web interface seems to work strangely on repositories creation/update (in Home Project). I tried to define 2 repos (1 debian and 1 suse): this first step works. But after that I was unable to edit the repos (add an ARM arch for ex. on Debian)

Steps to reproduce:

Show dispatch state

Show a dispatch state for scheduled build jobs.

This should include:

  • dispatchable at all (or which constraint can not be fullfilled)
  • workers which do qualify for this job

error during creating package

webui log:
[INFO |#20615] Authenticated request to "/project/new_package?project=home%3AAdmin" from Admin
[INFO |#20615] Rendered project/_tabs.html.erb (2.1ms)
[INFO |#20615] Rendered project/new_package.html.erb within layouts/application (4.1ms)
[INFO |#20615] Rendered layouts/_watch_and_search.html.erb (0.8ms)
[INFO |#20615] Rendered layouts/_header.html.erb (1.4ms)
[INFO |#20615] Rendered layouts/_personal_navigation.html.erb (0.6ms)
[INFO |#20615] Rendered layouts/_flash.html.erb (0.0ms)
[INFO |#20615] Rendered layouts/_sponsor.html.erb (0.0ms)
[INFO |#20615] Completed 200 OK in 65ms (Views: 10.0ms | ActiveRecord: 0.0ms | API: 51.6ms (XML: 0.0ms , View: 0.7ms , Backend: 0.0ms , DB: 3.6ms , HTTP: 21.9ms) | XML: 0.1ms)
[INFO |#20615] Started POST "/package/save_new?method=post" for 10.253.13.102 at 2012-12-14 17:30:35 -0500
[INFO |#20615] Processing by PackageController#save_new as HTML
[INFO |#20615] Parameters: {"utf8"=>"✓", "authenticity_token"=>"2g+W5pGunWj8E415HseV2Dmrf71bVg2tpttNfm/MbvI=", "name"=>"123", "title"=>"123", "description"=>"123", "project"=>"home:Admin", "commit"=>"Save changes", "method"=>"post"}
[INFO |#20615] Authenticated request to "/package/save_new?method=post" from Admin
[INFO |#20615] Completed 500 Internal Server Error in 202ms

[FATAL|#20615] ActiveXML::Transport::Error (#Net::HTTPInternalServerError:0x00000006b56e08): lib/activexml/transport.rb:410:in handle_response' lib/activexml/transport.rb:390:inhttp_do'
lib/activexml/transport.rb:185:in save' lib/activexml/node.rb:586:insave'
app/controllers/package_controller.rb:400:in `save_new'

api log:

[DEBUG|#20570] ----------------- rendering package 123 ------------------------
[DEBUG|#20570] PackageUserRoleRelationship Load (0.2ms) SELECT users.login as login, roles.title AS role_name FROM package_user_role_relationships INNER JOIN roles ON roles.id = package_user_role_relationships.role_id INNER JOIN users ON users.id = package_user_role_relationships.bs_user_id WHERE package_user_role_relationships.db_package_id = 4
[DEBUG|#20570] PackageGroupRoleRelationship Load (0.2ms) SELECT groups.title as title, roles.title as role_name FROM package_group_role_relationships INNER JOIN roles ON roles.id = package_group_role_relationships.role_id INNER JOIN groups ON groups.id = package_group_role_relationships.bs_group_id WHERE package_group_role_relationships.db_package_id = 4
[DEBUG|#20570] Flag Load (0.2ms) SELECT flags.* FROM flags WHERE flags.db_package_id = 4 ORDER BY position
[DEBUG|#20570] ----------------- end rendering package 123 ------------------------
[DEBUG|#20570] [backend] PUT: /source/home:Admin/123/meta?user=Admin
[DEBUG|#20570] request took 0.024059248
[DEBUG|#20570] Package Load (0.5ms) SELECT packages.
, ( @activity:=( packages.activity_index - POWER( TIME_TO_SEC( TIMEDIFF( NOW(), packages.updated_at ))/86400, 1.55 ) /10 ) ) AS act_tmp,
IF( @activity<0, 0, @activity ) AS activity_value FROM packages WHERE id = 4 LIMIT 1
[DEBUG|#20570] Mysql2::Error: DOUBLE value is out of range in 'pow((time_to_sec(timediff(now(),'2012-12-14 22:30:35')) / 86400),1.55)': SELECT packages._, ( @activity:=( packages.activity_index - POWER( TIME_TO_SEC( TIMEDIFF( NOW(), packages.updated_at ))/86400, 1.55 ) /10 ) ) AS act_tmp,
IF( @activity<0, 0, @activity ) AS activity_value FROM packages WHERE id = 4 LIMIT 1
DEBUG|#20570 ROLLBACK
[INFO |#20570] Completed 500 Internal Server Error in 50ms

[FATAL|#20570] ActiveRecord::StatementInvalid (Mysql2::Error: DOUBLE value is out of range in 'pow((time_to_sec(timediff(now(),'2012-12-14 22:30:35')) / 86400),1.55)': SELECT packages.*, ( @activity:=( packages.activity_index - POWER( TIME_TO_SEC( TIMEDIFF( NOW(), packages.updated_at ))/86400, 1.55 ) /10 ) ) AS act_tmp,
IF( @activity<0, 0, @activity ) AS activity_value FROM packages WHERE id = 4 LIMIT 1):
app/models/package.rb:886:in activity' app/models/package.rb:895:inupdate_activity'
app/models/package.rb:461:in update_from_xml' app/controllers/source_controller.rb:1005:inblock in package_meta'
app/controllers/source_controller.rb:1004:in `package_meta'

But directory sources/123 appeared.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.