All of lore.kernel.org
 help / color / mirror / Atom feed
* Build RPMs from git
@ 2015-06-09 21:15 Robert LeBlanc
  2015-06-10 10:03 ` Brad Hubbard
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Robert LeBlanc @ 2015-06-09 21:15 UTC (permalink / raw)
  To: ceph-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

OK, easy question...

Building Debian packages from git is wonderfully easy, RPMs seem ....
not so easy.

I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).

mkdir -p ~/ceph && pushd ~/ceph
git clone https://github.com/ceph/ceph.git
./autogen.sh
./configure
echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
+++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
@@ -464,12 +464,14 @@
 # common
 #################################################################################
 %prep
- -%setup -q
+#%setup -q
+cd %{buildroot}
 %if 0%{?fedora} || 0%{?rhel}
 %patch0 -p1 -b .init
 %endif

 %build
+cd %{buildroot}
 # Find jni.h
 for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
     [ -d $i ] && java_inc="$java_inc -I$i"" | patch
rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'

It coughs at the install/RPM package part.

Any help with preventing the whole tar/untar process which I can't
seem to get exactly right either would be very helpful.

Thanks,

- ----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVd1diCRDmVDuy+mK58QAAlMQP/AlbiMj72J/r4rgvPCSv
6EVzFLCZOVewtmeV+/pnltzQgbj42/MRNC5wfJjPasAEn7Ctj0PgnzNA9LYy
m4vkrS2Lc4BiRc5dkI31my6T51LxMswZjKecy9yiCDUoUW7cD15PMvyoq27G
+JpeNbrrCvl6Sxfx7S4IjvgnP1Xko2qSi17GoYxJzxwAZJ0LwNUSzvhlQnab
fEswyO1af3uWUmTGWUKML8jGYSyLnjNa43t2DmEKG5o4yWaXFx0UcUiUdk4v
gLxHZvUxuNVIb862aoP4gXUC4V508Vu8nnfXx7BuAYXSN0w+Yh2XYU/2T4gL
Ikqo2ASi3kZoMRoxjX0S/kSn0OdrJkJCkI0fJmYxoBrULqDPu/EslKSX8IGZ
MN9jGPNrr6G7US25aPPWM1MH4Ikmb0M8/wsmiU60yfQz7bFqxzmIUgoetwHS
gKSJnu7DyovrGkPTD4nc8yCuFohcIqtD47hh1NLgpQbikGhEIpa//W5A9ikL
ZO/ke3EMVT+2wWRikQv9QLBx8hkXazEq3ko5KNXK+m+CtJr0Ae56xKPZUu+R
4gFZyqO+P5bHk51j2V63n+M0bAxQpjTB7j3YV7oToezbJwhELVXATNfVwB8g
PixgthHIkFhbPM606qBW48XVVJ+QxV61prUgEp0Sni7oy22yMtaoso5sdGjn
cCtC
=QqbH
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-09 21:15 Build RPMs from git Robert LeBlanc
@ 2015-06-10 10:03 ` Brad Hubbard
       [not found]   ` <CAANLjFrgBDiVsRRUEfE3yvzieR7+4a0EBxxG8s9+buXi0T6HZg@mail.gmail.com>
  2015-06-10 14:30 ` Ken Dreyer
  2015-06-18 13:44 ` Owen Synge
  2 siblings, 1 reply; 9+ messages in thread
From: Brad Hubbard @ 2015-06-10 10:03 UTC (permalink / raw)
  To: Robert LeBlanc, ceph-devel

On 06/10/2015 07:15 AM, Robert LeBlanc wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> OK, easy question...
>
> Building Debian packages from git is wonderfully easy, RPMs seem ....
> not so easy.
>
> I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).
>
> mkdir -p ~/ceph && pushd ~/ceph
> git clone https://github.com/ceph/ceph.git
> ./autogen.sh
> ./configure
> echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
> +++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
> @@ -464,12 +464,14 @@
>   # common
>   #################################################################################
>   %prep
> - -%setup -q
> +#%setup -q
> +cd %{buildroot}
>   %if 0%{?fedora} || 0%{?rhel}
>   %patch0 -p1 -b .init
>   %endif
>
>   %build
> +cd %{buildroot}
>   # Find jni.h
>   for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
>       [ -d $i ] && java_inc="$java_inc -I$i"" | patch
> rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'
>
> It coughs at the install/RPM package part.
>
> Any help with preventing the whole tar/untar process which I can't
> seem to get exactly right either would be very helpful.

On F20 the instructions in doc/install/build-ceph.rst worked fine for me with one extra step.

$ wget -P ~/rpmbuild/SOURCES/ http://ceph.com/download/ceph-9.0.0.tar.bz2
$ tar --strip-components=1 -C ~/rpmbuild/SPECS/ --no-anchored -xvjf ~/rpmbuild/SOURCES/ceph-9.0.0.tar.bz2 "ceph.spec"

$ cp rpm/init-ceph.in-fedora.patch ~/rpmbuild/SOURCES/

$ rpmbuild -ba ~/rpmbuild/SPECS/ceph.spec

$ ls ~/rpmbuild/RPMS/x86_64/
ceph-9.0.0-0.fc20.x86_64.rpm               ceph-fuse-9.0.0-0.fc20.x86_64.rpm         libcephfs1-devel-9.0.0-0.fc20.x86_64.rpm      libradosstriper1-9.0.0-0.fc20.x86_64.rpm        python-cephfs-9.0.0-0.fc20.x86_64.rpm
ceph-common-9.0.0-0.fc20.x86_64.rpm        ceph-libs-compat-9.0.0-0.fc20.x86_64.rpm  libcephfs_jni1-9.0.0-0.fc20.x86_64.rpm        libradosstriper1-devel-9.0.0-0.fc20.x86_64.rpm  python-rados-9.0.0-0.fc20.x86_64.rpm
ceph-debuginfo-9.0.0-0.fc20.x86_64.rpm     ceph-radosgw-9.0.0-0.fc20.x86_64.rpm      libcephfs_jni1-devel-9.0.0-0.fc20.x86_64.rpm  librbd1-9.0.0-0.fc20.x86_64.rpm                 python-rbd-9.0.0-0.fc20.x86_64.rpm
ceph-devel-compat-9.0.0-0.fc20.x86_64.rpm  ceph-test-9.0.0-0.fc20.x86_64.rpm         librados2-9.0.0-0.fc20.x86_64.rpm             librbd1-devel-9.0.0-0.fc20.x86_64.rpm           rbd-fuse-9.0.0-0.fc20.x86_64.rpm
cephfs-java-9.0.0-0.fc20.x86_64.rpm        libcephfs1-9.0.0-0.fc20.x86_64.rpm        librados2-devel-9.0.0-0.fc20.x86_64.rpm       python-ceph-compat-9.0.0-0.fc20.x86_64.rpm      rest-bench-9.0.0-0.fc20.x86_64.rpm

What OS are you using and what problems do you face following the above steps?

Cheers,
Brad

>
> Thanks,
>
> - ----------------
> Robert LeBlanc
> GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
> -----BEGIN PGP SIGNATURE-----
> Version: Mailvelope v0.13.1
> Comment: https://www.mailvelope.com
>
> wsFcBAEBCAAQBQJVd1diCRDmVDuy+mK58QAAlMQP/AlbiMj72J/r4rgvPCSv
> 6EVzFLCZOVewtmeV+/pnltzQgbj42/MRNC5wfJjPasAEn7Ctj0PgnzNA9LYy
> m4vkrS2Lc4BiRc5dkI31my6T51LxMswZjKecy9yiCDUoUW7cD15PMvyoq27G
> +JpeNbrrCvl6Sxfx7S4IjvgnP1Xko2qSi17GoYxJzxwAZJ0LwNUSzvhlQnab
> fEswyO1af3uWUmTGWUKML8jGYSyLnjNa43t2DmEKG5o4yWaXFx0UcUiUdk4v
> gLxHZvUxuNVIb862aoP4gXUC4V508Vu8nnfXx7BuAYXSN0w+Yh2XYU/2T4gL
> Ikqo2ASi3kZoMRoxjX0S/kSn0OdrJkJCkI0fJmYxoBrULqDPu/EslKSX8IGZ
> MN9jGPNrr6G7US25aPPWM1MH4Ikmb0M8/wsmiU60yfQz7bFqxzmIUgoetwHS
> gKSJnu7DyovrGkPTD4nc8yCuFohcIqtD47hh1NLgpQbikGhEIpa//W5A9ikL
> ZO/ke3EMVT+2wWRikQv9QLBx8hkXazEq3ko5KNXK+m+CtJr0Ae56xKPZUu+R
> 4gFZyqO+P5bHk51j2V63n+M0bAxQpjTB7j3YV7oToezbJwhELVXATNfVwB8g
> PixgthHIkFhbPM606qBW48XVVJ+QxV61prUgEp0Sni7oy22yMtaoso5sdGjn
> cCtC
> =QqbH
> -----END PGP SIGNATURE-----
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-09 21:15 Build RPMs from git Robert LeBlanc
  2015-06-10 10:03 ` Brad Hubbard
@ 2015-06-10 14:30 ` Ken Dreyer
  2015-06-10 15:44   ` Robert LeBlanc
  2015-06-18 13:44 ` Owen Synge
  2 siblings, 1 reply; 9+ messages in thread
From: Ken Dreyer @ 2015-06-10 14:30 UTC (permalink / raw)
  To: Robert LeBlanc; +Cc: ceph-devel

Here's how I do it.

1. Git clone

2. ./do_autogen.sh

3. ./configure --without-radosgw --without-fuse --without-tcmalloc --without-libatomic-ops --without-libxfs 

4. # The "configure" step above creates a ceph.spec with the proper version number, which you can then copy:
   cp ceph.spec ~/rpmbuild/SPECS/

5. # The "configure" step above also creates a Makefile, so you can run "make dist-bzip2" to get a properly-versioned tarball:
   make dist-bzip2

6. # Now move the tarball in to place, along with the .patch file:
   rm ~/rpmbuild/SOURCES/*
   mv *.bz2 ~/rpmbuild/SOURCES/
   cp rpm/*.patch ~/rpmbuild/SOURCES/

7. # Build a source RPM:
   rpmbuild -bs ~/rpmbuild/SPECS/ceph.spec

8. # Lastly, rebuild that SRPM in mock:
   mock -r epel-7-x86_64 rebuild ~/rpmbuild/SRPMS/ceph-....src.rpm


This whole process needs to be improved :) We're moving towards getting rid of the ./configure operation in step #3 since that is only done in order to figure out the right version number for steps #4 and #5.

Also, the .patch file in step #6 could be implemented in some other way. We could use sed during %prep to make the changes, which would avoid using a .patch file. Or, since src/init-ceph.in is an autoconf template anyway, we could conditionalize this with autoconf to print "Default-Start: 2 3 4 5" and "Default-Stop: 0 1 6" on Debian, and leave the values blank on Red Hat.

- Ken



----- Original Message -----
> From: "Robert LeBlanc" <robert@leblancnet.us>
> To: "ceph-devel" <ceph-devel@vger.kernel.org>
> Sent: Tuesday, June 9, 2015 3:15:17 PM
> Subject: Build RPMs from git
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> OK, easy question...
> 
> Building Debian packages from git is wonderfully easy, RPMs seem ....
> not so easy.
> 
> I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).
> 
> mkdir -p ~/ceph && pushd ~/ceph
> git clone https://github.com/ceph/ceph.git
> ./autogen.sh
> ./configure
> echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
> +++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
> @@ -464,12 +464,14 @@
>  # common
>  #################################################################################
>  %prep
> - -%setup -q
> +#%setup -q
> +cd %{buildroot}
>  %if 0%{?fedora} || 0%{?rhel}
>  %patch0 -p1 -b .init
>  %endif
> 
>  %build
> +cd %{buildroot}
>  # Find jni.h
>  for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
>      [ -d $i ] && java_inc="$java_inc -I$i"" | patch
> rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'
> 
> It coughs at the install/RPM package part.
> 
> Any help with preventing the whole tar/untar process which I can't
> seem to get exactly right either would be very helpful.
> 
> Thanks,
> 
> - ----------------
> Robert LeBlanc
> GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
> -----BEGIN PGP SIGNATURE-----
> Version: Mailvelope v0.13.1
> Comment: https://www.mailvelope.com
> 
> wsFcBAEBCAAQBQJVd1diCRDmVDuy+mK58QAAlMQP/AlbiMj72J/r4rgvPCSv
> 6EVzFLCZOVewtmeV+/pnltzQgbj42/MRNC5wfJjPasAEn7Ctj0PgnzNA9LYy
> m4vkrS2Lc4BiRc5dkI31my6T51LxMswZjKecy9yiCDUoUW7cD15PMvyoq27G
> +JpeNbrrCvl6Sxfx7S4IjvgnP1Xko2qSi17GoYxJzxwAZJ0LwNUSzvhlQnab
> fEswyO1af3uWUmTGWUKML8jGYSyLnjNa43t2DmEKG5o4yWaXFx0UcUiUdk4v
> gLxHZvUxuNVIb862aoP4gXUC4V508Vu8nnfXx7BuAYXSN0w+Yh2XYU/2T4gL
> Ikqo2ASi3kZoMRoxjX0S/kSn0OdrJkJCkI0fJmYxoBrULqDPu/EslKSX8IGZ
> MN9jGPNrr6G7US25aPPWM1MH4Ikmb0M8/wsmiU60yfQz7bFqxzmIUgoetwHS
> gKSJnu7DyovrGkPTD4nc8yCuFohcIqtD47hh1NLgpQbikGhEIpa//W5A9ikL
> ZO/ke3EMVT+2wWRikQv9QLBx8hkXazEq3ko5KNXK+m+CtJr0Ae56xKPZUu+R
> 4gFZyqO+P5bHk51j2V63n+M0bAxQpjTB7j3YV7oToezbJwhELVXATNfVwB8g
> PixgthHIkFhbPM606qBW48XVVJ+QxV61prUgEp0Sni7oy22yMtaoso5sdGjn
> cCtC
> =QqbH
> -----END PGP SIGNATURE-----
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Fwd: Build RPMs from git
       [not found]   ` <CAANLjFrgBDiVsRRUEfE3yvzieR7+4a0EBxxG8s9+buXi0T6HZg@mail.gmail.com>
