LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 09-11-2011, 07:35 PM   #1
AbsoluteMonkey
Member
 
Registered: Mar 2004
Location: Boston
Distribution: Fedora Core 10
Posts: 58

Rep: Reputation: 15
rpmbuild wipes directory prior to building


I'm trying to build Zimbra using the perforce sourcecode. After much hassle with other issues, I get down to this last issue and it's making me crazy.
Throughout the make process, ZimbraBuild/corebuild/opt/zimbra is populated with various stuff. Then the rpmbuild command is issued and it all disappears and rpmbuild whines it cannot find any of the files.

[root@travispoole ZimbraBuild]# ls -l corebuild/opt/zimbra
total 28
drwxr-xr-x 2 root root 4096 Sep 11 20:33 bin
drwxr-xr-x 2 root root 4096 Sep 11 20:22 contrib
drwxr-xr-x 2 root root 4096 Sep 11 20:22 db
drwxr-xr-x 4 root root 4096 Sep 11 20:22 lib
drwxr-xr-x 4 root root 4096 Sep 11 20:22 libexec
drwxr-xr-x 3 root root 4096 Sep 11 20:22 mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
drwxr-xr-x 3 root root 4096 Sep 11 20:22 zimbramon
[root@travispoole ZimbraBuild]# rpmbuild --target i386 --quiet --define '_rpmdir /home/public/p4/HELIX-710/ZimbraBuild' --buildroot=/home/public/p4/HELIX-710/ZimbraBuild/corebuild -bb /home/public/p4/HELIX-710/ZimbraBuild/zimbra-core.spec
Building target platforms: i386
Building for target i386
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.bashrc
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.bash_profile
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.exrc
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.viminfo
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.ldaprc
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.platform
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/bin
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/docs
error: File not found by glob: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/docs/*
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/contrib
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/libexec
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/logger
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/conf
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/db
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/jdk1.6.0_24
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/lib
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/zimbramon
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/bdb-4.7.25.4
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/openssl-1.0.0d
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/heimdal-1.3.3
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/curl-7.21.4
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/cyrus-sasl-2.1.23.3z
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/openldap-2.4.23.6z
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/tcmalloc-1.7
error: File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/rlfe-0.4
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.bashrc
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.bash_profile
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.exrc
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.viminfo
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.ldaprc
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/.platform
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/bin
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/docs
File not found by glob: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/docs/*
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/contrib
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/libexec
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/logger
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/conf
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/db
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/jdk1.6.0_24
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/lib
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/zimbramon
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/bdb-4.7.25.4
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/openssl-1.0.0d
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/heimdal-1.3.3
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/curl-7.21.4
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/cyrus-sasl-2.1.23.3z
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/openldap-2.4.23.6z
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/tcmalloc-1.7
File not found: /home/public/p4/HELIX-710/ZimbraBuild/corebuild/opt/zimbra/rlfe-0.4
[root@travispoole ZimbraBuild]# ls -l corebuild/opt/zimbra
ls: cannot access corebuild/opt/zimbra: No such file or directory
[root@travispoole ZimbraBuild]#
 
Old 09-11-2011, 08:23 PM   #2
andrewthomas
Senior Member
 
Registered: May 2010
Location: Chicago Metro
Distribution: Arch, Gentoo, Slackware
Posts: 1,690

Rep: Reputation: 312Reputation: 312Reputation: 312Reputation: 312
I am under the impression that one should build packages as a user after setting up an RPM package building environment in your home directory with:

Code:
rpmdev-setuptree
 
Old 09-11-2011, 08:25 PM   #3
kbp
Senior Member
 
Registered: Aug 2009
Posts: 3,790

Rep: Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653
You seem to have overridden the rpm buildroot and told it to use /home/public/p4/HELIX-710/ZimbraBuild/corebuild, the buildroot is a *temporary* location that gets cleaned prior to usage. I'd suggest that the spec file probably has a sensible default and you shouldn't have overridden it - try removing that argument from your command.
 
Old 09-11-2011, 08:31 PM   #4
AbsoluteMonkey
Member
 
Registered: Mar 2004
Location: Boston
Distribution: Fedora Core 10
Posts: 58

Original Poster
Rep: Reputation: 15
I removed the --quiet so I could see more what was going on, and based on your suggestion I removed the buildroot override.
Here is what I get.

[root@travispoole ZimbraBuild]# rpmbuild --target i386 --define '_rpmdir /home/public/p4/HELIX-710/ZimbraBuild' -bb /home/public/p4/HELIX-710/ZimbraBuild/zimbra-core.spec
Building target platforms: i386
Building for target i386
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tpO8iB
+ umask 022
+ cd /root/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.9TGpNT
+ umask 022
+ cd /root/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.KAMalc
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386 '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386
++ dirname /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386
+ mkdir -p /root/rpmbuild/BUILDROOT
+ mkdir /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/lib/rpm/brp-compress /usr/lib/rpm/brp-strip-comment-note
Processing files: zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.bashrc
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.bash_profile
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.exrc
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.viminfo
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.ldaprc
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.platform
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/bin
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/docs
error: File not found by glob: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/docs/*
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/contrib
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/libexec
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/logger
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/conf
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/db
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/jdk1.6.0_24
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/lib
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/zimbramon
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/bdb-4.7.25.4
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/openssl-1.0.0d
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/heimdal-1.3.3
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/curl-7.21.4
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/cyrus-sasl-2.1.23.3z
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/openldap-2.4.23.6z
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/tcmalloc-1.7
error: File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/rlfe-0.4


RPM build errors:
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.bashrc
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.bash_profile
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.exrc
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.viminfo
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.ldaprc
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/.platform
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/bin
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/docs
File not found by glob: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/docs/*
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/contrib
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/libexec
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/logger
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/conf
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/db
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/jdk1.6.0_24
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/lib
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/zimbramon
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/bdb-4.7.25.4
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/openssl-1.0.0d
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/heimdal-1.3.3
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/curl-7.21.4
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/cyrus-sasl-2.1.23.3z
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/openldap-2.4.23.6z
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/tcmalloc-1.7
File not found: /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386/opt/zimbra/rlfe-0.4



One thing I noticed was:
+ '[' /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386 '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/zimbra-core-7.1.0_GA_3141.F14-20110911195123.i386

Why would it remove the dir, then try and access the files?
 
Old 09-11-2011, 08:51 PM   #5
kbp
Senior Member
 
Registered: Aug 2009
Posts: 3,790

Rep: Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653
I can't see any install commands in your output, could you please post the spec file ?

The answer to your question is that it won't, the install commands are missing.

Last edited by kbp; 09-11-2011 at 08:53 PM.
 
Old 09-11-2011, 08:53 PM   #6
AbsoluteMonkey
Member
 
Registered: Mar 2004
Location: Boston
Distribution: Fedora Core 10
Posts: 58

Original Poster
Rep: Reputation: 15
[root@travispoole ZimbraBuild]# cat zimbra-core.spec
#
# spec file for zimbra.rpm
#
Summary: Zimbra Core
Name: zimbra-core
Version: 7.1.0_GA_3141.F14
Release: 20110911195123
License: Various
Group: Applications/Messaging
URL: http://www.zimbra.com
Vendor: Zimbra, Inc.
Packager: Zimbra, Inc.
BuildRoot: opt/zimbra
AutoReqProv: no

%description
Best email money can buy

%define __spec_install_post /usr/lib/rpm/brp-compress /usr/lib/rpm/brp-strip-comment-note %{nil}

%prep

%build

%install

%pre
#!/bin/bash
#
# ***** BEGIN LICENSE BLOCK *****
# Zimbra Collaboration Suite Server
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Zimbra, Inc.
#
# The contents of this file are subject to the Zimbra Public License
# Version 1.3 ("License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.zimbra.com/license.
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
# ***** END LICENSE BLOCK *****
#
# Create group, user for zimbra and postfix.

egrep -q '^zimbra:' /etc/group
if [ $? != 0 ]; then
groupadd zimbra
fi

egrep -q '^zimbra:' /etc/passwd
if [ $? != 0 ]; then
useradd -g zimbra -G tty -d /opt/zimbra -s /bin/bash zimbra
else
usermod -g zimbra -d /opt/zimbra -s /bin/bash zimbra
fi

if [ -f "/etc/security/limits.conf" ]; then
egrep -v -e '^zimbra.*nofile' /etc/security/limits.conf > /tmp/limits.conf
echo "zimbra soft nofile 524288" >> /tmp/limits.conf
echo "zimbra hard nofile 524288" >> /tmp/limits.conf
mv -f /tmp/limits.conf /etc/security/limits.conf
chmod 640 /etc/security/limits.conf
else
echo "zimbra soft nofile 524288" > /etc/security/limits.conf
echo "zimbra hard nofile 524288" >> /etc/security/limits.conf
chmod 640 /etc/security/limits.conf
fi

%post
#!/bin/bash
#
# ***** BEGIN LICENSE BLOCK *****
# Zimbra Collaboration Suite Server
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Zimbra, Inc.
#
# The contents of this file are subject to the Zimbra Public License
# Version 1.3 ("License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.zimbra.com/license.
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
# ***** END LICENSE BLOCK *****
#
# Create group, user for zimbra and postfix.

H=`hostname --fqdn`
I=`hostname -i`

#Symlinks
rm -f /opt/zimbra/java
PLAT=`/opt/zimbra/libexec/get_plat_tag.sh`
BIT=`echo $PLAT | awk -F_ '{print $2}'`
if [ "x$BIT" = "x64" ]; then
ln -s /opt/zimbra/jdk1.6.0_24 /opt/zimbra/java
else
ln -s /opt/zimbra/jdk1.6.0_24 /opt/zimbra/java
fi

#Symlinks
rm -f /opt/zimbra/mysql
ln -s /opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23 /opt/zimbra/mysql

rm -f /opt/zimbra/bdb
ln -s /opt/zimbra/bdb-4.7.25.4 /opt/zimbra/bdb

if [ -L /opt/zimbra/sleepycat ]; then
rm -f /opt/zimbra/sleepycat
fi

rm -f /opt/zimbra/openssl
ln -s /opt/zimbra/openssl-1.0.0d /opt/zimbra/openssl

rm -f /opt/zimbra/heimdal
ln -s /opt/zimbra/heimdal-1.3.3 /opt/zimbra/heimdal

rm -f /opt/zimbra/curl
ln -s /opt/zimbra/curl-7.21.4 /opt/zimbra/curl

rm -f /opt/zimbra/cyrus-sasl
ln -s /opt/zimbra/cyrus-sasl-2.1.23.3z /opt/zimbra/cyrus-sasl

rm -f /opt/zimbra/openldap
ln -s /opt/zimbra/openldap-2.4.23.6z /opt/zimbra/openldap

rm -f /opt/zimbra/tcmalloc
ln -s /opt/zimbra/tcmalloc-1.7 /opt/zimbra/tcmalloc

rm -f /opt/zimbra/rlfe
ln -s /opt/zimbra/rlfe-0.4 /opt/zimbra/rlfe

if [ -d "/opt/zimbra/zimbramon/rrdtool" ]; then
rm -rf /opt/zimbra/zimbramon/rrdtool
ln -s /opt/zimbra/zimbramon/rrdtool-1.2.30 /opt/zimbra/zimbramon/rrdtool
else
rm -f /opt/zimbra/zimbramon/rrdtool
ln -s /opt/zimbra/zimbramon/rrdtool-1.2.30 /opt/zimbra/zimbramon/rrdtool
fi

if [ -d "/opt/zimbra/logger/db" ]; then
chown zimbra:zimbra /opt/zimbra/logger/db
fi

if [ -f "/opt/zimbra/conf/ca/ca.pem" ]; then
ln -f -s ca.pem /opt/zimbra/conf/ca/`openssl x509 -hash -noout -in /opt/zimbra/conf/ca/ca.pem`.0
fi

if [ x"$PLAT" = "xRHEL5" -o x"$PLAT" = "xCentOS5" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
elif [ x"$PLAT" = "xRHEL5_64" -o x"$PLAT" = "xCentOS5_64" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
elif [ x"$PLAT" = "xFC6" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
elif [ x"$PLAT" = "xF7" -o x"$PLAT" = "xF10" -o x"$PLAT" = "xF11" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
elif [ x"$PLAT" = "xF10_64" -o x"$PLAT" = "xF11_64" -o x"$PLAT" = "xF13_64" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
elif [ x"$PLAT" = "xRHEL6" -o x"$PLAT" = "xCentOS6" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
elif [ x"$PLAT" = "xRHEL6_64" -o x"$PLAT" = "xCentOS6_64" ]; then
sed -i -e 's:\(^Defaults.*requiretty\):#\1:' /etc/sudoers
sed -i -e 's:PS2 QTDIR USERNAME:PS2 QTDIR USERNAME PATH:' /etc/sudoers
fi

if [[ $PLAT == "DEBIAN"* || $PLAT == "UBUNTU"* ]]; then
sed -i -e 's/# session required pam_limits.so/session required pam_limits.so/' /etc/pam.d/su
egrep -v -e '^session[[:space:]]+required[[:space:]]+pam_limits.so' /etc/pam.d/common-session >/tmp/common-session
echo "session required pam_limits.so" >> /tmp/common-session
mv -f /tmp/common-session /etc/pam.d/common-session
chmod 640 /etc/pam.d/common-session
egrep -v -e '^root.*nofile' /etc/security/limits.conf > /tmp/limits.conf
echo "root soft nofile 524288" >> /tmp/limits.conf
echo "root hard nofile 524288" >> /tmp/limits.conf
mv -f /tmp/limits.conf /etc/security/limits.conf
chmod 640 /etc/security/limits.conf
fi

if [ -f /etc/debian_version ]; then
if [ -f /etc/ld.so.conf ]; then
mv -f /etc/ld.so.conf /etc/ld.so.conf.$$
cat /etc/ld.so.conf.$$ | grep -v zimbra > /etc/ld.so.conf
fi
# cat /opt/zimbra/conf/zimbra.ld.conf >> /etc/ld.so.conf
#else
# mkdir -p /etc/ld.so.conf.d
# cp -f /opt/zimbra/conf/zimbra.ld.conf /etc/ld.so.conf.d
fi

# update prelink.conf
if [ -f /etc/prelink.conf ]; then
egrep -q 'zimbra' /etc/prelink.conf
if [ $? != 0 ]; then
echo "# added for Zimbra" >> /etc/prelink.conf
echo "-l /opt/zimbra/lib" >> /etc/prelink.conf
echo "-l /opt/zimbra/bdb/lib" >> /etc/prelink.conf
echo "-l /opt/zimbra/openldap/lib" >> /etc/prelink.conf
echo "-l /opt/zimbra/cyrus-sasl/lib" >> /etc/prelink.conf
echo "-l /opt/zimbra/mysql/lib/mysql" >> /etc/prelink.conf
if [ -x /usr/sbin/prelink ]; then
/usr/sbin/prelink -amR > /dev/null 2>&1
fi
fi
fi

if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi

# Setup syslog

if [ -d /etc/logrotate.d ]; then
cp -f /opt/zimbra/conf/zmlogrotate /etc/logrotate.d/zimbra
fi

cp -f /opt/zimbra/libexec/zimbra /etc/init.d/zimbra
chmod 755 /etc/init.d/zimbra
if [ -x /sbin/chkconfig ]; then
chkconfig --del zimbra
chkconfig --add zimbra
chkconfig zimbra on
else
rm -f /etc/rc*.d/S99zimbra
rm -f /etc/rc*.d/S89zimbra
rm -f /etc/rc*.d/K01zimbra

if [ -d /etc/rc0.d ]; then
ln -s /etc/init.d/zimbra /etc/rc0.d/S89zimbra
ln -s /etc/init.d/zimbra /etc/rc0.d/K01zimbra
fi
if [ -d /etc/rc1.d ]; then
ln -s /etc/init.d/zimbra /etc/rc1.d/K01zimbra
fi
if [ -d /etc/rc2.d ]; then
ln -s /etc/init.d/zimbra /etc/rc2.d/S99zimbra
ln -s /etc/init.d/zimbra /etc/rc2.d/K01zimbra
fi
if [ -d /etc/rc3.d ]; then
ln -s /etc/init.d/zimbra /etc/rc3.d/S99zimbra
ln -s /etc/init.d/zimbra /etc/rc3.d/K01zimbra
fi
if [ -d /etc/rc4.d ]; then
ln -s /etc/init.d/zimbra /etc/rc4.d/S99zimbra
ln -s /etc/init.d/zimbra /etc/rc4.d/K01zimbra
fi
if [ -d /etc/rc5.d ]; then
ln -s /etc/init.d/zimbra /etc/rc5.d/S99zimbra
ln -s /etc/init.d/zimbra /etc/rc5.d/K01zimbra
fi
if [ -d /etc/rc6.d ]; then
ln -s /etc/init.d/zimbra /etc/rc6.d/S89zimbra
ln -s /etc/init.d/zimbra /etc/rc6.d/K01zimbra
fi

fi

mkdir -p /opt/zimbra/backup
chown zimbra:zimbra /opt/zimbra/backup
mkdir -p /opt/zimbra/log
chown zimbra:zimbra /opt/zimbra/log
mkdir -p /opt/zimbra/ssl
chown zimbra:zimbra /opt/zimbra/ssl
mkdir -p /opt/zimbra/.ssh
chown zimbra:zimbra /opt/zimbra/.ssh
mkdir -p /opt/zimbra/zmstat
chown zimbra:zimbra /opt/zimbra/zmstat

SUDOMODE=`perl -e 'my $mode=(stat("/etc/sudoers"))[2];if ($mode == "0000"){ $mode=33056 };printf("%04o\n",$mode & 07777);'`;
egrep -v -e '^%zimbra.*zmcertmgr' /etc/sudoers > /tmp/sudoers
echo "%zimbra ALL=NOPASSWD:/opt/zimbra/bin/zmcertmgr" >> /tmp/sudoers
mv -f /tmp/sudoers /etc/sudoers
chmod $SUDOMODE /etc/sudoers

egrep -v -e '^%zimbra.*zmstat-fd' /etc/sudoers > /tmp/sudoers
echo "%zimbra ALL=NOPASSWD:/opt/zimbra/libexec/zmstat-fd *" >> /tmp/sudoers
mv -f /tmp/sudoers /etc/sudoers
chmod $SUDOMODE /etc/sudoers

if [ -x "/opt/zimbra/libexec/zmfixperms" ]; then
/opt/zimbra/libexec/zmfixperms
fi

# 64 bit jvm doesn't support the dump
if [ "x$BIT" = "x64" ]; then
exit 0
fi

/opt/zimbra/java/bin/java -client -Xshare:dump

%preun

%postun

%files
%attr(-, zimbra, zimbra) /opt/zimbra/.bashrc
%attr(-, zimbra, zimbra) /opt/zimbra/.bash_profile
%attr(-, zimbra, zimbra) /opt/zimbra/.exrc
%attr(-, zimbra, zimbra) /opt/zimbra/.viminfo
%attr(-, zimbra, zimbra) /opt/zimbra/.ldaprc
%attr(-, zimbra, zimbra) /opt/zimbra/.platform
%attr(755, root, root) /opt/zimbra/bin
%attr(755, zimbra, zimbra) /opt/zimbra/docs
%attr(444, zimbra, zimbra) /opt/zimbra/docs/*
%attr(755, root, root) /opt/zimbra/contrib
%attr(755, root, root) /opt/zimbra/libexec
%attr(755, root, root) /opt/zimbra/logger
%attr(-, zimbra, zimbra) /opt/zimbra/conf
%attr(-, zimbra, zimbra) /opt/zimbra/db
%attr(-, root, root) /opt/zimbra/jdk1.6.0_24
%attr(-, root, root) /opt/zimbra/lib
%attr(-, zimbra, zimbra) /opt/zimbra/zimbramon
%attr(-, zimbra, zimbra) /opt/zimbra/bdb-4.7.25.4
%attr(-, zimbra, zimbra) /opt/zimbra/openssl-1.0.0d
%attr(-, zimbra, zimbra) /opt/zimbra/heimdal-1.3.3
%attr(-, zimbra, zimbra) /opt/zimbra/curl-7.21.4
%attr(-, root, zimbra) /opt/zimbra/cyrus-sasl-2.1.23.3z
%attr(-, zimbra, zimbra) /opt/zimbra/mysql-standard-5.1.55-pc-linux-gnu-i686-glibc23
%attr(-, zimbra, zimbra) /opt/zimbra/openldap-2.4.23.6z
%attr(-, zimbra, zimbra) /opt/zimbra/tcmalloc-1.7
%attr(-, zimbra, zimbra) /opt/zimbra/rlfe-0.4

%clean
 
Old 09-11-2011, 10:29 PM   #7
kbp
Senior Member
 
Registered: Aug 2009
Posts: 3,790

Rep: Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653
Interesting .... it looks like someone has tried to shoehorn an install script into an rpm package without wanting to understand basic rpm concepts. Was there any installation document provided?
 
Old 09-11-2011, 11:28 PM   #8
AbsoluteMonkey
Member
 
Registered: Mar 2004
Location: Boston
Distribution: Fedora Core 10
Posts: 58

Original Poster
Rep: Reputation: 15
Wasn't me. This is just the downloaded source. It built the spec file during the make process.
Sadly, no documention. They have a wiki but it barely explains anything. Took me two days just to figure out how to properly structure the source so it would even build.
Think I could copy over the built files manually?

Last edited by AbsoluteMonkey; 09-11-2011 at 11:30 PM.
 
Old 09-11-2011, 11:34 PM   #9
kbp
Senior Member
 
Registered: Aug 2009
Posts: 3,790

Rep: Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653Reputation: 653
I'd say so ... just copy the files to /opt/zimbra, copy the contents of the pre and post sections into a script and execute it/them (make sure %pre content is above %post content if you put them in the same script).
 
0 members found this post helpful.
Old 09-12-2011, 12:30 AM   #10
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
Quote:
Originally Posted by kbp View Post
I'd say so ... just copy the files to /opt/zimbra, copy the contents of the pre and post sections into a script and execute it/them (make sure %pre content is above %post content if you put them in the same script).
That is not the way things should be done.


To the OP: please attach the .spec file as plain text file for editing or supply the location (.src.rpm).
 
Old 03-10-2014, 01:00 PM   #11
rschmitt@jhu.edu
LQ Newbie
 
Registered: Mar 2014
Posts: 2

Rep: Reputation: Disabled
Same Issue, Any solution?

I have exactly the same issue. The documentation provided by the original poster contains just about everything I can think of.

There is one thing I will add. When building the zimbra package on RHEL6, I do not have this issue. But recently I've been trying to build using Centos6. That's when the error shows up. It makes me think that there's something about the way rpmbuild works on Centos that is different then RHEL. But not sure. One issue is I don't really understand how rpmbuild works and what the various arguments mean. To me, it looks like it is deleting the contents of the target directory prior to the install script being executed. But, it is also using the target directory as the source for those files.

Has this ever been resolved? Or is there a good writeup of how rpmbuild works, (and I'm not talking about the man page).

Rich
 
Old 03-11-2014, 11:21 AM   #12
rschmitt@jhu.edu
LQ Newbie
 
Registered: Mar 2014
Posts: 2

Rep: Reputation: Disabled
Solved

After much gnashing of teeth, I have found a solution that works for building zimbra.

In ZimbraBuild/defs are platform specific makefile macros. In my particular case I am trying to support a zimbra build on Centos6. We had been using RHEL6 in the past without any issue.

Initially, I copied RHEL6_64.def to CentOS6_64.def. Simply building using the same def file caused the issue documented in this thread.

To fix the issue, I simply appened

--define '__spec_install_pre %{nil}'

To the PACKAGING_OPTIONS definition. I can only assume that in RHEL6, rpmbuild does not include this macro.

Rich
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
mke2fs wipes partition even with -n option used Skaperen Linux - Software 4 09-01-2011 07:08 AM
why rpmbuild deletes the BUILD directory? password636 Red Hat 5 04-19-2011 05:07 PM
rpmbuild: skipping incompatible libXt.so when building new OpenSSH on Suse 10 AlucardZero Linux - Software 1 10-10-2009 02:39 AM
building from source and installing to a specified directory gvp87 Linux - Software 1 03-31-2008 12:10 AM
Defective Update - Wipes Out GUI OldBob Ubuntu 1 08-26-2006 03:50 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 12:05 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration