Posts from 2005–2010 temporarily unavailable.

Aristotle’s distinction in EN between brutishness and vice might be comparable to the distinction in Dungeons & Dragons between chaotic evil and lawful evil, respectively.

I’ve always thought that the forces of lawful evil are more deeply threatening than those of chaotic evil. In the Critical Hit podcast, lawful evil is equated with tyranny.

Of course, at least how I run it, Aristotelian ethics involves no notion of evil, only mistakes about the good.

Posted Thu 27 Sep 2018 20:12:09 UTC

Here’s a summary of some of the bugs against the Debian Policy Manual that are thought to be easy to resolve.

Please consider getting involved, whether or not you’re an existing contributor.

For more information, see our README.

#152955 force-reload should not start the daemon if it is not running

#172436 BROWSER and sensible-browser standardization

#188731 Also strip .comment and .note sections

#212814 Clarify relationship between long and short description

#273093 document interactions of multiple clashing package diversions

#314808 Web applications should use /usr/share/package, not /usr/share/doc/package

#348336 Clarify Policy around shared configuration files

#425523 Describe error unwind when unpacking a package fails

#491647 debian-policy: X font policy unclear around TTF fonts

#495233 debian-policy: README.source content should be more detailed

#649679 [copyright-format] Clarify what distinguishes files and stand-alone license paragraphs.

#682347 mark ‘editor’ virtual package name as obsolete

#685506 copyright-format: new Files-Excluded field

#685746 debian-policy Consider clarifying the use of recommends

#694883 copyright-format: please clarify the recommended form for public domain files

#696185 [copyright-format] Use short names from SPDX.

#697039 expand cron and init requirement to check binary existence to other scripts

#722535 debian-policy: To document: the “Binary-Only” field in Debian changes files.

#759316 Document the use of /etc/default for cron jobs

#770440 debian-policy: policy should mention systemd timers

#780725 PATH used for building is not specified

#794653 Recommend use of dpkg-maintscript-helper where appropriate

#809637 DEP-5 does not support filenames with blanks

#824495 debian-policy: Source packages “can” declare relationships

#833401 debian-policy: virtual packages: dbus-session-bus, dbus-default-session-bus

#845715 debian-policy: Please document that packages are not allowed to write outside their source directories

#850171 debian-policy: Addition of having an ‘EXAMPLES’ section in manual pages debian policy 12.1

#853779 debian-policy: Clarify requirements about update-rc.d and invoke-rc.d usage in maintainer scripts

#904248 Add netbase to build-essential

Posted Thu 27 Sep 2018 20:07:15 UTC Tags:

Here’s a summary of some of the bugs against the Debian Policy Manual. Please consider getting involved, whether or not you’re an existing contributor.

Consensus has been reached and help is needed to write a patch

#228692 User/group creation/removal in package maintainer scripts

#685506 copyright-format: new Files-Excluded field

#759316 Document the use of /etc/default for cron jobs

#761219 document versioned Provides

#767839 Linking documentation of arch:any package to arch:all

#770440 policy should mention systemd timers

#793499 The Installed-Size algorithm is out-of-date

#823256 Update maintscript arguments with dpkg >= 1.18.5

#845715 Please document that packages are not allowed to write outside thei…

#874206 allow a trailing comma in package relationship fields

#902612 Packages should not touch users’ home directories

#905453 Policy does not include a section on NEWS.Debian files

#906286 repository-format sub-policy

#907051 Say much more about vendoring of libraries

Wording proposed, awaiting review from anyone and/or seconds by DDs

#662998 stripping static libraries

#682347 mark ‘editor’ virtual package name as obsolete

#737796 copyright-format: support Files: paragraph with both abbreviated na…

#756835 Extension of the syntax of the Packages-List field.

#786470 [copyright-format] Add an optional “License-Grant” field

#845255 Include best practices for packaging database applications

#897217 Vcs-Hg should support -b too

#901437 Add footnote warning readers that sometimes shared libaries are not coinstallable

#904248 Add netbase to build-essential

Posted Mon 27 Aug 2018 21:38:16 UTC Tags:

