[
http://jira.codehaus.org/browse/MRPM-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=247828#action_247828
]
Andreas Bergander edited comment on MRPM-4 at 12/15/10 4:38 AM:
----------------------------------------------------------------
I created a batch-file which replaces all paths in the spec-file and arguments
to rpmbuild to cygwin paths and then executes rpmbuild in a cygwin environment.
To try it, install cygwin and include rpm, rpmbuild, libintl2 and sed. Add your
cygwin\bin folder to PATH. Then place the following script somewhere in your
PATH (E.g. c:\windows\) and name it rpmbuild.bat so the rpm-plugin finds it.
{panel:title=rpmbuild.bat|borderStyle=solid}
SETLOCAL
PUSHD .
REM Update buildroot path
FOR /F "tokens=*" %%i in ('cygpath %3') do SET NEW_BUILDROOT=%%i
REM Update topdir path
SET TOPDIR=%5
SET TOPDIR=%TOPDIR:~9,-1%
FOR /F "tokens=*" %%i in ('cygpath "%TOPDIR%"') do SET NEW_TOPDIR=%%i
REM Replace path in spec-file
SET OLD_PATH=%TOPDIR:\=\\%
SET NEW_PATH=%NEW_TOPDIR:/=\/%
sed -s -i -e s/%OLD_PATH%\\/%NEW_PATH%\//g %8
REM Execute rpmbuild
bash -c "rpmbuild %1 %2 %NEW_BUILDROOT% %4 ""_topdir %NEW_TOPDIR%"" %6 "%7" %8"
POPD
ENDLOCAL
{panel}
This was tested using rpm-maven-plugin 2.1-alpha-1. Hope it works for you too!
was (Author: bergander):
I created a batch-file which replaces all paths in the spec-file and
arguments to rpmbuild to cygwin paths and then executes rpmbuild in a cygwin
environment. To try it, install cygwin and include rpm, rpmbuild, libintl2 and
sed. Add your cygwin\bin folder to PATH. Then place the following script
somewhere in your PATH (E.g. c:\windows\) and name it rpmbuild.bat.
{panel:title=rpmbuild.bat|borderStyle=solid}
SETLOCAL
PUSHD .
REM Update buildroot path
FOR /F "tokens=*" %%i in ('cygpath %3') do SET NEW_BUILDROOT=%%i
REM Update topdir path
SET TOPDIR=%5
SET TOPDIR=%TOPDIR:~9,-1%
FOR /F "tokens=*" %%i in ('cygpath "%TOPDIR%"') do SET NEW_TOPDIR=%%i
REM Replace path in spec-file
SET OLD_PATH=%TOPDIR:\=\\%
SET NEW_PATH=%NEW_TOPDIR:/=\/%
sed -s -i -e s/%OLD_PATH%\\/%NEW_PATH%\//g %8
REM Execute rpmbuild
bash -c "rpmbuild %1 %2 %NEW_BUILDROOT% %4 ""_topdir %NEW_TOPDIR%"" %6 "%7" %8"
POPD
ENDLOCAL
{panel}
This was tested using rpm-maven-plugin 2.1-alpha-1. Hope it works for you too!
> rpm-maven-plugin should work under windows / cygwin
> ---------------------------------------------------
>
> Key: MRPM-4
> URL: http://jira.codehaus.org/browse/MRPM-4
> Project: Mojo RPM Plugin
> Issue Type: Bug
> Components: rpm
> Environment: windows xp / cygwin
> Reporter: Jan Rudert
>
> Hi there,
> I encountered the following problem while trying to build an rpm under cygwin
> environment using the 2.0-beta-1 rpm-maven-plugin.
> [WARNING] Der Befehl "rpmbuild" ist entweder falsch geschrieben oder
> [WARNING] konnte nicht gefunden werden.
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] RPM build execution returned: '1'.
> [INFO]
> ------------------------------------------------------------------------
> This means that the rpmbuild executable was not found. I installed the cygwin
> rpm packages. Directly calling "rpmbuild" from cygwin commandline works, but
> the rpm plugin seems to use the windows command shells, which unfortunately
> does not manage to resolve the file link:
> lrwxrwxrwx 1 rudi Benutzer 15 Feb 25 17:48 rpmbuild ->
> ../lib/rpm/rpmb
> So i took the rpmb, put it to the cygwin/bin directory and renamed it to
> rpmbuild, which is dirty. But then the plugin goes on.
> But then the plugin does not resolve the directories within the mappings
> correctly:
> [INFO] Building target platforms: noarch
> [INFO] Building for target noarch
> [INFO] Processing files: $rpm-name
> [WARNING] error: File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft_firstlife/etc
> [WARNING] error: File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft_firstlife/contrib
> [WARNING] [INFO]
> [INFO]
> [INFO] RPM build errors:
> error: File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft_firstlife/sbin
> [WARNING] error: File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/htdocs
> [WARNING] error: File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/htdocs.apache
> [WARNING] File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/etc
> [WARNING] File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/contrib
> [WARNING] File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/sbin
> [WARNING] File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/htdocs
> [WARNING] File not found:
> /C:\tmp\place-deploy\deploy\rpm\buildroot/websoft/htdocs.apache
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] RPM build execution returned: '1'.
> one of the mappings looks like this:
> <mapping>
> <directory>websoft/contrib</directory>
> <filemode>764</filemode>
> <username>${user}</username>
> <groupname>${group}</groupname>
> <configuration>true</configuration>
> <sources>
> <source>
> <location>work/contrib</location>
> </source>
> </sources>
> </mapping>
> So we have two issues which block me building rpm's on windows/cygwin. Plz
> help.
> Thank you
> Jan Rudert
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email