Я только что установил 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>
Любые идеи о том, что мне может не хватать?
Похоже, что это будет работать, если бы я пытался использовать rpmbuild через Maven. Но если вы посмотрите на выход ant, муравей, кажется, напрямую ссылается на rpmbuild.exe, а не rpmbuild или rpmbuild.bat. Похоже, что это работает с Maven, потому что Maven просто вызывает rpmbuild, хотя я не могу быть уверен в этом. – jchess