[api] Refactor AnonymousUser exception into ForbidsAnonymousUsers module

This is a prerequisite to checking for anonymous user (be_not_nobody!) in
other places, e.g. the Package model.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
[api] More corrections for @login.  Report the exception during LDAP debug logging

Signed-off-by: David Greaves <david.greaves@jolla.com>
[backend] Correct comment to describe 'service' service

Signed-off-by: David Greaves <david.greaves@jolla.com>
[backend] Add a little more information about what failed to publish
[backend] Guard the readxml against bad XML
[dist] Use .log instead of _log for apache logs so they're covered by the logrotate config
[backend] Add sb2install: dependancy handling

Signed-off-by: Carsten Munk <carsten.munk@gmail.com>
[backend] Force curl to use no-proxy to get the bs_worker

Very often internal machines use a proxy to access external repos
for zypper etc.
Access to the backend should not use these proxies
for performance and configuration reasons. Since proxy configuration
can be tricky, just avoid it all together.

Signed-off-by: David Greaves <david@dgreaves.com>
[backend] Modify copybuild so as to shortcircuit unnecessary rebuilds.

Includes a check event to the scheduler to prevent inconsistent state
and support for prjlinks.

Signed-off-by: Islam Amer <pharon@gmail.com>
[repserver] Make prjlinks a bit more transparent

Signed-off-by: Islam Amer <pharon@gmail.com>
[backend] refactor prjcopy code to be faster and less redundant.

WIP Can still cause rebuilds.
Includes : rewrite repserver copybuild WIP, but might actually work now
and: preserve package meta build status when creating new packages while
doing a project copy

Signed-off-by: Islam Amer <pharon@gmail.com>
[backend] Revert changes to upstream copybuild - leave that untouched.

New copybinary API call uses Islams code
Cleaned up loops in Islams code and added comments
Use the copybinary repo server API; Clarify a little with comments and names; simpler arch recorder.
[backend] Provide OBS_WORKER_DISCRETE_IDS to permit worker instances to be named $HOSTNAME-$I:1 which can then be used to identify a single worker instance as a powerworker (to prevent multiple power jobs running concurrently on one host)

Signed-off-by: David Greaves <david@dgreaves.com>
[api backend] Allow per package build flag in project meta

Add a new feature to allow per package build flags in project meta.
This is useful specially in the case of project links where it is
not possible to enable / disable packages because they don't really
exist in the linked from project.

An example of using this feature is adding the following line to a
project's meta:

<build><disable arch="i586" repository="i586" package="acl"/></build>

Signed-off-by: Islam Amer <pharon@gmail.com>
[backend] Allow package build flags in prjmeta to override arch flags

Now the following scenario works

  <build>
    <disable arch="i586"/>
    <enable arch="i586" repository="i586" package="acl"/>
  </build>

Signed-off-by: Islam Amer <pharon@gmail.com>
[api] Try harder to preserve flags.

Also preserve package flags in the project meta.

Signed-off-by: Islam Amer <pharon@gmail.com>
[backend] Worakaround arch mismatch in dod armv7hl metafile vs. armv schedulers

Signed-off-by: Islam Amer <islam.amer@jollamobile.com>
[backend] Enable HTTPS support for the benifit of https dod repos

Signed-off-by: Islam Amer <islam.amer@jollamobile.com>
[backend] Fix tmpfs umount issues

Signed-off-by: David Greaves <david@dgreaves.com>