Release notes for gbs 0.25.11
==========================

- Release Date: 2020-5

- Bug fix:
    * Remove --replacefile option in build-pkg-rpm
    * Fix errors about check_circle in depanneur
    * Fix build error with '[]' in path

Release notes for gbs 0.25.10
==========================

- Release Date: 2020-2

- Bug fix:
    * Fix pylint issue for gbs

Release notes for gbs 0.25.9
==========================

- Release Date: 2019-8

- New feature and enhancements added:
    * Add --export-only feature

Release notes for gbs 0.25.8
==========================

- Release Date: 2019-2

- New feature and enhancements added:
    * Support new platform Ubuntu 18.04
    * Upgrade osc version to 0.162.2
    * Upgrade git-buildpackage version to 0.9.9
    * Change 'struct ucontent' to 'ucontent_t' in qemu-arm-static

Release notes for gbs 0.25.7
==========================

- Release Date: 2018-11

- New feature and enhancements added:
    * Optimize package dependence analyse
    * Optimize circular dependency check

Release notes for gbs 0.25.6
==========================

- Release Date: 2018-10

- New feature and enhancements added:
    * Speed up the download packages when use https

Release notes for gbs 0.25.5
==========================

- Release Date: 2018-09

- Bug fix:
    * Fix file conflicts when package install

Release notes for gbs 0.25.4
==========================

- Release Date: 2018-08

- Bug fix:
    * Fix build error on x86_64 with expand error
    * Fix bugs of perl tempdir function call
    * Remove mount info check after build finished
- New feature and enhancements added:
    * Add --style=tar feature, which can build with gbs export source
- Update dependencies:
    * depanneur >= 0.16.4

Release notes for gbs 0.25.3
==========================

- Release Date: 2018-08

- Bug fix:
    * Fix deb package build error
    * Remove chroot memory limit on x86_64
- New feature and enhancements added:
    * Optimize gbs export process
- Update dependencies:
    * depanneur >= 0.16.3

Release notes for gbs 0.25.2
==========================

- Release Date: 2018-05

- Bug fix:
    * Fix umount directories inside build root after build is finished
- Update dependencies:
    * depanneur >= 0.16.2

Release notes for gbs 0.25.1
==========================

- Release Date: 2018-03

- Bug fix:
    * Fix bugs when linux usernames including backslash
    * Fix bugs the instance of ConfigMgr class can not access get_optional_item method
      in get function
- Update dependencies:
    * depanneur >= 0.16.1

Release notes for gbs 0.25.0
==========================

- Release Date: 2018-01

- New feature and enhancements added:
    * Add disable-debuginfo option which disable to generate debuginfo packages
    * Add new function to phrase user/passwd in general part:
      1.User can define user/passwd as global variables
      2.User can use ${user}/${passwd} in other section
    * Add depends subcommnd:
      depends subcommand can output each package's reverse dependency
      and save to the file
    * Add --full-build and --deps-build features
      1.With gbs build --full-build option, gbs will download the whole profile's
      source codes except the local package(s) from remote snapshot and perform
      building.
      2.With gbs build --deps-build option, gbs will analyse the reverse dependency
      of local package(s) and download them from remote snapshot and perform building.
- Bug fix:
    * Fix bugs when using --rdeps or --deps get wrong dependency
    * Add --outdir-directly option for gbs export, use the directory from
      gbs build which could get the macros in spec which defined in build.conf
- Update dependencies:
    * depanneur >= 0.16.0

Release notes for gbs 0.24.10
==========================

- Release Date: 2017-10

- Bug fix:
    * Prevent shell interpolation of gbs configuration variables,
      when using special variable such like “upstream_tag = v${upstreamversion} ”
      which gbs can't get upstreamversion well
    * Fix build error tizen:2.4 not install cumulate packages
    * Fix build error package rpm-4.9.1-4.3.1.10.armv7l is already installed,
      can not reuse compile enviroment
    * Add Epoch to rpm query command, some packages have 'Epoch' definition
      which will cause dependency packages missing,
      keep same of identifier of packages in build.
- Update dependencies:
    * build >= 20160629-tizen20171013
    * depanneur >= 0.15.9

Release notes for gbs 0.24.9
==========================

- Release Date: 2017-09

- Bug fix:
    * Fix build error with --baselibs option that rpm files which has to be created by
      --baselibs option are not created
    * Adapt to forkmanager module for export sources to avoid full build export stuck problem
    * Fix error when using fail_fast(which not consider gbs has error status)
- Update dependencies:
    * depanneur >= 0.15.8

Release notes for gbs 0.24.8
==========================

- Release Date: 2017-06

- Bug fix:
    * Fix repomd.xml update problem that will missing cacheing packages
      with 'latest' repos(DEVT-310)
    * Add lock for multi spec export to solve multi-threads export conflict problem
- Update dependencies:
    * build >= >= 20160629-tizen20170630
    * depanneur >= 0.15.7

Release notes for gbs 0.24.7
==========================

- Release Date: 2017-04

- New feature and enhancements added:
    * Support use some configuration in package own gbs.conf which  including
      'packaging_branch', 'upstream_branch', 'upstream_tag','packaging_dir' sections
      to make gbs build successfully
- Update dependencies:
    * build >= 20150115-tizen20170428
    * depanneur >= 0.15.6


Release notes for gbs 0.24.6
==========================

- Release Date: 2017-04

- New feature and enhancements added:
    * create new 'rpmbuildstage:' option on OBS
- bug fix:
    * Fix not to input sudo password at the end of gbs build which
      used sudo ln (hard link) to create rpm packages
    * Fix debchange warning ,remove these warning messages from the gbs' output stream

Release notes for gbs 0.24.5
==========================

- Release Date: 2017-02

- New feature and enhancements added:
    * Support 'Recommands:' inside spec file, gbs will select the 'Recommends' package when there are
      multiple packages which have the same provides to meet the dependency
    * Add not export source option, with this option gbs build will speed up because of
      skipping export source stage which could cost many time
- bug fix:
    * Replace rpm packages inside buildroot mv action to ln, leave rpm packages inside buildroot for use
    * Revert to old version, replace perl script to rpm command to query pkgid for speed up
    * Fix deps file order error

Release notes for gbs 0.24.4
==========================

- Release Date: 2016-12

- Bug fix:
    * Fix bugs when using --rdeps and --deps
    * Fix not deletion of old *src.rpms when using --incremental and --skip-srcrpm.
    * tizen build-initvm-i586 is not installed in openSUSE 42.1
    * Fix rpmlint error because of lack of OTHER directory when using 'not export'
    * Comment out duplicated aarch64 registering
    * Revert the command of getting packages ID from cache
    * GitRepository: Fix diff_status() for renames and copies
    * Adapt git-merge option when git version is greater then 2.9
    * Disable test_pristine_tar unit test case
    * Upgrade glib2 version so that tizen package is used instead of upstream package
    * Fix xdelta upgrade to xdelta3 but left pristine-gz
- New feature and enhancements added:
    * Enable kvm build function
    * Reorder the building dependence
        (The packages which are been depended most ,build them first.
         The packages which have no dependence ,build them later.)
    * Export source code by gbs use threads
    * Update dependency expansion errors when any of packages have been built
    * Improve build order for multiple building
    * Reduce 'mv' instead of 'cp' during rpm packaging
    * Make some packages not export sources for speed-up

Release notes for gbs 0.24.3
==========================

- Release Date: 2016-09

- Bug fix:
    * fix conflicts in installation gbs onto Ubuntu 16.04
    * Revert gbs package selection policy - local repo has highest priority
    * Modify export option to avoid warning message 
      (Warning: Deprecated option '--git-export-only', please use '--no-build' instead! )
    * Do not print error string "unknown keyword in config: copylinkedpackages:"
    * use correct dir for creation of icecream env
- New feature and enhancements added:
    * Add --use-higher-deps option, 
      With this option, higher version of packages are installed, regardless of repo type
    * Add hostarch information for build configuration

Release notes for gbs 0.24.2
==========================

- Release Date: 2016-08

- Bug fix:
    * Support python-support package for Ubuntu 16.04
    * Support 'build' and 'depanneur' package for openSUSE 12.3
        (upgraded version of 'build' package does not support openSUSE 12.3)
- New feature and enhancements added:
    * Upgrade gbs dependency on pristine-tar
        (upgraded version of pristine-tar is not automatically installed in 'deb'-type linux distros)

Release notes for gbs 0.24.1
==========================

- Release Date: 2016-05

- Bug fix:
    * Upgrade pristine-tar with xdelta3 instead of xdelta(xdelta can not work well
        when codes' size is bigger than 2GB )
    * Add tar extract patches to solve bad message generated by git(2.7.4) mailinfo
- New feature and enhancements added:
    * Upgrade latest 'build' package from upstream and suit for gbs
    * Upgrade depannuer to meet new version of build
    * Support new platform Ubuntu 16.04, Fedora 23

Release notes for gbs 0.24
==========================

- Release Date: 2016-03

- New feature and enhancements added:
    * Add --fail-fast option: stop building immediately if one of packages fails
    * Support new distribution: CentOS 7, Debian 8, Fedora 21, Fedora 22, openSUSE 13.2
    * Improve performance of GBS
      - major changes could be found in git-buildpackage：
      - Remove or redefine functions which have wrong logic process，
        It can reduce time to compress or uncompress git files through gbp command.
      - Remove all other log handlers when capturing logs for test cases
    * update dependencies:
      - depanneur >= 0.15

- Bug fix:
    * Fix security issues that normal user can gain root permission with gbs chroot
    * Fix git-build-package bugs and imporve some performance
    * Fix error logs when __import__ faild,like "No handlers could be found fo logger"
    * Fix build problem on Debian 8

Release notes for gbs 0.23.2
============================

- Release Date: 2015-02

- New feature and enhancements added:
    * bug fix:
      - build: fix get "fallback_to_native" value from non-default gbs
               configuration
      - fix bad indentation from pylint checking
      - fix tag mode in test_import script

Release notes for gbs 0.23.1
============================

- Release Date: 2015-01

- New feature and enhancements added:
    * bug fix:
      - build: fix get "fallback_to_native" value from non-default gbs
               configuration
      - fix no jenkins user exists issue when installing gbs-jenkins-scripts and
        gbs-jenkins-jobs packages
      - fix bad indentation from pylint checking
      - fix tag mode in test_import script

Release notes for gbs 0.23
==========================

- Release Date: 2014-10

- New feature and enhancements added:
    * export: support --fallback-to-native command line option to force gbs to
              export non-native packages in native packaging mode
    * export: support native config option by setting default value(yes, true,
              1, enabled, on) in .gbs.conf config file to enable native
              packaging mode in git tree
    * build: support no source rpm building with --skip-srcrpm option
    * build: add new arch mips and mipsel to support MIPS architecture and
             toolchains
    * build: support for distributed compiler network with --icecream option
    * bug fix:
      - build: fix --include-all option on development branch(orphan-packaging
                mode)
      - dependency issue on gbs repository for fedora
      - disable some invalid pylint errors
    * update dependencies:
      - depanneur >= 0.14
      - git-buildpackage >= 0.6.15-tizen20140828

Release notes for gbs 0.22.1
============================

- Release Date: 2014-06

- New feature and enhancements added:
    * export: disable desktop notifications to fix backtrace issue
    * export: change VCS tag in spec to sha1 of commitish
    * build: ignore OS/ABI field in ELF header for aarch64

Release notes for gbs 0.22
==========================

- Release Date: 2014-05

- New feature and enhancements added:
    * new distributions support: Ubuntu 14.04 and Debian 7.0
    * orphan-packaging development model (experimental)
      - implement 'devel' subcommand for  orphan-packaging development model
      - 'gbs devel' subcommand contains 'start', 'export', 'switch' and
        'convert' actions.
      - updated export/build import subcommands to support new
        orphan-packaging development model
    * conf:
      - make it possible to add new sections
      - make it possible to update an empty conf file
      - support new profile key 'exclude_packages'
    * changelog: utilize rpm-ch from git-buildpackage
    * build: add group metadata to local repodata if package-groups.rpm exists
    * fix Pylint warning

- dependencies update:
    * depanneur >= 0.13
    * build >= 20131112
    * git-buildpackage >= 0.6.8-tizen20140521


Release notes for gbs 0.21
==========================

- Release Date: 2014-03

- New feature and enhancements added:
    * GBS jenkins jobs supported. The following two jenkins jobs included:
      - local full build jenkins job for build all packages and create images
      - build specified packages list and create images
    * two sub-packages added for jenkins job, which are gbs-jenkins-jobs for
      jenkins master and gbs-jenkins-scripts for jenkins build nodes
    * [build] support --package-list and --package-from-file to select pacakges
    * [build] enhance exception error message caused by proxy
    * [doc] man page of gbs has been added again.
    * bug fix:
      - fix export failed if packaging dir is symblic
      - fix binfmt handlers register issue if exist one was broken
      - fix upstream/pristine-tar branches in-consistency issue

- dependencies update:
    * depanneur >= 0.12
    * build >= 20131112
    * git-buildpackage >= 0.6.8-tizen20140306

Release notes for gbs 0.20
==========================

- Release Date: 2013-12

- New feature and enhancements added:
  * build:
    - ARM64(aarch64) build support
    - using HTTP no-cache headers to avoid unexpected proxy caching
    - generate html & json format report
    - no default upstream-branch option while calling depanneur
    - depend on initvm static binary to register qemu handler, instead of
      using qemu bash script(/usr/sbin/qemu-binfmt-conf.sh)
    - refine build report summary:
      * add build log dir
      * always print the dirs of final build files
      * add succeeded packages number
  * export
    - update pristine-tar dependency to fix pristine-tar branch broken issue
  * document
    - refine gbs config and FAQ parts of gbs document

- dependencies update:
  * depanneur >= 0.11
  * pristine-tar >= 1.28
  * librpm-tizen >= 4.11.0.1.tizen20130618-tizen20131001
  * git-buildpackage-rpm >= 0.6.3-tizen20131202
  * build >= 20131112
  * initvm >= 20131112


Release notes for gbs 0.19
==========================

- Release Date: 2013-10

- New feature and enhancements added:
  * build:
    - support comments(#) in binary-list file for --binary-from-file option
    - remove previous built rpm and srpm if new version has been built out
  * remotebuild:
    - split out to separate sub-package: gbs-remotebuild
  * import:
    - add --upstream-tag option to set customized tag format
  * export:
    - track upstream/pristine-tar branch automatically, and use upstream
      and pristine-tar branch to generate tar ball.
    - update all spec file if multiple spec files exist, updates
      including insert patches and VCS tag
    - use commit sha1 instead of tag name in spec file VCS tag
  * submit:
    - support '/' in git branch
  * clone:
    - add directory argument to gbs clone
  * conf parser:
    - overwrite different level of gbs.conf instead of clean them all.
    - load project special gbs.conf if gitdir specified

- dependencies update:
  * depanneur >= 0.10
  * pristine-tar >= 1.28
  * librpm-tizen >= 4.11.0.1.tizen20130618-tizen20131001
  * git-buildpackage-rpm >= 0.6.3-tizen20131017

Release notes for gbs 0.18
==========================

- Release Date: 2013-08-27

- New feature added:
  * fedora 19 support
  * offline local full build support for tizen 2.1/2.2/3.0 on tizen.org
  * support CI_CNT and B_CNT OBS build related macros
  * zsh completion support
  * bug fix:
    - fix build conf and profile naming limitation: build conf can't contains
      '-' and profile name can't start with digital, like profile.2.1tizen.


Release notes for gbs 0.17.2
============================

- Release Date: 2013-07-19

- New feature added:
  * ignore submodules during patch generation. Without this fix, patches
    conains submodules info would fail to apply during rpmbuild

Release notes for gbs 0.17.1
============================

- Release Date: 2013-07

- New feature added:
  * Always generate textual diffs to support binary file patch generation

Release notes for gbs 0.17
==========================

- Release Date: 2013-06

- New features added:
  * Totally local full build support
  * New gbs config refinements
    - 'work_dir' support in [general] section
    - 'buildconf' support  in each [profile] section, use buildconf to specify
      local build conf
    - string interpolation: ${key} can be used to reference keys defined in
      [general] section
    - 'packaging_branch' support in [general] section, which can be used to
      specify working or development branch, and the default is 'master'
  * --packaging-branch option added for gbs clone to specify working or devel
    branch
  * Support fetching build conf from standard RPM repodata
  * Create debuginfo and debugsource packages by default
  * Optimization:
    - report package dependency cycles in time
    - load dependency data during refresh repo, instead of during parsing every
      spec file
  * Bug fix:
    - get target arch from build conf if 'Target' is set in build config, which
      make gbs and remote obs generate the same arch for final RPM package
    - exit unexpectedly if cycles exist
    - using higer version in different repo


Release notes for gbs 0.16
==========================

- Release Date: 2013-05

- New features added:
    * new subcommands 'createimage/cr' added, which can be used for developers
      to create image using ks file
    * performance optimization
      - put all build roots in a individual directory, which can be mounted as tmpfs
        to speed up building, based on our experimental build time can save 50%. We
        use 800 Tizen packages as test data, without tmpfs, gbs spent about 5 hours
        to build all packages, but with tmpfs enabled, only 2h, 25mins spent
      - avoid export multiple times for packages contain multiple spec files
      - refine createrepo: add --update for if repodata already exists
      - export: use lower compression level for orig tarballs
    * Add statistical of each errors, including export/expansion/rpmbuild errors
    * bug fix:
      - prereqs involved for dependency resolving
      - fix wrong @deps which contain version info
      - quote metacharacters in pattern to fix strip issue if metacharacters exist

Release notes for gbs 0.15
==========================

- Release Date: 2013-03

- New features added:
    * add --baselibs option to support creating -32bit/-64bit/-x86 rpms for
      other arches
    * optimization for local build, especially for local full build
    * support updating multiple spec files in one package in export module
    * Add --baselibs option to support creating -32bit/-64bit/-x86 rpms for other arches
    * Add more osc api added: linked projects support, project deletion
    * bug fix:
      - consistency issue about package cache and sources
      - spec parser issue on ubuntu system
      - fix arm build segmentation fault issue on CentOS 6.3(32bit)

- Dependency upgrade:
    * Upgrade qemu to latest 1.4.0 version
    * Upgrade osc to 0.139
    * Upgrade obs-build to 2013.03.11
    * Upgrade crypt-ssleay to 0.64


Release notes for gbs 0.14
==========================

- Release Date: 2013-02

- New features added:
    * Add --binary-from-file option to specify a package list file
    * Change --binary-list option, accept a packages list separated by comma(,).
    * Add --deps to build specified packages and all packages they depend
    * Add --rdeps to build specified packages and all packages depend on them
    * bug fix:
      - gbs remotebuild does not work with linked package(not branch package)

- New distributions support:
    * CentOS 6.3
    * Fedora 18


Release notes for gbs 0.13
==========================

- Release Date: 2013-01-30

- new features added:
    - add --tag option for submit module to support group submission
    - tab completion support
    - no password needed during gbs build
    - enhance gbs build module to avoid removing source code unexpectedly
    - five new import options support:
      * --filters: files to filter out during import
      * --allow-same-version: allow to import already imported version
      * --native: A dist native package, no separate upstream
      * --upstream-vcs-tag: upstream VCS tag add to the merge commit
    - --no-patch-export support for export/remotebuild/build modules
    - Re-orgnize and group gbs help information
    - supported arches clean up
    - new subcommands 'clone/pull' added, which can be used for developers
      to clone Tizen source code, and upstream/pristine-tar branches can be
      tracked automatically
    - use Tizen rpm, instead of host rpm, to parse spec file

- bug fixes:
    - traceback occurs if specified outdir has no write permission
    - fix misleading error handling while no spec file found
    - break link structure if package is a link in OBS
    - crash if specify a non-exist specfile with --spec option
    - generate i386/i686 RPM instead of i586 on some system
    - build root can't be shared by different developer caused by different
      GID/UID

- Dependencies
  - git-core
  - python >= 2.7
  - depanneur >= 0.4
  - osc >= 0.136.0
  - pristine-tar
  - git-buildpackage

Release notes for gbs 0.12
==========================

- Release Date: 2012-12-13

- 11 new features added:
  1. --noinit support, just like offline mode of `osc build`
  2. support building RPM package for incremental build
  3. no need generate/unpack tarball for incremental build
  4. support patch generation and upstream tarball create from upstream/pristine-tar branches.
  5. x86_64 and armv6l support
  6. add --keep-packs to keep unused packages in build root while building new packages.
  7. show progress information when running remote build
  8. support define macros from command line using --define option for rpmbuild
  9. launch editor for 'gbs submit' if no -m specified, and you can input multiple lines of message.
  10.enable importing patches while importing packages
  11.show build progress for multiple packages build

- 6 bug fixes included:
  1. [remotebuiold] OBS empty response traceback for remotebuild
  2. [remotebuiold] remove hardcode of default base project (-B), but you can still set default in gbs.conf
  3. warning user and try again if umount failed for incremental build
  4. request passwd again if one package build for a long time(>10 mins) on openSUSE
  5. lock shared vars operations to avoid race condition
  6. gbs remotebuild failed for link project if working package only exists in linked project.

- 5 other changes:
  1. add --merge option to replace --no-merge for gbs import, and not-merging is the default behavior
  2. modify changelog order to follow default order of git log
  3. show correct RPM/SRPM output directory for gbs build
  4. give warning if build arch not compatible
  5. add reST format document: docs/GBS.rst, which can be converted to html, man, and pdf formats.

- Dependencies
  - git-core
  - python >= 2.7
  - depanneur >= 0.3
  - osc >= 0.136.0
  - pristine-tar
  - git-buildpackage

Release notes for gbs 0.11
==========================

- Release Date: 2012-11-07

- Four enhancements to the existing features:
  1. add '-spec' option in 'gbs build' to support building package which
     contains multiple spec files.
  2. add '--profile/-P' option in 'gbs build' to support building packages by using specified
    profile which defined in .gbs.conf
  3. support configuring local buildroot directory in config file. The 'buildroot' can
    be set under the 'general' section as a global setting.
  4. better error report for 'gbs build', including gbs export
    error, expansion error and rpmbuild error, etc.

- 33 bug fixes included:
  1. plaintext passwd printed for some error cases
  2. gbs archive tar ball issue if using user defined macro in spec file
  3. request passwd again if one package build for a long time(>15 mins)
  4. sudo timeout issue, which will result in endless loop
  5. return 0 from depanneur even if error occurs
  6. unify display color of debug message in gbs and depanneur
  7. endless loop if package circle dependency exists
  8. gbs build error if '~' exist in build root path
  9. passwd conflict issue with multiple instance of 'gbs build'
  10. remotebuild can't run in sub-directory issue
  11. gbs build error with https_proxy trailing '/'
  12. gbs submit gives no error if there is no comment
  13. describe missing dependencies for gbs build
  14. support create project outside home:<user> if user have permission
  15. server's certificate traceback issue for gbs remotebuild
  16. traceback for remotebuild if OBS server return None
  17. redundant error message of connection time out when no proxy
  18. gbp will skip packaging when spec orig file format is not supported
  19. gbs config override password error
  20. gbs build --incremental doesn't support one package in a dir
  21. GBS localbuild doesn't show debug info from the 'gbs export' command
  22. [depanneur] gbs build --buildroot=~/buildroot can't expand character like ~
  23. project name is not checked to be legal or not any more
  24. remotebuild can't run in sub-directory
  25. gbs duplicates qemu handling and emulation setup environment
  26. gbs export:: misleading output message
  27. package file export by gbs to wrong path
  28. [gbp] gbp need increase / update its version for new gbs
  29. Wrong default conf info for 'repo.*' in the .gbs.conf, should point to release repo
  30. "_" is valid in package names, gbs import does not think so!
  31. Typo in help message
  32. getlogin fail issue on some system while running gbs build
  33. --extra-packs option doesn't work with --ccache option

- Dependencies
  - git-core
  - python >= 2.7
  - depanneur >= 0.2
  - osc >= 0.136.0
  - pristine-tar
  - git-buildpackage
