2014-01-06 1 views
1

Я только что установил cygwin в первый раз сегодня, так что я очень новый. Во время установки я включил rpm и rpmbuild, так как мне это нужно, чтобы запустить скрипт ant.Проблемы с rpm и rpmbuild в cygwin

Однако, когда я пытаюсь запустить либо программу из командной строки, я не получаю никакого ответа, независимо от того, что вход Даю:

$ rpm -qa 
$ 
$ rpmbuild 
$ 

Когда я пытаюсь запустить муравей с файлом build.xml вызова оборотов в минуту, я получаю что-то вроде этого:

$ ant rpm 
Buildfile: [mypath]/build.xml 

rpm-prep: 
... 
[standard prep output] 
... 
rpm: 
    [copy] Copying 4116 files to [mypath]\.rpm\SOURCES\DataTransformation_UI-1.4.0 
    [copy] Copied 274 empty directories to 16 empty directories under [mypath]\.rpm\SOURCES\DataTransformation_UI-1.4.0 
     [tar] Building tar: [mypath]\.rpm\SOURCES\DataTransformation_UI-1.4.0.tar.gz 
    [copy] Copying 1 file to [mypath]\.rpm\SPECS 
     [rpm] Building the RPM based on the DataTransformation_UI.spec file 
    [rpm] '[cygwinpath]\cygwin\bin\rpmbuild.exe' failed with exit code -1073741819 

BUILD SUCCESSFUL 
Total time: 1 minute 30 seconds 

Здесь [mypath] является локальный путь, где находится мой файл build.xml, и [cygwinpath], где я установил Cygwin.

Если вам интересно, вот файл build.xml. Выглядит довольно стандартно для меня, хотя я тоже ничего не использую:

<project name="DataTransformation_UI" basedir="." default="main"> 
     <property file="${basedir}/build.properties" /> 

    <property name="VERSION"  value="3.0.0"/> 
    <!-- ============================ RPM Prep Target ======================== --> 
    <target name="rpm-prep" description="Set up the local RPM TopDir build environment"> 
    <delete includeEmptyDirs="true" failonerror="false"> 
     <fileset dir="${rpm.TopDir}/"/> 
    </delete> 
    <mkdir dir="${rpm.TopDir}/"/> 
    <mkdir dir="${rpm.TopDir}/BUILD"/> 
    <mkdir dir="${rpm.TopDir}/RPMS"/> 
    <mkdir dir="${rpm.TopDir}/SOURCES"/> 
    <mkdir dir="${rpm.TopDir}/SPECS"/> 
    <mkdir dir="${rpm.TopDir}/SRPMS"/> 
    </target> 

    <!-- ========================= RPM Build Target ======================== --> 
    <target name="rpm" depends="rpm-prep" description="Creates Tarball and Builds rpm."> 
    <copy todir="${rpm.TopDir}/SOURCES/${rpm.Name}-${rpm.Version}"> 
     <fileset dir="./" casesensitive="no"> 
     <include name="*.*"/> 
     <include name="**/*"/> 
     </fileset> 
    </copy> 
    <tar destfile="${rpm.TopDir}/SOURCES/${rpm.Name}-${rpm.Version}.tar.gz" 
            longfile="gnu" compression="gzip"> 
      <tarfileset dir="${rpm.TopDir}/SOURCES/${rpm.Name}-${rpm.Version}" prefix="${rpm.Name}-${rpm.Version}"> 
     <include name="**/**"/> 
     <include name="*.*"/> 
     </tarfileset> 
    </tar> 
    <delete includeEmptyDirs="true" failonerror="false"> 
     <fileset dir="${rpm.TopDir}/SOURCES/${rpm.Name}-${rpm.Version}"/> 
    </delete> 
    <copy file="${basedir}/${rpm.Name}.spec" todir="${rpm.TopDir}/SPECS" /> 
    <rpm specFile="${rpm.Name}.spec" topDir="${rpm.TopDir}" command="-ba --define 'rpmversion ${rpm.Version}' --define 'rpmrelease ${rpm.Release}${rpm.AutoRelease}' 
     --define 'webwarname ${rpm.Web.Warname}' --define 'rpmname ${rpm.Name}'"/> 
    </target> 
</project> 

Любые идеи о том, что мне может не хватать?

ответ

0

Это не проблема ANT, задача rpm просто вызывает базовую команду rpmbuild для ОС.

Это похоже на внутреннюю ошибку, сгенерированную командой rpmbuild. Googling нашел следующую ссылку, в которой есть комментарий, сообщающий об этой же проблеме.

http://crlog.info/2012/09/11/building-rpms-on-windows/

+0

Похоже, что это будет работать, если бы я пытался использовать rpmbuild через Maven. Но если вы посмотрите на выход ant, муравей, кажется, напрямую ссылается на rpmbuild.exe, а не rpmbuild или rpmbuild.bat. Похоже, что это работает с Maven, потому что Maven просто вызывает rpmbuild, хотя я не могу быть уверен в этом. – jchess