Closed Bug 867470 Opened 11 years ago Closed 11 years ago

CentOS Platform Standardize the version of hg

Categories

(Release Engineering :: General, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Callek, Assigned: Callek)

References

Details

Attachments

(3 files, 3 obsolete files)

+++ This bug was initially created as a clone of Bug #864749 +++

CentOS bug to Standardize the version of hg
These have been spot-checked to install fine,and work, on the centOS builders. Including spot-checked that the bundle file created from them (against current hg server) works against OSX10.7 and Win2k8 current mercurials.

I still have a few minor checks with hgtool to do, but wanted to get this up.
Attachment #743977 - Flags: feedback?(coop)
Blocks: 781012
Comment on attachment 743977 [details]
[binary-blob] tar.gz of Mercurial 2.5.4 rpms

Clarifying description to include the version number.
Attachment #743977 - Attachment description: [binary-blob] tar.gz of mercurial rpms → [binary-blob] tar.gz of Mercurial 2.5.4 rpms
Open question, is what we should do about the *system* mercurial.

http://rpmfind.net/linux/rpm2html/search.php?query=mercurial shows absolutely no results for 2.5.4 other than for OpenSuse, I could hack up the srpm we have from an OLD ver of mercurial, but it does indeed look old and has lots of specific file copies/directories hardcoded in its spec that makes me wonder how useful that is.

this is going from 2.1.1-->2.5.4 for the mozilla* mercurial, however still leaves the system with 1.4-3.el6

I should note, that for our Linux builders at least, system mercurial is never used based on path (`hg --version` is currently 2.1.1)

coop, dustin, thoughts on this connundrum?
Flags: needinfo?(dustin)
Flags: needinfo?(coop)
Attached patch [puppet] v1 (obsolete) — Splinter Review
This is actually the only puppet patch we need for centOS builders, as far as I can tell. all things use => latest for mercurial on linux.

So we'd just need to populate the repos with it and be happy.
Attachment #743989 - Flags: review?(coop)
addressing the theory in c#3, here is a diff of the files in the srcrpm (ignoring the tarballs of said releases of course)

The patch is just a recreation of the 1.4 patch that was already applied per centos, and the spec changes were things that I learned needed changing building against the newer tarball.

I did not investigate if we should *add* anything to said spec, nor did I actually test the resulting rpms anywhere (yet), but this is here if you guys think we should update these files.

:coop, feel free to push this review to someone like dustin if you like.
Attachment #744044 - Flags: review?(coop)
This is a set of rpms for the whole system, .tar.gz

This includes:

emacs-mercurial-2.5.4-1moz1.el6.i686.rpm
emacs-mercurial-2.5.4-1moz1.el6.x86_64.rpm
emacs-mercurial-el-2.5.4-1moz1.el6.i686.rpm
emacs-mercurial-el-2.5.4-1moz1.el6.x86_64.rpm
mercurial-2.5.4-1moz1.el6.i686.rpm
mercurial-2.5.4-1moz1.el6.src.rpm
mercurial-2.5.4-1moz1.el6.x86_64.rpm
mercurial-debuginfo-2.5.4-1moz1.el6.i686.rpm
mercurial-debuginfo-2.5.4-1moz1.el6.x86_64.rpm
mercurial-hgk-2.5.4-1moz1.el6.i686.rpm
mercurial-hgk-2.5.4-1moz1.el6.x86_64.rpm

and a full copy of   mercurial.spec

c#3 still leaves the idea of "do we use this" up for grabs, and as said in previous attachment, I haven't even tested these yet.

I chose to go with moz1 since until/unless this is accepted upstream it is a relver by us, and not upstream (so that we don't conflict if they do finally release a copy)
Attachment #744046 - Flags: review?(coop)
Much of the reason for installing a custom Mozilla mercurial is to *not* change the system mercurial.  It has more to do with the system Python, but it's the same idea.  So I don't think we should replace the system mercurial - certainly not with a hand-rolled version at any rate.
Flags: needinfo?(dustin)
Oh, and I think we should be pinning the version of the Mozilla Mercurial RPM in puppet.  => latest is bad..
Attachment #743977 - Flags: feedback?(coop) → feedback+
(In reply to Justin Wood (:Callek) from comment #3)
> Open question, is what we should do about the *system* mercurial.
>
> coop, dustin, thoughts on this connundrum?

I wouldn't touch it. This bug is about making sure the version we *use* is standard, regardless of other versions available. If the proper version of hg is first in the PATH, we're fine.

If we're really worried about it, we could change hgtool.py to spit out the hg version in use at the outset.
Flags: needinfo?(coop)
Attachment #743989 - Flags: review?(coop) → review+
Comment on attachment 744044 [details] [diff] [review]
[diff-of-official-srpm] upgrade centOS provided mercurial as well

Review of attachment 744044 [details] [diff] [review]:
-----------------------------------------------------------------

I think we should just leave the base system as-is, i.e. no patch required.
Attachment #744044 - Flags: review?(coop) → review-
Comment on attachment 744046 [details]
[binary-blob] .tar.gz of new set of system mercurial 2.5.4 rpms

Same as previous: let's just leave the base system as-is.
Attachment #744046 - Flags: review?(coop) → review-
(In reply to Chris Cooper [:coop] from comment #9)
> If we're really worried about it, we could change hgtool.py to spit out the
> hg version in use at the outset.

This is one of those things that's super-useful to already have in place the one time you need it.  +1
(In reply to Dustin J. Mitchell [:dustin] from comment #12)
> (In reply to Chris Cooper [:coop] from comment #9)
> > If we're really worried about it, we could change hgtool.py to spit out the
> > hg version in use at the outset.
> 
> This is one of those things that's super-useful to already have in place the
> one time you need it.  +1

Agreed, so here's a patch to do it.
Attachment #744304 - Flags: review?(bugspam.Callek)
Comment on attachment 744304 [details] [diff] [review]
Report the hg version in use before doing anything else

Review of attachment 744304 [details] [diff] [review]:
-----------------------------------------------------------------

I was tempted to r- and have you do it in hgtool directly instead of as part of the mercurial method in this util, then I realized we have (at minimum) 4 copies of hgtool lying around, and this also catches other utils we call mercurial features from, so lgtm!
Attachment #744304 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 744304 [details] [diff] [review]
Report the hg version in use before doing anything else

https://hg.mozilla.org/build/tools/rev/2cf0918aca8c
Attachment #744304 - Flags: checked-in+
Attached patch [puppet] v1.1Splinter Review
This would land after the puppetAgain mirrors absorb the new rpm(s). So that we purge after we are sure new runs will pick up the new version.
Attachment #743989 - Attachment is obsolete: true
Attachment #744044 - Attachment is obsolete: true
Attachment #744046 - Attachment is obsolete: true
Attachment #744654 - Flags: review?(rail)
Attachment #744654 - Flags: review?(rail) → review+
Comment on attachment 743977 [details]
[binary-blob] tar.gz of Mercurial 2.5.4 rpms

[jwood@releng-puppet1.srv.releng.scl3 ~]$ mv attachment.cgi\?id\=743977 mercurial.tar.gz
[jwood@releng-puppet1.srv.releng.scl3 ~]$ tar -xzf mercurial.tar.gz
[jwood@releng-puppet1.srv.releng.scl3 ~]$ ls
mercurial.tar.gz                                 mozilla-python27-mercurial-2.5.4-1.el6.x86_64.rpm
mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm  mozilla-python27-mercurial-debuginfo-2.5.4-1.el6.i686.rpm
mozilla-python27-mercurial-2.5.4-1.el6.src.rpm   mozilla-python27-mercurial-debuginfo-2.5.4-1.el6.x86_64.rpm
[jwood@releng-puppet1.srv.releng.scl3 ~]$ rm -rf mozilla-python27-mercurial-debuginfo-2.5.4-1.el6.*
[jwood@releng-puppet1.srv.releng.scl3 ~]$ rm -f mercurial.tar.gz
[jwood@releng-puppet1.srv.releng.scl3 ~]$ chmod 644 *.rpm
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo chown puppetagainsync:puppetagainsync *.rpm
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo cp -vi *.rpm /data/repos/yum/releng/public/CentOS/6/x86_64/
`mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm' -> `/data/repos/yum/releng/public/CentOS/6/x86_64/mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm'
`mozilla-python27-mercurial-2.5.4-1.el6.src.rpm' -> `/data/repos/yum/releng/public/CentOS/6/x86_64/mozilla-python27-mercurial-2.5.4-1.el6.src.rpm'
`mozilla-python27-mercurial-2.5.4-1.el6.x86_64.rpm' -> `/data/repos/yum/releng/public/CentOS/6/x86_64/mozilla-python27-mercurial-2.5.4-1.el6.x86_64.rpm'
[jwood@releng-puppet1.srv.releng.scl3 ~]$ rm -vf ./*x86_64.rpm
removed `./mozilla-python27-mercurial-2.5.4-1.el6.x86_64.rpm'
jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo cp -vi *.rpm /data/repos/yum/releng/public/CentOS/6/i386/
`mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm' -> `/data/repos/yum/releng/public/CentOS/6/i386/mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm'
`mozilla-python27-mercurial-2.5.4-1.el6.src.rpm' -> `/data/repos/yum/releng/public/CentOS/6/i386/mozilla-python27-mercurial-2.5.4-1.el6.src.rpm'
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo puppetagain-fixperms
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo -u puppetagainsync createrepo --update /data/repos/yum/releng/public/CentOS/6/i386/
Spawning worker 0 with 2 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo -u puppetagainsync createrepo --update /data/repos/yum/releng/public/CentOS/6/x86_64/
Spawning worker 0 with 3 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

------
Rail then pointed out that 'we' don't store i686 in x86_64 in our releng repos by default.... so I ripped it out.
------

[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo rm -f /data/repos/yum/releng/public/CentOS/6/x86_64/mozilla-python27-mercurial-2.5.4-1.el6.i686.rpm
[jwood@releng-puppet1.srv.releng.scl3 ~]$ sudo -u puppetagainsync createrepo --update /data/repos/yum/releng/public/CentOS/6/x86_64/

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Attachment #743977 - Flags: checked-in+
now live, no apparent fallout
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: