# changelog

author: SoonKyu Park <sk7.park@samsung.com> - 0.10.1
changelog:
  - Enable RPM_WEAK_DEPS_SUPPORT and ENABLE_LEGACY_WEAKDEPS
    * Wed 09 2014 Shuai Fu <shuai01.fu@samsung.com> - 0.10.0
  - add debian


author: Ed Bartosh <eduard.bartosh@intel.com> 0.14
changelog:
  - Returned back dependency to jenkins
  - Added jenkins repository to .extra-repos
  - Add pinned file for build-in mailer and ldap
  - Upgrade git plugin to 1.4
  - Upgraded credentials plugin
  - Added job configuration history plugin
  - Upgraded eninject, git-client and ldap plugins
  - Upgraded git-client and parameterized-trigger
  - Added PrioritySorter plugin


author: Ed Bartosh <ed@ed.fi.intel.com> 0.15.9
changelog:
  - Add a plugin for the jobs maximum time limit
  - Upgraded plugins for Jenkins 1.565.3
  - Removed .pinned files


author: Zhuo Li <zhuox.li@intel.com> 0.15.11
changelog:
  - Add plugins dependence package
  - Add extensible choice parameter plugin
  - Add build-blocker-plugin


author: Ed Bartosh <eduard.bartosh@intel.com> - 0.1.0
changelog:
  - Fixed bug in passing 'project' to jenkins job
  - Added .extra-repos with OBS repositories
  - Fixed packaging issue
  - Implement more flexible event filtering


author: SoonKyu Park <sk7.park@samsung.com> - 0.1.3
changelog:
  - BUGFIX: notify_type is sent via POST data
  - Do not relay events for specific projects
  - add debian package
  - build_log_url is generated at the BUILD_START event
  - BUGFIX: return 1 if the package is found in the project
  - BUGFIX: use next instead of continue
  - LOCATION_CHANGE: build_monitor_db.conf.template
  - Exclude unnecessary projects from relaying events and logging
  - BUGFIX: sql statement typo


author: SoonKyu Park <sk7.park@samsung.com> - 0.1.4
changelog:
  - Compensation for BUILD_START, BUILD_SUCCESS, BUILD_UNCHANGED
  - Do not use 'test' for config_string
  - Make build_project_id even for srcsrv_update_project


author: SoonKyu Park <sk7.park@samsung.com> - 0.1.5
changelog:
  - Descriptions can have SEC IP addresses, so do not send them
  - Include BuildMonitorDB.pm in the spec file
  - build_project_start() is called in package_build_status()
  - Send trigger reason as string in BUILD_START event when it is relayed


author: Tizen Build Team <tizen.build@samsung.com> - 0.1.8
changelog:
  - update reference project name to DB.
  - Apply another filter for relaying projects
  - ACCEPT is process using REQUEST_STATECHANGE.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.1
changelog:
  - Use gbs-specific default repository cache directory
  - Support for config files
    Initial support for reading service configuration from a file.
    Currently, there is only one configuration setting, i.e.
    'repo-cache-dir'. All configuration settings can be overridden with
    environment variables.
    By default, the service tries to read '/etc/obs/services/gbs' and
    '~/.obs/gbs'.
  - packaging: fix requirements for unit tests
  - Rename logger to LOGGER


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.2
changelog:
  - Release 0.2
  - Depend on the gbp-repocache package
  - Skip default config files if --config option is used
  - Utilize the GBS export API


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.3
changelog:
  - Release 0.3
  - Ability to run gbs under different user/group
    This change adds new configuration file options to set the user/group
    under which gbs is run in the service. The service itself is run under
    whatever user/group the source service server itself is configured to
    use. The service now spawns a separate thread for gbs and sets the
    uid/gid there before calling gbs - this is accomplished by utilizing
    functionality from the obs-service-git-buildpackage-utils module.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.4
changelog:
  - Release 0.4
  - New option for creating a git-meta file
    Add a new 'git-meta' option for writing metadata about the exported
    treeish into a text file in json format. The argument for the option is
    the filename to write into.
    NOTE! Be careful with the filename: the service fails if the filename
    already exists in the exported files.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.5
changelog:
  - Release version 0.5
  - Better handling of gbs export crashes. Catch unexpected gbs exceptions and
    print a traceback in error log.
  - Adapt to new fork_call API of obs_service_gbp_utils
  - Add 'git-meta' option to the .service file
  - Enhancements in setup.py, regarding package meta data
  - Documentation:
    * Add deployment doc
    * Add README
    * Add an example configuration file
  - Exit with 3 when GBS crashes
  - Fix one help text in arg parser
  - Implement 'error-pkg' parameter
    Instead of causing a service error generate a special "error package"
    that shows the service error log but fails to build. The parameter value
    is a comma-separated list of integers, representing the exit codes for
    which the special error package is created.
    This is a special hack to prevent the +creation of broken packages in
    case of service failures.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.6
