FeatureFreeze exception: Add bzr support

Bug #189293 reported by Mark A. Hershberger
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
etckeeper (Debian)
Fix Released
Unknown
etckeeper (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: etckeeper

Please merge my changes for etc keeper that add bzr support.

Bzr can't modify the tree on pre-commit (See bug #186422) and I found the whole pre-commit hook a business a little too undocumented and complicated, so this puts the action that git and hg do on pre-commit in etckeeper's pre-commit hook.

http://codebrowse.launchpad.net/~hexmode/+junk/etckeeper/revision/2

Related branches

Revision history for this message
Daniel Hahler (blueyed) wrote :

Can we add this for Hardy?

Changed in etckeeper:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Daniel Hahler (blueyed) wrote :
Download full text (3.5 KiB)

I'd also like to include the latest changes/fixes from Debian.

A test package, which also addressed bug 191680 ("bzr as default") is available in my PPA:
https://edge.launchpad.net/~blueyed/+archive/+index?field.name_filter=etckeeper

Changelog from Debian:

etckeeper (0.11) unstable; urgency=low
   * Add lvm cache dir to default ignores. (#462355)
   * Updated German translation. Closes: #463153
   * Some initial rpm support. Patch from Евгений Терешков.
   * Add apt hooks for rpm based systems.
   * Add nologin to default ignores.

 -- Joey Hess <email address hidden> Mon, 11 Feb 2008 00:43:19 -0500
etckeeper (0.10) unstable; urgency=low
   * Convert the directory parameter of etckeeper into "-d directory".
   * Pass other patameters on from etckeeper to the .d scripts.
   * Stop using run-parts for various reasons.
   * Split out a commit.d that contains committing code that's used by
     both the pre-install.d and post-install.d scripts.
   * Split out an unclean.d that tests if the WC contains uncommitted
     changes.
   * Don't commit in post-install.d if there are no uncommitted changes.
   * German debconf translation. Closes: #460940, #458751
   * Use git status instead of git-status (missed this one before).

 -- Joey Hess <email address hidden> Tue, 15 Jan 2008 14:35:29 -0500
etckeeper (0.9) unstable; urgency=low
   * Separate debconf use from the main flow of the script so the commit
     stage can use editors etc. Closes: #459547
   * Remove the hint about setting -e to get interactive commits, since
     I don't want to encourage users to do that. (For one thing, it's unlikely
     to work if a graphical package manager is used..)

 -- Joey Hess <email address hidden> Mon, 07 Jan 2008 13:46:22 -0500
etckeeper (0.8) unstable; urgency=low
   * Typo fixes from Miklos Vajna
   * Add backwards compatability code to handle post-apt action. Closes: #459441

 -- Joey Hess <email address hidden> Sun, 06 Jan 2008 12:54:51 -0500
etckeeper (0.7) unstable; urgency=low
   [ Joey Hess ]
   * Added configuration options for highlevel and lowlevel package managers
     in etckeeper.conf.
   * Only install apt hooks if apt is used.
   * Only add backup conffile exclusion to gitignore if dpkg is used.
   * Rename pre/post-apt.d to pre/post-install.d to allow the same directories
     to be used for other package managers.
   * Use the name of the highlevel package manager in commit messages.
   * Add gnarly conffile renaming code.
   * Support mercurial as an alternative to git. Original patch by Mathieu
     Clabaut, significantly changed.

   [ Miklos Vajna ]
   * Add support for frugalware's pacman-g2 package manager.
   * Stop using git-foo commands.

   [ Christian Perrier ]
   * Debconf templates and debian/control reviewed by the debian-l10n-english
     team as part of the Smith review project. Closes: #454774
   * [Debconf translation updates]
   * Galician. Closes: #455790
   * Finnish. Closes: #455967
   * Italian. Closes: #456509
   * Portuguese. Closes: #456543
   * French. Closes: #456920
   * Vietnamese. Closes: #457307
   * Czech. Closes: #457678
   * Dutch. Closes: #457806
   * Basque. Closes: #457830
   * Russian. Closes: #4578...

Read more...

Revision history for this message
StefanPotyra (sistpoty) wrote :

can you please add diffstat, buildlog (link to ppa buildlog is fine as well), and install log? If you've done so, please set the bug state back to new or triaged. Thanks.

Changed in etckeeper:
status: Triaged → Incomplete
Daniel Hahler (blueyed)
Changed in etckeeper:
assignee: nobody → blueyed
status: Incomplete → In Progress
Revision history for this message
Daniel Hahler (blueyed) wrote :
Changed in etckeeper:
assignee: blueyed → nobody
status: In Progress → Triaged
Revision history for this message
StefanPotyra (sistpoty) wrote :

I'm ok with it, ACK #1.

Revision history for this message
StefanPotyra (sistpoty) wrote :

Oh, I guess I should clearify. I'm ok getting the debian version in. Others than that, I'd highly appreciate it, if you could suggest the debian maintainer to take a look at your branch, and eventually merge it.

Revision history for this message
Scott Kitterman (kitterman) wrote : Re: [Bug 189293] Re: FeatureFreeze exception: Add bzr support

The ppa build log isn't exactly what you propose to upload (debian/changelog
would need to be changed at the very least). Please attach a build log and
install log for what you propose to upload.

Revision history for this message
Daniel Hahler (blueyed) wrote :

The Debian maintainer has taken the patch (and already fixed it in one place ("then; then") and released a new package.
I've found another, which causes failure when there are new files in /etc, because a call to "bzr add" is missing.

I think it's great that bzr support is now in etckeeper and that we should sync from Debian, once some more bug fixes have been added.

I will set the bug back to triaged and provide more information in a few days hopefully.

Changed in etckeeper:
assignee: nobody → blueyed
status: Triaged → In Progress
Changed in etckeeper:
status: Unknown → Fix Released
Revision history for this message
StefanPotyra (sistpoty) wrote :

any news?

Revision history for this message
Daniel Hahler (blueyed) wrote :

I've put together the additional fixes and just sent an email to Joey (upstream), so he can take a look at them and incorporate them hopefully, so that we could just sync again.
If you're interested, the git repo is at http://codeprobe.de/git/etckeeper.git/

Revision history for this message
Daniel Hahler (blueyed) wrote :

Ok, additional small fixes have made it into upstream's git tree and therefore I present you etckeeper 0.14ubuntu1, with the following changes since etckeeper 0.11, which has been partly ACKed above.

etckeeper (0.14ubuntu1) hardy; urgency=low

  [ Daniel Hahler ]
  * bzr: Set nickname for tree in init.d/40vcs-init.
  * Add script to add new files during "commit" for bzr (commit.d/30bzr-add).
  * Fix handling of files with spaces, by setting IFS to "newline" in
    commit.d/40git-rm.
  * Modify Maintainer value to match the DebianMaintainerField
    specification.

  [ Jelmer Vernooij ]
  * Remove pointless commit.d/40bzr-rm script.

  * All changes are pulled from upstream's git repository.

 -- Daniel Hahler <email address hidden> Wed, 09 Apr 2008 22:04:22 +0200

etckeeper (0.14) unstable; urgency=low

  * When deleting the .metadata, only $VCS rm it if using git. hg write
    locks the repo when the pre-commit hook is running, so it would lock.

 -- Joey Hess <email address hidden> Sat, 29 Mar 2008 13:43:20 -0400

etckeeper (0.13) unstable; urgency=low

  * Drop the debconf prompt before committing in pre-install.
    Closes: #470577, #462161, #471157, #462161
  * Stop using metastore, instead add shell commands to .etckeeper
    to handle permissions. Patch by Scott Bronson. The main advantages
    of this approach are:
    - .etckeeper uses less disk space than .metadata.
    - Git diff includes changes to the commands in the file, which is more
      transparent than a change to the binary .metadata file, and does not
      produce conflicts during merging.
    - Revision control directories such as .hg are filtered out.
      Closes: #471371
    Note that repositories still including .metadata files will be
    automatically transitioned, and the file removed. Also, etckeeper init
    on a historical version of a repository that still contains .metadata
    will use it, if metastore is installed.
  * Keep track of what packages change state during an installation,
    and include that in the commit message at the end. Closes: #459384

 -- Joey Hess <email address hidden> Tue, 25 Mar 2008 20:53:23 -0400

etckeeper (0.12) unstable; urgency=low

  * Use git ls-files instead of git status. Depend on new enough git for this.
  * Add support for bzr, thanks to Mark A. Hershberger. Closes: #470515
    (Note that bzr does not support etckeeper's pre-commit hook.)

 -- Joey Hess <email address hidden> Tue, 11 Mar 2008 15:06:29 -0400

Changed in etckeeper:
assignee: blueyed → nobody
status: In Progress → Triaged
Revision history for this message
StefanPotyra (sistpoty) wrote :

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473069

Daniel, this doesn't seem fixed in your debdiff?

Otherwise, I'm generally ok with this update, as Joey usually produces high quality packages.

Revision history for this message
StefanPotyra (sistpoty) wrote :

setting back to new, so that other motu-release members can have a look.

Changed in etckeeper:
status: Triaged → New
Revision history for this message
Scott Kitterman (kitterman) wrote :

I'd like a clear understanding of why this has taken so long. Is it really
ready?

Revision history for this message
Daniel Hahler (blueyed) wrote :

Thank you Stefan, for catching this. I hadn't looked at the actual bugreport, because I've thought it was some wishlist for "proper hook support".
It did not fail for me, because somehow the file wasn't executable here, probably because I had copied it there myself or something similar.

I've now purged the package here completely, which showed an additional missing rm_conffile in preinst and tested the upgrade from the current version in Hardy.

A fixed debdiff is attached.

Revision history for this message
Daniel Hahler (blueyed) wrote :

Scott, it has taken so long, because I've waited for a new Debian release to sync.
The upcoming 0.15 however will require bzr 1.4 and therefore I've pulled the fixes now separately and added them as "ubuntu1".
I'm using it since I've came to this bug report and there are no issues left now, even the ones I "worked around by accident".

Anyway, the default is still "git" as in Debian and 0.14ubuntu1 is absolutely better than 0.6, which is currently in Hardy.

Scott, I suggest you try using it: a versioned /etc directory has quite some benefits.. ;)

Revision history for this message
Scott Kitterman (kitterman) wrote :

OK. Go ahead then.

Revision history for this message
Daniel Hahler (blueyed) wrote :

So, is it ACKed now?
I've already uploaded it now, after Scott's comment, but realized now that it's not set to "confirmed".

Revision history for this message
Daniel Hahler (blueyed) wrote :

Subscribed ubuntu-archive.

Revision history for this message
Daniel Hahler (blueyed) wrote :

Setting to "Confirmed", as per motu-release workflow.

Changed in etckeeper:
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.1 KiB)