@ 2015-06-10 15:37     ` Robert LeBlanc
  0 siblings, 0 replies; 9+ messages in thread
From: Robert LeBlanc @ 2015-06-10 15:37 UTC (permalink / raw)
  To: ceph-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Brad,

I've been able to do this just fine. I'm looking for a way to build
right out of a git branch where the tarball isn't on the downloads
page.

- ----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1

On Wed, Jun 10, 2015 at 4:03 AM, Brad Hubbard  wrote:
On 06/10/2015 07:15 AM, Robert LeBlanc wrote:
- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

OK, easy question...

Building Debian packages from git is wonderfully easy, RPMs seem ....
not so easy.

I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).

mkdir -p ~/ceph && pushd ~/ceph
git clone https://github.com/ceph/ceph.git
./autogen.sh
./configure
echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
+++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
@@ -464,12 +464,14 @@
  # common
  #################################################################################
  %prep
- - -%setup -q
+#%setup -q
+cd %{buildroot}
  %if 0%{?fedora} || 0%{?rhel}
  %patch0 -p1 -b .init
  %endif

  %build
+cd %{buildroot}
  # Find jni.h
  for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
      [ -d $i ] && java_inc="$java_inc -I$i"" | patch
rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'

It coughs at the install/RPM package part.

Any help with preventing the whole tar/untar process which I can't
seem to get exactly right either would be very helpful.

On F20 the instructions in doc/install/build-ceph.rst worked fine for
me with one extra step.

$ wget -P ~/rpmbuild/SOURCES/ http://ceph.com/download/ceph-9.0.0.tar.bz2
$ tar --strip-components=1 -C ~/rpmbuild/SPECS/ --no-anchored -xvjf
~/rpmbuild/SOURCES/ceph-9.0.0.tar.bz2 "ceph.spec"

$ cp rpm/init-ceph.in-fedora.patch ~/rpmbuild/SOURCES/

$ rpmbuild -ba ~/rpmbuild/SPECS/ceph.spec

$ ls ~/rpmbuild/RPMS/x86_64/
ceph-9.0.0-0.fc20.x86_64.rpm
ceph-fuse-9.0.0-0.fc20.x86_64.rpm
libcephfs1-devel-9.0.0-0.fc20.x86_64.rpm
libradosstriper1-9.0.0-0.fc20.x86_64.rpm
python-cephfs-9.0.0-0.fc20.x86_64.rpm
ceph-common-9.0.0-0.fc20.x86_64.rpm
ceph-libs-compat-9.0.0-0.fc20.x86_64.rpm
libcephfs_jni1-9.0.0-0.fc20.x86_64.rpm
libradosstriper1-devel-9.0.0-0.fc20.x86_64.rpm
python-rados-9.0.0-0.fc20.x86_64.rpm
ceph-debuginfo-9.0.0-0.fc20.x86_64.rpm
ceph-radosgw-9.0.0-0.fc20.x86_64.rpm
libcephfs_jni1-devel-9.0.0-0.fc20.x86_64.rpm
librbd1-9.0.0-0.fc20.x86_64.rpm
python-rbd-9.0.0-0.fc20.x86_64.rpm
ceph-devel-compat-9.0.0-0.fc20.x86_64.rpm
ceph-test-9.0.0-0.fc20.x86_64.rpm
librados2-9.0.0-0.fc20.x86_64.rpm
librbd1-devel-9.0.0-0.fc20.x86_64.rpm
rbd-fuse-9.0.0-0.fc20.x86_64.rpm
cephfs-java-9.0.0-0.fc20.x86_64.rpm
libcephfs1-9.0.0-0.fc20.x86_64.rpm
librados2-devel-9.0.0-0.fc20.x86_64.rpm
python-ceph-compat-9.0.0-0.fc20.x86_64.rpm
rest-bench-9.0.0-0.fc20.x86_
64.rpm

What OS are you using and what problems do you face following the above steps?

Cheers,
Brad


Thanks,

- - ----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
- -----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVd1diCRDmVDuy+mK58QAAlMQP/AlbiMj72J/r4rgvPCSv
6EVzFLCZOVewtmeV+/pnltzQgbj42/MRNC5wfJjPasAEn7Ctj0PgnzNA9LYy
m4vkrS2Lc4BiRc5dkI31my6T51LxMswZjKecy9yiCDUoUW7cD15PMvyoq27G
+JpeNbrrCvl6Sxfx7S4IjvgnP1Xko2qSi17GoYxJzxwAZJ0LwNUSzvhlQnab
fEswyO1af3uWUmTGWUKML8jGYSyLnjNa43t2DmEKG5o4yWaXFx0UcUiUdk4v
gLxHZvUxuNVIb862aoP4gXUC4V508Vu8nnfXx7BuAYXSN0w+Yh2XYU/2T4gL
Ikqo2ASi3kZoMRoxjX0S/kSn0OdrJkJCkI0fJmYxoBrULqDPu/EslKSX8IGZ
MN9jGPNrr6G7US25aPPWM1MH4Ikmb0M8/wsmiU60yfQz7bFqxzmIUgoetwHS
gKSJnu7DyovrGkPTD4nc8yCuFohcIqtD47hh1NLgpQbikGhEIpa//W5A9ikL
ZO/ke3EMVT+2wWRikQv9QLBx8hkXazEq3ko5KNXK+m+CtJr0Ae56xKPZUu+R
4gFZyqO+P5bHk51j2V63n+M0bAxQpjTB7j3YV7oToezbJwhELVXATNfVwB8g
PixgthHIkFhbPM606qBW48XVVJ+QxV61prUgEp0Sni7oy22yMtaoso5sdGjn
cCtC
=QqbH
- -----END PGP SIGNATURE-----
- --
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVeFl4CRDmVDuy+mK58QAAzYMP/1ImmG3tRbS0dh+2bwkm
wFfJSqtDbGOwqG+gumrRnbYBXUP48LBgywfWC4ekpe2j83EX39C0YW5tWBZa
timz7cv9gXn7lqTfpDybRQ0aVCT52EmgJcnxyPLJwc2GNVAZBbHs3SnzmMR2
cEfMqz+oF0qwXwyPBFfKtdd9Caw60QB5AyLGub3o0D6g5kvrs9XQHFpPTP5A
bvDeBoCp9gu429Qw6g22OJTzlSjDyzd4VmZ16QpweQ9ChD606om4oJ4Am+6R
q9MoH7RJITvRsWJVZPj9nAZwa2Y5bpKlBghn23lcAGUdidi/c71V7ww3mlDu
M+P09WfjokIBklLQdjBjdbnOGJcSYS15IPoMpFP2HQKD74xchWL581ywN5M7
r3MN3Z9d+Ez7r4D7wyjoP0Z7mMTZvchehL2Wf+UH4pnyX7LLi+FiQpRfr6L4
1PdWRBF/x1BQPMeCnw3qrWsNGPuahgFlDdl6ao4eS8qFD4qVGeywtU2PqfQf
PYlx6+AdxOvRim3AH8zvA+Qp2Z2StTRZRTFAo6by/kgq81u3cx2WSlAPUWFP
VOdU+/axOj5hpEmbeEOo6kHKlyDynon0FlSuF8HXQvdwaAarCPLGUv08vYwd
MbXMsZfan+wFnXmWvsy+swKD4J8T74YaF6Tfui9xOazIsaqTxHO00dE3rkvI
/gG1
=N/Hh
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-10 14:30 ` Ken Dreyer
@ 2015-06-10 15:44   ` Robert LeBlanc
  2015-06-10 17:22     ` Ken Dreyer
  0 siblings, 1 reply; 9+ messages in thread
