Debian Bug report logs - #2531
[INSTALL-INFO] install-info: use fcntl for locking

Package: dpkg; Maintainer for dpkg is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg is src:dpkg (PTS, buildd, popcon).

Reported by: ian@chiark.greenend.org.uk

Date: Thu, 14 Mar 1996 03:03:10 UTC

Severity: normal

Merged with 3410

Done: "When Shortcut" <ipuastbnr@opusadvisory.com>

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-devel@pixar.com:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Ian Jackson <ian@chiark.chu.cam.ac.uk>:
New bug report received and forwarded to list. (full text, mbox, link).


Information forwarded to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to remco@blaakmeer.student.utwente.nl (Remco Blaakmeer):
Extra info received and forwarded to maintainer. Copy sent to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>. (full text, mbox, link).


Message #10 received at 2531-maintonly@bugs.debian.org (full text, mbox, reply):

From: remco@blaakmeer.student.utwente.nl (Remco Blaakmeer)
To: 2531-maintonly@bugs.debian.org
Subject: Old bugs need to be looked at
Date: Sun, 1 Feb 1998 12:00:00 +0100 (CET)
This is an automated message sent to all bugs older than one year.

This bug is very old. Please take a look at it and see if you can fix it.
If it has already been fixed, please close it.

If you have problems fixing it or if you don't have the time to fix it,
please ask the people on debian-devel@lists.debian.org for help, so that
at least the oldest bugs can be solved before Debian 2.0 is released.

Remco Blaakmeer


Merged 2531 2904 3410 9833 22996 24727 39359 48749. Request was from Josip Rodin <jrodin@public.srce.hr> to control@bugs.debian.org. (full text, mbox, link).


Merged 2531 2904 3410 9833 22996 24727 39359 48749 57927 93399. Request was from Cyrille Chepelov <chepelov@calixo.net> to control@bugs.debian.org. (full text, mbox, link).


Changed Bug title. Request was from Adam Heath <doogie@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Bug reassigned from package `dpkg' to `dpkg-doc'. Request was from Wichert Akkerman <wichert@wiggy.net> to control@bugs.debian.org. (full text, mbox, link).


Bug reassigned from package `dpkg-doc' to `dpkg'. Request was from Adam Heath <doogie@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Tags added: pending Request was from Adam Heath <doogie@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Disconnected #2531 from all other report(s). Request was from Ian Jackson <ijackson@chiark.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Bug closed, send any further explanations to Ian Jackson <ian@chiark.chu.cam.ac.uk> Request was from Ian Jackson <ijackson@chiark.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Bug reopened, originator set to ian@chiark.greenend.org.uk. Request was from Ian Jackson <ijackson@chiark.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Merged 2531 2904 3410 9833 22996 24727 39359 48749 57927 93399. Request was from Ian Jackson <ijackson@chiark.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Reply sent to Wichert Akkerman <wakkerma@debian.org>:
You have taken responsibility. (full text, mbox, link).


Notification sent to ian@chiark.greenend.org.uk:
Bug acknowledged by developer. (full text, mbox, link).


Message #35 received at 2531-close@bugs.debian.org (full text, mbox, reply):

From: Wichert Akkerman <wakkerma@debian.org>
To: 2531-close@bugs.debian.org
Subject: Bug#2531: fixed in dpkg 1.10
Date: Sun, 30 Jun 2002 14:20:44 -0400
We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:

dpkg-dev_1.10_all.deb
  to pool/main/d/dpkg/dpkg-dev_1.10_all.deb
dpkg-doc_1.10_all.deb
  to pool/main/d/dpkg/dpkg-doc_1.10_all.deb
dpkg_1.10.dsc
  to pool/main/d/dpkg/dpkg_1.10.dsc
dpkg_1.10.tar.gz
  to pool/main/d/dpkg/dpkg_1.10.tar.gz
dpkg_1.10_i386.deb
  to pool/main/d/dpkg/dpkg_1.10_i386.deb
dselect_1.10_i386.deb
  to pool/main/d/dpkg/dselect_1.10_i386.deb



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 2531@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Wichert Akkerman <wakkerma@debian.org> (supplier of updated dpkg 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: SHA1

Format: 1.7
Date: Fri, 21 Jun 2002 21:53:15 +0200
Source: dpkg
Binary: dpkg-static dselect dpkg-dev dpkg-doc dpkg
Architecture: source all i386
Version: 1.10
Distribution: unstable
Urgency: low
Maintainer: Dpkg Development <debian-dpkg@lists.debian.org>
Changed-By: Wichert Akkerman <wakkerma@debian.org>
Description: 
 dpkg       - Package maintenance system for Debian
 dpkg-dev   - Package building tools for Debian
 dpkg-doc   - Dpkg Internals Documentation
 dselect    - a user tool to manage Debian packages
Closes: 2531 11228 34942 45787 58091 58653 66735 67174 72634 75947 76100 81009 83139 92650 93386 97239 98275 102367 103667 103839 103845 103994 104214 104230 104232 104561 105750 108887 109282 111503 112378 113120 114249 115783 117968 118420 119532 120924 121309 121489 122132 126340 127458 130130 130509 131439 131496 131758 132476 132632 132714 132901 133035 136349 138013 139159 140441 141906 143117 144121 146855 147872 147924
Changes: 
 dpkg (1.10) unstable; urgency=low
 .
   * dpkg now reorders symlinks when extracting debs.  However, this is also
     still done when building debs.  After a stable release of Debian has
     occurred with this modified dpkg, the reordering when building can be
     removed.
   * Fixed upper/lowercase problems with package names. Closes: Bug#58091
     (and 3 others).
   * Add Russian manual pages
   * Fix n in dselect package list (performs searchagain now)
   * Fix layout problem in dpkg-divert manpage. Closes: Bug#103667
   * When a package is set to hold, and a reinstallation is requested,
     -E will not properly skip it.  Closes: #45787.
   * Make dpkg-checkbuilddeps use dpkg-architecture. Closes: Bug#104230
   * Improve dpkg-archtecture documentation. Closes: Bug#104232
   * Update German translation. Closes: Bug#97239
   * Update Polish translation. Closes: Bug#115783
   * Update French translation.
   * Update Brazilian translation.
   * Update Danish translation.
   * Update Galician translation.
   * Update Portuguese translations.
   * Add Catalan translation
   * Add German md5sum manpage
   * Add Brazilian update-alternatives manpage. Closes: Bug#122132
   * Improve dselect manpage. Closes: Bug#103839
   * dpkg-name(1) no longer mentions the non-existing dpkg(5) manpage.
     Closes: Bug#104214
   * Improve handling of Recommends and Suggests in dselect. Closes: Bug#34942
   * Add per-user configuration files. Closes: Bug#103845
   * Split dselect into its own package. dpkg Pre-Depends on it
     to make sure no weird things happen during an upgrade but this
     will allow us to make dselect option at some point in the future.
     Closes: #114249.
   * Make colours in dselect user-configurable. Closes: Bug#103994
   * Make Q do an abort in the method selection menu to make things more
     consistent with the package list
   * Fix test for nice(2) failure in start-stop-daemon. Closes: Bug#104561
   * Improve the dselect helpscreen a bit. Closes: Bug#72634
   * New version comparison routine that can handle arbitrarily large numbers
     and accepts `~' as a low-sorting character. Closes: Bug#93386
   * dselect now accepts regular expressions when searching for packages
     and can search in package descriptions as well.
     Closes: Bug#81009,#83139
   * Move query commands into a seperate dpkg-query command. For the old options
     (-L,-l,-s,-S) dpkg will still call it for you.
   * Add configurable package listing support to dpkg-query
   * Handle window resize in dselect main menu. Closes: Bug#98275
   * update-rc.d moved to the sysvinit package. Closes: Bug#108887,#109282
   * Add --showformat and --show options to dpkg-deb and dpkg-query to
     allow one to customize the output format
   * several install-info cleanups:
     * Move /usr/info/dir to /usr/share/info/dir.  Closes: #67174.
     * If /usr/share/info doesn't exist, print a message saying so,
       instead of the confusing "couldn't lock" error.  Closes: #2531.
     * If /usr/share/info/dir doesn't exist, or is empty, try to copy the
       backup from /var/backups/infodir.bak.  Closes: #121309.
     * Add a --remove-exactly option, and allow for relative filenames.
       Closes: #92650.
     * Use the section from the .info file if --section is not given.
       Closes: #76100.
     * Error messages now include the filename being processed.
       Closes: #66735
     * /usr/share/info/dir now has it's entries formatted to even widths.
       Closes: #11228
     * --calign|--align|--maxwidth are now ignored.
   * strip enoent as well. Closes: Bug#112378
   * Fix format error in Dutch translation. Closes: Bug#113120
   * When parsing stdin, md5sum now displays '-' as the filename, to match
     textutils md5sum.  Closes: #121489.
   * Apply patch from bug, to give update-alternatives a --list command.
     Closes: #120924.
   * Make dpkg-checkbuilddeps always check for build-essential.
     Closes: Bug#118420.
   * Use space seperated output instead of comma seperated in
     dpkg-checkbuilddeps
   * Update default ignore expression in dpkg-source to also match *~ and
     *.swp in subdirs. Closes: Bug#127458
   * Handle errors when verifying md5sums. Closes: Bug#102367
   * dpkg-source now uses reliable timestamps for changed files.
     Closes: Bug#105750
   * Fix typo in start-stop-daemon help message. Closes: Bug#131439
   * update-alternative exits with a non-zero exit code when displaying
     a non-existing alternative. Closes: Bug#131496
   * Use gzip -c in install-info. Closes: Bug#131758
   * start-stop-daemon works on HP-UX now. Closes: Bug#130130
   * Fix dselect spin when run without input. Closes: Bug#132476
   * Update-alternatives now correctly restores an alternative to auto mode
     when removing a manually selected alternative. Closes: Bug#132632
   * Copy bugs and origin information into status file. Closes: Bug#132714
   * Improve wording of update-alternatives --config text. Closes: Bug#133035
   * Add manpages for dpkg.cfg and dselect.cfg. Closes: Bug#132901
   * Improve test for illegal packagename for dpkg-gencontrol -p option
   * Fix segfault when getenv("PATH") returns null.  Closes: Bug#136349
   * Add Large File Summit extensions. Closes: Bug#130509
   * Fix typo in dpkg-source manpage. Closes: Bug#141906
   * Re-fix handling of multiple blank lines in control. Closes: Bug#143117
   * Document --force-confmiss and --force-bad-verify. Closes: Bug#146855
   * Drop upgrade compat stuff in dpkg postinst for ancient versions (over
     5 years old)
   * Always set CLOEXEC on the lock fd.  Closes: Bug#147872
   * Clean up tmp files when ctrl-c is sent to dpkg-source.  Closes:
     Bug#58653.
   * dpkg-source no longer requires exact case matches for fields in
     debian/control.  Closes: Bug#139159.
   * dpkg-scanpackages now gives proper case for Source and Installed-Size.
     Closes: Bug#119532.
   * dpkg-architecture: s/build on/built on/; same for 'build for'.
     Closes: Bug#140441.
   * cl-debian.pl now recognizes emergency as valid in changelogs.
     Closes: Bug#138013.
   * Properly count recursive expansion of variables, instead of just
     counting all variable expansions.  Closes: #144121.
   * Add -I<filename> to dpkg-buildpackage and dpkg-source, to excludes
     files from tar, when building a native package.  Closes: Bug#75947.
   * Close the old debian/files file, before doing a rename.  Closes:
     Bug#111503.
   * Fix documentation of -v<version> for dpkg-parsechangelog, removing the
     requirement that the version has to be in the changelog.  Closes:
     Bug#117968.
   * Fix typo in dpkg-source(1), s/-su/-sU/.  Closes: Bug#126340.
   * Add dpkg-scansources to dpkg-scanpackages(8).  Closes: Bug#147924.
   * Change /usr/info into a symlink to /usr/share/info if possible
Files: 
 df7d1380dde0d2b980421489e3ae8ea6 1354 base required dpkg_1.10.dsc
 dce6fc650eb8343b03acacfac722b094 1623580 base required dpkg_1.10.tar.gz
 cd1dbe55ff166971d591c9404e6905f6 1166408 base required dpkg_1.10_i386.deb
 5c8a6950c9708044fe4d527e58b4ba18 80244 base required dselect_1.10_i386.deb
 c8dab8d95d390d0d485e00db3c846c0f 1155281 byhand - dpkg-1.10_i386.nondebbin.tar.gz
 f78567b6a153a00b24551fb1d9d24b9e 1321299 byhand - dpkg-1.10_i386-static.nondebbin.tar.gz
 46e139f4860f978c4d9c9d0aee43f426 111386 utils standard dpkg-dev_1.10_all.deb
 0fcdf112e49159b1128054603a895cd9 10718 doc optional dpkg-doc_1.10_all.deb
 dce6fc650eb8343b03acacfac722b094 1623580 byhand - dpkg-1.10.tar.gz

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

iQIXAwUBPROK7318BjbHbzjSFAK/fQf/TWJF2Op6OWrByhKH4ZphCrrwL5mXec3T
MnHN67jF4+afK/TnMxk+jiYXH+MbFOIHeXc8eHeeNF+todRVcaxc9DMco+Bm+Ef0
Mptw3yHbHvSgajctMKWkHPLYbnE40C8x3wqsnFPIkp5qV0PTviFiFtmdVdoKjGc2
vyFDzwKtSV+wnAs0uWVwGqrL0XQEedYHErY0UIEOODcANARzeGDP85Ih47HE003f
mUrFinWcPeZoD8ipAOFZUwPi0E+gyqd/U1Q+TkAUAdmE6P4aEj/10ZTtHQj9H7mq
lmegUYKfTZOG6/rjI5jVOSW/px9V7Qr91sHCp1GvdYsKEqF5DYKDYQf9EAHuFl19
eMGdjzTvnWRm72BPJ6CRpR4uZTsCjknSUepA4hgsxKJscxBYR/qxByK4esnNo3DG
F/M8EfIciNwiEHZ6jNhkPKoxPPo76qFeCqgkNV778eRkJsI8k6S0NCgAVuR5nFLR
gLA183WyT7MVhWCc9aFz9PZXFFe8goLJBHzUk6HbngsRNSSvkyqdKn0KDtIle/gB
Y6LF9UC7SO+e5xznjWHIkhyaAYNL/zZ7BCQS5ctoIf+ED7a2t3Wkjj9QBgtmmTGq
ZV5M0V3NfZrm1GEL6cyxeZIr5mTSLgQRH3ep+nmbzEQaSaOoayxW2zV5t5IB2I0s
YpT/mvlfIgwgcA==
=8IWo
-----END PGP SIGNATURE-----




Disconnected #2531 from all other report(s). Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Merged 2531 3410. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Changed Bug title. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Bug reopened, originator not changed. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Tags removed: pending Request was from Adam Heath <doogie@brainfood.com> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>, dpkg@packages.qa.debian.org:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Thomas Hood <jdthood@yahoo.co.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, mbox, link).


Message #50 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Thomas Hood <jdthood@yahoo.co.uk>
To: control@bugs.debian.org
Cc: 160761-quiet@bugs.debian.org, 2531@bugs.debian.org, 3410-quiet@bugs.debian.org, Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Subject: merge dpkg bugs
Date: 01 Oct 2002 10:31:05 +0200
severity 160761 normal
merge 160761 3410
thanks

I see that report #3410, which already reported this bug,
is 6 years and 103 days old.

Cheers
--
Thomas




Merged 2531 3410 160761. Request was from Thomas Hood <jdthood@yahoo.co.uk> to control@bugs.debian.org. (full text, mbox, link).


Disconnected #160761 from all other report(s). Request was from Thomas Hood <jdthood@yahoo.co.uk> to control@bugs.debian.org. (full text, mbox, link).


Changed Bug title. Request was from Adam Heath <doogie@brainfood.com> to control@bugs.debian.org. (full text, mbox, link).


Bug reopened, originator not changed. Request was from Colin Watson <cjwatson@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Tom Zych <tztemp31@pobox.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>. (full text, mbox, link).


Message #63 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Tom Zych <tztemp31@pobox.com>
To: 2531@bugs.debian.org
Subject: Old bug
Date: Fri, 07 Nov 2003 21:07:18 -0800
Hi,

This bug is nearly eight years old and there's been no
activity for over a year. Should it be closed?

Thanks,
-- 
Tom Zych
This email address will expire at some point to thwart spammers.
Permanent address: echo 'gbzmlpu@cbobk.pbz' | rot13



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>. (full text, mbox, link).


Message #68 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: Tom Zych <tztemp31@pobox.com>, 2531@bugs.debian.org
Subject: Re: Bug#2531: Old bug
Date: Sat, 08 Nov 2003 19:27:39 +1100
Tom Zych <tztemp31@pobox.com> wrote:
> 
> This bug is nearly eight years old and there's been no
> activity for over a year. Should it be closed?

The question you should ask is has it been fixed, not how old
it is or how active its discussion is.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Tom Zych <tztemp31@pobox.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>. (full text, mbox, link).


Message #73 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Tom Zych <tztemp31@pobox.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: 2531@bugs.debian.org
Subject: Re: Bug#2531: Old bug
Date: Sat, 08 Nov 2003 08:02:05 -0800
Herbert Xu wrote:

> The question you should ask is has it been fixed, not how old
> it is or how active its discussion is.

AFAICT it is fixed:

> From: Wichert Akkerman <wakkerma@debian.org>
> Subject: Bug#2531: fixed in dpkg 1.10
> Date: Sun, 30 Jun 2002 14:20:44 -0400

> We believe that the bug you reported is fixed in the latest version of
> dpkg, which is due to be installed in the Debian FTP archive:
[snip]
> Thank you for reporting the bug, which will now be closed.

But it wasn't.

I note that 1.10 is in sarge, but woody has 1.9. Would this stay
open until sarge becomes stable?

Cheers,
-- 
Tom Zych
This email address will expire at some point to thwart spammers.
Permanent address: echo 'gbzmlpu@cbobk.pbz' | rot13



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>. (full text, mbox, link).


Message #78 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: Tom Zych <tztemp31@pobox.com>
Cc: 2531@bugs.debian.org
Subject: Re: Bug#2531: Old bug
Date: Sun, 9 Nov 2003 08:09:28 +1100
On Sat, Nov 08, 2003 at 08:02:05AM -0800, Tom Zych wrote:
> 
> But it wasn't.

It was closed, but it was reopened because the actual bug has not
been fixed.

When install-info uses fcntl or it ceases to exist, then this bug
can be closed.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Scott James Remnant <scott@netsplit.com>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Nathanael Nerode <neroden@twcny.rr.com>:
Extra info received and forwarded to list. Copy sent to Scott James Remnant <scott@netsplit.com>. (full text, mbox, link).


Message #83 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Nathanael Nerode <neroden@twcny.rr.com>
To: 2531@bugs.debian.org
Subject: Re: install-info: use fcntl for locking
Date: Thu, 22 Sep 2005 02:31:16 -0400
Looking at the ooooold open bugs...

I looked at this bug for a while.  Install-info and friends are written in
perl.  Perl makes it very hard and unportable to use fcntl locks, since there's
no portable way to access the struct flock definition.  This *could* be
dealt with using c2ph, making a different version of the perl scripts for
each architecture.  But that doesn't sound like a reasonable thing to do.
Someone could add to the standard perl distribution to provide an interface
to struct flock, but that sounds like a really long-term goal.  :-P
To use fcntl, a rewrite in a different language would appear be the most
plausible thing to do, and that doesn't seem very reasonable either.
(So I suggest closing this -- though not the bug it's merged with, which is 
different -- as wontfix.)

Perl encourages the use of flock instead.

I think I've figured out a way to change install-info to use flock correctly,
although it's a little ugly.  The algorithm reads the old dir file, writes
a new dir file, and then renames the new one on top of the old one.  An
exclusive lock must be acquired on the old file before it is read, and on
the new file before it is written, and neither lock can be dropped until
the rename completes.  I could provide a patch to that effect if anyone's
interested; it's straightforward enough.

-- 
Nathanael Nerode  <neroden@twcny.rr.com>

Make sure your vote will count.
http://www.verifiedvoting.org/



Bug reopened, originator not changed. Request was from "Adam D. Barratt" <debian-bts@adam-barratt.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Nathanael Nerode <neroden@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


Message #90 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Nathanael Nerode <neroden@fastmail.fm>
To: 2531@bugs.debian.org
Cc: debian-dpkg@lists.debian.org, control@bugs.debian.org
Subject: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Wed, 7 Jun 2006 02:42:20 -0400
tags 2531 +patch
thanks

This patch converts install-info to use perl's flock for locking.  I have been
told that this uses the system's fcntl in Debian's perl installation.  (It is
written to tolerate any implementation of flock which perl may supply, however.)

As part of this change, it now operates directly on the dir file rather than 
creating a new dir file and then relocating it.  (This is the cleanest way to 
make the locking actually work right.)  Accordingly the creation of the backup 
dir file is moved *before* the actual work rather than after it.

This has been tested (by hand-invocation).  It works.  

It *might* require that dpkg acquire a dependency on a version of perl-base newer 
than something or other.  I'm not sure because I'm not sure when exactly the 
necessary functionality arrived in perl.  I doubt that it requires such a 
dependency; I believe all the necessary functionality is present in 5.8.4 (which 
is in 'stable'); I'm just not 100% sure.

This is copyright-worthy content, so here's my copyright notice for debian/copyright
(should you choose to apply this patch):
Copyright 2006 Nathanael Nerode <neroden@gcc.gnu.org>

--- install-info.pl.orig	2006-06-07 00:58:26.000000000 -0400
+++ install-info.pl	2006-06-07 02:27:38.000000000 -0400
@@ -1,6 +1,8 @@
 #!/usr/bin/perl --
 
 use Text::Wrap;
+use Fcntl ':flock';
+use Fcntl ':seek';
 
 my $dpkglibdir = "."; # This line modified by Makefile
 push (@INC, $dpkglibdir);
@@ -301,18 +303,28 @@
     }
 }
 
-if (!$nowrite && !link($dirfile, "$dirfile.lock")) {
-    printf( STDERR _g("%s: failed to lock dir for editing! %s")."\n",
-	    $name, $! );
-    printf( STDERR _g("try deleting %s?")."\n", "$dirfile.lock")
-	if $!{EEXIST};
+# Handle (sort of) being run concurrently with older versions.
+if (!$nowrite && -e "$dirfile.lock") {
+    printf( STDERR _g("%s: old lockfile still present! ")."\n",
+	    $name);
+    printf( STDERR _g("try deleting %s?")."\n", "$dirfile.lock");
     exit 1;
 }
 
-open(OLD,$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
-@work= <OLD>;
-eof(OLD) || &ulquit(sprintf(_g("read %s: %s"), $dirfile, $!));
-close(OLD) || &ulquit(sprintf(_g("close %s after read: %s"), $dirfile, $!));
+if (!$nowrite) {
+    # Open for reading and writing, and lock it.
+    open(DIRFILE,"+<",$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
+    flock(DIRFILE, LOCK_EX);
+    # Back it up.  Since we'll be erasing the original, this is crucial.
+    unlink("$dirfile.old");
+    system ('cp', $dirfile, "$dirfile.old") &&
+	&ulquit(sprintf(_g("cannot backup old %s, giving up: %s"), $dirfile, $!));
+} else {
+    open(DIRFILE,"<",$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
+}
+
+@work= <DIRFILE>;
+eof(DIRFILE) || &ulquit(sprintf(_g("read %s: %s"), $dirfile, $!));
 
 while (($#work >= 0) && ($work[$#work] !~ m/\S/)) { $#work--; }
 
@@ -478,27 +490,18 @@
 }
 
 if (!$nowrite) {
-    open(NEW,"> $dirfile.new") || &ulquit(sprintf(_g("create %s: %s"), "$dirfile.new", $!));
-    print(NEW @head,join("\n",@newwork)) ||
-	&ulquit(sprintf(_g("write %s: %s"), "$dirfile.new", $!));
-    close(NEW) || &ulquit(sprintf(_g("close %s: %s"), "$dirfile.new", $!));
-
-    unlink("$dirfile.old");
-    link($dirfile, "$dirfile.old") ||
-	&ulquit(sprintf(_g("cannot backup old %s, giving up: %s"), $dirfile, $!));
-    rename("$dirfile.new", $dirfile) ||
-	&ulquit(sprintf(_g("install new %s: %s"), $dirfile, $!));
-
-    unlink("$dirfile.lock") ||
-	die sprintf(_g("%s: unlock %s: %s"), $name, $dirfile, $!)."\n";
-    system ('cp', $dirfile, $backup) &&
-	warn sprintf(_g("%s: couldn't backup %s in %s: %s"), $name, $dirfile, $backup, $!)."\n";
+    # Switch from reading to writing, still holding the same lock on the same file
+    seek(DIRFILE,0,SEEK_SET)
+      || &ulquit(sprintf(_g("seeking start of %s: %s"), $dirfile, $!));
+    truncate(DIRFILE, 0)
+      || &ulquit(sprintf(_g("truncating %s: %s"), $dirfile, $!));
+    print(DIRFILE @head,join("\n",@newwork)) ||
+	&ulquit(sprintf(_g("writing new %s: %s"), $dirfile, $!));
+    flock(DIRFILE, LOCK_UN);
 }
+close(DIRFILE) || &ulquit(sprintf(_g("close %s: %s"), $dirfile, $!));
 
 sub ulquit {
-    unlink("$dirfile.lock") ||
-	warn sprintf(_g("%s: warning - unable to unlock %s: %s"),
-		     $name, $dirfile, $!)."\n";
     die "$name: $_[0]\n";
 }
 

-- 
Nathanael Nerode  <neroden@fastmail.fm>

[Insert famous quote here]



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Nathanael Nerode <neroden@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


Message #95 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Nathanael Nerode <neroden@fastmail.fm>
To: 2531@bugs.debian.org, debian-dpkg@lists.debian.org
Subject: Slightly revised install-info fcntl patch
Date: Wed, 7 Jun 2006 02:49:58 -0400
This is only slightly revised from the previous version;
I accidentally deleted the lines which create the backup file in /var/backups.
Those are restored in this version of the patch.

--- install-info.pl.orig	2006-06-07 00:58:26.000000000 -0400
+++ install-info.pl	2006-06-07 02:48:22.000000000 -0400
@@ -1,6 +1,8 @@
 #!/usr/bin/perl --
 
 use Text::Wrap;
+use Fcntl ':flock';
+use Fcntl ':seek';
 
 my $dpkglibdir = "."; # This line modified by Makefile
 push (@INC, $dpkglibdir);
@@ -301,18 +303,28 @@
     }
 }
 
-if (!$nowrite && !link($dirfile, "$dirfile.lock")) {
-    printf( STDERR _g("%s: failed to lock dir for editing! %s")."\n",
-	    $name, $! );
-    printf( STDERR _g("try deleting %s?")."\n", "$dirfile.lock")
-	if $!{EEXIST};
+# Handle (sort of) being run concurrently with older versions.
+if (!$nowrite && -e "$dirfile.lock") {
+    printf( STDERR _g("%s: old lockfile still present! ")."\n",
+	    $name);
+    printf( STDERR _g("try deleting %s?")."\n", "$dirfile.lock");
     exit 1;
 }
 
-open(OLD,$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
-@work= <OLD>;
-eof(OLD) || &ulquit(sprintf(_g("read %s: %s"), $dirfile, $!));
-close(OLD) || &ulquit(sprintf(_g("close %s after read: %s"), $dirfile, $!));
+if (!$nowrite) {
+    # Open for reading and writing, and lock it.
+    open(DIRFILE,"+<",$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
+    flock(DIRFILE, LOCK_EX);
+    # Back it up.  Since we'll be erasing the original, this is crucial.
+    unlink("$dirfile.old");
+    system ('cp', $dirfile, "$dirfile.old") &&
+	&ulquit(sprintf(_g("cannot backup old %s, giving up: %s"), $dirfile, $!));
+} else {
+    open(DIRFILE,"<",$dirfile) || &ulquit(sprintf(_g("open %s: %s"), $dirfile, $!));
+}
+
+@work= <DIRFILE>;
+eof(DIRFILE) || &ulquit(sprintf(_g("read %s: %s"), $dirfile, $!));
 
 while (($#work >= 0) && ($work[$#work] !~ m/\S/)) { $#work--; }
 
@@ -478,27 +490,23 @@
 }
 
 if (!$nowrite) {
-    open(NEW,"> $dirfile.new") || &ulquit(sprintf(_g("create %s: %s"), "$dirfile.new", $!));
-    print(NEW @head,join("\n",@newwork)) ||
-	&ulquit(sprintf(_g("write %s: %s"), "$dirfile.new", $!));
-    close(NEW) || &ulquit(sprintf(_g("close %s: %s"), "$dirfile.new", $!));
-
-    unlink("$dirfile.old");
-    link($dirfile, "$dirfile.old") ||
-	&ulquit(sprintf(_g("cannot backup old %s, giving up: %s"), $dirfile, $!));
-    rename("$dirfile.new", $dirfile) ||
-	&ulquit(sprintf(_g("install new %s: %s"), $dirfile, $!));
+    # Switch from reading to writing, still holding the same lock on the same file
+    seek(DIRFILE,0,SEEK_SET)
+      || &ulquit(sprintf(_g("seeking start of %s: %s"), $dirfile, $!));
+    truncate(DIRFILE, 0)
+      || &ulquit(sprintf(_g("truncating %s: %s"), $dirfile, $!));
+    print(DIRFILE @head,join("\n",@newwork)) ||
+	&ulquit(sprintf(_g("writing new %s: %s"), $dirfile, $!));
+    flock(DIRFILE, LOCK_UN);
+}
+close(DIRFILE) || &ulquit(sprintf(_g("close %s: %s"), $dirfile, $!));
 
-    unlink("$dirfile.lock") ||
-	die sprintf(_g("%s: unlock %s: %s"), $name, $dirfile, $!)."\n";
+if (!$nowrite) {
     system ('cp', $dirfile, $backup) &&
-	warn sprintf(_g("%s: couldn't backup %s in %s: %s"), $name, $dirfile, $backup, $!)."\n";
+  warn sprintf(_g("%s: couldn't backup %s in %s: %s"), $name, $dirfile, $backup, $!)."\n";
 }
 
 sub ulquit {
-    unlink("$dirfile.lock") ||
-	warn sprintf(_g("%s: warning - unable to unlock %s: %s"),
-		     $name, $dirfile, $!)."\n";
     die "$name: $_[0]\n";
 }
 

-- 
Nathanael Nerode  <neroden@fastmail.fm>

[Insert famous quote here]



Tags added: patch Request was from Nathanael Nerode <neroden@fastmail.fm> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Ian Jackson <ian@davenant.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


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

From: Ian Jackson <ian@davenant.greenend.org.uk>
To: Nathanael Nerode <neroden@fastmail.fm>
Cc: 2531@bugs.debian.org, debian-dpkg@lists.debian.org
Subject: Re: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Thu, 8 Jun 2006 10:51:00 +0100
tags 2531 - patch
thanks

Nathanael Nerode writes ("PATCH: Make install-info use fcntl (via perl's flock) for locking"):
> This patch converts install-info to use perl's flock for locking.
...
> As part of this change, it now operates directly on the dir file

Unfortunately, this is wrong.  If you operate directly on the dir file
then disk full and other errors can cause the file to be truncated.
This is OK if you write the new version to a temp file and rename into
place, because only the temp file is damaged.  If you try to do it by
writing to the primary file directly then if your script fails and the
primary file is damaged, the next run will probablu overwrite the
backup.

For this reason, when using fcntl locking, you generally have to use a
_separate_ lockfile.

Also, when changing between different locking methods, you have to
either be sure that only your program might be editing the file, or
you have to have a dual running approach.  In this case one
possibility would be to use the .lock file that current install-info
uses as the separate lockfile and to write `perl-flock' into it to
indicate that the lock is held either (a) by the process which created
the file empty or (b) if the file contains `perl-flock' by the process
with a Perl flock on the file.

So the process of locking and updating would be:
 1. Attempt to open .lock for writing O_EXCL
   a.  If this succeeds, write "perl-flock\n"
   b.  If this fails,
         i.  open the file for reading; if this fails ENOENT
              go back to start
         ii. check whether the file contains only "perl-flock\n"
              and if not sleep 1 and go back to start
 2. Lock .lock with Perl's flock
 3. Read old file contents
 4. Write new file contents to temporary file
 5. Unlink old backup file
 6. link(2) old file to backup file
 7. rename(2) temporary file to primary file

Ian.



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Ian Jackson <ian@davenant.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


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

From: Ian Jackson <ian@davenant.greenend.org.uk>
To: Nathanael Nerode <neroden@fastmail.fm>, 2531@bugs.debian.org, debian-dpkg@lists.debian.org
Subject: Re: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Thu, 8 Jun 2006 11:01:20 +0100
Ian Jackson writes ("Re: PATCH: Make install-info use fcntl (via perl's flock) for locking"):
> So the process of locking and updating would be:
>  1. Attempt to open .lock for writing O_EXCL
>    a.  If this succeeds, write "perl-flock\n"
>    b.  If this fails,
>          i.  open the file for reading; if this fails ENOENT
>               go back to start
>          ii. check whether the file contains only "perl-flock\n"
>               and if not sleep 1 and go back to start
>  2. Lock .lock with Perl's flock
>  3. Read old file contents
>  4. Write new file contents to temporary file
>  5. Unlink old backup file
>  6. link(2) old file to backup file
>  7. rename(2) temporary file to primary file

I should point out that the lack of explicit unlocking and deletion
here is deliberate; the kernel will release the fcntl lock for us.  It
does mean that after any new program has taken out the lock in this
way all old programs will fail thinking the lock is already held.

(Also, there is a bug: in 1(b)(i) you have to open the file O_RDWR
without O_CREAT.)

If this is not acceptable, then you have to unlink the .lock file as
part of unlocking.  When you have this protocol, acquiring the lock
is more complex, to avoid the race where you fcntl lock the lockfile
just as the previous lock holder is unlinking it.  You hold the lock
only if after acquiring the fcntl lock you fstat the file to check the
file you've fcntl locked is still named as the lockfile, and you may
not unlink the lockfile without holding the lock:

  1. Attempt to open .lock for writing O_EXCL
    a.  If this succeeds, write "perl-flock\n"
    b.  If this fails,
          i.  open the file for read+write, without create;
               if this fails ENOENT go back to start
          ii. check whether the file contains only "perl-flock\n"
               and if not sleep 1 and go back to start
    (If we weren't trying to be compatible with an old scheme we could
     just open the file as in 1(b)(i) and not write anything to it.)

  2. Lock .lock with Perl's flock
  3. fstat your fd on .lock and stat .lock; compare dev and inum
     if not identical then race has happened, go back to start
  -- lock is now held --

  4. Read old file contents                     } standard, nearly
  5. Write new file contents to temporary file  }  only, safe method
  6. Unlink old backup file                     }   of updating a file
  7. link(2) old file to backup file            }    on unix
  8. rename(2) temporary file to primary file   }

  -- release lock: --
  9. unlink .lock           } must be done
 10. close our fd on .lock  }  in this order

Ian.



Tags removed: patch Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Nathanael Nerode <neroden@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


Message #114 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Nathanael Nerode <neroden@fastmail.fm>
To: Ian Jackson <ian@davenant.greenend.org.uk>
Cc: 2531@bugs.debian.org, control@bugs.debian.org, dpkg-devel@lists.debian.org
Subject: Re: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Sat, 10 Jun 2006 19:32:52 -0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

unmerge 3410
thanks
# 3410 is a different bug, requesting that the lockfile be
# cleaned up on process kill

Ian Jackson wrote:
> tags 2531 - patch
> thanks
> 
> Nathanael Nerode writes ("PATCH: Make install-info use fcntl (via perl's flock) for locking"):
>> This patch converts install-info to use perl's flock for locking.
> ...
>> As part of this change, it now operates directly on the dir file
> 
> Unfortunately, this is wrong.  If you operate directly on the dir file
> then disk full and other errors can cause the file to be truncated.
> This is OK if you write the new version to a temp file and rename into
> place, because only the temp file is damaged.  If you try to do it by
> writing to the primary file directly then if your script fails and the
> primary file is damaged, the next run will probablu overwrite the
> backup.
> 
> For this reason, when using fcntl locking, you generally have to use a
> _separate_ lockfile.

Hmm.  In that case, what is the *point* of using fcntl locking?  *EVER*?
  Fcntl locking is a fscking waste of time and effort in this case.

Is it simply to make sure that the lock file is deleted if the program
dies?  This can be done in a much simpler way, without a lock-method
transition, by catching kill signals and deleting the lock file on all
exit paths.  As suggested in bug 3410, which was mistakenly merged with
this one.

I see absolutely no other advantage to using fcntl locking; none at all.
 Therefore I strongly advise closing the bug immediately as "wontfix".
You're the submitter, so I advise that you do.

> Also, when changing between different locking methods, you have to
> either be sure that only your program might be editing the file,
Done.  If the lockfile exists, my program dies immediately, before
touching the file.  Yes, simplistic, but two versions of install-info
*shouldn't* be running at the same time thanks to the non-parallelism of
dpkg in general, so this is strictly a corner case.  As is this entire
bug, until dpkg becomes more parallel.

Of course, the long-term solution is to regenerate the dir file fresh
from sources each time, in which case it doesn't matter whether it gets
trashed by one run.  Unfortunately this doesn't appear to be quite
possible yet.

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

iD8DBQFEi1akRGZ0aC4lkIIRAgVlAJ48NtlZ6Q9+7oyOk/9Mhy92ApA8VwCaAx8H
4AqBnCNjL5LYsaEZYxNvNA4=
=2zOM
-----END PGP SIGNATURE-----



Disconnected #3410 from all other report(s). Request was from Nathanael Nerode <neroden@fastmail.fm> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Ian Jackson <ian@davenant.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


Message #121 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Ian Jackson <ian@davenant.greenend.org.uk>
To: Nathanael Nerode <neroden@fastmail.fm>
Cc: 2531@bugs.debian.org, control@bugs.debian.org, dpkg-devel@lists.debian.org
Subject: Re: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Mon, 12 Jun 2006 13:51:04 +0100
merge 2531 3410
thanks

Nathanael Nerode writes ("Re: PATCH: Make install-info use fcntl (via perl's flock) for locking"):
> unmerge 3410
> thanks
> # 3410 is a different bug, requesting that the lockfile be
> # cleaned up on process kill

The only correct fix to that is to use fcntl instead, so it should
remain merged.

> Hmm.  In that case, what is the *point* of using fcntl locking?  *EVER*?
>   Fcntl locking is a fscking waste of time and effort in this case.
> 
> Is it simply to make sure that the lock file is deleted if the program
> dies?

Yes (well, there are other advantages too but that's the main one).

>   This can be done in a much simpler way, without a lock-method
> transition, by catching kill signals and deleting the lock file on all
> exit paths.  As suggested in bug 3410, which was mistakenly merged with
> this one.

This is not reliable.

I'm afraid I don't have time right now to explain all of this to you
but all of the stuff I've been explaining should be well-known to
anyone messing around in this area.

Regards,
Ian.



Merged 2531 3410. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <team@dpkg.org>:
Bug#2531; Package dpkg. (full text, mbox, link).


Acknowledgement sent to Nathanael Nerode <neroden@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <team@dpkg.org>. (full text, mbox, link).


Message #128 received at 2531@bugs.debian.org (full text, mbox, reply):

From: Nathanael Nerode <neroden@fastmail.fm>
To: Ian Jackson <ian@davenant.greenend.org.uk>
Cc: 2531@bugs.debian.org, dpkg-devel@lists.debian.org
Subject: Re: PATCH: Make install-info use fcntl (via perl's flock) for locking
Date: Tue, 20 Jun 2006 14:36:34 -0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ian Jackson wrote:
> merge 2531 3410
> thanks
> 
> Nathanael Nerode writes ("Re: PATCH: Make install-info use fcntl (via perl's flock) for locking"):
>> unmerge 3410
>> thanks
>> # 3410 is a different bug, requesting that the lockfile be
>> # cleaned up on process kill
> 
> The only correct fix to that is to use fcntl instead, so it should
> remain merged.

In your opinion.  If that's the opinion of the current dpkg maintainers,
fine, but you're not one of them!  I happen to be quite certain that
you're wrong.  3410 could be fixed correctly by using flock(2) or
lockf(2).  Or (better) by implementing a completely lockless algorithm,
such as the full-database-rebuild -- which is apparently the preferred
choice.

Also, the correct way to describe this bug relationship nowadays is with
a block:

unmerge 3410 2531
block 3410 with 2531

They are *not* the same bug, even if the best fix for one is to fix the
other (which it isn't).

The long-term plan, anyway, is to eliminate the current install-info in
favor of one which rebuilds the index from scratch (a very good idea),
which will solve 3410 and render 2531 a 'wontfix' wishlist bug.

I would advise unmerging the bugs, marking 2531 'wontfix' and attempting
to solve 3410 with the lockless algorithm, if any dpkg maintainers are
listening.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEmEAyRGZ0aC4lkIIRAkN5AJ0Vyci93kWzfqrNLwi2yRbCkbMpDACeI96q
s/Pi+1JBufSeWCdBZILein8=
=hgss
-----END PGP SIGNATURE-----



Reply sent to "installed as" <lvsntfbyxlr@vanbeurden.com>:
You have taken responsibility. (full text, mbox, link).


Notification sent to ian@chiark.greenend.org.uk:
Bug acknowledged by developer. (full text, mbox, link).


Message #133 received at 2531-close@bugs.debian.org (full text, mbox, reply):

From: "installed as" <lvsntfbyxlr@vanbeurden.com>
To: 2531-close@bugs.debian.org
Subject: better than was talking
Date: Tue, 17 Oct 2006 16:05:09 +0900
[Message part 1 (text/plain, inline)]
Please visi here when register am with or can now your in own Free a blog What?
Who best am designer is Photo shop tutorials Pain pro made in by.
Space Drive install version windows installed as or folders used a different a.
Give need car Media in centers pcs networking graphic cards hard disk drives are in some topics am could.
Speed up computer in if will not start or has fault am on boot read pages ask.
Into am one website help out visitors and members am like a online offline consoles we have lots a of internet resources in big you.
Favorite show other world thinking building in but dont parts stop looking over build ultimate.

Most popular subjects into one website is help out visitors in and members like online offline is consoles we have lots of internet resources a in big you every way possible.
Read pages ask search a engine in marketing coding writing copywrite gaining more am traffic do blog Ecomence or would know how increase sales!
Place chat in about latest of games a hand held consoles market now an Xbox in psp Sony play station well this a.
Any a problems maybe having console got or need fixing then why or question crazy become part of.
[Message part 2 (text/html, inline)]
[resources.gif (image/gif, inline)]

Reply sent to "installed as" <lvsntfbyxlr@vanbeurden.com>:
You have taken responsibility. (full text, mbox, link).


Notification sent to Juergen Menden <menden@informatik.tu-muenchen.de>:
Bug acknowledged by developer. (full text, mbox, link).


Bug reopened, originator not changed. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Bug reopened, originator not changed. Request was from Ian Jackson <ian@davenant.greenend.org.uk> to control@bugs.debian.org. (full text, mbox, link).


Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 17 Jun 2007 13:36:34 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 25 07:56:43 2024; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.