This bug was fixed in the package etckeeper - 0.14ubuntu1

---------------
etckeeper (0.14ubuntu1) hardy; urgency=low

  * Merge from Debian, Freeze Exception in LP: #189293
    All Ubuntu changes will be in the next Debian release.

  [ Daniel Hahler ]
  * bzr: Set nickname for tree in init.d/40vcs-init.
  * Add script to add new files during "commit" for bzr (commit.d/30bzr-add).
  * Fix handling of files with spaces, by setting IFS to "newline" in
    commit.d/40git-rm.
  * Fix typo in commit.d/45bzr-precommit (Debian bug #473069)
  * debian/preinst: Remove /etc/etckeeper/commit.d/40bzr-rm conffile
  * Modify Maintainer value to match the DebianMaintainerField
    specification.

  [ Jelmer Vernooij ]
  * Remove pointless commit.d/40bzr-rm script.

etckeeper (0.14) unstable; urgency=low

  * When deleting the .metadata, only $VCS rm it if using git. hg write
    locks the repo when the pre-commit hook is running, so it would lock.

etckeeper (0.13) unstable; urgency=low

  * Drop the debconf prompt before committing in pre-install.
    Closes: #470577, #462161, #471157, #462161
  * Stop using metastore, instead add shell commands to .etckeeper
    to handle permissions. Patch by Scott Bronson. The main advantages
    of this approach are:
    - .etckeeper uses less disk space than .metadata.
    - Git diff includes changes to the commands in the file, which is more
      transparent than a change to the binary .metadata file, and does not
      produce conflicts during merging.
    - Revision control directories such as .hg are filtered out.
      Closes: #471371
    Note that repositories still including .metadata files will be
    automatically transitioned, and the file removed. Also, etckeeper init
    on a historical version of a repository that still contains .metadata
    will use it, if metastore is installed.
  * Keep track of what packages change state during an installation,
    and include that in the commit message at the end. Closes: #459384

etckeeper (0.12) unstable; urgency=low

  * Use git ls-files instead of git status. Depend on new enough git for this.
  * Add support for bzr, thanks to Mark A. Hershberger. Closes: #470515
    (Note that bzr does not support etckeeper's pre-commit hook.)

etckeeper (0.11) unstable; urgency=low

  * Add lvm cache dir to default ignores. (#462355)
  * Updated German translation. Closes: #463153
  * Some initial rpm support. Patch from Евгений Терешков.
  * Add apt hooks for rpm based systems.
  * Add nologin to default ignores.

etckeeper (0.10) unstable; urgency=low

  * Convert the directory parameter of etckeeper into "-d directory".
  * Pass other patameters on from etckeeper to the .d scripts.
  * Stop using run-parts for various reasons.
  * Split out a commit.d that contains committing code that's used by
    both the pre-install.d and post-install.d scripts.
  * Split out an unclean.d that tests if the WC contains uncommitted
    changes.
  * Don't commit in post-install.d if there are no uncommitted changes.
  * German debconf translation. Closes: #460940, #458751
  * Use git status instead of git-status (missed this one before).

etckeeper (0.9) unstable; urgency=low

  * Separ...

Read more...

Changed in etckeeper:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.