From: Robert LeBlanc @ 2015-06-10 15:44 UTC (permalink / raw)
  To: Ken Dreyer; +Cc: ceph-devel

On Wed, Jun 10, 2015 at 8:30 AM, Ken Dreyer <kdreyer@redhat.com> wrote:
> Here's how I do it.
>
> 1. Git clone
>
> 2. ./do_autogen.sh
>
> 3. ./configure --without-radosgw --without-fuse --without-tcmalloc --without-libatomic-ops --without-libxfs
>
> 4. # The "configure" step above creates a ceph.spec with the proper version number, which you can then copy:
>    cp ceph.spec ~/rpmbuild/SPECS/
>
> 5. # The "configure" step above also creates a Makefile, so you can run "make dist-bzip2" to get a properly-versioned tarball:
>    make dist-bzip2

This is really helpful, I was able to figure out what was needed in a
tarball manually, but this is what I was really looking for to create
the tarball.

Is there anyway to skip this step like in the deb build for really
fast builds? I guess if I don't have retar a dozen times to tweak
something every time because I forgot to add something to the tarball,
it won't be so bad...

> 6. # Now move the tarball in to place, along with the .patch file:
>    rm ~/rpmbuild/SOURCES/*
>    mv *.bz2 ~/rpmbuild/SOURCES/
>    cp rpm/*.patch ~/rpmbuild/SOURCES/
>
> 7. # Build a source RPM:
>    rpmbuild -bs ~/rpmbuild/SPECS/ceph.spec
>
> 8. # Lastly, rebuild that SRPM in mock:
>    mock -r epel-7-x86_64 rebuild ~/rpmbuild/SRPMS/ceph-....src.rpm
>
>
> This whole process needs to be improved :) We're moving towards getting rid of the ./configure operation in step #3 since that is only done in order to figure out the right version number for steps #4 and #5.
>
> Also, the .patch file in step #6 could be implemented in some other way. We could use sed during %prep to make the changes, which would avoid using a .patch file. Or, since src/init-ceph.in is an autoconf template anyway, we could conditionalize this with autoconf to print "Default-Start: 2 3 4 5" and "Default-Stop: 0 1 6" on Debian, and leave the values blank on Red Hat.

----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-10 15:44   ` Robert LeBlanc
@ 2015-06-10 17:22     ` Ken Dreyer
  2015-06-10 19:38       ` Robert LeBlanc
  0 siblings, 1 reply; 9+ messages in thread
From: Ken Dreyer @ 2015-06-10 17:22 UTC (permalink / raw)
  To: Robert LeBlanc; +Cc: ceph-devel

On 06/10/2015 09:44 AM, Robert LeBlanc wrote:
> This is really helpful, I was able to figure out what was needed in a
> tarball manually, but this is what I was really looking for to create
> the tarball.
> 
> Is there anyway to skip this step like in the deb build for really
> fast builds? I guess if I don't have retar a dozen times to tweak
> something every time because I forgot to add something to the tarball,
> it won't be so bad...

There is a "make_dist.sh" script on master that is going to eventually
replace this "make dist-bzip2" step. It still requires you to repack a
whole new tarball, though.

Sorry I'm not very familiar with the way that the Debian builds straight
out of Git work. Reading through ceph-build.git and autobuild-ceph.git,
it's not using git-buildpackage. How are you doing it?

- Ken

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-10 17:22     ` Ken Dreyer
@ 2015-06-10 19:38       ` Robert LeBlanc
  0 siblings, 0 replies; 9+ messages in thread
From: Robert LeBlanc @ 2015-06-10 19:38 UTC (permalink / raw)
  To: Ken Dreyer; +Cc: ceph-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

They are using the rules file in /debian. Debian doesn't have the
requirement to be built in a specific location (i.e.
rpmbuild/{BUILD|BUILDROOT|etc) so you can build a Debian package right
out of any directory. In fact most of the time, I untar (or install
the source package) into a directory, make my changes/patch and then
build from the directory. I think you can tell Debian to build from a
tarball, but I've not done it that way. The two have very different
approaches. I do like the Debian method because I can run make
manually, get all the binaries just right and then tell Debian to
build the package with dpkg-buildpackage and it is only a matter of
packaging up what was already compiled, no need to recompile again.
Any small changes to code only required the dependent files to be
re-compiled with make if I'm tweaking things.

I like aspects of both, but it seems so much more time consuming on
rpms when debugging packaging.
-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVeJIvCRDmVDuy+mK58QAAA28P/iY+eOgg2ZEcoFIaUV3M
e7h1h7ELnGXNuihEO3rqKsCBmCyFRqQrFyX95ZWKUzSsCDVN/DKjr1+JzqTp
5jIn6PS3nr6NMhG/c0su/Y+LUlKt1nQsz3aL6/VbshmbaNIGJ+M8PBlEZs9r
QM7ist1lUu8LekriciZMHnO3W7GK5FN0lz1iZZ5XWj6M+xvbjBVg6r6PBnmk
l28bRF1ejSUJ71LmITccPtID8/HynBNem411ZPQOtw8wHAufW7Qgx7gv8ZNh
HaK2YrmGM2OSh3nPcTZkqoK5PJijakL5EoUA6x1JeGWpa44udXwz2DAbPizO
i003vnAlg1k8DSIg13qOxwl67aPV8ku0HFL0j6oi18jRt1viEqQikEWr8Ng2
3Wvr7dGGl17MzPxMSl/O6WEdVpnGrJoRjaMKFaugClVHgvhGC57wOWmU55XB
W5Xa5OFCcbRPuZ0yUalPIXouEeZclY0DJCbhMIYodpLKBCOxAF6Au+XXYNx7
naj7ii/CYOg3xB9w6pS2eHX//QtCRxmXtu3o9qQYwGaPhKrAOPDZIsDBSqrT
kUhXWMaBpETpqpgB5ZAzl2KygPlgIwoz+vLkMmcOqghSF5z/PytLGv8jCXxv
Rx6DfsdHfSN5ji4poAlpExwvRmwbdBSr16kVhPU07DdODdmlK8nF64g8U4yY
WItD
=sGNI
-----END PGP SIGNATURE-----

----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


On Wed, Jun 10, 2015 at 11:22 AM, Ken Dreyer <kdreyer@redhat.com> wrote:
> On 06/10/2015 09:44 AM, Robert LeBlanc wrote:
>> This is really helpful, I was able to figure out what was needed in a
>> tarball manually, but this is what I was really looking for to create
>> the tarball.
>>
>> Is there anyway to skip this step like in the deb build for really
>> fast builds? I guess if I don't have retar a dozen times to tweak
>> something every time because I forgot to add something to the tarball,
>> it won't be so bad...
>
> There is a "make_dist.sh" script on master that is going to eventually
> replace this "make dist-bzip2" step. It still requires you to repack a
> whole new tarball, though.
>
> Sorry I'm not very familiar with the way that the Debian builds straight
> out of Git work. Reading through ceph-build.git and autobuild-ceph.git,
> it's not using git-buildpackage. How are you doing it?
>
> - Ken

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-09 21:15 Build RPMs from git Robert LeBlanc
  2015-06-10 10:03 ` Brad Hubbard
  2015-06-10 14:30 ` Ken Dreyer
@ 2015-06-18 13:44 ` Owen Synge
  2015-06-18 20:35   ` Robert LeBlanc
  2 siblings, 1 reply; 9+ messages in thread
From: Owen Synge @ 2015-06-18 13:44 UTC (permalink / raw)
  To: Robert LeBlanc, ceph-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Robert,

I have a pull request open for exactly this use case.

    https://github.com/ceph/ceph/pull/4911

I find it particularly useful for debugging spec file issues when
running on other operating systems than suse.

The pull request gives two new "make' targets.

    make srpm
    make rpm

I hope this helps.

(1) merge this pull request to make it all work.

(2) sh autogen.sh

(3) ./configure

(4) make rpm

Your done :)

best regards

Owen

On 06/09/2015 11:15 PM, Robert LeBlanc wrote:
> OK, easy question...
> 
> Building Debian packages from git is wonderfully easy, RPMs seem ....
> not so easy.
> 
> I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).
> 
> mkdir -p ~/ceph && pushd ~/ceph
> git clone https://github.com/ceph/ceph.git
> ./autogen.sh
> ./configure
> echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
> +++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
> @@ -464,12 +464,14 @@
>  # common
>  #################################################################################
>  %prep
> -%setup -q
> +#%setup -q
> +cd %{buildroot}
>  %if 0%{?fedora} || 0%{?rhel}
>  %patch0 -p1 -b .init
>  %endif
> 
>  %build
> +cd %{buildroot}
>  # Find jni.h
>  for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
>      [ -d $i ] && java_inc="$java_inc -I$i"" | patch
> rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'
> 
> It coughs at the install/RPM package part.
> 
> Any help with preventing the whole tar/untar process which I can't
> seem to get exactly right either would be very helpful.
> 
> Thanks,
> 
> ----------------
> Robert LeBlanc
> GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

- -- 
SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB
21284 (AG
Nürnberg)

Maxfeldstraße 5

90409 Nürnberg

Germany
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJVgstEAAoJECe/2BuiZiboGrAH/jqGIE5yGAgrSIRGJ+TonzjY
vUNTQz9wR0P1MUWPV3WeEQaX5tiUPGJZ9i7DkLq+sUiOojHDda37sePm1vx68uiO
C1+Ea8FN7Rw4L+M2eqQbwNbOfLjLakxotudZxMWuUhm9NDKF218BLUZpyFJJfJYK
sBm4GEWp++r3cOXtzMJck4Pet4KIrr34vhS+6SyUo5inivJzw0SApF4ro2Zz13m7
WzfyxJDf83VbQvZ0jgucZZz44lBD5804lEGOBXVX6fzFI2Mr7UhL+jJqCIJ2rzOr
94zSz4vpP1Sv2dbgGXEDRJtMZZay7shPQ4hpiPwZTtdgBYPC5h6kLZUestowUfA=
=qfrD
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Build RPMs from git
  2015-06-18 13:44 ` Owen Synge
@ 2015-06-18 20:35   ` Robert LeBlanc
  0 siblings, 0 replies; 9+ messages in thread
From: Robert LeBlanc @ 2015-06-18 20:35 UTC (permalink / raw)
  To: Owen Synge; +Cc: ceph-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Cool, I'll have to give it a shot.
- ----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


On Thu, Jun 18, 2015 at 7:44 AM, Owen Synge  wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Robert,
>
> I have a pull request open for exactly this use case.
>
>     https://github.com/ceph/ceph/pull/4911
>
> I find it particularly useful for debugging spec file issues when
> running on other operating systems than suse.
>
> The pull request gives two new "make' targets.
>
>     make srpm
>     make rpm
>
> I hope this helps.
>
> (1) merge this pull request to make it all work.
>
> (2) sh autogen.sh
>
> (3) ./configure
>
> (4) make rpm
>
> Your done :)
>
> best regards
>
> Owen
>
> On 06/09/2015 11:15 PM, Robert LeBlanc wrote:
>> OK, easy question...
>>
>> Building Debian packages from git is wonderfully easy, RPMs seem ....
>> not so easy.
>>
>> I got it to kind of work, but I feel like I'm doing it the "Hard Way" (tm).
>>
>> mkdir -p ~/ceph && pushd ~/ceph
>> git clone https://github.com/ceph/ceph.git
>> ./autogen.sh
>> ./configure
>> echo "--- /root/ceph/ceph/ceph.spec   2015-06-09 13:03:08.240099443 -0600
>> +++ /root/rpmbuild/SPECS/ceph.spec      2015-06-09 13:12:54.145061355 -0600
>> @@ -464,12 +464,14 @@
>>  # common
>>  #################################################################################
>>  %prep
>> -%setup -q
>> +#%setup -q
>> +cd %{buildroot}
>>  %if 0%{?fedora} || 0%{?rhel}
>>  %patch0 -p1 -b .init
>>  %endif
>>
>>  %build
>> +cd %{buildroot}
>>  # Find jni.h
>>  for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
>>      [ -d $i ] && java_inc="$java_inc -I$i"" | patch
>> rpmbuild -ba ceph.spec --define 'buildroot `pwd/ceph`'
>>
>> It coughs at the install/RPM package part.
>>
>> Any help with preventing the whole tar/untar process which I can't
>> seem to get exactly right either would be very helpful.
>>
>> Thanks,
>>
>> ----------------
>> Robert LeBlanc
>> GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
> - --
> SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB
> 21284 (AG
> Nürnberg)
>
> Maxfeldstraße 5
>
> 90409 Nürnberg
>
> Germany
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iQEcBAEBAgAGBQJVgstEAAoJECe/2BuiZiboGrAH/jqGIE5yGAgrSIRGJ+TonzjY
> vUNTQz9wR0P1MUWPV3WeEQaX5tiUPGJZ9i7DkLq+sUiOojHDda37sePm1vx68uiO
> C1+Ea8FN7Rw4L+M2eqQbwNbOfLjLakxotudZxMWuUhm9NDKF218BLUZpyFJJfJYK
> sBm4GEWp++r3cOXtzMJck4Pet4KIrr34vhS+6SyUo5inivJzw0SApF4ro2Zz13m7
> WzfyxJDf83VbQvZ0jgucZZz44lBD5804lEGOBXVX6fzFI2Mr7UhL+jJqCIJ2rzOr
> 94zSz4vpP1Sv2dbgGXEDRJtMZZay7shPQ4hpiPwZTtdgBYPC5h6kLZUestowUfA=
> =qfrD
> -----END PGP SIGNATURE-----

-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVgyuWCRDmVDuy+mK58QAAHsYP/iPPBhIYnaFcMVFQpkzB
S8yNoprV7JdDwJgAKw2UzP/s5Rhy4Cq0yCGYCg6b2CsSOAomw2kVWtZeUtYG
tQo+2d8MMAWR7Y2+2FkhLNzWIQbp6SorhLRJ7aJxzsFzmcs8tOCpK8vyoQhE
AQOvTLViO1wQCRm7iHVL8iLgaNCnCAOxW0lWd3QNgPREu9Qs1n/7NZiS//Jb
QohJI9qdEEJ46rgMBU9mqr7qjV9AgvvUa2NubZ8A+Oz5d2y1lOGOtcDimm7w
qjLhGgo4K5lVBe+Q0md0jObo4ZrGgaRJeQt35bCnESUBlH3QtZjdTKRDmB7s
1uZVD9z600ME73QmeuKfqgW/4Vqu2L5ul10omh5dR+PlIKy8fosGmkd+zt6c
v/QuRRNZy0eW9bFbNvcuDZ0vNJTW12Rw9UoR12LQllby1NVuyOztmYimuCw/
kGR4IIOCRDPc3OCQtc+NjPqntNrAZo5uCgEhbCQpLFnOXWFhVFBu+LtV7tYN
/dV5F/o2wkmikQzbSpgE4hxC1I/48oIpFrvfDqpMNB6k/WAfNfk6lMIARPYT
qvLpdOjlosEUp+kpm1lVOTdtaNEIsmEsVQa8o2WLcQ0xDZg1XPZ6588LtHZG
xP6821hmQEF6YRoduOTOzuu6MdznIKGQZ3hkv6VITngdzhTGiQaUSgDaw3ew
xvK7
=yvyW
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-06-18 20:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-09 21:15 Build RPMs from git Robert LeBlanc
2015-06-10 10:03 ` Brad Hubbard
     [not found]   ` <CAANLjFrgBDiVsRRUEfE3yvzieR7+4a0EBxxG8s9+buXi0T6HZg@mail.gmail.com>
2015-06-10 15:37     ` Fwd: " Robert LeBlanc
2015-06-10 14:30 ` Ken Dreyer
2015-06-10 15:44   ` Robert LeBlanc
2015-06-10 17:22     ` Ken Dreyer
2015-06-10 19:38       ` Robert LeBlanc
2015-06-18 13:44 ` Owen Synge
2015-06-18 20:35   ` Robert LeBlanc

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.