changelog:
  - Release version 0.6
  - Close the log tmpfile so that it is removed. Fixes a problem of leftover
    tempfiles under /tmp.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.7
changelog:
  - Release version 0.7
  - Add config option for repocache git-fetch refs hack
    New config file option 'repo-cache-refs-hack' for enabling refs hack in
    gbp-repocache. The option is disabled, by default.
    Enabling the hack makes it possible to fetch/clone remote repositories
    that have branches (refs/heads/*) that point to tag objects. This is
    possible in Gerrit repositories - "pure" Git repositories managed
    by Git tools shouldn't have such branches as Git sanity checking
    prevents them (which is the reason this hack is needed).
  - Remove the log tmpfile handler before closing the file


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 8092a5a
changelog:
  - setup.py: parse version from spec
  - tests: enable xml nose report in config
  - CachedRepository: option to not update submodules
  - Utilize non-bare mirrored git clone
  - tests: more extensive unit tests


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.2
changelog:
  - gbp.conf: set tag format
  - Fix gbp arguments
  - Add support for Deb packages and selective building
    Support for generating (exporting) Debian source package with gbp.
    Also, adds new options 'rpm' and 'deb' for selecting whether to generate
    rpm and/or deb packaging sources. These options are tri-state with
    'auto' trying to determine if the corresponding packaging is available.
  - Support for config files
    Initial support for reading service configuration from a file. For now,
    there is only one configuration setting, i.e. 'repo-cache-dir'.
    All configuration settings can be overridden with environment variables,
    if needed. By default, the service tries to read
    '/etc/obs/services/git-buildpackage' and '~/.obs/git-buildpackage'.
  - tests: more isolation for test cases
  - packaging: refine unit tests
  - pylint fix: rename global variable logger to LOGGER
  - CachedRepo: do force clean when updating working copy
  - CachedRepo: do force checkout when updating working copy
  - tests: run every testcase with clean orig repo


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.3
changelog:
  - Release 0.3
  - tests: split repocache tests into separate file
  - Move the Git repository cache in separate subpackage


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.4
changelog:
  - Release 0.4
  - repocache: change cached repo dir name
    Change the cached repo directory from "<base>/<reponame>_<hash>" to
    "<base>/<hash>/<reponame>". That is, add another directory level to the
    cache. This change makes gbp (and gbs) see the same project directory
    name as the end-users in their normal workflow.
    NOTE! Repository cache should be manually cleaned after this commit, in
    order to get rid of the stale, unused caches.
  - tests: make sure to restore dir permissions
  - repocache: more verbose debug messages


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.5
changelog:
  - Release 0.5
  - Run GBP in a separate thread
  - Config option to set user/group for running GBP
    Add new options to the configuration file to be able to set the
    user/group under which git-buildpackage(-rpm) is being run.
    This is done by spawning a child process, then changing UID/GID
    and calling gbp there.
  - tests: utilize ok_() and eq_() from nose tools
    In order to getter better assert messages.
  - Config file option for gbp tmp directory
    Add a new config file option for configuring the temporary directory
    that git-buildpackage uses when it is run.
  - Fixes/features in repocache
    * CachedRepo: make attribute variables private
    * CachedRepo: implement close() method
      For invalidating the object without the need of deleting it.
    * MirrorGitRepository: methods for setting/getting ref
    * MirrorGitRepository: fix git-fetch failure when local HEAD is invalid
      Git fetch fails if local HEAD is a non-symbolic ref and points to a
      non-existent object.
      We get into this state in CachedRepo if the remote HEAD is invalid (e.g.
      points to a non-existent branch) as we forcefully invalidate local HEAD
      in this case, too.


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.6
changelog:
  - Release 0.6
  - New option for creating a git-meta file
    Add a new 'git-meta' option for writing metadata about the exported
    treeish into a text file in json format. The argument for the option is
    the filename to write into.
    NOTE! Be careful with the filename: the service fails if the filename
    already exists in the exported files.
  - Internal features:
    * MirrorGitRepository: add get_tag_info() method
    * utils: new function for writing git tree-ish meta informat


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.7
changelog:
  - Release 0.7
  - utils: handle child exceptions in fork_call() more gracefully
    Create a new exception type GbpChildBTError for handling exceptions that
    happen in the function that is called in fork_call(). Allows to catch
    exceptions in the called "child" function and print out correct
    traceback.
  - Handle gbp crashes gracefully
    Catch unhandled exceptions in gitbuildpackage[-rpm] in which case print
    a traceback and return an error.
  - Don't read default config files if --config is given
  - utils: change fork_call() to return a callable
  - Include tag name in the git treeish meta data
    Add tag name to the information returned by the
    MirrorGitRepository.get_tag_info() method.  This information will also
    be automatically written by the write_treeish_meta() function, and thus,
    available in the meta data exported when using --git-meta.
  - Include tag list in the git treeish meta data
    List all annotated tags pointing at the exported commit and tag object.
    Adds a new 'tags' key (an array) under the 'commit' and 'tag' keys.
  - MirrorGitRepository:
    * Add list_tags() method for getting tags pointing at a certain object.
    * Fix error handling in set_ref() method
  - Disable git-buildpackage desktop notifications
  - packaging: -utils subpackage depends on gbp-repocache
  - Add git-meta option in to the .service file
  - Add deployment instructions
  - Better unit test coverage
  - Some minor internal code refactoring


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.8
changelog:
  - Release version 0.8
  - repocache: use standard logging module and interface
    Do not automatically use gbp-specific logging. Thus, let the user of
    this module to setup logging.
  - Implement repocache-adm command line tool
    This command line tool is intended for managing a gbp repository cache.
    It will contain functionality for e.g. checking, cleaning up and
    repairing the repository cache.
    The tool is supposed to be runnable on a live system.
    This initial implementation only contains a rudimentary 'stat' command
    for printing repocache status/statistics.
  - repocache: suppress some confusing git output
  - packaging: add missing dependency
    The main package requires -utils subpackage.
  - repocache: clean out stale submodules, too
  - repocache: implement refs hack for fetching
  - Add config option for git-fetch refs hack
    New config file option 'repo-cache-refs-hack' for enabling the refs hack
    in repocache. The option is disabled, by default.
    Enabling the hack makes it possible to fetch/clone remote repositories
    that have branches (refs/heads/*) that point to tag objects. This may
    encountered with Gerrit repositories - "pure" Git repositories managed
    by Git tools shouldn't have such branches as Git sanity checking
    prevents them (which is the reason this hack is needed).
  - Add an example config file
  - Add README file


author: Markus Lehtonen <markus.lehtonen@linux.intel.com> 0.9
changelog:
  - Release version 0.9
  - Use --git-no-build argument for gbp buildpackage-rpm
  - Use the standard logging module
  - repocache: don't set initial logging level
  - Set GID before UID
  - More fine-grained exception handling when setting UID/GID
  - Don't crash if UID is not found in pw database
  - Set correct ownership of the exported files
  - New exit code (4) indicating gbp crashes


author: adrian@suse.de
changelog:
  - update to version 0.22.0 (perl module 0.02 version)
    * implement handling of conflicts (aka '!') deps in expander
    * treat ARCH_ANY like ARCH_ALL
    * improve conflictsinfo handling
    * support --ignoreignore-- flag
    * improved debug output


author: mls@suse.de
changelog:
  - update to version 0.23.0 (perl module 0.03 version)
    * implement download on demand data updating


author: mls@suse.de
changelog:
  - update to version 0.24.0 (perl module 0.04 version)
    * allow setting of the dodcookie without a dodurl


author: mls@suse.de
changelog:
  - update to version 0.26.0 (perl module 0.06 version)
    * add preparehashes pool method to speed up the scheduler


author: mls@suse.de
changelog:
  - update to version 0.28.0 (perl module 0.08 version)
    * fix typo, rename obscpiostats to obscpiostorestats


author: nmo.marques@gmail.com
changelog:
  - initial package from version 4.1.3
    - based on spec file from python-beautifulsoup
    - requires python >= 2.6


author: jfunk@funktronics.ca
changelog:
  - Update to 0.14.2:
    * Improved mime-compatible JSON handling
    * Proxy fixes
    * Path hack fixes
    * Case-Insensistive Content-Encoding headers
    * Support for CJK parameters in form posts


author: p.drouand@gmail.com
changelog:
  - Update to version 1.1.0:
    * CHUNKED REQUESTS
    * Support for iterable response bodies
    * Assume servers persist redirect params
    * Allow explicit content types to be specified for file data
    * Make merge_kwargs case-insensitive when looking up keys


author: saschpe@suse.de
changelog:
  - Set license to "Apache-2.0 and LGPL-2.1+ and MIT", according to
    https://github.com/kennethreitz/requests/issues/1111, the base
    license is Apache-2.0 but requests ships two libraries (bnc#799119):
    + charade: LGPL-2.1+
    + urllib3: MIT


author: dmueller@suse.com
changelog:
  - update to 1.2.0:
    * Fixed cookies on sessions and on requests
    * Significantly change how hooks are dispatched - hooks now receive all the
    arguments specified by the user when making a request so hooks can make a
    secondary request with the same parameters. This is especially necessary for
    authentication handler authors
    * certifi support was removed
    * Fixed bug where using OAuth 1 with body ``signature_type`` sent no data
    * Major proxy work thanks to @Lukasa including parsing of proxy authentication
    from the proxy url
    * Fix DigestAuth handling too many 401s
    * Update vendored urllib3 to include SSL bug fixes
    * Allow keyword arguments to be passed to ``json.loads()`` via the
    ``Response.json()`` method
    * Don't send ``Content-Length`` header by default on ``GET`` or ``HEAD``
    requests
    * Add ``elapsed`` attribute to ``Response`` objects to time how long a request
    took.
    * Fix ``RequestsCookieJar``
    * Sessions and Adapters are now picklable, i.e., can be used with the
    mutiprocessing library
    Update charade to version 1.0.3


author: dmueller@suse.com
changelog:
  - update to 1.2.3:
    * Python 3.3.2 compatibility
    * Always percent-encode location headers
    * Fix connection adapter matching to be most-specific first
    * new argument to the default connection adapter for passing a block argument
    * prevent a KeyError when there's no link headers


author: vuntz@suse.com
changelog:
  - Add no-default-cacert.patch: completely ignore the internal CA
    bundle and point to /etc/ssl/certs/. This works because we
    patched python to do the right thing when a directory is used
    there instead of a file.
  - Manually remove requests/cacert.pem (better than doing that in
    the patch, since it's big) too.


author: mcihar@suse.cz
changelog:
  - update to 2.0.1
  - changes in 2.0.1:
    - Updated included CA Bundle with new mistrusts and automated process for the future
    - Added MD5-sess to Digest Auth
    - Accept per-file headers in multipart file POST messages.
    - Fixed: Don't send the full URL on CONNECT messages.
    - Fixed: Correctly lowercase a redirect scheme.
    - Fixed: Cookies not persisted when set via functional API.
    - Fixed: Translate urllib3 ProxyError into a requests ProxyError derived from ConnectionError.
    - Updated internal urllib3 and chardet.
  - changes in 2.0.0:
    - Keys in the Headers dictionary are now native strings on all Python versions,
    i.e. bytestrings on Python 2, unicode on Python 3.
    - Proxy URLs now *must* have an explicit scheme. A ``MissingSchema`` exception
    will be raised if they don't.
    - Timeouts now apply to read time if ``Stream=False``.
    - ``RequestException`` is now a subclass of ``IOError``, not ``RuntimeError``.
    - Added new method to ``PreparedRequest`` objects: ``PreparedRequest.copy()``.
    - Added new method to ``Session`` objects: ``Session.update_request()``. This
    method updates a ``Request`` object with the data (e.g. cookies) stored on
    the ``Session``.
    - Added new method to ``Session`` objects: ``Session.prepare_request()``. This
    method updates and prepares a ``Request`` object, and returns the
    corresponding ``PreparedRequest`` object.
    - Added new method to ``HTTPAdapter`` objects: ``HTTPAdapter.proxy_headers()``.
    This should not be called directly, but improves the subclass interface.
    - ``httplib.IncompleteRead`` exceptions caused by incorrect chunked encoding
    will now raise a Requests ``ChunkedEncodingError`` instead.
    - Invalid percent-escape sequences now cause a Requests ``InvalidURL``
    exception to be raised.
    - HTTP 208 no longer uses reason phrase ``"im_used"``. Correctly uses
    ``"already_reported"``.
    - HTTP 226 reason added (``"im_used"``).
    - Vastly improved proxy support, including the CONNECT verb. Special thanks to
    the many contributors who worked towards this improvement.
    - Cookies are now properly managed when 401 authentication responses are
    received.
    - Chunked encoding fixes.
    - Support for mixed case schemes.
    - Better handling of streaming downloads.
    - Retrieve environment proxies from more locations.


author: vuntz@suse.com
changelog:
  - Add no-default-cacert-sles.patch: use this patch when building
    for SLES, since python in SLES and openSUSE behave differently
    when it comes to SSL, and no-default-cacert.patch is wrong for
    SLES.


author: olev.kartau@intel.com - 1.35.1
changelog:
  - tizen.org settings: use osrepo http for opensuse base repos
  - deploy scripts: move all rsync options to workers.env, add -zP


