.war files packaged as RPM for JBOSS/Tomcat - best practices?
Hi,
I'm planing to package WAR files as RPMs. Current deployment process just doesn't work for us and my idea of fixing it would be to create a new Custom Channel in RHN Satellite and publish my WAR files through that Channel. Currently (as we are trying to win some time) I'm managing some config files through Satellite so configs are not a big problem. We don't keep them in WAR for many reasons but that's different story.
Anyway, has anyone packaged WAR as RPMs? Do you do hot deployment or do you force JBOSS/Tomcat to restart? Is that After RPM installation or as a part of it? What's your SPEC file looks like? Can I please see it as an example? Do you check in your SPEC for JBOSS/Java/Oracle client or just install WAR? Any stories to tell? Any major problems?
Should I consider something else?
I can build RPMs no problem but I'd like to hear what's the best way of doing this with WAR files and JBOSS (some Tomcats are still runnig here but they will be phased out soon-ish so I'm not too worried about them).
unzip -v gives CRC info of each file in a zip(in my case .EAR) file.
# unzip -v my-application.ear
Archive: my-application.ear
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
197981 Defl:N 183708 7%... (1 Reply)
dears
i am trying to install the autoconf-2.63-1.aix6.1.noarch.rpm but its shows the below error message .
P700_dev/svn/dependencies>rpm -i autoconf-2.63-1.aix6.1.noarch.rpm
error: failed dependencies:
m4 is needed by autoconf-2.63-1
P700_dev/svn/dependencies> (6 Replies)
Hi,
We have upgrade tomcat from 5.0.20 to 7.0.33 and made changes to server.xml file according to newer version.. how ever the upgrade went fine and now i am unable to deploy application remotely.. it is giving 403 access denied error.. we have seperate appbase directory mentioned in server.xml..... (0 Replies)
How to make RPM not write to RPM database if RPM fails to deploy?
IE I create an rpm spec file that contains the following
if
then
exit 1
fi
My rpm will fail at deployment, but if I do rpm -qa , I can see the rpm in the rpm db (3 Replies)
I was experimenting with ZoneMinder CCTV software on Suse 10.0. After some major configuartion problems, all caused by me I eventually decided on a complete clean re-install of Suse 10.
I downloaded the new opensuse 10.1 DVD with includes all 5 of the OpenSuse10.1 CDs and the Additional Addon... (2 Replies)
build(1) General Commands Manual build(1)NAME
build - build SuSE Linux RPMs in a chroot environment
SYNOPSIS
build [--clean|--no-init] [--rpms path1:path2:...] [--arch arch1:arch2:...] [--root buildroot] [specfile|srcrpm]
build --help
build --verify
DESCRIPTION
build is a tool to build SuSE Linux RPMs in a safe and clean way. build will install a minimal SuSE Linux as build system into some direc-
tory and will chroot to this system to compile the package. This way you don't risk to corrupt your working system (due to a broken spec
file for example), even if the package does not use BuildRoot.
build searches the spec file for a BuildRequires: line; if such a line is found, all the specified rpms are installed. Otherwise a selec-
tion of default packages are used. Note that build doesn't automatically resolve missing dependencies, so the specified rpms have to be
sufficient for the build.
If a spec file is specified on the command line, build will use this file and all other files in the directory for building the package. If
a srcrpm is specified, build automatically unpacks it for the build. If neither is given, build will use all the specfiles in the current
directory.
OPTIONS --clean
remove the build system and reinitialize it from scratch.
--no-init
skip the build system initialization and start with build immediately.
--list-state
list rpms that would be used to create a fresh build root. Does not create the build root or perform a build.
--rpms path1:path2:path3...
Where build can find the SuSE Linux RPMs needed to create the build system. This option overrides the BUILD_RPMS environment vari-
able.
--arch arch1:arch2:arch3...
What architectures to select from the RPMs. build automatically sets this to a sensible value for your host if you don't specify
this option.
--root buildroot
Specifies where the build system is set up. Overrides the BUILD_ROOT enviroment variable.
--useusedforbuild
Tell build not to do dependency expansion, but to extract the list of packages to install from "# usedforbuild" lines or, if none
are found, from all "BuildRequires" lines. This option is useful if you want to re-build a package from a srcrpm with exactly the
same packages used for the srcrpm build.
--norootforbuild
--help Print a short help text.
--verify
verify the files in an existing build system.
.spec FILE OPTIONS
The build command interprets some special control comments in the specfile:
# norootforbuild
# needsrootforbuild
build uses either user root or user abuild in the build system to do the build. For non-SUSE distros as well as since SUSE 10.2,
the default build user is abuild. For 10.2 and before, the default build user is root. These two flags in the spec file allow to
deviate from the defaults and force-set the build user to abuild and root (for # norootforbuild and # needsrootforbuild respec-
tively.
# needsbinariesforbuild
provide the binary rpms that have been used to set up the build root in /.build.binaries within the build root.
ENVIRONMENT
BUILD_ROOT
The directory where build should install the chrooted build system. "/var/tmp/build-root" is used by default.
BUILD_RPMS
Where build can find the SuSE Linux RPMs. build needs them to create the build system. "/media/dvd/suse" is the default value
which will do the trick if you have the SuSE Linux DVD mounted.
BUILD_RPM_BUILD_STAGE
The rpm build stage (-ba, -bb, ...). This is just passed through to rpm, check the rpm manpage for a complete list and descrip-
tions. "-ba" is the default. You can use this to add more options to RPM.
SEE ALSO rpm(1),
Maximum RPM:
http://www.rpm.org/max-rpm/
cross distribution packaging:
http://en.opensuse.org/Build_Service/cross_distribution_package_how_to
SUSE packaging standards and guidelines:
http://en.opensuse.org/Packaging
(c) 1997-2008 SuSE Linux AG Nuernberg, Germany build(1)