* 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.