Meego Wiki
Views

Build Infrastructure/Packagers Developers/CLI Part 4

From MeeGo wiki
< Build Infrastructure | Packagers Developers
Revision as of 05:59, 19 November 2010 by Vivian (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Structure and Governance

localcheckbuild tool is one osc plugin which is used to list the dependant package list and local-build them with the new update packages to ensure the update works fine.All the build work will implement in your local machine, it doesn’t create any linking/copying on Server side.
The workflow of this plugin is:

  • Check packages in repos of Trunk:Testing, Trunk:Netbook, Trunk:Handset, Trunk:IVI to get the package list which depends on the one you want to check(reuse “osc resolvedeps” plugin);
  • Download new RPMs of your updated package and check out the sources of packages in dependant list;
  • Runn “osc build –prefer-pkgs=xxx” to build the package and check the result in the list one by one. --prefer-pkgs option ensures it uses the new updated RPMs when installing the build-root.


1. Installation:

  • Ensure the osc local build tool works in the silent mode, please add below lines to your /etc/sudoers:
  Defaults    env_keep += "http_proxy no_proxy HTTP_PROXY NO_PROXY"
  $YOUR_USERNAME         ALL=(ALL)       NOPASSWD: /usr/bin/build

2. Usage:

  osc localcheckbuild [-r] [-y] [--repourl=TEXT] [--excludepkgs=TEXT] [--buildpkgs=TEXT] PRJECTNAME PACKAGENAME REPOSITORY ARCH
The arguments REPOSITORY and ARCH are the first two columns in the 'osc repos' output.
Examples:
      osc localcheckbuild devel:qt-mtf qt testing i586
Options:
    -h, --help         show this help message and exit
    --repourl=TEXT     Repository of the new package, default is the OBS download repository
    --buildpkgs=TEXT   The package list that will be built, the tool will skip checking dependencies and build the packages in
                       this list directly, example: --buildpkgs="at-spi gtk2"
    --excludepkgs=TEXT
                       The package list that will not be built, example: --excludepkgs="bash gcc"
    -c, --continuebuild
                       Continue the build check, it will skip the packages that have been built
    -y, --yes          Answer yes for all questions
    -r, --recursive    Check recursively if all the packages which depends on me can be built successfully
#osc localcheckbuild devel:qt-mtf qt testing i586
......
There are 79 packages in the dependant list.
Packages in the to-be-built list : 43
 * Trunk:Netbook : 4
   garage-netbook-ui  marble  stellarium  vym
 * Trunk:Handset : 20
   libofono-qt  libseaside  meego-handset-calendar  meego-handset-chat  meego-handset-dialer  meego-handset-email  meego-handset-mannequin  meego-handset-music  meego-handset-people  meego-handset-photos  meego-handset-sms  meego-handset-socialweb  meego-handset-statusindicators  meego-handset-video  meegotouch-inputmethodbridges  meegotouchcp-bluetooth  meegotouchcp-chat  meegotouchcp-connman  meegotouchcp-socialweb  meegotouchcp-telephony
 * Trunk:Testing : 17
   PackageKit  buteo-mtp  buteo-sync-plugins  buteo-syncfw  buteo-syncml  clutter-qt  cmake-gui  garage-client-services  libiodata  meego-lsb  min  phonesim  poppler  sensorfw  syncevolution  timed  libqmlog
 * Trunk:IVI : 2
   ividesktop  ivihome
Packages in the skip list : 36
 * 36 packages have been in the project devel:qt-mtf, please check the build result on OBS directly.
   automoc4  contactsd  contextkit  contextkit-maemo  libaccounts-qt  libcontentaction  qt-mobility  libmeegochat  libmeegotouch  qmf  phonon  libqttracker  qtwebkit  libsignon  libsocialweb-qt  marmazon  meegotouch-applauncherd  meegotouch-applifed  meegotouch-compositor  meegotouch-controlpanel  meegotouch-feedback  meegotouch-feedbackreactionmaps  meegotouch-home  meegotouch-inputmethodengine  meegotouch-inputmethodframework  meegotouch-inputmethodkeyboard  meegotouch-systemui  qca2  qjson  qt-creator  qt-obex-ftp-library  qt-web-runtime  qtcontacts-tracker  telepathy-qt4  kcalcore  mkcal
Total: 79, To be built: 43, Skip: 36.
......
Log file: /var/tmp/buildcheck-qt-i586/buildcheck-qt.log.
  Total: 43, success: 41, fail: 2
  Failure list: 
    Trunk:Netbook/vym : Build failed.
    Trunk:Handset/meegotouchcp-connman : Build failed.
  *Please check logfile in /var/tmp/buildcheck-qt-i586/LOG for more details.

Be noted that it may take a few hours to implement the build work which depends on the length of the dependant package list and the speed of your network.

And if you want to rebuild the failed packages, you can use --buildpkgs option to check&build one package.

#osc localcheckbuild devel:qt-mtf qt testing i586 --buildpkgs="meegotouchcp-connman"
Personal tools