All of lore.kernel.org
 help / color / mirror / Atom feed
From: Owen Synge <osynge@suse.com>
To: Sage Weil <sweil@redhat.com>, Loic Dachary <loic@dachary.org>
Cc: Ken Dreyer <kdreyer@redhat.com>,
	Ceph Development <ceph-devel@vger.kernel.org>
Subject: Re: Configure dependencies can be the same as make dependencies
Date: Tue, 09 Jun 2015 19:11:12 +0200	[thread overview]
Message-ID: <55771E30.8070308@suse.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1505051231040.13336@cobra.newdream.net>

Sorry to catch this thread late.

I come here via patch

https://github.com/ceph/ceph/pull/4911#issuecomment-110422312

I think you guys are missing that configure is doing some thing here.

(1) Configure is generating the spec file.
(2) It could also generate the deb files.

What no one has done is to:

(A) Use configure to eliminate the differences between OS's.

If any one had done (A) you would not be considering this I hope.

This impact is particularly felt in the ceph.spec.in file where because
of the lack of (A) in the process we are plagued with OS specific
conditionals.

If the path of say:

	src/ceph-osd-prestart.sh

is ether:

	/usr/libexec/ceph

or:

	/usr/lib/ceph


Is purely distribution specific.

Having conditionals in

	ceph.sepc.in

defeats the point of generating it via autotools.

we can be remove many hard coded values replaced with variable and that
probably will only grow in number for example

	%if 0%{?rhel} || 0%{?fedora}
		--with-systemd-libexec-dir=/usr/libexec/ceph \
	%endif
	%if 0%{?opensuse} || 0%{?suse_version}
		--with-systemd-libexec-dir=/usr/lib/ceph/ \
	%endif

some wont need distribution specific locations like:

	--with-systemd-unit-dir=%_unitdir

In the long term replaced all these path variables could be replaced by
single parameter.

	./configure --with-distro-defaults=redhat
	make rpm
	./configure --with-distro-defaults=suse
	make rpm
	./configure --with-distro-defaults=debian
	make deb
	./configure --with-distro-defaults=ubuntu
	make deb

Very easily.

In summary, please reconsider this decision as if you follow this policy
we are left with conditionals all over the ceph.spec.in file.


Best regards

Owen






On 05/05/2015 09:31 PM, Sage Weil wrote:
> On Tue, 5 May 2015, Loic Dachary wrote:
>>> I think the long-term solution to Kefu's issue is that we need to
>>> remove the requirement to run through a full "./configure" invocation
>>> just to get a tarball. All the RPM and Debian packages internally run
>>> ./configure, so running it a second time slows things down. I think it
>>> makes sense to implement the tarball-generation functionality using a
>>> simpler script at the root of the ceph.git tree. The operation should
>>> be about as fast as "git archive".
>>
>> I agree. It's going to be significant work but it's worth it.
> 
> Yep!
> 
>>> The "ceph.spec.in" -> "ceph.spec" suffers from a similar issue. It
>>> takes a full "./configure" run to get to a point where Make can write
>>> the proper version numbers into that file. Ideally we could skip all
>>> of that and simply do the variable interpolation with sed or something.
> 
> Yep!
> 
> sage
> --
> 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
--
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

  reply	other threads:[~2015-06-09 17:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-05  8:34 Configure dependencies can be the same as make dependencies Loic Dachary
2015-05-05 14:31 ` Gregory Farnum
2015-05-05 14:36   ` Loic Dachary
2015-05-05 18:59     ` Ken Dreyer
2015-05-05 19:07       ` Loic Dachary
2015-05-05 19:31         ` Sage Weil
2015-06-09 17:11           ` Owen Synge [this message]
2015-06-09 17:19             ` what this would look like if the system is with templates Owen Synge
2015-06-09 23:06               ` Ken Dreyer
2015-06-10 10:44                 ` Owen Synge
2015-06-09 17:22             ` Configure dependencies can be the same as make dependencies Sage Weil
2015-06-09 18:23               ` Owen Synge
2015-06-09 18:44                 ` Sage Weil
2015-06-09 19:23                   ` Owen Synge
2015-05-05 17:15   ` Kefu Chai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55771E30.8070308@suse.com \
    --to=osynge@suse.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=kdreyer@redhat.com \
    --cc=loic@dachary.org \
    --cc=sweil@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.