On 5 December 2012 14:29, Felix Fietkau <n...@openwrt.org> wrote:
> On 2012-12-05 1:02 PM, Roman Yeryomin wrote:
>> On 4 December 2012 19:04, Felix Fietkau <n...@openwrt.org> wrote:
>>>
>>> On 2012-11-27 2:28 PM, Roman Yeryomin wrote:
>>> > On 20 November 2012 21:45, Roman Yeryomin <leroi.li...@gmail.com
>>> > <mailto:leroi.li...@gmail.com>> wrote:
>>> >
>>> >     When developing/debugging a package I would like to make
>>> >     change/compile/try cycle to be shorter.
>>> >     Of cause you can do something like:
>>> >     - edit/save the code
>>> >     - cd build_dir/target_something/package
>>> >     - make clean
>>> >     - rm -f .built*
>>> >     - cd -
>>> >     - make package/name/compile
>>> >
>>> >     but this looks and feels much nicer and shorter:
>>> >     - edit/save the code
>>> >     - make package/name/cleansrc
>>> >     - make package/name/compile
>>> >
>>> >
>>> > Use $(STAMP_BUILT) variable. Cleans some trailing spaces.
>>> On packages with reasonably sane build systems, there shouldn't be a
>>> need to run make clean for change/compile/try cycles, just use quilt and
>>> you won't need to remove the .built stamp (as every /compile call will
>>> trigger a configure+build).
>>
>> Using quilt looks to me as much longer way to go.
> If you run make package/<name>/compile QUILT=1, it will ensure that the
> build dir gets unpacked, a quilt patch stack is created, and from that
> point on, any call to make package/<name>/compile will ignore the
> .configured and the .built stamp and trigger an incremental build in the
> tree. The extra configure step can be avoided using NO_RECONFIGURE=1
> How is this a much longer way to go?
>
>>> I'm worried about this having a default implementation that might be
>>> incomplete or defunct for many packages that overwrite the Build/Compile
>>> template, and this codepath is not going to be tested by many people.
>>>
>>> Wouldn't it be better to have a default implementation that is
>>> reasonably safe by removing all object files, libraries, etc. from the
>>> build tree?
>>
>> Well, I think that if someone is doing his own Build/Compile target he
>> should take care of cleaning too.
>> Also, in my opinion, if source code has a Makefile and doesn't
>> implement clean target or it is implemented but breaks something then
>> something is wrong with the source, not build system, and it should be
>> fixed anyway.
> It's only natural for a codepath that rarely gets tested to break much
> more easily than a codepath that is frequently used.
> I think it's too much to ask all package maintainers to add something
> that almost nobody uses and that does not, in my opinion, provide much
> value - at least not enough to justify the costs.
>
>>> What packages do you have in mind where this could be useful?
>>> For me the need to use make clean is extremely rare. Almost all of the
>>> times where I needed to clean the source tree, recreating it from
>>> scratch was a better choice anyway, as 'make clean' is unreliable with
>>> many packages
>>
>> I mostly use it (together with this one
>> http://patchwork.openwrt.org/patch/2940/) for my own packages and find
>> these 2 patches extremely useful, especially when using
>> package-version-override.mk features.
>> But I know other people using it (actually both of them), e.g. for
>> net-snmp. And, even more, originally it was their question - "how do
>> we do that?".
> By the way, package-version-override.mk is another thing that I have
> strong doubts about. What's wrong with just editing a makefile for
> testing different versions?
>
> It seems to me that you're going to great lengths to try to avoid a
> simple well-established workflow in favor of something much more fragile.
>
> For me, 'people want this' is not a good enough reason.
> Anything added to the build system encourages people to use it, and I
> don't want to add 10 different ways of doing the same thing, this would
> only lead to more confusion in the long run.
>
> If you really want these patches merged, then please be more specific
> and convince me that they're useful and not just based on a
> misunderstanding of the existing quilt based workflow.
> I promise I'll keep an open mind.

Oook.. I thought you are talking about adding a new patch, didn't look
at OpenWrt meaning of quilt. Also NO_RECONFIGURE=1 is a good thing to
know of.
That eliminates the need for the second patch but not this one. How do
you test a clean make of package source with your local modifications
before actually releasing a patch?

Regards,
Roman
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to