Re: Configure dependencies can be the same as make dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux