How to get the source code for quagga's patch in CumulusLinux-2.5.6.tar.gz?


Hi,

How do I check out the right version of quagga for the patch in CumulusLinux-2.5.6.tar.gz from the debian remote repo?

Thanks in advance!

LiHongguang

PS.
1, The first line from the series file in the "http://oss.cumulusnetworks.com/CumulusLinux-2.5.6/patches/quagga/series":
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# This series applies on GIT commit cf60aa3c0d1619ca3d1cd99318a10ea513f5fcdf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
How can i get the git repo according to the hash above?

2, I cann't visit the website described in the file "http://oss.cumulusnetworks.com/CumulusLinux-2.5.6/patches/quagga/UPSTREAM":
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The status of the patches, which ones have been submitted upstream, accepted
etc. is maintained on the wiki at: 
https://wiki.cumulusnetworks.com/display/SD/Quagga+Patches+Status
Whenever you add a new patch or submit one upstream, please update that webpage. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ How can i enter the wiki page?

7 replies

Userlevel 5
The current Cumulus Quagga should be in our github: https://github.com/CumulusNetworks/quagga/tree/master with the tag of 2.5.6. I will work to update the pages you have shared to point to a more accessable page.
Scott Suehle wrote:

The current Cumulus Quagga should be in our github: https://github.com/CumulusNetworks/quagga.git (fetch)
origin https://github.com/CumulusNetworks/quagga.git (push)
cumulus@cumulus$
cumulus@cumulus$
cumulus@cumulus$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/bgpd/pgbgp
remotes/origin/cm_2.5
remotes/origin/cumulus-master
remotes/origin/debug.zrealloc
remotes/origin/euro_ix_b
remotes/origin/master
remotes/origin/pimd-merge
remotes/origin/pimd_fixings
remotes/origin/stable/0.99.20
remotes/origin/stable/0.99.21
remotes/origin/stable/0.99.22
remotes/origin/stable/0.99.23
remotes/origin/volatile/RE/ipv6_nd_ra
remotes/origin/volatile/RE/rip_rfc4822
cumulus@cumulus$
cumulus@cumulus$ git show cf60aa3c0d1619ca3d1cd99318a10ea513f5fcdf
fatal: bad object cf60aa3c0d1619ca3d1cd99318a10ea513f5fcdf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Userlevel 4
I believe the 2.5.6 code is housed here --> https://github.com/CumulusNetworks/quagga/tree/cm_2.5
Eric Pulvino wrote:

I believe the 2.5.6 code is housed here --> https://github.com/CumulusNetworks/quagga/tree/cm_2.5

The code is not housed in the cm_2.5 branch:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cumulus@cumulus$ sudo git branch -a * cm_2.5
master
remotes/origin/HEAD -> origin/master
remotes/origin/bgpd/pgbgp
remotes/origin/cm_2.5
remotes/origin/cumulus-master
remotes/origin/debug.zrealloc
remotes/origin/euro_ix_b
remotes/origin/master
remotes/origin/pimd-merge
remotes/origin/pimd_fixings
remotes/origin/stable/0.99.20
remotes/origin/stable/0.99.21
remotes/origin/stable/0.99.22
remotes/origin/stable/0.99.23
remotes/origin/volatile/RE/ipv6_nd_ra
remotes/origin/volatile/RE/rip_rfc4822
cumulus@cumulus$
cumulus@cumulus$
cumulus@cumulus$ git show cf60aa3c0d1619ca3d1cd99318a10ea513f5fcdf
fatal: bad object cf60aa3c0d1619ca3d1cd99318a10ea513f5fcdf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I guest that the hash above is one commit footprint to your internal release, if so, I feel it is really a pity that I can not study more from the results of your work.
Li Hongguang wrote:

I guest that the hash above is one commit footprint to your internal release, if so, I feel it is...

Li -

I'm not sure it makes a difference but here is a bit of a deep dive into our build process for quagga for the 2.5.X tree( ymmv blah blah blah on other trees ):

We have a build system that when you enter:
make quagga

does this:
1 ) extract the tar balled .99.23.1 quagga upstream into a directory.
2 ) Foreach patch listed in the patches/quagga/series directory:
apply using stg to the directory created in step #1
3) Issue a 'dpkg-buildpackage -us -uc -d -b' on the result of #2.
--- Now we have the 3 .deb's created ----

So WTF is in the patches/quagga/series file?

It's using stg to apply the series file. stg apparently takes the commit id's for the patches and sticks them at the top of the series file. I always ignore this because it's meaningless from my perspective.

We've exposed our patches/quagga directory so you see the series file which tells you the order to patch those files.

What I've done on our cumulus git hub.

I found the place we pulled the .99.23.1 branch from and created a cm_2.5 branch from that spot. I then applied each patch in the series file, in order into the cm_2.5 branch.

donald

Userlevel 5
That github contains our entire cumulus Quagga as described here:

https://community.cumulusnetworks.com/cumulus/topics/compiling-cumulus-quagga

It may not be the same layout as the files in the oss.cumulusnetworks.com site.