Closed Bug 208288 Opened 21 years ago Closed 20 years ago

Build Linux RPMS (NSPRPUB_RELEASE_4_1_BRANCH)

Categories

(NSPR :: NSPR, defect)

4.1.3
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kirk.erickson, Assigned: glenbeasley)

Details

Attachments

(2 files, 4 obsolete files)

Michael Hein requested that I backport the changes for building
Linux RPMs to the 4.1 Branch of NSPR.  This was done at the TIP
of NSPR for 4.3 (http://bugzilla.mozilla.org/show_bug.cgi?id=189501).

This backport is complicated by the fact that 4.3 uses autoconf,
and the 4.1 branch does not.  This will release as NSPR 4.1.5.

The backport bug for NSS 3.3.5 release is:
http://bugzilla.mozilla.org/show_bug.cgi?id=208214
Replaces 'solarispkg' with 'package' target for all platforms
(creating RPMs on Linux, and Solaris packages under Solaris).
To try the patch:
Sit at the high level (above mozilla), and 
tar xvf [tar-file]
patch <[patch-file]
<build normally>
cd mozilla/nsprpub
gmake package

On solaris this will do the same as 'gmake solarispkg' did
previously.
Kirk,

the build failed on both Linux Versions that we need it on. Please try to make
sure the patches you give me at least build.

On Redhat 6.2 there is no -L option to cp.

On 7.2 it failed as well. It is not acceptable to require the build to be run as
root, neither can stuff be installed on the official build machines during the
build.  If it is absolutely necessary you'll have to negotiate this with Frank
Throckmorton. I realize that you mentioned this in your email already, but I had
assumed you meant while installing the RPMs.

cp: cannot create regular file `/usr/src/redhat/SOURCES/sun-nspr-4.1.5.tar.gz':
Permission denied


let me know when you have a new patch. I'd also very much appreciate it if you'd
CC me on 4_1_branch bugs.

Sonja

================== 6.2 =================


You used cp -L in 
mozilla/nsprpub/pkg/Linux/Makefile:       cp -Lr
$(MOD_DEPTH)/../dist/$(OBJDIR_NAME)/include/* usr/in

shabadoo.red.iplanet.com[svbld]:/u/svbld> which cp
/bin/cp
shabadoo.red.iplanet.com[svbld]:/u/svbld> cp --help | grep L
The backup suffix is ~, unless set with SIMPLE_BACKUP_SUFFIX.  The
version control may be set with VERSION_CONTROL, values are:
shabadoo.red.iplanet.com[svbld]:/u/svbld> 


cd pkg/; gmake publish
gmake -C pkg/ publish
gmake[1]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg'
rm -rf Linux2.2.12_x86_PTH_DBG.OBJ
cp -r linux Linux2.2.12_x86_PTH_DBG.OBJ
gmake -C Linux2.2.12_x86_PTH_DBG.OBJ publish
gmake[2]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.2.12_x86_PTH_DBG.OBJ'
gmake clean
gmake[3]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.2.12_x86_PTH_DBG.OBJ'
rm -rf /usr/src/redhat/BUILD/sun-nspr
rm -rf RPMS SRPMS usr
rm -f sun-nspr-`grep PR_VERSION
../../../dist/Linux2.2.12_x86_PTH_DBG.OBJ/include/prinit.h | sed -e 's/"$//' -e
's/.*"//' -e 's/ .*//'`.tar.gz
gmake[3]: Leaving directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.2.12_x86_PTH_DBG.OBJ'
mkdir -p usr/lib/mps
cp -L ../../../dist/Linux2.2.12_x86_PTH_DBG.OBJ/lib/* usr/lib/mps
cp: invalid option -- L



=================== 7.2 ====================
gmake -C pkg/ publish
gmake[1]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg'
rm -rf Linux2.4.9_x86_PTH_DBG.OBJ
cp -r linux Linux2.4.9_x86_PTH_DBG.OBJ
gmake -C Linux2.4.9_x86_PTH_DBG.OBJ publish
gmake[2]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.4.9_x86_PTH_DBG.OBJ'
gmake clean
gmake[3]: Entering directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.4.9_x86_PTH_DBG.OBJ'
rm -rf /usr/src/redhat/BUILD/sun-nspr
rm -rf RPMS SRPMS usr
rm -f sun-nspr-`grep PR_VERSION
../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/include/prinit.h | sed -e 's/"$//' -e
's/.*"//' -e 's/ .*//'`.tar.gz
gmake[3]: Leaving directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.4.9_x86_PTH_DBG.OBJ'
mkdir -p usr/lib/mps
cp -L ../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/lib/* usr/lib/mps
mkdir -p usr/include/mps/nspr
cp -Lr ../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/include/* usr/include/mps/nspr
tar czvf sun-nspr-`grep PR_VERSION
../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/include/prinit.h | sed -e 's/"$//' -e
's/.*"//' -e 's/ .*//'`.tar.gz usr
usr/
usr/lib/
usr/lib/mps/
usr/lib/mps/libnspr4.a
usr/lib/mps/libnspr4.so
usr/lib/mps/libplc4.a
usr/lib/mps/libplc4.so
usr/lib/mps/libplds4.a
usr/lib/mps/libplds4.so
usr/include/
usr/include/mps/
usr/include/mps/nspr/
usr/include/mps/nspr/nspr.h
usr/include/mps/nspr/obsolete/
usr/include/mps/nspr/obsolete/pralarm.h
usr/include/mps/nspr/obsolete/probslet.h
usr/include/mps/nspr/obsolete/protypes.h
usr/include/mps/nspr/obsolete/prsem.h
usr/include/mps/nspr/plarena.h
usr/include/mps/nspr/plarenas.h
usr/include/mps/nspr/plbase64.h
usr/include/mps/nspr/plerror.h
usr/include/mps/nspr/plgetopt.h
usr/include/mps/nspr/plhash.h
usr/include/mps/nspr/plresolv.h
usr/include/mps/nspr/plstr.h
usr/include/mps/nspr/pratom.h
usr/include/mps/nspr/prbit.h
usr/include/mps/nspr/prclist.h
usr/include/mps/nspr/prcmon.h
usr/include/mps/nspr/prcountr.h
usr/include/mps/nspr/prcpucfg.h
usr/include/mps/nspr/prcvar.h
usr/include/mps/nspr/prdtoa.h
usr/include/mps/nspr/prenv.h
usr/include/mps/nspr/prerr.h
usr/include/mps/nspr/prerror.h
usr/include/mps/nspr/prinet.h
usr/include/mps/nspr/prinit.h
usr/include/mps/nspr/prinrval.h
usr/include/mps/nspr/prio.h
usr/include/mps/nspr/pripcsem.h
usr/include/mps/nspr/private/
usr/include/mps/nspr/private/pprio.h
usr/include/mps/nspr/private/pprthred.h
usr/include/mps/nspr/private/prpriv.h
usr/include/mps/nspr/prlink.h
usr/include/mps/nspr/prlock.h
usr/include/mps/nspr/prlog.h
usr/include/mps/nspr/prlong.h
usr/include/mps/nspr/prmem.h
usr/include/mps/nspr/prmon.h
usr/include/mps/nspr/prmwait.h
usr/include/mps/nspr/prnetdb.h
usr/include/mps/nspr/prolock.h
usr/include/mps/nspr/prpdce.h
usr/include/mps/nspr/prprf.h
usr/include/mps/nspr/prproces.h
usr/include/mps/nspr/prrng.h
usr/include/mps/nspr/prrwlock.h
usr/include/mps/nspr/prshm.h
usr/include/mps/nspr/prshma.h
usr/include/mps/nspr/prsystem.h
usr/include/mps/nspr/prthread.h
usr/include/mps/nspr/prtime.h
usr/include/mps/nspr/prtpool.h
usr/include/mps/nspr/prtrace.h
usr/include/mps/nspr/prtypes.h
usr/include/mps/nspr/prvrsion.h
usr/include/mps/nspr/prwin16.h
echo "%define name sun-nspr" >sun-nspr.spec
echo "%define version `grep PR_VERSION
../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/include/prinit.h | sed -e 's/"$//' -e
's/.*"//' -e 's/ .*//'`" >>sun-nspr.spec
echo "%define release 1" >>sun-nspr.spec
cat ../linux/sun-nspr.spec >>sun-nspr.spec
cp sun-nspr-`grep PR_VERSION
../../../dist/Linux2.4.9_x86_PTH_DBG.OBJ/include/prinit.h | sed -e 's/"$//' -e
's/.*"//' -e 's/ .*//'`.tar.gz /usr/src/redhat/SOURCES
cp: cannot create regular file `/usr/src/redhat/SOURCES/sun-nspr-4.1.5.tar.gz':
Permission denied
gmake[2]: *** [publish] Error 1
gmake[2]: Leaving directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg/Linux2.4.9_x86_PTH_DBG.OBJ'
gmake[1]: *** [publish] Error 2
gmake[1]: Leaving directory
`/share/builds/mccrel3/security/security335/builds/20030611.2/booboo_Solaris8/mozilla/nsprpub/pkg'
gmake: *** [package] Error 2
Elapsed Time = 00:00:19
Thu 12 Jun 2003 11:23:16


This patch resolves the problem of building in /usr/src/redhat.
Now the build takes place subordinate to pkg/<OBJDIR>.
This patch does not deal with the 'cp -L' problem Sonja
encountered under 6.2.

I tested building and installing the resulting rpms on box.
I need access to a 6.2 machine to study the cp manpage, address
the remaining issue, and test there too.

Note, this alteration of the patch needs to be retrofitted
into the TIP of NSPR (which still builds in /usr/src/redhat).
Attachment #125052 - Attachment is obsolete: true
New files to go with 125562.
Sit at the directory above mozilla, and extract.
Attachment #125054 - Attachment is obsolete: true
I tested on box:
patch </home/ke119340/nss/208288/2003-0612-2222.patch
tar xvf /home/ke119340/nss/208288/2003-0613-1016.tar
<build normally>
cd ./mozilla/nsprpub/pkg/Linux2.4.18_x86_PTH_OPT.OBJ/RPMS/i386
rpm -e sun-nspr sun-nspr-devel
[root@box i386]# rpm -ihv *rpm
Preparing...		    ########################################### [100%]
   1:sun-nspr		    ########################################### [ 50%]
   2:sun-nspr-devel	    ########################################### [100%]
[root@box i386]# l /usr/lib/mps
[root@box i386]# l /usr/include/mps/nspr
Attachment #125563 - Attachment is obsolete: true
> This patch does not deal with the 'cp -L' problem Sonja
> encountered under 6.2.

> I tested building and installing the resulting rpms on box.
> I need access to a 6.2 machine to study the cp manpage, address
> the remaining issue, and test there too.


The lab administrator is aware of your accessing problem. All the lab machines
have been moved, and he is working on the many problems there. I will call him
again to make sure it gets priority. In general, if you can't access our
machines, the best thing to do is file a servicedesk ticket, in this case it is
filed already. lab maint. -> DS - SCA 17. Machine louie.
I spoke once more with Param, the problem seems to exist on all redhat 6.x
machines, for all users whose IDs have changed recently. He is working on it. 

Why don't you use cpio -L instead? I think that's the same on all OSes and has
not changed in ages.

Anyway, I'll wait until both fixes are in before I do the next patch build.
Please fix the same problems in NSS, should you have the same bugs there.
 
help page for cp on redhat 6.2

bash$ cp --help
Usage: cp [OPTION]... SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... --target-directory=DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

  -a, --archive                same as -dpR
  -b, --backup[=CONTROL]       make a backup of each existing destination file
  -d, --no-dereference         preserve links
  -f, --force                  remove existing destinations, never prompt
  -i, --interactive            prompt before overwrite
  -l, --link                   link files instead of copying
  -p, --preserve               preserve file attributes if possible
  -P, --parents                append source path to DIRECTORY
  -r                           copy recursively, non-directories as files
                                 WARNING: use -R instead when you might copy
                                 special files like FIFOs or /dev/zero
      --sparse=WHEN            control creation of sparse files  -R, --recursive
             copy directories recursively
  -s, --symbolic-link          make symbolic links instead of copying
  -S, --suffix=SUFFIX          override the usual backup suffix
      --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY
  -u, --update                 copy only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
  -x, --one-file-system        stay on this file system
      --help                   display this help and exit
      --version                output version information and exit

By default, sparse SOURCE files are detected by a crude heuristic and the
corresponding DEST file is made sparse as well.  That is the behavior
selected by --sparse=auto.  Specify --sparse=always to create a sparse DEST
file whenever the SOURCE file contains a long enough sequence of zero bytes.Use
--sparse=never to inhibit creation of sparse files.

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

As a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.

Report bugs to <bug-fileutils@gnu.org>.


Kirk,
the problem seems to be that all new user's UIDs are is too high. We created a
local user for you on louie "kirke" using your regular NIS password. Root
password there is the same as other NSS machines. Please uninstall everything
that you might need to install after you are done, this is the primary QA
machine for 6.2.
Sonja




Adresses the lack of 'cp -L' support under RedHat 6.2
(restores original spec, and solves ala NSS (bug 208214).

I tested building and installing on these:
Linux box 2.4.18-17.7.xsmp #1 SMP Tue Oct 8 12:37:04 EDT 2002 i686 unknown
Linux louie 2.2.14-5.0smp #1 SMP Tue Mar 7 21:01:40 EST 2000 i686 unknown
Attachment #125589 - Attachment is obsolete: true
Mass reassign of Kirk's bugs.
Assignee: kirk.erickson → glen.beasley
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: