Debian Bug report logs - #138409
[PROPOSAL] Add build environment data to <package>.changes files

Package: dpkg-dev; Maintainer for dpkg-dev is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg-dev is src:dpkg.

Reported by: Randolph Chung <tausq@debian.org>

Date: Fri, 15 Mar 2002 07:18:01 UTC

Severity: wishlist

Reply or subscribe to this bug.

Toggle useless messages

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


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Randolph Chung <tausq@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Randolph Chung <tausq@debian.org>
To: submit@bugs.debian.org
Subject: [PROPOSAL] Add build environment data to <package>.changes files
Date: Thu, 14 Mar 2002 23:08:42 -0800
[Message part 1 (text/plain, inline)]
Package: debian-policy
Severity: wishlist

Proposal:
This is a proposal to add information about a package's build environment
to the "changes" file that accompanies the upload of each package. The 
build environment information contains the versions of packages used to
build the given package. The inclusion of this information is mandatory.
(for packages that declare a sufficiently high standards version, of course)

Rationale:
In working with the various ports for the Debian woody release (directly 
with ia64 and hppa, and indirectly via interactions with other porters 
on mips, etc) we have observed that it is often times useful to have a
record of the build environment of Debian packages. This is partially
taken care of by the build-dependency mechanism currently in place; the
present proposal is to take this one step further to include exact versions
of dependent packages used to build a certain source package.

Implementation:
This proposal should stand on its own without depending on a specific
implementation, but here is one idea for a possible implementation:

A new packaging helper tool will be created, hereby refered to as
dpkg-buildinfo.

dpkg-buildinfo will read debian/control and for each package listed as a 
build-dependency, add a line to bldinfo file of the form:
 <package> <version>
For example:
 debhelper 3.4.11

In addition to the explicit build-dependencies listed in debian/control,
dpkg-buildinfo also writes version info for all dependents of the 
build-essential package.

The resulting bldinfo file is appended to the .changes file created by the
packaging process under a "Build-Info" section.

Notes:
1. .changes files are not distributed in the archive, but are usually 
available on ftp-master. I was also informed by Ryan Murray that there are
plans to have more reliable archiving of changes files.
2. Ideally one might want to recursively list all the dependents of build-
dependencies too, but that is probably too expensive to compute.
3. My thanks to Ryan Murray, Anthony Towns and Lamont Jones for their 
comments and suggestions on refining this proposal.

randolph
-- 
Debian Developer <tausq@debian.org>
http://www.TauSq.org/
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Julian Gilbey <J.D.Gilbey@qmul.ac.uk>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Julian Gilbey <J.D.Gilbey@qmul.ac.uk>
To: Randolph Chung <tausq@debian.org>, 138409@bugs.debian.org
Cc: submit@bugs.debian.org
Subject: Re: Bug#138409: [PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 11:28:20 +0000
On Thu, Mar 14, 2002 at 11:08:42PM -0800, Randolph Chung wrote:
> 2. Ideally one might want to recursively list all the dependents of build-
> dependencies too, but that is probably too expensive to compute.

On my Pentium 166MHz, the following command took about 10s (real) to
run, with devscripts (>= 2.6.90) installed:

polya:~ $ perl -I/usr/share/devscripts -MDevscripts::PackageDeps -e
'$pkgs=new Devscripts::PackageDeps("/var/lib/dpkg/status"); print
join("\n",$pkgs->full_dependencies("build-essential")),"\n"'
perl-modules
cpp
libstdc++2.10-glibc2.2
[...]
binutils
libstdc++2.10-dev
make
polya:~ $

It could be easily modified to give the required output.

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

     Julian Gilbey, Dept of Maths,             Debian GNU/Linux Developer
      Queen Mary, Univ. of London         see http://people.debian.org/~jdg/
   http://www.maths.qmul.ac.uk/~jdg/           or http://www.debian.org/
        Visit http://www.thehungersite.com/ to help feed the hungry



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Julian Gilbey <J.D.Gilbey@qmul.ac.uk>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Randolph Chung <tausq@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Randolph Chung <tausq@debian.org>
To: Julian Gilbey <J.D.Gilbey@qmul.ac.uk>
Cc: 138409@bugs.debian.org
Subject: Re: Bug#138409: [PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 07:14:44 -0800
> > 2. Ideally one might want to recursively list all the dependents of build-
> > dependencies too, but that is probably too expensive to compute.
> On my Pentium 166MHz, the following command took about 10s (real) to
> run, with devscripts (>= 2.6.90) installed:

Thanks, that was good to know.

one problem is that some packages have build-dependency chains that
when resolved completely are very deep, and sometimes contains dependency 
cycles. One could argue that these are bugs, but they seem difficult to fix
in some cases.

As reference, here is an old build-dependency graph for bash:
http://people.debian.org/~tausq/bash-build-deps.png (559k)

randolph
-- 
Debian Developer <tausq@debian.org>
http://www.TauSq.org/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Julian Gilbey <J.D.Gilbey@qmul.ac.uk>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Julian Gilbey <J.D.Gilbey@qmul.ac.uk>
To: Randolph Chung <tausq@debian.org>
Cc: 138409@bugs.debian.org
Subject: Re: Bug#138409: [PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 15:57:42 +0000
On Fri, Mar 15, 2002 at 07:14:44AM -0800, Randolph Chung wrote:
> > > 2. Ideally one might want to recursively list all the dependents of build-
> > > dependencies too, but that is probably too expensive to compute.
> > On my Pentium 166MHz, the following command took about 10s (real) to
> > run, with devscripts (>= 2.6.90) installed:
> 
> Thanks, that was good to know.
> 
> one problem is that some packages have build-dependency chains that
> when resolved completely are very deep, and sometimes contains dependency 
> cycles. One could argue that these are bugs, but they seem difficult to fix
> in some cases.
> 
> As reference, here is an old build-dependency graph for bash:
> http://people.debian.org/~tausq/bash-build-deps.png (559k)

The current bash only takes about 7-8 seconds.  Dependency cycles are
not a problem with my code: once a package is recorded as being a
dependency, it's dependencies are added to a "to-be-processed" list,
and then it is skipped if it is seen again.  The "to-be-processed list
is ... well, processed.  So my guess it that its time complexity is
approximately linear in the size of the status file and the total
number of dependencies.  Replacing status with available so I can test
some packages with more dependencies, I have not noticed a significant
difference between bash (5 dependencies including itself) and gcompris
(40 dependencies).  If you can find a bigger one easily, I'll test
that too!

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

     Julian Gilbey, Dept of Maths,             Debian GNU/Linux Developer
      Queen Mary, Univ. of London         see http://people.debian.org/~jdg/
   http://www.maths.qmul.ac.uk/~jdg/           or http://www.debian.org/
        Visit http://www.thehungersite.com/ to help feed the hungry



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Manoj Srivastava <srivasta@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Manoj Srivastava <srivasta@debian.org>
To: 138409@bugs.debian.org
Cc: Randolph Chung <tausq@debian.org>
Subject: Re: Bug#138409: [PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 10:18:51 -0600
>>"Randolph" == Randolph Chung <tausq@debian.org> writes:


 Randolph> Proposal: This is a proposal to add information about a
 Randolph> package's build environment to the "changes" file that
 Randolph> accompanies the upload of each package. The build
 Randolph> environment information contains the versions of packages
 Randolph> used to build the given package. The inclusion of this
 Randolph> information is mandatory.  (for packages that declare a
 Randolph> sufficiently high standards version, of course)

	You can't introduce a new mandatory requirement, making all
 packages instantly buggy. You need a transition plan. And the bit
 about standards version is a red herring, really: packages are
 supposed to be current with policy (which is why policy froze) -- it
 is just that stable releases have packages that conform to policy as
 it existed then. Packages in Sid need to be current (can't claim
 ancient policy versions in unstable and not fix bugs, for example)


 Randolph> A new packaging helper tool will be created, hereby refered to as
 Randolph> dpkg-buildinfo.

	Why is this functionality not to be added to dpkg --build? Why
 require all packages to be touched when you can automagically get the
 desired result by changing the packaging tools? Or perhaps it should
 be in dpkg-gencontrol? (I don't see why this _has_ to go into the
 changes file, and not a new file designed for this to facilitate pre
 install checks). Indeed, having it available for preinstall checks in
 an automated fashion may be extremely useful once tools are developed
 to ensure build environment consistency. 


	Second, a formal policy proposal is way immature at this
 point. Take this over to -devel, discuss the implementation details,
 talk to dpkg maintainers, and come up with a working prototype of a
 dpkg-gencontrol/dpkg --build (in which case you do not need either a
 transition plan, or even a policy change)

	Indeed, mandating policy is a far worse way technically than a
 transparent change of the build tool chain.

	manoj
-- 
 It is impossible to enjoy idling thoroughly unless one has plenty of
 work to do. Jerome Klapka Jerome
Manoj Srivastava   <srivasta@debian.org>  <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Junichi Uekawa <dancer@netfort.gr.jp>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Junichi Uekawa <dancer@netfort.gr.jp>
To: Randolph Chung <tausq@debian.org>, 138409@bugs.debian.org
Cc: J.D.Gilbey@qmul.ac.uk
Subject: Re: Bug#138409: PROPOSAL] Add build environment data to <package>.changes files
Date: Sat, 16 Mar 2002 01:46:45 +0900
Randolph Chung <tausq@debian.org> cum veritate scripsit:

> one problem is that some packages have build-dependency chains that
> when resolved completely are very deep, and sometimes contains dependency 
> cycles. One could argue that these are bugs, but they seem difficult to fix
> in some cases.


Would it be too bad to include whole " dpkg -l " output ?
It sometimes may help, especially when libraries start  
diverting other libraries etc.


regards,
	junichi

-- 
dancer@debian.org : Junichi Uekawa   http://www.netfort.gr.jp/~dancer
GPG Fingerprint : 17D6 120E 4455 1832 9423  7447 3059 BF92 CD37 56F4



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org:
Bug#138409; Package debian-policy. Full text and rfc822 format available.

Acknowledgement sent to Randolph Chung <tausq@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Policy List <debian-policy@lists.debian.org>, debian-policy@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Randolph Chung <tausq@debian.org>
To: Manoj Srivastava <srivasta@debian.org>
Cc: 138409@bugs.debian.org
Subject: Re: Bug#138409: [PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 09:02:09 -0800
> And the bit
>  about standards version is a red herring, really: packages are
>  supposed to be current with policy (which is why policy froze) -- it
>  is just that stable releases have packages that conform to policy as
>  it existed then. Packages in Sid need to be current (can't claim
>  ancient policy versions in unstable and not fix bugs, for example)

sure eventually all packages will move to the new scheme, and everything
will be happy. i'm not suggesting anything more or less. 

>  Randolph> A new packaging helper tool will be created, hereby refered to as
>  Randolph> dpkg-buildinfo.
> 
> 	Why is this functionality not to be added to dpkg --build? Why

i don't care if it's a separate tool or part of dpkg --build or part of
dpkg-gencontrol. Having policy dictate a specific implementation
methodology is a Bad Idea. This is like saying all internet RFCs need to
have attached implementations.

>  require all packages to be touched when you can automagically get the
>  desired result by changing the packaging tools? Or perhaps it should
>  be in dpkg-gencontrol? (I don't see why this _has_ to go into the
>  changes file, and not a new file designed for this to facilitate pre
>  install checks). Indeed, having it available for preinstall checks in
>  an automated fashion may be extremely useful once tools are developed
>  to ensure build environment consistency. 

What do you mean by preinstall checks?

The rationale for not including it in the deb (which was how I had it in
my original draft) is that this is not information that is particularly
useful to the general *user* of Debian. changes files have a one-to-one
relationship to a build process, which debs do not have. 

> 	Second, a formal policy proposal is way immature at this
>  point. Take this over to -devel, discuss the implementation details,
>  talk to dpkg maintainers, and come up with a working prototype of a
>  dpkg-gencontrol/dpkg --build (in which case you do not need either a
>  transition plan, or even a policy change)

Julian already gave a simple way of doing this.

> 	Indeed, mandating policy is a far worse way technically than a
>  transparent change of the build tool chain.

I will pursue this further with dpkg developers, but I think that is
orthogonal with having it in policy. Why do we put syntax of control
files in the policy, for example, if it is simply a dpkg implementation
detail?

randolph
-- 
Debian Developer <tausq@debian.org>
http://www.TauSq.org/



Severity set to `wishlist'. Request was from Manoj Srivastava <srivasta@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Bug reassigned from package `debian-policy' to `dpkg'. Request was from Manoj Srivastava <srivasta@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>, dpkg@packages.qa.debian.org:
Bug#138409; Package dpkg. Full text and rfc822 format available.

Acknowledgement sent to James Troup <james@nocrew.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>, dpkg@packages.qa.debian.org. Full text and rfc822 format available.

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

From: James Troup <james@nocrew.org>
To: Julian Gilbey <J.D.Gilbey@qmul.ac.uk>
Cc: 138409@bugs.debian.org, Randolph Chung <tausq@debian.org>
Subject: Re: Bug#138409: PROPOSAL] Add build environment data to <package>.changes files
Date: 15 Mar 2002 17:15:37 +0000
Julian Gilbey <J.D.Gilbey@qmul.ac.uk> writes:

> If you can find a bigger one easily, I'll test that too!

Evolution or any of the big gnome packages (e.g. gnumeric).

-- 
James



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>, dpkg@packages.qa.debian.org:
Bug#138409; Package dpkg. Full text and rfc822 format available.

Acknowledgement sent to Julian Gilbey <J.D.Gilbey@qmul.ac.uk>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>, dpkg@packages.qa.debian.org. Full text and rfc822 format available.

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

From: Julian Gilbey <J.D.Gilbey@qmul.ac.uk>
To: James Troup <james@nocrew.org>
Cc: 138409@bugs.debian.org, Randolph Chung <tausq@debian.org>
Subject: Re: Bug#138409: PROPOSAL] Add build environment data to <package>.changes files
Date: Fri, 15 Mar 2002 17:22:54 +0000
On Fri, Mar 15, 2002 at 05:15:37PM +0000, James Troup wrote:
> Julian Gilbey <J.D.Gilbey@qmul.ac.uk> writes:
> 
> > If you can find a bigger one easily, I'll test that too!
> 
> Evolution or any of the big gnome packages (e.g. gnumeric).

evolution: 92 dependencies, an extra 1-2 seconds.
gnumeric:  69 dependencies, an extra second.

Hardly worth worrying about ;-)

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

     Julian Gilbey, Dept of Maths,             Debian GNU/Linux Developer
      Queen Mary, Univ. of London         see http://people.debian.org/~jdg/
   http://www.maths.qmul.ac.uk/~jdg/           or http://www.debian.org/
        Visit http://www.thehungersite.com/ to help feed the hungry



Bug reassigned from package `dpkg' to `dpkg-dev'. Request was from Frank Lichtenheld <djpig@debian.org> to control@bugs.debian.org. 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: Thu Apr 24 07:19:14 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.