DebCamp for me extended an extra day to include the DebConf18 open day, but fortunately no further; today is the first day of DebConf18 proper, and I am happy to have DebCamp work sufficiently wrapped up that I can go to talks and discuss past and future work … rather than actually doing that work.

Here’s what I did at DebCamp:

  • Significant progress on both difficult and easy bugs against Debian Policy, and some admin issues. I haven’t managed to make a release but I think enough will fall into place between now and the end of DebConf that I can do that before flying home.

    Hideki Yamane is working on adding the infrastructure to translate Policy, which is very exciting. I don’t think we’ll get that all finished this week – I have to learn how to co-ordinate translators – but if we can get that infrastructure merged and released that is a big blocker out of the way.

  • Developed and released dgit versions 6.0 and 6.1 with Ian Jackson. The main changes: --build-products-dir works properly now and is configurable in your ~/.gitconfig, and dgit gained built-in support for pbuilder.

    There are various internal improvements to make these features work quite elegantly. Some of the work was reworking parts of a patch series I posted a few weeks ago, so it should be easier to rework the remainder of that series now.

    We realised yesterday evening that while the --build-products-dir work was intended mainly for the benefit of pbuilder users, it is actually quite a boon for sbuild users too, because sbuild itself does not support dumping .orig, .dsc, .debian.tar.gz etc. files into a build products directory. But now it does, if you run it via dgit.

    I have never been bothered by these build products in .., but I am considering starting to use the new feature and throwing away my crude perl code that cleans up ~/src on my workstations.

  • Finally found a place in the archive for some mail processing scripts in my ~/bin: a new package called mailscripts (after some discussion about where else they might be included). And finally wrote, and included in this package, a facility to pull a Debian bug into your notmuch database. No more opening up the web browser to read bugs because you were CCed on only a few of the messages in the bug.

  • Provided people with feedback: on a proposal for a procedure for salvaging packages; on Ian Jackson’s script and slides for our talk about git-debrebase.

  • Small pieces of work on team-maintained packages. Filing RFAs and removing myself from Uploaders where I’m not active. Some sponsorship. Some NMUs to help a transition.

  • Some ordinary package maintainance.

  • Some unfortunate yak shaving rabbit holes. Including broken /etc/mailname on my laptop. But that’s better than David Bremner, whose entire setup for sending e-mail broke in the middle of the week.

There has been a very positive and almost entirely non-hierarchical division of labour all week: the event organisers, who are all just Debian volunteers, have been dealing with quite a number of challenging issues, but these have not filtered through to bother those of us trying to power through work to improve Debian.

Further, the organising team has expanded to include people who had earlier in the week seemed a bit lost and didn’t seem to have something to do: a beginner data scientist from Taiwan who had showed up at the conference seemingly not knowing too much about Debian, and a group of Eastern European interns who have been contributing to Debian or related projects through schemes like Google Summer of Code and Outreachy. They all donned red staff T-shirts and got on with the job.

It’s not that these organisers are working for those of us writing code and discussing policy. By enabling each other’s work we are all working for the good of Debian, and thereby the much wider good of anyone who directly or indirectly interacts with computers. I have been seriously impressed by how effective and non-hierarchical this division of labour has been this week. But now I’m happy to have some more time to actually talk to the organisers, instead of running off to try to fix a test suite failure.

Posted Sun 29 Jul 2018 00:57:40 UTC

Thanks to efforts from several contributors I was able to push a substantive release of Policy a little over a week ago. It contains a lot of changes that I was very pleased to release:

Changes:
 debian-policy (4.1.5.0) unstable; urgency=medium
 .
   * Policy: Update section 4.1, "Standards conformance"
     Wording: Ian Jackson
     Seconded: Sean Whitton
     Seconded: Holger Levsen
     Closes: #901160
   * Policy: Require d-devel consultation for each epoch bump
     Wording: Ian Jackson
     Seconded: Sean Whitton
     Seconded: Paul Gevers
     Closes: #891216
   * Policy: Document Rules-Requires-Root
     Wording: Niels Thykier
     Wording: Guillem Jover
     Wording: Sean Whitton
     Seconded: Paul Gevers
     Closes: #880920
   * Policy: Update version of POSIX standard for shell scripts
     Wording: Sean Whitton
     Seconded: Simon McVittie
     Seconded: Julien Cristau
     Seconded: Gunnar Wolf
     Closes: #864615
   * Policy: Update version of FHS from 2.3 to 3.0
     Wording: Simon McVittie
     Seconded: Sean Whitton
     Seconded: Julien Cristau
     Closes: #787816
   * Add reference link to section 4.1 to section 5.6.11.

We’re now looking forward to the rolling Debian Policy spring at DebCamp18. You do not need to be physically present at DebCamp18 to participate. My goal is firstly to enable others to work on bugs by providing advice about the process and how to move things along, and secondarily to get some patches written for uncontroversial bugs.

See the linked wiki page for more information on the sprint.

Posted Fri 13 Jul 2018 16:41:24 UTC Tags:

Here’s what I’m planning to work on – please get in touch if you want to get involved with any of these items.

DebCamp work

Throughout DebCamp and DebConf

  • Debian Policy: sticky bugs; process; participation; translations

  • Helping people use dgit and git-debrebase

    • Writing up or following up on feature requests and bugs

    • Design work with Ian and others

Posted Tue 19 Jun 2018 15:43:17 UTC

I’d like to push a substantive release of Policy but I’m waiting for DDs to review and second patches in the following bugs. I’d be grateful for your involvement!

If a bug already has two seconds, or three seconds if the proposer of the patch is not a DD, please consider reviewing one of the others, instead, unless you have a particular interest in the topic of the bug.

If you’re not a DD, you are welcome to review, but it might be a more meaningful contribution to spend your time writing patches bugs that lack them, instead.

#786470 [copyright-format] Add an optional “License-Grant” field

#846970 Proposal for a Build-Indep-Architecture: control file field

#864615 please update version of posix standard for scripts (section 10.4)

#880920 Document Rules-Requires-Root field

#891216 Requre d-devel consultation for epoch bump

#897217 Vcs-Hg should support -b too

Posted Wed 13 Jun 2018 14:15:39 UTC Tags:

Introduction

I wanted to set up my own apt repository to distribute packages to my own computers. This repository must be PGP-signed, but I want to use my regular PGP key rather than a PGP key stored on the server, because I don’t want to trust my server with root access to my laptop.

Further, I want to be able to add to my repo while offline, rather than dputting .changes files to my server.

The standard tools, mini-dinstall and reprepro, are designed to be executed on the same machine that will serve the apt repository. To satisfy the above, though, I need to be able to execute the repository generator offline, on my laptop.

Two new features of git-annex, git-annex-export and v6 repositories, can allow us to execute the repository generator offline and then copy the contents of the repository to the server in an efficient way.

(v6 repositories are not production-ready but the data in this repo is replaceable: I backup the reprepro config files, and the packages can be regenerated from the (d)git repositories containing the source packages.)

Schematic instructions

This should be enough to get you going if you have some experience with git-annex and reprepro.

In the following, athena is a host I can ssh to. On that host, I assume that Apache is set up to serve /srv/debian as the apt repository, with .htaccess rules to deny access to the conf/ and db/ subdirectories and to enable the following of symlinks.

  1. apt-get install git-annex reprepro
  2. git init a new git repository on laptop.
  3. Create conf/distributions, conf/options, conf/do-sync.sh and .gitattributes per below.
  4. Create other files such as README, sample foo.list, etc. if desired.
  5. git add the various plain text files we just created and commit.
  6. git annex init --version=6.
  7. Add an origin remote, git config remote.origin.annex-ignore true and git push -u origin master git-annex. I.e. store repository metadata somewhere.
  8. git config --local annex.thin true to save disc space.
  9. git config --local annex.addunlocked true so that reprepro can modify files.
  10. Tell git-annex about the /srv/debian directory on athena: git annex initremote athena type=rsync rsyncurl=athena:/srv/debian autoenable=true exporttree=yes encryption=none
  11. Tell git-annex that the /srv/debian directory on athena should track the contents of the master branch: git annex export --fast --to=athena --tracking master
  12. Now you can reprepro include foo.changes, reprepro export and git annex should do the rest: the do-sync.sh script calls git annex sync and gitannex knows that it should export the repo to /srv/debian on athena when told to sync.

