Debian Bug report logs - #640874
leave: debian/rules is not a Makefile

version graph

Package: leave; Maintainer for leave is Josip Rodin <joy-packages@debian.org>; Source for leave is src:leave.

Reported by: Niels Thykier <niels@thykier.net>

Date: Thu, 8 Sep 2011 06:27:02 UTC

Severity: serious

Tags: patch

Fixed in version leave/1.12-2.1

Done: Sébastien Villemot <sebastien@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Josip Rodin <joy-packages@debian.org>:
Bug#640874; Package leave. (Thu, 08 Sep 2011 06:27:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Niels Thykier <niels@thykier.net>:
New Bug report received and forwarded. Copy sent to Josip Rodin <joy-packages@debian.org>. (Thu, 08 Sep 2011 06:27:05 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Niels Thykier <niels@thykier.net>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: leave: debian/rules is not a Makefile
Date: Thu, 08 Sep 2011 08:21:32 +0200
Package: leave
Severity: serious
Justification: Policy 4.9 - must directive
User: lint-maint@debian.org
Usertags: debian-rules-not-a-makefile debian-rules-missing-required-target debian-rules-missing-recommended-target

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

Hi

"""
4.9 Main building script: debian/rules

This file must be an executable makefile, and contains the package-specific
recipes for compiling the package and building binary package(s) from the
source.

It must start with the line #!/usr/bin/make -f, so that it can be invoked by
saying its name rather than invoking make explicitly. That is, invoking
either of make -f debian/rules args... or ./debian/rules args... must result
in identical behavior.
"""

~Niels

- -- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.0.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCAAGBQJOaF7oAAoJEAVLu599gGRCTI4QAKUNmrvvysBkw2DcFvTnKdKY
et+me0LbciOResbRrtuNpOrx6mjfROijF34nozoCgarABLkV0eYKmyNY7W4D4xRl
7iEzMSJir5nfa55UL7XF/n+kMZBoCb6S1oySi/tLdJwg5ffi776X6oWzmK2a/VZP
yjjSA1WWn3ZUXyZKQEKHQ6dyIN6d+4N5bZjXcn4Pty8Kr684ZRSdAbo56Xs4A/JM
booOhC+MJX8QIHY5p2YLc13lBc42IAv+Bve61MIaq1Eh8UxTbPYALMyB38lGOxQE
v+hrzNNdJxhvzBBgDM/TI72GRSCnTWMhNq+XbgsUwaRhtC/bL0kqTsemg4yyQ2IA
UP8WLwSihjT+v1+h7wa2UxwHLHz2Xz4EmzyInjyImGbZkZ3FqR++xjWLdqOPekkC
d3p+tXaiTd7DzbMx57ySwGS1N82Puf4N+HsD6gqVrdEJ1ZDNa8zqQHjP09gKT/Kd
G/y1XtVO8nwhShHCioDLD9ZUvCJNAnsir4vbOileEb9Evuc8odb+BnT4q4SrrPek
rKxj/5emDKUcin30DVKqrdmSLNzDSuJmN5SwOWeXEo3DzOAfZI1fJoMurYR18fhG
3L5EC6MZFnd2uizYMtUwA5Eg8gPGJrjVEw7Ly9D28Vixq5k4vb8AlaPqNCR8wgkn
ezdzcapjp2lWO5umJ01q
=684B
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, Josip Rodin <joy-packages@debian.org>:
Bug#640874; Package leave. (Thu, 08 Sep 2011 08:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Josip Rodin <joy-packages@debian.org>. (Thu, 08 Sep 2011 08:03:03 GMT) Full text and rfc822 format available.

Message #10 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Niels Thykier <niels@thykier.net>, 640874@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 09:59:40 +0200
reassign 640874 tech-ctte
thanks

On Thu, Sep 08, 2011 at 08:21:32AM +0200, Niels Thykier wrote:
> Package: leave
> Severity: serious
> Justification: Policy 4.9 - must directive
> User: lint-maint@debian.org
> Usertags: debian-rules-not-a-makefile debian-rules-missing-required-target debian-rules-missing-recommended-target

The policy wording was hardcoded like that basically because Manoj is overly
attached to make, we had long and unfruitful discussions about it (I forget
the bug number, search the archives), and no actual practical reason to
change this has ever been demonstrated.

Well, there's one - I can't upload a new version because Joerg decided some
time ago to be similarly anal, too.

It's all a big, silly exercise in stubbornness. It must be a makefile!
It doesn't matter if there's no practical purpose to it, it still must be!
It *must*!

It's the kind of stuff that makes me quite disillusioned with Debian...
Yes, you can say that silliness has infected me, too.

But if I've maintained this precedent this long, there's no point in giving
it up now :) I'm referring this to the technical committee, hopefully they
haven't turned into robots and have some good sense to leave leave be. (heh)

-- 
     2. That which causes joy or happiness.




Bug reassigned from package 'leave' to 'tech-ctte'. Request was from Josip Rodin <joy@debbugs.entuzijast.net> to control@bugs.debian.org. (Thu, 08 Sep 2011 08:03:05 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 09:48:20 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colin Watson <cjwatson@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 09:48:44 GMT) Full text and rfc822 format available.

Message #17 received at 640874@bugs.debian.org (full text, mbox):

From: Colin Watson <cjwatson@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>, 640874@bugs.debian.org
Cc: Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 10:43:44 +0100
On Thu, Sep 08, 2011 at 09:59:40AM +0200, Josip Rodin wrote:
> The policy wording was hardcoded like that basically because Manoj is overly
> attached to make, we had long and unfruitful discussions about it (I forget
> the bug number, search the archives), and no actual practical reason to
> change this has ever been demonstrated.
> 
> Well, there's one - I can't upload a new version because Joerg decided some
> time ago to be similarly anal, too.
> 
> It's all a big, silly exercise in stubbornness. It must be a makefile!
> It doesn't matter if there's no practical purpose to it, it still must be!
> It *must*!

I understand the inertial argument here; it feels bad to have to change
without a clear reason being given to you.

On the other hand, at this point there is also inertia attached to the
fact that every single other package in Debian (according to
http://lintian.debian.org/tags/debian-rules-not-a-makefile.html) has
debian/rules as a Makefile.  Would you mind explaining here why you feel
it is important to retain the flexibility of multiple implementation
languages for debian/rules?

I can provide a concrete practical reason for requiring make as the
implementation language: at least one, probably two, of the options for
build-arch handling
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629385#93) require
debian/rules to be a Makefile.  The leave package might be able to get
away with a little bit more if its exit code matched that of make for
nonexisting targets, mentioned in policy 4.9; however, it exits 1 rather
than 2 in this case.  I realise that this may be because you are unable
to upload new versions with the shell implementation.

Even if we end up not doing target autodetection for build-arch, it
seems clear that having the option of doing so is useful, and that there
is a cost to the project associated with every discussion on the subject
having to consider the single exception where tools like 'make -qn'
won't work.  I think we should only allow that exception if there is a
corresponding benefit to doing so, beyond inertia.

Regards,

-- 
Colin Watson                                       [cjwatson@debian.org]




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 09:54:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colin Watson <cjwatson@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 09:54:23 GMT) Full text and rfc822 format available.

Message #22 received at 640874@bugs.debian.org (full text, mbox):

From: Colin Watson <cjwatson@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>, 640874@bugs.debian.org
Cc: Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 10:50:33 +0100
On Thu, Sep 08, 2011 at 10:43:44AM +0100, Colin Watson wrote:
> I can provide a concrete practical reason for requiring make as the
> implementation language: at least one, probably two, of the options for
> build-arch handling
> (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629385#93) require
> debian/rules to be a Makefile.  The leave package might be able to get
> away with a little bit more if its exit code matched that of make for
> nonexisting targets, mentioned in policy 4.9; however, it exits 1 rather
> than 2 in this case.  I realise that this may be because you are unable
> to upload new versions with the shell implementation.

Although actually, Steve pointed out in message #119 that make will exit
2 when presented with a shell script, so option 1 would work for the
leave package.  Nevertheless, merely having that doubt in developers'
minds is a cost; 17058 packages can definitely use this technique, while
for 1 package we have to think about it ... so I would still want to
hear of a clear benefit to allowing this flexibility.

Regards,

-- 
Colin Watson                                       [cjwatson@debian.org]




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 12:42:51 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 12:42:55 GMT) Full text and rfc822 format available.

Message #27 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Colin Watson <cjwatson@debian.org>
Cc: 640874@bugs.debian.org, Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 14:38:15 +0200
On Thu, Sep 08, 2011 at 10:43:44AM +0100, Colin Watson wrote:
> Would you mind explaining here why you feel it is important to retain the
> flexibility of multiple implementation languages for debian/rules?

Now, I wouldn't actually put it that way - because that would imply that we
could suddenly have a plethora of implementation languages for debian/rules,
which might actually become detrimental and that as such cannot and
shouldn't be an important goal.

Instead, it is important to retain the age-old idea that the rules file has
its own calling convention (an API) that isn't linked to one specific
implementation and is instead properly specified in Debian policy, allowing
developers some common-sense leeway and the ability to adjust the API if and
when necessary.

But, to return to the former idea of arguing for flexibility for just one
moment - that's moot because of another reason - we *already* allow a
near-infinite amount of abuse through flexibility, because you can make a
makefile fork another program and do whatever afterwards. It would abide by
the letter of the rules, and people have suggested to me that I do that, but
I don't think that would be in line with the spirit of the rules, which
provide a nice, clean description of what gets done for which specified
action or variable, so the code should roughly match such a description
without a lot of necessary overhead.

Heck, even the typical dh(1) debian/rules file (so typical I pasted it
straight from its manual page):

               #!/usr/bin/make -f
               %:
                       dh $@

does not strike me as better than a shell script such as the one used by
leave's debian/rules file - in fact it's seems more opaque and needs more
documentation/knowledge to figure out in what way does this follow
the rules set out in the policy.

> I can provide a concrete practical reason for requiring make as the
> implementation language: at least one, probably two, of the options for
> build-arch handling
> (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629385#93) require
> debian/rules to be a Makefile.  The leave package might be able to get
> away with a little bit more if its exit code matched that of make for
> nonexisting targets, mentioned in policy 4.9; however, it exits 1 rather
> than 2 in this case.  I realise that this may be because you are unable
> to upload new versions with the shell implementation.

Implementing a return code handler seems perfectly sensible. The idea that
programs can return a variety of codes to indicate a variety of conditions
is both ancient and pervasive. Even testing the result of make -qn is
basically repeating the same thing, so why add an additional dependency?

The whole idea that we're changing something in the build-arch handling is a
nice supporting argument for my idea that we don't have a reason to hardcode
make - the fact that we control the API means that we are able to make this
decision, rather than having to adjust to whatever some semi-random program
does.

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 12:57:30 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 12:57:42 GMT) Full text and rfc822 format available.

Message #32 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Colin Watson <cjwatson@debian.org>
Cc: 640874@bugs.debian.org, Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 14:55:00 +0200
On Thu, Sep 08, 2011 at 10:50:33AM +0100, Colin Watson wrote:
> Nevertheless, merely having that doubt in developers' minds is a cost;
> 17058 packages can definitely use this technique, while for 1 package we
> have to think about it ... so I would still want to hear of a clear
> benefit to allowing this flexibility.

Every debian/rules file is a source of doubt - you can't rely on them doing
anything other than what is specified in the true elements of the API
- program arguments, environment variables, return codes...

The requirement that the internal structure of the program matches something
make(1) can parse did not really create a new API, nor did it do much to
remove doubt on what the developers can find when examining debian/rules
files.

It was just an arbitrary conversion of a single "is" to "must be" (in an
unrelated let's-use-consistent-RFC-like-wording drive) that went unchecked.

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 13:42:12 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 13:42:12 GMT) Full text and rfc822 format available.

Message #37 received at 640874@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>, 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 15:38:39 +0200
Hi Josip,

On Thu, 08 Sep 2011, Josip Rodin wrote:
> Instead, it is important to retain the age-old idea that the rules file has
> its own calling convention (an API) that isn't linked to one specific
> implementation and is instead properly specified in Debian policy, allowing
> developers some common-sense leeway and the ability to adjust the API if and
> when necessary.

The API is not the only thing to take into account. Using anything else
than make is unexpected for most other developers (some of them who might
have to NMU your package at some point).

> Heck, even the typical dh(1) debian/rules file (so typical I pasted it
> straight from its manual page):
> 
>                #!/usr/bin/make -f
>                %:
>                        dh $@
> 
> does not strike me as better than a shell script such as the one used by
> leave's debian/rules file - in fact it's seems more opaque and needs more
> documentation/knowledge to figure out in what way does this follow
> the rules set out in the policy.

Yes, but it's also not worse than having to read the sources of a shell
script.

And still, this is a Makefile so you can quickly reuse Makefile snippets
that others have been writing to add support for supplementary targets
(like get-orig-source) or even to influence the environment (like the
Makefile snippets that dpkg 1.16.1 is going to provide).


So I really don't understand why you insist on keeping debian/rules
as a shell script. Moving it one level deeper in the process tree
does not strike me as a big performance/readability loss, certainly not
one worth spending the time of tech-ctte members on such a case.

> The whole idea that we're changing something in the build-arch handling is a
> nice supporting argument for my idea that we don't have a reason to hardcode
> make - the fact that we control the API means that we are able to make this
> decision, rather than having to adjust to whatever some semi-random program
> does.

If you ignore all transitions constraints, sure. At the same time, Debian
decided debian/rules must be a Makefile and you're not adjusting to cope.

Why should you better accept another API design compared to an already
existing policy requirement?

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
                      ▶ http://RaphaelHertzog.fr (Français)




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 14:21:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 14:21:03 GMT) Full text and rfc822 format available.

Message #42 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Raphael Hertzog <hertzog@debian.org>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 16:18:50 +0200
On Thu, Sep 08, 2011 at 03:38:39PM +0200, Raphael Hertzog wrote:
> Hi Josip,
> 
> On Thu, 08 Sep 2011, Josip Rodin wrote:
> > Instead, it is important to retain the age-old idea that the rules file has
> > its own calling convention (an API) that isn't linked to one specific
> > implementation and is instead properly specified in Debian policy, allowing
> > developers some common-sense leeway and the ability to adjust the API if and
> > when necessary.
> 
> The API is not the only thing to take into account. Using anything else
> than make is unexpected for most other developers (some of them who might
> have to NMU your package at some point).

I agree, but that argument goes both ways - we already allow developers to
use obfuscated makefiles, which has the analogous potential for difficulty.

> > Heck, even the typical dh(1) debian/rules file (so typical I pasted it
> > straight from its manual page):
> > 
> >                #!/usr/bin/make -f
> >                %:
> >                        dh $@
> > 
> > does not strike me as better than a shell script such as the one used by
> > leave's debian/rules file - in fact it's seems more opaque and needs more
> > documentation/knowledge to figure out in what way does this follow
> > the rules set out in the policy.
> 
> Yes, but it's also not worse than having to read the sources of a shell
> script.

Ahem, so I must quote it:

#!/bin/sh -e

tmp=`pwd`/debian/leave

if echo $DEB_BUILD_OPTIONS | grep -vq noopt; then
  optflag="-O2"
fi

if echo $DEB_BUILD_OPTIONS | grep -vq nostrip; then
  stripflag="-s"
fi

case "$1" in
  build)
    test -f leave.c || { echo not in the right dir\!; exit 1; }
    test -f leave || { cc -g $optflag -Wall \
                          -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= \
                          leave.c -o leave
                     }
# used to have 'pmake CFLAGS="..." leave' here, but why?
    ;;
  clean)
    test -f leave.c || { echo not in the right dir\!; exit 1; }
    test `id -u` -eq 0 || { echo "don't have (pseudo-)root!"; exit 1; }
    rm -f build-stamp leave leave.o leave.cat1 debian/files debian/substvars
    rm -rf $tmp
    ;;
  binary-arch|binary)
    test -f leave || $0 build
    test `id -u` -eq 0 || { echo "don't have (pseudo-)root!"; exit 1; }
    rm -rf $tmp
    install -d -m 755 $tmp/usr/bin $tmp/usr/share/man/man1 \
                      $tmp/DEBIAN $tmp/usr/share/doc/leave
    install $stripflag -m 755 leave $tmp/usr/bin
    gzip -c9 leave.1 > $tmp/usr/share/man/man1/leave.1.gz
    gzip -c9 debian/changelog > $tmp/usr/share/doc/leave/changelog.Debian.gz
    install -m 644 debian/copyright $tmp/usr/share/doc/leave
    dpkg-shlibdeps $tmp/usr/bin/leave
    dpkg-gencontrol -isp -P$tmp
    chown -R root.root $tmp
    chmod -R g-ws $tmp
    dpkg --build $tmp ..
    ;;
  binary-indep)
    # do nothing, successfully!
    exit 0
    ;;
  *)
    echo unknown option: $1
    exit 1
    ;;
esac

Is the compliance with policy easier to read from the obfuscated makefile
example at the top, or from the trivial shell example above?

I wouldn't actually definitively answer that question, it's probably a
matter of personal vgrep to some extent, but I'm certain the conclusion
"makefile syntax, obfuscated or not, is sufficiently better than all
others, that all others are hereby forbidden" doesn't make any sense.

> And still, this is a Makefile so you can quickly reuse Makefile snippets
> that others have been writing to add support for supplementary targets
> (like get-orig-source) or even to influence the environment (like the
> Makefile snippets that dpkg 1.16.1 is going to provide).

Same can work for pretty much any other similar language.

If we didn't really need these snippets in all packages so far, it's hard
to argue they're relevant as a reason to ban all languages that don't
instantly support them.

> So I really don't understand why you insist on keeping debian/rules
> as a shell script. Moving it one level deeper in the process tree
> does not strike me as a big performance/readability loss, certainly not
> one worth spending the time of tech-ctte members on such a case.

So you want me to satisfy the letter of the policy but break its spirit? :)

> > The whole idea that we're changing something in the build-arch handling
> > is a nice supporting argument for my idea that we don't have a reason to
> > hardcode make - the fact that we control the API means that we are able
> > to make this decision, rather than having to adjust to whatever some
> > semi-random program does.
> 
> If you ignore all transitions constraints, sure. At the same time, Debian
> decided debian/rules must be a Makefile and you're not adjusting to cope.

No, "Debian" did not decide to explicitly ban non-shell rules files at any
point in time, it was a leftover from a text conversion that never got
fixed.

The way the Packaging Manual was written was certainly with makefiles in
mind, it explicitly said that a rules file is a makefile and used the term
"target" and similar. But the description of the API was pretty carefully
restricted to the feature set independent of make's intricacies.

It remained so until the present day, and it works in practice. So why
break it?

> Why should you better accept another API design compared to an already
> existing policy requirement?

I can't parse that sentence, sorry, can you rephrase?

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 14:57:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 14:57:07 GMT) Full text and rfc822 format available.

Message #47 received at 640874@bugs.debian.org (full text, mbox):

From: Raphael Hertzog <hertzog@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 16:53:01 +0200
On Thu, 08 Sep 2011, Josip Rodin wrote:
> > The API is not the only thing to take into account. Using anything else
> > than make is unexpected for most other developers (some of them who might
> > have to NMU your package at some point).
> 
> I agree, but that argument goes both ways - we already allow developers to
> use obfuscated makefiles, which has the analogous potential for difficulty.

Sure enough, but why do you insist on doing as badly as some other are
doing?

On my side, I'm not doing poor work just because others have done so and
nobody complained yet. :-)

> > Yes, but it's also not worse than having to read the sources of a shell
> > script.
> 
> Ahem, so I must quote it:

I don't think it changes my point of view. I know way better the default
behaviour of debhelper than the resulting behaviour of your package.

And I know debhelper allows for massive changes that would not be possible
if all packages were doing like you.

On the contrary, I see that your package does nothing fancy that could
justify the use of something else than what is the de-facto standard.
Your script is trivial to convert to a Makefile.

> Is the compliance with policy easier to read from the obfuscated makefile
> example at the top, or from the trivial shell example above?

It depends on one's background. A casual DD knows debhelper way better
than a custom shell script.

It's quite possible to you missed something in your package and it's not
easy to verify it just from reading the rules files. If you use debhelper,
you know that all the cases that can be automated are already taken care
of. So I'm more confident in the policy compliance of a 4-line dh-based
rules file than of your schell script.

> > And still, this is a Makefile so you can quickly reuse Makefile snippets
> > that others have been writing to add support for supplementary targets
> > (like get-orig-source) or even to influence the environment (like the
> > Makefile snippets that dpkg 1.16.1 is going to provide).
> 
> Same can work for pretty much any other similar language.

Except that by standardizing on make we avoid to have to duplicate
those things for multiple languages!

> > So I really don't understand why you insist on keeping debian/rules
> > as a shell script. Moving it one level deeper in the process tree
> > does not strike me as a big performance/readability loss, certainly not
> > one worth spending the time of tech-ctte members on such a case.
> 
> So you want me to satisfy the letter of the policy but break its spirit? :)

You seem to be arguing that you're following its spirit but not the letter
of it. So yes, please follow the letter of it in whatever way that you believe
is coherent with the spirit of Debian.

> No, "Debian" did not decide to explicitly ban non-shell rules files at any
> point in time, it was a leftover from a text conversion that never got
> fixed.

I'm convinced this change would have been adopted even if it had been
proposed in a explicit manner.

> It remained so until the present day, and it works in practice. So why
> break it?

Why make dozens of developers lose time on this issue when it takes 5
minutes to convert your shell script and  when you have already shown that
this rule is not restricting the flexibility we already have ?

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
                      ▶ http://RaphaelHertzog.fr (Français)




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 16:09:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bdale Garbee <bdale@gag.com>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 16:09:07 GMT) Full text and rfc822 format available.

Message #52 received at 640874@bugs.debian.org (full text, mbox):

From: Bdale Garbee <bdale@gag.com>
To: Josip Rodin <joy@debbugs.entuzijast.net>, 640874@bugs.debian.org, Raphael Hertzog <hertzog@debian.org>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 08 Sep 2011 10:07:21 -0600
[Message part 1 (text/plain, inline)]
On Thu, 8 Sep 2011 16:18:50 +0200, Josip Rodin <joy@debbugs.entuzijast.net> wrote:
> > If you ignore all transitions constraints, sure. At the same time, Debian
> > decided debian/rules must be a Makefile and you're not adjusting to cope.
> 
> No, "Debian" did not decide to explicitly ban non-shell rules files at any
> point in time, it was a leftover from a text conversion that never got
> fixed.

You can say that and it may be literally true, but my own interpretation
of history is that we never anticipated debian/rules being anything
*other* than a makefile and thus an unintended loophole existed that
eventually got closed.

While I understand and appreciate your arguments, I personally see no
practical value in having debian/rules be anything other than a
makefile, and lots of reasons that having it always be a makefile is
useful. 

Bdale
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 08 Sep 2011 23:21:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 08 Sep 2011 23:21:05 GMT) Full text and rfc822 format available.

Message #57 received at 640874@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>
Cc: 640874@bugs.debian.org, Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 08 Sep 2011 16:18:34 -0700
Josip Rodin <joy@debbugs.entuzijast.net> writes:

> It was just an arbitrary conversion of a single "is" to "must be" (in an
> unrelated let's-use-consistent-RFC-like-wording drive) that went
> unchecked.

I wanted to mention here that this didn't just suddenly happen as a result
of the existing Policy wording without any further discussion.  There were
several discussions over a few months about this particular Lintian tag,
particularly since it kept coming up in the build-arch discussion, and
there was some consensus on debian-devel before it was added to the
ftp-master reject list.  Part of that discussion was specifically around
whether debian/rules should be viewed as an abstract API or whether the
fact that it's a makefile is an exposed part of the API, and there was at
least one advocate of having it instead be an abstract API.  My read on
the discussion was that the consensus went the other way.

I agree that this was not primarily a technical decision.  Rather, it was
a decision around unity of practice aiming towards simplifying our
packaging methods (which in the past have been divergent to the degree
that it's caused some problems).  We don't want to eliminate diversity
that people find helpful to get their work done or that's a widespread
difference of taste among packagers, such as the dh vs. CDBS discussion.
But no one seemed to be using a non-makefile debian/rules to that purpose;
leave was the only package that didn't have a makefile debian/rules, and
even all your other packages were using a makefile, so it didn't seem to
be a decision on your part to use a mechanism that you found generally
better.

(I don't recall if anyone tried to loop you into that discussion; if that
didn't happen, that was a flaw in that discussion process to be sure.)

The conclusion at the time, at least by my reading of the discussion, was
that this was a bit of flexibility that we didn't need and therefore
probably should eliminate in the name of simplifying the possible
implementation choices, rather than changing the Policy wording to allow
it.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 00:51:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colin Watson <cjwatson@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 00:51:07 GMT) Full text and rfc822 format available.

Message #62 received at 640874@bugs.debian.org (full text, mbox):

From: Colin Watson <cjwatson@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>
Cc: 640874@bugs.debian.org, Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Fri, 9 Sep 2011 01:45:37 +0100
On Thu, Sep 08, 2011 at 02:38:15PM +0200, Josip Rodin wrote:
> But, to return to the former idea of arguing for flexibility for just one
> moment - that's moot because of another reason - we *already* allow a
> near-infinite amount of abuse through flexibility, because you can make a
> makefile fork another program and do whatever afterwards. It would abide by
> the letter of the rules, and people have suggested to me that I do that, but
> I don't think that would be in line with the spirit of the rules, which
> provide a nice, clean description of what gets done for which specified
> action or variable, so the code should roughly match such a description
> without a lot of necessary overhead.
> 
> Heck, even the typical dh(1) debian/rules file (so typical I pasted it
> straight from its manual page):
> 
>                #!/usr/bin/make -f
>                %:
>                        dh $@
> 
> does not strike me as better than a shell script such as the one used by
> leave's debian/rules file - in fact it's seems more opaque and needs more
> documentation/knowledge to figure out in what way does this follow
> the rules set out in the policy.

In practice, though, this is the only case I've heard of like this, and
it's balanced by a few points:

  * 38% of the source packages in Debian unstable use dh(1).  While
    popularity isn't always the best measure, at this point, there is
    clearly no shortage of developers who understand dh(1), find it
    straightforward to inspect and modify, and could be roped in for
    assistance if need be.

  * debhelper in general, including dh(1), has an excellent track record
    at keeping up with policy changes and helping packages to follow
    policy, and nowadays it very often does a better job than people
    trying to keep up by hand.  The first-glance opaqueness of the tiny
    rules style seems to have good results in practice.

  * While it's true that make is largely delegating responsibility to
    another program here, it's a common program used by many packages,
    and so serves to consolidate a lot of boring common code which is a
    fairly standard software virtue.  I'd be hard-pressed to codify
    this, but that does seem different in kind from forking a secondary
    rules implementation local to a single source package simply for the
    purpose of switching language.

> Instead, it is important to retain the age-old idea that the rules file has
> its own calling convention (an API) that isn't linked to one specific
> implementation and is instead properly specified in Debian policy, allowing
> developers some common-sense leeway and the ability to adjust the API if and
> when necessary.
[...]
> On Thu, Sep 08, 2011 at 10:43:44AM +0100, Colin Watson wrote:
> > I can provide a concrete practical reason for requiring make as the
> > implementation language: at least one, probably two, of the options for
> > build-arch handling
> > (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629385#93) require
> > debian/rules to be a Makefile.  The leave package might be able to get
> > away with a little bit more if its exit code matched that of make for
> > nonexisting targets, mentioned in policy 4.9; however, it exits 1 rather
> > than 2 in this case.  I realise that this may be because you are unable
> > to upload new versions with the shell implementation.
> 
> Implementing a return code handler seems perfectly sensible. The idea that
> programs can return a variety of codes to indicate a variety of conditions
> is both ancient and pervasive. Even testing the result of make -qn is
> basically repeating the same thing, so why add an additional dependency?

Conflating "is this option supported" with execution is not without
problems.  Here's a simple example of a case where testing by execution
gives the wrong answer; I haven't made it entirely plausible, but 'test'
is a common enough command that I'm sure it's easy to imagine more
realistic versions:

  #! /usr/bin/make -f
  
  build-arch:
          # we forgot the closing ]
          [ foo

Sure, in the specific case of build-arch it happens that this probably
fails harmlessly, but I at least find that non-obvious enough that I
have to think about it.  Without wishing to get into the make vs.
Build-Options debate in this bug report, since that's a matter for
#629385, this suggests to me that there is at least room for an
interface that queries capabilities without actually executing code from
the targets in question [1], and that exit codes aren't that interface.

I have some sympathy with the core argument that the interface is
'debian/rules build' etc. rather than 'make -f debian/rules build', but
there just doesn't seem that much to be gained in practice from lifting
the restriction again, and potentially some interesting things to lose.

[1] 'make -qn' isn't *quite* that; it still executes $(shell) commands,
    which means that Lintian can't use it.  However, the fixed
    implementation language is still of benefit to Lintian, since it can
    parse debian/rules to test whether required and recommended targets
    are present.

Regards,

-- 
Colin Watson                                       [cjwatson@debian.org]




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 02:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joey Hess <joeyh@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 02:18:03 GMT) Full text and rfc822 format available.

Message #67 received at 640874@bugs.debian.org (full text, mbox):

From: Joey Hess <joeyh@debian.org>
To: Colin Watson <cjwatson@debian.org>, 640874@bugs.debian.org
Cc: Josip Rodin <joy@debbugs.entuzijast.net>, Niels Thykier <niels@thykier.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 8 Sep 2011 22:14:54 -0400
[Message part 1 (text/plain, inline)]
Colin Watson wrote:
>   * While it's true that make is largely delegating responsibility to
>     another program here, it's a common program used by many packages,
>     and so serves to consolidate a lot of boring common code which is a
>     fairly standard software virtue.  I'd be hard-pressed to codify
>     this, but that does seem different in kind from forking a secondary
>     rules implementation local to a single source package simply for the
>     purpose of switching language.

If it helps, while I used to agree with Josip, I changed my mind, and dh
is actually what changed it. While dh subverts policy to a certian
extent, policy required it be used in the context of a makefile, and
this led to it using the makefile for configuration via override
targets, which was the single most important development in dh's evolution.
If debian/rules had not remained a makefile, that would not have been
possible, and dh would have a more complex and less flexible configuration.

Since dh is a common idiom, it's not particularly confusing to do this, now:

#!/usr/bin/make -f
%:
	debian/myscript $@

Which is probably the simplest way to bring leave into policy compliance.

-- 
see shy jo
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 07:03:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 07:03:10 GMT) Full text and rfc822 format available.

Message #72 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Raphael Hertzog <hertzog@debian.org>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Fri, 9 Sep 2011 08:58:00 +0200
On Thu, Sep 08, 2011 at 04:53:01PM +0200, Raphael Hertzog wrote:
> > > And still, this is a Makefile so you can quickly reuse Makefile snippets
> > > that others have been writing to add support for supplementary targets
> > > (like get-orig-source) or even to influence the environment (like the
> > > Makefile snippets that dpkg 1.16.1 is going to provide).
> > 
> > Same can work for pretty much any other similar language.
> 
> Except that by standardizing on make we avoid to have to duplicate
> those things for multiple languages!

OTOH, if you actually want to that stuff from e.g. a Python debian/rules
file, you should be able to simply run

	make -f /usr/share/common/stuff.mk get-orig-source

? :)

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 07:03:12 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 07:03:12 GMT) Full text and rfc822 format available.

Message #77 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: Russ Allbery <rra@debian.org>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Fri, 9 Sep 2011 09:01:15 +0200
On Thu, Sep 08, 2011 at 04:18:34PM -0700, Russ Allbery wrote:
> (I don't recall if anyone tried to loop you into that discussion; if that
> didn't happen, that was a flaw in that discussion process to be sure.)

Nope, sorry, I missed that.

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 07:09:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josip Rodin <joy@debbugs.entuzijast.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 07:09:03 GMT) Full text and rfc822 format available.

Message #82 received at 640874@bugs.debian.org (full text, mbox):

From: Josip Rodin <joy@debbugs.entuzijast.net>
To: 640874@bugs.debian.org
Cc: Ian Jackson <ijackson@chiark.greenend.org.uk>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Fri, 9 Sep 2011 09:06:09 +0200
Since my reasoning here didn't seem to leave a particular positive dent with
those tech-ctte members who have responded so far, I would just like to
solicit Ian Jackson's input, given his role in defining and implementing the
debian/rules calling convention originally. In other worse, if I can't
convince the original author of a non-make-dependent API that the API isn't
make-dependent, there is no recourse but to yield :)

Or if my memory serves me wrong and it was instead some other person,
particularly one that isn't intricately involved with Debian or can't be
reached any more, I'm also done.

-- 
     2. That which causes joy or happiness.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Fri, 09 Sep 2011 10:00:26 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steve Langasek <vorlon@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Fri, 09 Sep 2011 10:00:31 GMT) Full text and rfc822 format available.

Message #87 received at 640874@bugs.debian.org (full text, mbox):

From: Steve Langasek <vorlon@debian.org>
To: 640874@bugs.debian.org
Cc: Josip Rodin <joy@debbugs.entuzijast.net>, Raphael Hertzog <hertzog@debian.org>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Fri, 9 Sep 2011 10:56:59 +0100
[Message part 1 (text/plain, inline)]
On Thu, Sep 08, 2011 at 04:18:50PM +0200, Josip Rodin wrote:
> Ahem, so I must quote it:
> 
> #!/bin/sh -e
> 
> tmp=`pwd`/debian/leave
> 
> if echo $DEB_BUILD_OPTIONS | grep -vq noopt; then
>   optflag="-O2"
> fi

> if echo $DEB_BUILD_OPTIONS | grep -vq nostrip; then
>   stripflag="-s"
> fi

Does not do a word-wise search for the option names, preventing future
compatibility with other options having these options as substrings. 
Whereas the naive implementation using make would DTRT.  So that's strike
one. ;)

> > > The whole idea that we're changing something in the build-arch handling
> > > is a nice supporting argument for my idea that we don't have a reason to
> > > hardcode make - the fact that we control the API means that we are able
> > > to make this decision, rather than having to adjust to whatever some
> > > semi-random program does.

> > If you ignore all transitions constraints, sure. At the same time, Debian
> > decided debian/rules must be a Makefile and you're not adjusting to cope.

> No, "Debian" did not decide to explicitly ban non-shell rules files at any
> point in time, it was a leftover from a text conversion that never got
> fixed.

I disagree with this interpretation of the history of the requirement
(agreeing instead with Bdale), but if it would put this issue to rest, I
would be happy to vote on it explicitly with the TC to require a makefile. 
The handful of exceptions have definitely caused us far more trouble as a
project than any benefit you get as a maintainer from using a shell script
in place of a makefile.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Tue, 13 Sep 2011 09:39:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ian Jackson <ijackson@chiark.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Tue, 13 Sep 2011 09:39:15 GMT) Full text and rfc822 format available.

Message #92 received at 640874@bugs.debian.org (full text, mbox):

From: Ian Jackson <ijackson@chiark.greenend.org.uk>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Tue, 13 Sep 2011 10:37:38 +0100
Josip Rodin writes ("Bug#640874: leave: debian/rules is not a Makefile"):
> Since my reasoning here didn't seem to leave a particular positive dent with
> those tech-ctte members who have responded so far, I would just like to
> solicit Ian Jackson's input, given his role in defining and implementing the
> debian/rules calling convention originally. In other worse, if I can't
> convince the original author of a non-make-dependent API that the API isn't
> make-dependent, there is no recourse but to yield :)

It's very tempting to close down this discussion by agreeing that we
always intended debian/rules to only be allowed to be a makefile.  But
I'm afraid that I'm going to agree with Josip on this point: as far as
I remember, the designers (of which I was one) did not originally
intend this restriction.  If I had intended it I would have written it
into the original policy manual.

That doesn't mean that in the current circumstances it isn't
reasonable to make that requirement, of course.  But I'm not convinced
by the arguments made so far in favour of this requirement.

It's true that having a standardised implementation language can
make it easier for people unfamiliar with the package to work with it,
and this is indeed something that we should care about.

But I agree with Josip's point about the spirit vs. the letter: if we
write into policy that debian/rules must be a makefile, Josip can
comply with the policy by what amounts IMO to trickery.  And it's not
trickery that's simple to forbid, given that that trickery is exactly
what dh(1) uses.

Or to put it another way, we have two plausible options:

 1. Weaken the rule that debian/rules must be a makefile, from a
    requirement to a recommendation.

 2. Require that it be a makefile but permit
	#!/usr/bin/make -f
	%:
		debian/myscript $@
    and also:
        %:
		dh $@

And one implausible one:

 3. Require that it be a makefile and FORBID
	%:
		debian/myscript $@
    but PERMIT
        %:
		dh $@

Of these I prefer option 1.  It is at least coherent.  An imprecation
in policy /recommending/ the use of make or dh(1) would be sensible.

Option 2 is pointless IMO.  It mandates that Josip do something
pointless, and leaves the same door open for other pointless things.

Option 3 is very difficult: how do we distinguish these two cases ?
Are we going to make a special exception for dh(1), thus forbidding
future package helper tools that aren't explicitly blessed by policy ?
I don't think that's the right way to go.

Ian.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Sat, 10 Dec 2011 01:51:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to peter green <plugwash@p10link.net>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Sat, 10 Dec 2011 01:51:03 GMT) Full text and rfc822 format available.

Message #97 received at 640874@bugs.debian.org (full text, mbox):

From: peter green <plugwash@p10link.net>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Sat, 10 Dec 2011 01:49:44 +0000
Ian Jackson wrote:
>But I agree with Josip's point about the spirit vs. the letter: if we
>write into policy that debian/rules must be a makefile, Josip can
>comply with the policy by what amounts IMO to trickery.  And it's not
>trickery that's simple to forbid, given that that trickery is exactly
>what dh(1) uses.
----SNIP-----
>And one implausible one:
>
> 3. Require that it be a makefile and FORBID
>	%:
>		debian/myscript $@
>    but PERMIT
>        %:
>		dh $@


Just an idea as an outsider how about

4: Require it be a makefile and additionally require that if the makefile 
  makes use of wildcards it must implement a "listtargets" target.

  Listtargets would return a list of supported targets. Tools looking
  for targets would search the makefile for targets and run 
  debian/listtargets if they found wildcards.

That way tools could still get a list of supported targets even if
wildcards are used and dh wouldn't need to be special cased (though it
would need to be modified to implement the new target).





Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Mon, 19 Mar 2012 04:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Mon, 19 Mar 2012 04:33:03 GMT) Full text and rfc822 format available.

Message #102 received at 640874@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: Josip Rodin <joy@debbugs.entuzijast.net>
Cc: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Sun, 18 Mar 2012 21:30:47 -0700
My impression is that discussion on this bug has wound down, and that it's
unlikely that any new information is going to come up.  To me, that
implies that we should call for a vote.

Based on Ian's last response, I think the ballot has two options plus
further discussion, since I'm quite sure that we're not going to outlaw
dh:

A. debian/rules is not required to be a makefile, only to implement the
   same interface as a debian/rules file implemented as a makefile
   (including handling of arguments and exit status).  Debian Policy
   should be updated to change the requirement to a recommendation, and
   new versions of the leave package should be permitted to be uploaded to
   the archive without changing debian/rules to be a makefile.

B. The Technical Committee affirms the Debian Policy requirement that
   debian/rules must be a makefile.  All packages in the archive,
   including leave, are required to follow this requirement.  This
   makefile may, as is common practice, delegate implementation of its
   targets to a script.

C. Further discussion.

Are there any corrections or modifications to that ballot?  Anything I'm
missing?

If there are no objections, I'll call for a vote on this ballot in a few
days.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Wed, 21 Mar 2012 18:51:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Wed, 21 Mar 2012 18:51:05 GMT) Full text and rfc822 format available.

Message #107 received at 640874@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: 640874@bugs.debian.org
Cc: Josip Rodin <joy@debbugs.entuzijast.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Wed, 21 Mar 2012 11:46:47 -0700
Russ Allbery <rra@debian.org> writes:

> Based on Ian's last response, I think the ballot has two options plus
> further discussion, since I'm quite sure that we're not going to outlaw
> dh:

> A. debian/rules is not required to be a makefile, only to implement the
>    same interface as a debian/rules file implemented as a makefile
>    (including handling of arguments and exit status).  Debian Policy
>    should be updated to change the requirement to a recommendation, and
>    new versions of the leave package should be permitted to be uploaded to
>    the archive without changing debian/rules to be a makefile.

> B. The Technical Committee affirms the Debian Policy requirement that
>    debian/rules must be a makefile.  All packages in the archive,
>    including leave, are required to follow this requirement.  This
>    makefile may, as is common practice, delegate implementation of its
>    targets to a script.

> C. Further discussion.

Hearing no objections, I call for a vote on this ballot.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Wed, 21 Mar 2012 19:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Wed, 21 Mar 2012 19:33:03 GMT) Full text and rfc822 format available.

Message #112 received at 640874@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Wed, 21 Mar 2012 12:29:35 -0700
[Message part 1 (text/plain, inline)]
Russ Allbery <rra@debian.org> writes:
> Russ Allbery <rra@debian.org> writes:

>> Based on Ian's last response, I think the ballot has two options plus
>> further discussion, since I'm quite sure that we're not going to outlaw
>> dh:

>> A. debian/rules is not required to be a makefile, only to implement the
>>    same interface as a debian/rules file implemented as a makefile
>>    (including handling of arguments and exit status).  Debian Policy
>>    should be updated to change the requirement to a recommendation, and
>>    new versions of the leave package should be permitted to be uploaded to
>>    the archive without changing debian/rules to be a makefile.

>> B. The Technical Committee affirms the Debian Policy requirement that
>>    debian/rules must be a makefile.  All packages in the archive,
>>    including leave, are required to follow this requirement.  This
>>    makefile may, as is common practice, delegate implementation of its
>>    targets to a script.

>> C. Further discussion.

> Hearing no objections, I call for a vote on this ballot.

I vote BAC.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Wed, 21 Mar 2012 22:51:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ian Jackson <ijackson@chiark.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Wed, 21 Mar 2012 22:51:10 GMT) Full text and rfc822 format available.

Message #117 received at 640874@bugs.debian.org (full text, mbox):

From: Ian Jackson <ijackson@chiark.greenend.org.uk>
To: Russ Allbery <rra@debian.org>, 640874@bugs.debian.org
Cc: Josip Rodin <joy@debbugs.entuzijast.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Wed, 21 Mar 2012 22:46:58 +0000
Russ Allbery writes ("Bug#640874: leave: debian/rules is not a Makefile"):
> Russ Allbery <rra@debian.org> writes:
> > Based on Ian's last response, I think the ballot has two options plus
> > further discussion, since I'm quite sure that we're not going to outlaw
> > dh:
> 
> > A. debian/rules is not required to be a makefile, only to implement the
> >    same interface as a debian/rules file implemented as a makefile
> >    (including handling of arguments and exit status).  Debian Policy
> >    should be updated to change the requirement to a recommendation, and
> >    new versions of the leave package should be permitted to be uploaded to
> >    the archive without changing debian/rules to be a makefile.
> 
> > B. The Technical Committee affirms the Debian Policy requirement that
> >    debian/rules must be a makefile.  All packages in the archive,
> >    including leave, are required to follow this requirement.  This
> >    makefile may, as is common practice, delegate implementation of its
> >    targets to a script.

I vote AB.

Ian.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Wed, 21 Mar 2012 23:00:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ian Jackson <ijackson@chiark.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Wed, 21 Mar 2012 23:00:06 GMT) Full text and rfc822 format available.

Message #122 received at 640874@bugs.debian.org (full text, mbox):

From: Ian Jackson <ijackson@chiark.greenend.org.uk>
To: Russ Allbery <rra@debian.org>, 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Wed, 21 Mar 2012 22:57:48 +0000
Russ Allbery writes ("Bug#640874: leave: debian/rules is not a Makefile"):
> Russ Allbery <rra@debian.org> writes:
> > Russ Allbery <rra@debian.org> writes:
> >> B. The Technical Committee affirms the Debian Policy requirement that
> >>    debian/rules must be a makefile.  All packages in the archive,
> >>    including leave, are required to follow this requirement.  This
> >>    makefile may, as is common practice, delegate implementation of its
> >>    targets to a script.

Just to be clear, my interpretation of option B is that the leave
maintainer is at liberty to do this:

   $ mv debian/rules debian/rules.mine
   $ cat >debian/rules
   #!/usr/bin/make -f
   %:
           chmmod +x debian/rules.mine
           debian/rules.mine $@
   ^D
   $ chmod +x debian/rules

But they are not entitled to do nothing.  I think this is entirely
daft.  Hence my vote for optionn A.

Ian.




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Mon, 26 Mar 2012 19:15:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Don Armstrong <don@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Mon, 26 Mar 2012 19:15:04 GMT) Full text and rfc822 format available.

Message #127 received at 640874@bugs.debian.org (full text, mbox):

From: Don Armstrong <don@debian.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Mon, 26 Mar 2012 12:11:51 -0700
On Sun, 18 Mar 2012, Russ Allbery wrote:
> Based on Ian's last response, I think the ballot has two options plus
> further discussion, since I'm quite sure that we're not going to outlaw
> dh:
> 
> A. debian/rules is not required to be a makefile, only to implement the
>    same interface as a debian/rules file implemented as a makefile
>    (including handling of arguments and exit status).  Debian Policy
>    should be updated to change the requirement to a recommendation, and
>    new versions of the leave package should be permitted to be uploaded to
>    the archive without changing debian/rules to be a makefile.
> 
> B. The Technical Committee affirms the Debian Policy requirement that
>    debian/rules must be a makefile.  All packages in the archive,
>    including leave, are required to follow this requirement.  This
>    makefile may, as is common practice, delegate implementation of its
>    targets to a script.
> 
> C. Further discussion.

I vote BAC.
 

Don Armstrong

-- 
More than any other time in history, mankind faces a crossroads.
One path leads to despair and utter hopelessness.
The other, to total extinction.
Let us pray we have the wisdom to choose correctly.
 -- Woody Allen

http://www.donarmstrong.com              http://rzlab.ucr.edu




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Mon, 26 Mar 2012 19:51:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andreas Barth <aba@ayous.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Mon, 26 Mar 2012 19:51:06 GMT) Full text and rfc822 format available.

Message #132 received at 640874@bugs.debian.org (full text, mbox):

From: Andreas Barth <aba@ayous.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Mon, 26 Mar 2012 21:21:33 +0200
* Russ Allbery (rra@debian.org) [120326 20:58]:
> Russ Allbery <rra@debian.org> writes:
> 
> > Based on Ian's last response, I think the ballot has two options plus
> > further discussion, since I'm quite sure that we're not going to outlaw
> > dh:
> 
> > A. debian/rules is not required to be a makefile, only to implement the
> >    same interface as a debian/rules file implemented as a makefile
> >    (including handling of arguments and exit status).  Debian Policy
> >    should be updated to change the requirement to a recommendation, and
> >    new versions of the leave package should be permitted to be uploaded to
> >    the archive without changing debian/rules to be a makefile.
> 
> > B. The Technical Committee affirms the Debian Policy requirement that
> >    debian/rules must be a makefile.  All packages in the archive,
> >    including leave, are required to follow this requirement.  This
> >    makefile may, as is common practice, delegate implementation of its
> >    targets to a script.
> 
> > C. Further discussion.
> 
> Reminder: there is a vote currently in progress on this ballot.  So far,
> only Ian and I have voted.  Please take a look at the cited bug and
> register an opinion when you have a chance.

Thanks for the reminder.

Voting BAC.

(I'm not convinced that we gain anything by changing the status quo to
the proposed solution A - even though with the current makefiles
consisting of just "%: dh $@" the degault mechanismn seems a bit too
complicated; but changing that to variant A doesn't seem to be too
useful. Also, the tech ctte isn't the place to develop new solutions;
in other words, if someone comes up with a good solution which has
shown through the usual ways that it gains something for debian at
large, I'm happy to support changing the default but we're not there
(yet).)


Andi




Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Sat, 31 Mar 2012 17:15:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colin Watson <cjwatson@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Sat, 31 Mar 2012 17:15:06 GMT) Full text and rfc822 format available.

Message #137 received at 640874@bugs.debian.org (full text, mbox):

From: Colin Watson <cjwatson@debian.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Sat, 31 Mar 2012 18:11:53 +0100
[Message part 1 (text/plain, inline)]
On Sun, Mar 18, 2012 at 09:30:47PM -0700, Russ Allbery wrote:
> My impression is that discussion on this bug has wound down, and that it's
> unlikely that any new information is going to come up.  To me, that
> implies that we should call for a vote.

I'm pretty sure I'm unconstitutionally late for this, sorry (I've had a
busy week and have not been checking Debian mail much).  But just in
case it matters:

> Based on Ian's last response, I think the ballot has two options plus
> further discussion, since I'm quite sure that we're not going to outlaw
> dh:
> 
> A. debian/rules is not required to be a makefile, only to implement the
>    same interface as a debian/rules file implemented as a makefile
>    (including handling of arguments and exit status).  Debian Policy
>    should be updated to change the requirement to a recommendation, and
>    new versions of the leave package should be permitted to be uploaded to
>    the archive without changing debian/rules to be a makefile.
> 
> B. The Technical Committee affirms the Debian Policy requirement that
>    debian/rules must be a makefile.  All packages in the archive,
>    including leave, are required to follow this requirement.  This
>    makefile may, as is common practice, delegate implementation of its
>    targets to a script.
> 
> C. Further discussion.

I vote BAC.


While I understand the position that B can lead to pathological results,
in practice I'm not aware of this happening in practice, or if it is
then it's a trivial number of cases; developers generally use delegation
to scripts to create more expressive power, as in dh, not to subvert the
usual norms.  Thus, I don't think the situation created by this Policy
requirement is objectionable enough to overrule it, even leaving aside
the benefits of standardising on a Makefile.

I will admit to some curiosity as to whether Josip would in fact comply
with this ruling by "what amounts to trickery", as Ian puts it, or
whether he would decide to do something that more developers will be
familiar with instead.

Had I spent more time thinking about this, I might have tried to
articulate a position for the ballot in which delegating implementation
of debian/rules to scripts is permitted provided that the intent of such
scripts is to create an abstraction layer that could be used by multiple
packages, which would distinguish "I want to contribute a new packaging
helper tool to the project" from "I'm trying to work around this
requirement and use my favourite language instead".  However, Andreas is
probably right in pointing out that the technical committee is not the
place to do detailed policy design.  If Ian feels that this would be a
useful middle ground between our positions, I'd be happy to take
something like this to -policy and we can hash it out there.

-- 
Colin Watson                                       [cjwatson@debian.org]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 05 Apr 2012 23:21:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 05 Apr 2012 23:21:05 GMT) Full text and rfc822 format available.

Message #142 received at 640874@bugs.debian.org (full text, mbox):

From: Russ Allbery <rra@debian.org>
To: 640874@bugs.debian.org
Cc: Josip Rodin <joy@debbugs.entuzijast.net>
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 05 Apr 2012 16:16:32 -0700
Russ Allbery <rra@debian.org> writes:

> Based on Ian's last response, I think the ballot has two options plus
> further discussion, since I'm quite sure that we're not going to outlaw
> dh:

> A. debian/rules is not required to be a makefile, only to implement the
>    same interface as a debian/rules file implemented as a makefile
>    (including handling of arguments and exit status).  Debian Policy
>    should be updated to change the requirement to a recommendation, and
>    new versions of the leave package should be permitted to be uploaded to
>    the archive without changing debian/rules to be a makefile.

> B. The Technical Committee affirms the Debian Policy requirement that
>    debian/rules must be a makefile.  All packages in the archive,
>    including leave, are required to follow this requirement.  This
>    makefile may, as is common practice, delegate implementation of its
>    targets to a script.

> C. Further discussion.

At the conclusion of our standard voting period of one week, there were
three votes of BAC and one vote of AB.  (One additional vote of BAC came
in after the voting period had ended.)

As this is, depending on how one looks at it, a conflict between a
maintainer and ftp-master policy or a maintainer and the current
requirements of Debian Policy, I don't believe the 3:1 super-majority
requirement applies here and the ballot should be decided by simple
majority rule.

I don't have the tools available to me at the moment to do the full voting
procedure, but I'm fairly sure from those votes that B is the winning
option.  I'd like someone else could double-check me on that and confirm,
and then we can close this bug, deciding on option B.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Reply sent to Don Armstrong <don@debian.org>:
You have taken responsibility. (Wed, 25 Apr 2012 19:45:18 GMT) Full text and rfc822 format available.

Notification sent to Niels Thykier <niels@thykier.net>:
Bug acknowledged by developer. (Wed, 25 Apr 2012 19:45:18 GMT) Full text and rfc822 format available.

Message #147 received at 640874-done@bugs.debian.org (full text, mbox):

From: Don Armstrong <don@debian.org>
To: 640874-done@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Wed, 25 Apr 2012 12:42:08 -0700
The result of this decision is B:

B. The Technical Committee affirms the Debian Policy requirement that
   debian/rules must be a makefile.  All packages in the archive,
   including leave, are required to follow this requirement.  This
   makefile may, as is common practice, delegate implementation of its
   targets to a script.


Don Armstrong

-- 
PowerPoint is symptomatic of a certain type of bureaucratic
environment: one typified by interminable presentations with lots of
fussy little bullet-points and flashy dissolves and soundtracks masked
into the background, to try to convince the audience that the goon
behind the computer has something significant to say.
 -- Charles Stross _The Jennifer Morgue_ p33

http://www.donarmstrong.com              http://rzlab.ucr.edu




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 24 May 2012 07:39:57 GMT) Full text and rfc822 format available.

Bug unarchived. Request was from Colin Watson <cjwatson@debian.org> to control@bugs.debian.org. (Thu, 27 Sep 2012 15:54:07 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Technical Committee <debian-ctte@lists.debian.org>:
Bug#640874; Package tech-ctte. (Thu, 27 Sep 2012 16:15:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Colin Watson <cjwatson@debian.org>:
Extra info received and forwarded to list. Copy sent to Technical Committee <debian-ctte@lists.debian.org>. (Thu, 27 Sep 2012 16:15:03 GMT) Full text and rfc822 format available.

Message #156 received at 640874@bugs.debian.org (full text, mbox):

From: Colin Watson <cjwatson@debian.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874 closed by Don Armstrong <don@debian.org> (Re: Bug#640874: leave: debian/rules is not a Makefile)
Date: Thu, 27 Sep 2012 17:12:58 +0100
reassign 640874 leave
reopen 640874
thanks

On Wed, Apr 25, 2012 at 07:45:18PM +0000, Debian Bug Tracking System wrote:
> Date: Wed, 25 Apr 2012 12:42:08 -0700
> From: Don Armstrong <don@debian.org>
> To: 640874-done@bugs.debian.org
> Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
> User-Agent: Mutt/1.5.21 (2010-09-15)
> 
> The result of this decision is B:
> 
> B. The Technical Committee affirms the Debian Policy requirement that
>    debian/rules must be a makefile.  All packages in the archive,
>    including leave, are required to follow this requirement.  This
>    makefile may, as is common practice, delegate implementation of its
>    targets to a script.

I'm reopening this bug and reassigning back to leave for implementation
of this TC resolution, since it seems to have been lost somewhat.

Thanks,

-- 
Colin Watson                                       [cjwatson@debian.org]



Bug reassigned from package 'tech-ctte' to 'leave'. Request was from Colin Watson <cjwatson@debian.org> to control@bugs.debian.org. (Thu, 27 Sep 2012 16:15:05 GMT) Full text and rfc822 format available.

Bug reopened Request was from Colin Watson <cjwatson@debian.org> to control@bugs.debian.org. (Thu, 27 Sep 2012 16:15:05 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Josip Rodin <joy-packages@debian.org>:
Bug#640874; Package leave. (Thu, 11 Oct 2012 19:57:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sébastien Villemot <sebastien@debian.org>:
Extra info received and forwarded to list. Copy sent to Josip Rodin <joy-packages@debian.org>. (Thu, 11 Oct 2012 19:57:03 GMT) Full text and rfc822 format available.

Message #165 received at 640874@bugs.debian.org (full text, mbox):

From: Sébastien Villemot <sebastien@debian.org>
To: 640874@bugs.debian.org
Subject: Re: Bug#640874: leave: debian/rules is not a Makefile
Date: Thu, 11 Oct 2012 21:54:16 +0200
[Message part 1 (text/plain, inline)]
Dear Maintainer,

Colin Watson <cjwatson@debian.org> writes:

> On Wed, Apr 25, 2012 at 07:45:18PM +0000, Debian Bug Tracking System wrote:

>> B. The Technical Committee affirms the Debian Policy requirement that
>>    debian/rules must be a makefile.  All packages in the archive,
>>    including leave, are required to follow this requirement.  This
>>    makefile may, as is common practice, delegate implementation of its
>>    targets to a script.
>
> I'm reopening this bug and reassigning back to leave for implementation
> of this TC resolution, since it seems to have been lost somewhat.

I have uploaded to DELAYED/5 an NMU of leave versioned 1.12-2.1 which
fixes this issue. I have tried to preserve as much as possible the
structure of the original shell script. The debdiff is attached. Don't
hesitate to tell me if I should delay the upload longer.

Regards,
[bug640874.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
-- 
 .''`.    Sébastien Villemot
: :' :    Debian Developer
`. `'     http://www.dynare.org/sebastien
  `-      GPG Key: 4096R/381A7594
[Message part 4 (application/pgp-signature, inline)]

Added tag(s) pending and patch. Request was from Sébastien Villemot <sebastien@debian.org> to control@bugs.debian.org. (Thu, 11 Oct 2012 20:00:10 GMT) Full text and rfc822 format available.

Reply sent to Sébastien Villemot <sebastien@debian.org>:
You have taken responsibility. (Tue, 16 Oct 2012 20:48:08 GMT) Full text and rfc822 format available.

Notification sent to Niels Thykier <niels@thykier.net>:
Bug acknowledged by developer. (Tue, 16 Oct 2012 20:48:08 GMT) Full text and rfc822 format available.

Message #172 received at 640874-close@bugs.debian.org (full text, mbox):

From: Sébastien Villemot <sebastien@debian.org>
To: 640874-close@bugs.debian.org
Subject: Bug#640874: fixed in leave 1.12-2.1
Date: Tue, 16 Oct 2012 20:47:45 +0000
Source: leave
Source-Version: 1.12-2.1

We believe that the bug you reported is fixed in the latest version of
leave, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 640874@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sébastien Villemot <sebastien@debian.org> (supplier of updated leave package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


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

Format: 1.8
Date: Thu, 11 Oct 2012 21:23:51 +0200
Source: leave
Binary: leave
Architecture: source amd64
Version: 1.12-2.1
Distribution: unstable
Urgency: low
Maintainer: Josip Rodin <joy-packages@debian.org>
Changed-By: Sébastien Villemot <sebastien@debian.org>
Description: 
 leave      - Reminds you when you have to leave
Closes: 640874
Changes: 
 leave (1.12-2.1) unstable; urgency=low
 .
   * Non-maintainer upload.
   * Convert debian/rules to a Makefile (Closes: #640874)
Checksums-Sha1: 
 34bb5fad81033304f6c39407b7a3e9cb27427920 1574 leave_1.12-2.1.dsc
 f8387f5c04c6082877a140be0f788829f3ad19ce 3043 leave_1.12-2.1.diff.gz
 f6cd6c47a2b0371cab310e8dca3d2e64c77313b8 7762 leave_1.12-2.1_amd64.deb
Checksums-Sha256: 
 67ce99a9b2323decbc55270a933fa7b365a0ab8be9f36248c67e2b1f0397b142 1574 leave_1.12-2.1.dsc
 5e05d20357881e73c907b66716865e351b6e4e0e80eef472ff0dbe306abe19b5 3043 leave_1.12-2.1.diff.gz
 b849764336a92d78e0cb755f9a495e3731ac8a9d42e0ef782acdf7ddee9b677d 7762 leave_1.12-2.1_amd64.deb
Files: 
 c88e21cae6861153e8a4ac763ddb85ad 1574 utils optional leave_1.12-2.1.dsc
 456ccdd3370402555e79e6cdeccabdd4 3043 utils optional leave_1.12-2.1.diff.gz
 b0ebdb4d1641c4e9e04fd9ed3a118ed0 7762 utils optional leave_1.12-2.1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJQdyGIAAoJECzs6TUOzr5KRxMP/1Vk2lJSLzh+LPPtn46F1DRJ
bcL9+y5hkinTGtzQy3unS5St1wwPGfpy+yGmxeSnxOCgnMZiYTTlIpUWwzQyVFNd
Y2GD6r4B8OjHtfo9gT03oxMbf2z9JmNkKvEPVh7XM/PHz3/3b12zOGT5/4yCUnee
rdVGEoTkNYWfhNumPZVZ9qe/w7vXG61JmNpXSD0/FgLoptzKOimXpen0ReJoiX6K
ZEE08DFGdrXjJCRnx3kzZk8MvHAkPIZSJjhakwXv5qfBQ/PWuza2nW3nhj+J+8aP
T0KteoJqHoiYO9zQOdpBdYbKcA7b8FTdVN777f3oZtraQPn3FRW26MNM6YtU2eSc
rmP+v0KtulCzC4PjAQfgVqi0iitiF4EKScReWA4djodE1LTPdxIUIw4X/BMSI/JM
aLlgiRegWJZKvaYacbyd5owZjzAja56qtInaDg79Hn6dEZqkGq9Km+2eV68Oi90b
55AV1cbDB21L70C0qkKw6hVtGLW7VWzeL6RaNkL0DW4Ou4EIigFXeN3nTb+pHYfR
JUgKFQoWqeUn2YqpQBo0a5Y0zQwjHPkv5lHQEOP6QIVEUzUQEwpznNScxK+84fhQ
dTjt3DS99tvc2HyUTDqMsA3vFlSWl6Br0uxXgopMu4u4l+eG59m48RFqqQI6VnvT
XuSWHKchgQJNQX4NvgZi
=+lhM
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 02 Jun 2013 08:15:25 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 16 13:19:59 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.