Упаковка круизконтроля на Debian - PullRequest
1 голос
/ 04 февраля 2010

Быть быстро

сегодня мы можем найти пакет debian cruisecontrol, выпущенный 2.3.1 (с 2005 года)

Для личного проекта с открытым исходным кодом, основанного на phpUnderControl, мне нужно обновить этот пакет до последней версии (2.8.3 от января 2010 г.)

У меня есть все шаги из официальной документации по Ubuntu по упаковке программного обеспечения с помощью pbuilder

последняя использованная команда:

sudo pbuilder build *.dsc

поэтому у меня ошибка при модульном тестировании пакета (junit) в свежей среде chrooted

если я вызываю ant в исходной папке, это нормально, но когда я пытаюсь с помощью pbuilder создать пакет, у меня появляется эта ошибка:

здесь след:

root@sqli-vm:~/PIC/CC/test# sudo pbuilder build *.dsc
W: /home/sqli/.pbuilderrc does not exist
I: using fakeroot in build.
Current time: Wed Feb  3 11:13:39 CET 2010
pbuilder-time-stamp: 1265192019
Building the build Environment
 -> extracting base tarball [/var/cache/pbuilder/base.tgz]
 -> creating local configuration
 -> copying local configuration
 -> mounting /proc filesystem
 -> mounting /dev/pts filesystem
 -> policy-rc.d already exists
Obtaining the cached apt archive contents
Installing the build-deps
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: i386
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder and should
Depends: ant, debhelper (>= 5)
dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Reading package lists... Done
Building dependency tree
Reading state information... Done
aptitude is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Selecting previously deselected package pbuilder-satisfydepends-dummy.
(Reading database ... 18446 files and directories currently installed.)
Unpacking pbuilder-satisfydepends-dummy (from .../pbuilder-satisfydepends-dummy.deb) ...
Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Building tag database... Done
 -> Finished parsing the build-deps
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  fakeroot
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/114kB of archives.
After this operation, 451kB of additional disk space will be used.
Selecting previously deselected package fakeroot.
(Reading database ... 18446 files and directories currently installed.)
Unpacking fakeroot (from .../fakeroot_1.9ubuntu1_i386.deb) ...
Setting up fakeroot (1.9ubuntu1) ...

Copying back the cached apt archive contents
Copying source file
    -> copying [cruisecontrol_2.8.3-1.dsc]
    -> copying [./cruisecontrol_2.8.3.orig.tar.gz]
    -> copying [./cruisecontrol_2.8.3-1.diff.gz]
Extracting source
dpkg-source: warning: extracting unsigned source package (./cruisecontrol_2.8.3-1.dsc)
dpkg-source: extracting cruisecontrol in cruisecontrol-2.8.3
dpkg-source: unpacking cruisecontrol_2.8.3.orig.tar.gz
dpkg-source: applying ./cruisecontrol_2.8.3-1.diff.gz
 -> Building the package
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set LDFLAGS to default value: -Wl,-Bsymbolic-functions
dpkg-buildpackage: source package cruisecontrol
dpkg-buildpackage: source version 2.8.3-1
dpkg-buildpackage: source changed by SQLI <alexis.gruet@kroknet.com>
dpkg-buildpackage: host architecture i386
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
(cd main; ant clean)
Buildfile: build.xml

clean:

clean:

BUILD SUCCESSFUL
Total time: 2 seconds
dh_clean
 dpkg-source -b cruisecontrol-2.8.3
dpkg-source: building cruisecontrol using existing cruisecontrol_2.8.3.orig.tar.gz
dpkg-source: building cruisecontrol in cruisecontrol_2.8.3-1.diff.gz
dpkg-source: warning: file main/loggers/build.xml has no final newline (either original or modified version)
dpkg-source: building cruisecontrol in cruisecontrol_2.8.3-1.dsc
 debian/rules build
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
dh_testdir
#/usr/bin/make -s -f debian/Makefile prefix=`pwd`/debian/tmp lib
(cd main; ant)
Buildfile: build.xml

clean:

clean:

checklabel:
     [echo] Java: 1.5.0 (GNU libgcj)
     [echo]    in /usr/lib/jvm/java-1.5.0-gcj-4.2-1.5.0.0/jre
     [echo] Ant: Apache Ant version 1.7.0 compiled on August 29 2007
     [echo]    in /usr/share/ant
     [echo] CruiseControl: 2.8.3

init:
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/target/classes
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/target/test-classes
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/target/tmp
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/dist
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/target/test-results
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/target/emma-results

logger.jar:

clean:

compile:
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/classes
    [javac] Compiling 4 source files to /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/classes
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-classes
    [javac] Compiling 1 source file to /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-classes

[b]test:
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-results
    [junit] Running net.sourceforge.cruisecontrol.builders.AntOutputLoggerTest
    [junit] Testsuite: net.sourceforge.cruisecontrol.builders.AntOutputLoggerTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.459 sec
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.459 sec
    [junit]
    [mkdir] Created dir: /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-report
[junitreport] Processing /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-report/TESTS-TestSuites.xml to /tmp/null650765339
[junitreport] Loading stylesheet jar:file:/usr/share/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
[junitreport] Failed to process /tmp/buildd/cruisecontrol-2.8.3/main/loggers/target/test-report/TESTS-TestSuites.xml[/b]

BUILD FAILED
/tmp/buildd/cruisecontrol-2.8.3/main/build.xml:326: The following error occurred while executing this line:
/tmp/buildd/cruisecontrol-2.8.3/main/loggers/build.xml:45: Errors while applying transformations: javax.xml.transform.TransformerConfigurationException: SAX parser error: reference to entity in undeclared doctype

Total time: 9 seconds
make: *** [build-stamp] Error 1
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
pbuilder: Failed autobuilding of package
 -> Aborting with an error
 -> unmounting dev/pts filesystem
 -> unmounting proc filesystem
 -> cleaning the build env
    -> removing directory /var/cache/pbuilder/build//9119 and its subdirectories

Есть идеи?

Приветствия

1 Ответ

2 голосов
/ 05 февраля 2010

Хорошо, наконец, я решил свою проблему ...

Проблема возникает из-за выпущенного jvm в chrooted окружении pbuild и некоторых отсутствующих java-библиотеках.

Мне пришлось изменить некоторые параметры в файле pbuilderrc и скомпилировать файл base.tgz с помощью необязательного пакета ant + sun-java-6 jdk deb.

Наконец, мне пришлось пересобрать make-файл (debian / rules), и причина создания Java-кода cruisecontrol будет скомпилирована.

Итак, я выпустил 2.8.3 версию cruisecontrol с пакетом deb. работает только на x86arch на данный момент.

...