Files

conf/distributions is an exercise for the reader – this is standard reprepro stuff.

conf/options:

endhook do-sync.sh

conf/do-sync.sh:

#!/bin/sh

git annex add
git annex sync --content

.gitattributes:

* annex.largefiles=anything
conf/* annex.largefiles=nothing
README annex.largefiles=nothing
\.gitattributes annex.largefiles=nothing

These git attributes tell git-annex to annex all files except the plain text config files, which are just added to git.

Bugs

I’m not sure whether these are fixable in git-annex-export, or not. Both can be worked around with hacks/scripts on the server.

  • reprepro exportsymlinks won’t work to create suite symlinks: git-annex-export will create plain files instead of symlinks.

  • git-annex-exports exports non-annexed files in git, such as README, as readable only by their owner.

Posted Thu 03 May 2018 06:06:02 UTC

We had a release of Debian Policy near the beginning of last month but there hasn’t been much activity since then. Please consider writing or reviewing patches for some of these bugs.

Consensus has been reached and help is needed to write a patch

#273093 document interactions of multiple clashing package diversions

#314808 Web applications should use /usr/share/package, not /usr/share/doc/…

#425523 Describe error unwind when unpacking a package fails

#452393 Clarify difference between required and important priorities

#556015 Clarify requirements for linked doc directories

#578597 Recommend usage of dpkg-buildflags to initialize CFLAGS and al.

#582109 document triggers where appropriate

#685506 copyright-format: new Files-Excluded field

#757760 please document build profiles

#759316 Document the use of /etc/default for cron jobs

#761219 document versioned Provides

Wording proposed, awaiting review from anyone and/or seconds by DDs

#582109 document triggers where appropriate

#737796 copyright-format: support Files: paragraph with both abbreviated na…

#756835 Extension of the syntax of the Packages-List field.

#786470 [copyright-format] Add an optional “License-Grant” field

#835451 Building as root should be discouraged

#846970 Proposal for a Build-Indep-Architecture: control file field

#864615 please update version of posix standard for scripts (section 10.4)

#897217 Vcs-Hg should support -b too

Merged for the next release

#896749 footnote of 3.3 lists deprecated alioth mailinglist URL

Posted Wed 02 May 2018 03:30:20 UTC Tags:

We’re getting close to a new release of Policy. Just this week Adam Borowski stepped up to get a patch written for #881431 – thanks for getting things moving along!

Please consider jumping into some of these bugs.

Consensus has been reached and help is needed to write a patch

#823256 Update maintscript arguments with dpkg >= 1.18.5

#833401 virtual packages: dbus-session-bus, dbus-default-session-bus

#835451 Building as root should be discouraged

#838777 Policy 11.8.4 for x-window-manager needs update for freedesktop menus

#845715 Please document that packages are not allowed to write outside thei…

#853779 Clarify requirements about update-rc.d and invoke-rc.d usage in mai…

#874019 Note that the ’-e’ argument to x-terminal-emulator works like ’–’

#874206 allow a trailing comma in package relationship fields

Wording proposed, awaiting review from anyone and/or seconds by DDs

#756835 Extension of the syntax of the Packages-List field.

#786470 [copyright-format] Add an optional “License-Grant” field

#835451 Building as root should be discouraged

#845255 Include best practices for packaging database applications

#846970 Proposal for a Build-Indep-Architecture: control file field

#864615 please update version of posix standard for scripts (section 10.4)

#881431 Clarify a version number is unique field

#892142 update example to use default-mta instead of exim

Merged for the next release (no action needed)

#299007 Transitioning perms of /usr/local

#515856 remove get-orig-source

#742364 Document debian/missing-sources

#886890 Fix for found typos

#888437 Several example scripts are not valid.

#889960 stray line break at clean target in section 4.9

#892142 update example to use default-mta instead of exim

Posted Fri 30 Mar 2018 00:23:29 UTC Tags: