Byte swapped /usr/share?

2015-09-26 Thread Ole Streicher
Hi all,

again a question for large data files (and still the same packages [1] :-) )

I need to package some large (~80MB) data files with a machine dependent
byte order.

How should I do this?

* Creating machine dependent data files (arch=ANY) is obviously wasting
  Debian server space. Also, all big endian archs would share the same files.

* Putting files for all endianesses into the same package would also
  waste Debian server, but also local disk space.

* Swapping them during install would destroy the checksum of the files,
  so they are no longer verifyable.

* The program itself (astrometry.net) would be quite difficult to change
  so that it can handle other than natural byte orders, and this also
  would be a perfomance problem. However, I opened an issue for that [2].

Best regards

Ole

[1] http://bugs.debian.org/795933
[2] https://github.com/dstndstn/astrometry.net/issues/66



Re: Byte swapped /usr/share?

2015-09-26 Thread Jakub Wilk

* Ole Streicher , 2015-09-26, 10:28:

How should I do this?

* Creating machine dependent data files (arch=ANY) is obviously wasting 
Debian server space. Also, all big endian archs would share the same 
files.


* Putting files for all endianesses into the same package would also 
waste Debian server, but also local disk space.


* Build two arch:all packages, one little-endian and one big-endian.

* Swapping them during install would destroy the checksum of the files, 
so they are no longer verifyable.


Yeah, don't do this.

--
Jakub Wilk



Re: service failures should not fail dpkg installation

2015-09-26 Thread Eduard Bloch
Hallo,
* Marvin Renich [Fri, Sep 25 2015, 08:26:34AM]:

> > > Still, that would need some proper design work, and a reasonable amount of
> > > code to be written and tested.  Some of it will hook into the package
> > > system, some of it needs to interface to the services subsystem (systemd,
> > > sysvinit, others).
> 
> I agree, but I don't think we should wait for this feature to appear
> before fixing packages to _not_ fail upgrades when the service fails to
> start.  The current situation does more harm than good.

I am wondering why this topic doesn't get more attention. For me, it
feels like being one of the top causes of breaking an upgrade process
somewhere inbetween, leaving the system in some intermediate state...
with modern APT, it has become easier to continue from this messy
situation but it's still a situation I would like to avoid.

> I agree completely.  The decision on whether or not to fail the dpkg
> installation should depend on what action needs to be taken to correct
> the situation (and this is true whether we are talking about a service
> failing to start or a database upgrade failure or something else).
> 
> However, most existing cases of service restart failures require
> something other than re-running the dpkg installation to fix them, and
> the default, without careful thought by the maintainer about the
> possible failure modes, should be to allow the dpkg run to succeed.

The basic idea might be that a package should be able to handle startup 
failures in
different categories (and resolution strategies), defined by
maintainers. However, it's not so easy because of subsequent errors that
might happen in other services far way in the dependency chain, and it's
hard to predict them all.

We need some compromise here. Something I imagine is:

a) packages that participate in the "error-tolerant" scheme get some
attribute set. They also run delicate commands through a wrapper command
that collects the failure/success state and records TODO tickets in some
global configuration file.

b) apt might add additional hints to the package installation, letting
maintainer scripts know whether there are dependent packages somewhere
in the chain.

c) for failed tasks, dpkg and apt frontends show the user messages
"there are things to fix that require your attention: ",
and when the admin solved the problem, he can close the ticket with the
imaginary tool.

> Should I open a wishlist bug against the developers reference pointing
> to this discussion?

Feel free.

Best regards,
Eduard.



Re: Byte swapped /usr/share?

2015-09-26 Thread Gert Wollny
Hello, 

On Sat, 2015-09-26 at 10:28 +0200, Ole Streicher wrote:
> Hi all,
> 
> I need to package some large (~80MB) data files with a machine
> dependent byte order.
> 
> How should I do this?
> 
How about creating one package -bigendian and one -lowendian and a
virtual package that depends on one or the other based on the
architecture? 

Best, 
Gert 



Re: Byte swapped /usr/share?

2015-09-26 Thread Ole Streicher
Gert Wollny  writes:
> On Sat, 2015-09-26 at 10:28 +0200, Ole Streicher wrote:
>> Hi all,
>> 
>> I need to package some large (~80MB) data files with a machine
>> dependent byte order.
>> 
>> How should I do this?
>> 
> How about creating one package -bigendian and one -lowendian and a
> virtual package that depends on one or the other based on the
> architecture? 

Good idea. One drawback: I have not just one binary package, but five;
this makes a total of 15 packages then.

Best regards

Ole



Re: Byte swapped /usr/share?

2015-09-26 Thread Ole Streicher
Gert Wollny  writes:
> How about creating one package -bigendian and one -lowendian and a
> virtual package that depends on one or the other based on the
> architecture? 

Just to make it sure: for the architectures that currently built on
Debian (officially or inofficially), I should then use someting like the
following in d/control:

Depends: astrometry-data-tycho2-07-bigendian [any-amd64 | any-i386 | armel | 
mipsel | ppc64el | mips64el | x32 | alpha],
 astrometry-data-tycho2-07-bigendian [mips | arm64 | armhf | powerpc | 
powerpcspe | ppc64 | hppa | m68k | sparc64 | s390x | sh4],
 ${misc:Depends}

Does this look correctly (especiall what arch is little and whatis big
endian)? BTW, wrap-and-sort doesn't break this nicely :-(

Best regards

Ole



Re: Byte swapped /usr/share?

2015-09-26 Thread Rene Engelhard
Hi,

On Sat, Sep 26, 2015 at 02:05:41PM +0200, Ole Streicher wrote:
> Just to make it sure: for the architectures that currently built on
> Debian (officially or inofficially), I should then use someting like the
> following in d/control:
> 
> Depends: astrometry-data-tycho2-07-bigendian [any-amd64 | any-i386 | armel | 
> mipsel | ppc64el | mips64el | x32 | alpha],
>  astrometry-data-tycho2-07-bigendian [mips | arm64 | armhf | powerpc 
> | powerpcspe | ppc64 | hppa | m68k | sparc64 | s390x | sh4],
>  ${misc:Depends}
> 
> Does this look correctly (especiall what arch is little and whatis big
> endian)? BTW, wrap-and-sort doesn't break this nicely :-(

ITYM -littleendian in the first line ;)

And you got some archs wrong, see
https://wiki.debian.org/ArchitectureSpecificsMemo
e.g. arm64/armhf is LE

Regards,

Rene



Re: binNMU or reproducible builds (choose only one)

2015-09-26 Thread Wouter Verhelst
On Thu, Sep 24, 2015 at 11:56:56AM +0100, Colin Watson wrote:
> On Thu, Sep 24, 2015 at 12:29:59PM +0200, Santiago Vila wrote:
> > But once we are able to trigger a rebuild with sourceful NMUs, as
> > Ubuntu does, binNMUs will hopefully be a thing of the past.
> 
> Amusingly, the way we do it in Ubuntu is a huge hassle in some cases,
> and at least some of us would rather have binNMUs.  (That's partly
> because it's a manual process; if it were automated it would be better,
> but it still wouldn't solve the problem that in some cases you really do
> want to do single-architecture rebuilds without having to rebuild a
> stack of packages on slower architectures entirely unnecessarily.  Hi,
> Haskell.)

So.

binNMU's are special in that they're linked (in the dak db) to a source
with a different version than the binary package. My point was, really,
that we could change the "special" feature of a binNMU so that it isn't
linked to a souce with a different version anymore, but instead so that
the source version of architecture X doesn't necessarily need to
correspond to the source version of architecture Y. In effect, that
would result in sourceful architecture-specific uploads rather than
binNMU's.

Of course, that doesn't fix the multiarch problem, but it does fix the
reproducible build issue.

-- 
It is easy to love a country that is famous for chocolate and beer

  -- Barack Obama, speaking in Brussels, Belgium, 2014-03-26



Bug#800074: ITP: miller -- name-indexed data processing tool

2015-09-26 Thread Stephen Kitt
Package: wnpp
Severity: wishlist
Owner: Stephen Kitt 

* Package name: miller
  Version : 2.2.1
  Upstream Author : John Kerl 
* URL : https://github.com/johnkerl/miller
* License : BSD-2-Clause
  Programming Lang: C
  Description : name-indexed data processing tool

Miller allows name-indexed data such as CSV files to be processed with
functions equivalent to sed, awk, cut, join, sort etc. It can convert
between formats, preserves headers when sorting or reversing, and
streams data where possible so its memory requirements stay small. It
works well with pipes and can feed "tail -f".



Re: Byte swapped /usr/share?

2015-09-26 Thread Jakub Wilk

* Rene Engelhard , 2015-09-26, 14:30:
Just to make it sure: for the architectures that currently built on 
Debian (officially or inofficially), I should then use someting like 
the following in d/control:


Depends: astrometry-data-tycho2-07-bigendian [any-amd64 | any-i386 | armel | 
mipsel | ppc64el | mips64el | x32 | alpha],
astrometry-data-tycho2-07-bigendian [mips | arm64 | armhf | powerpc | 
powerpcspe | ppc64 | hppa | m68k | sparc64 | s390x | sh4],
${misc:Depends}

Does this look correctly (especiall what arch is little and whatis big 
endian)? BTW, wrap-and-sort doesn't break this nicely :-(


ITYM -littleendian in the first line ;)

And you got some archs wrong, see 
https://wiki.debian.org/ArchitectureSpecificsMemo e.g. arm64/armhf is 
LE


Also, the syntax is wrong. Architectures between square brackets should 
be separated by spaces.


But more importantly, every time you hardcode architecture list in 
debian/control, you make architecture bootstrappers cry.


Instead, you should use something like this:

Depends: ${astrometry-data}, ${misc:Depends}

and generate substitution for ${astrometry-data} appropriate for the 
host architecture in debian/rules.


--
Jakub Wilk



Re: Byte swapped /usr/share?

2015-09-26 Thread Michael Banck
On Sat, Sep 26, 2015 at 03:04:47PM +0200, Jakub Wilk wrote:
> * Rene Engelhard , 2015-09-26, 14:30:
> >>Just to make it sure: for the architectures that currently built
> >>on Debian (officially or inofficially), I should then use
> >>someting like the following in d/control:
> >>
> >>Depends: astrometry-data-tycho2-07-bigendian [any-amd64 | any-i386 | armel 
> >>| mipsel | ppc64el | mips64el | x32 | alpha],
> >>astrometry-data-tycho2-07-bigendian [mips | arm64 | armhf | powerpc 
> >> | powerpcspe | ppc64 | hppa | m68k | sparc64 | s390x | sh4],
> >>${misc:Depends}
> >>
> >>Does this look correctly (especiall what arch is little and
> >>whatis big endian)? BTW, wrap-and-sort doesn't break this nicely
> >>:-(
> >
> >ITYM -littleendian in the first line ;)
> >
> >And you got some archs wrong, see
> >https://wiki.debian.org/ArchitectureSpecificsMemo e.g. arm64/armhf
> >is LE
> 
> Also, the syntax is wrong. Architectures between square brackets
> should be separated by spaces.
> 
> But more importantly, every time you hardcode architecture list in
> debian/control, you make architecture bootstrappers cry.
> 
> Instead, you should use something like this:
> 
> Depends: ${astrometry-data}, ${misc:Depends}
> 
> and generate substitution for ${astrometry-data} appropriate for the
> host architecture in debian/rules.

Wouldn't it be better to just add Depends on an empty
"astrometry-data-tycho2-07" in the programs, and have that one Depend on
either astrometry-data-tycho2-07-bigendian or
astrometry-data-tycho2-07-lowendian, so this gets decoupled.  

Unless everything is in one source package anyway and not used
elsewhere, that is.


Michael



Re: Byte swapped /usr/share?

2015-09-26 Thread Colin Watson
On Sat, Sep 26, 2015 at 03:04:47PM +0200, Jakub Wilk wrote:
> But more importantly, every time you hardcode architecture list in
> debian/control, you make architecture bootstrappers cry.
> 
> Instead, you should use something like this:
> 
> Depends: ${astrometry-data}, ${misc:Depends}
> 
> and generate substitution for ${astrometry-data} appropriate for the host
> architecture in debian/rules.

... especially if you use DEB_HOST_ARCH_ENDIAN to do it.  See
dpkg-architecture(1).

-- 
Colin Watson   [cjwat...@debian.org]



Re: service failures should not fail dpkg installation [was: Re: promoting virtualbox-dkms to virtualbox pre-depends]

2015-09-26 Thread Jeroen Dekkers
At Thu, 24 Sep 2015 08:11:48 -0400,
Marvin Renich wrote:
> 
> * Jeroen Dekkers  [150924 07:23]:
> > At Wed, 23 Sep 2015 13:53:11 -0400,
> > Marvin Renich wrote:
> > > I think it should be documented in the developers reference that if you
> > > attempt to start or restart a service in postinst, you should guard it
> > > so that a failure in the service does not propagate to a failure of the
> > > postinst.
> > 
> > But then when something goes wrong when upgrading and the service
> > doesn't (re)start apt/dpkg will report success but the service isn't
> > running anymore. That also sounds wrong to me. Letting postinst fail
> > might not be the best way to signal this, but to change that we need
> > something else to let the user know that something went wrong. Just
> > printing an error message isn't enough, because the user might not see
> > that (for example when multiple packages are installed/upgraded and a
> > later package asks some questions using dialog or when using
> > unattended-upgrades).
> 
> How does failing the upgrade solve anything?  The upgrade should only
> fail if the failure of the service to start was because something in the
> upgrade itself was broken; this is rarely the case.

I think it solves the problem of notifying the user that something
went wrong quite clearly. Not in the correct way, I agree with that,
but the solution to that should be to notify the user in a better way,
not to stop notifying the user. Failing silently is worse than failing
in the wrong way.

> What makes this even worse is that when installing or upgrading a large
> number of packages, this kind of incorrect failure sometimes affects
> many completely unrelated packages.  For an unattended upgrade, this is
> so much worse than having one service that (for a correct reason)
> refused to restart after the upgrade.

Unattended-upgrades has the MinimalSteps option that splits upgrades
in the smallest possible chunks so that isn't really a problem.
 
> What you are looking for is a more prominent notification that a service
> did not restart.  But the current situation is like the "check engine"
> light flashing when you are low on fuel; yes, it gets your attention,
> but it is telling you the wrong thing.

Yes, but the way to solve that is to flash a "low on fuel" light, not
to stop notifying you and leaving you alone in the desert without
fuel. And if a "low on fuel" light isn't possible, it's better to keep
flashing the "check engine" light like it has been doing for the past
15 years.


Kind regards,

Jeroen Dekkers



Re: Byte swapped /usr/share?

2015-09-26 Thread Ole Streicher
Jakub Wilk  writes:
> Also, the syntax is wrong. Architectures between square brackets
> should be separated by spaces.

OK. I diddn't find this in the docs.

> But more importantly, every time you hardcode architecture list in
> debian/control, you make architecture bootstrappers cry.
>
> Instead, you should use something like this:
>
> Depends: ${astrometry-data}, ${misc:Depends}
>
> and generate substitution for ${astrometry-data} appropriate for the
> host architecture in debian/rules.

The virtual package should then not be Architecture: all, but "any"?

Best regards

Ole



Re: binNMU or reproducible builds (choose only one)

2015-09-26 Thread Ben Hutchings
On Sat, 2015-09-26 at 14:35 +0200, Wouter Verhelst wrote:
> On Thu, Sep 24, 2015 at 11:56:56AM +0100, Colin Watson wrote:
> > On Thu, Sep 24, 2015 at 12:29:59PM +0200, Santiago Vila wrote:
> > > But once we are able to trigger a rebuild with sourceful NMUs, as
> > > Ubuntu does, binNMUs will hopefully be a thing of the past.
> > 
> > Amusingly, the way we do it in Ubuntu is a huge hassle in some cases,
> > and at least some of us would rather have binNMUs.  (That's partly
> > because it's a manual process; if it were automated it would be better,
> > but it still wouldn't solve the problem that in some cases you really do
> > want to do single-architecture rebuilds without having to rebuild a
> > stack of packages on slower architectures entirely unnecessarily.  Hi,
> > Haskell.)
> 
> So.
> 
> binNMU's are special in that they're linked (in the dak db) to a source
> with a different version than the binary package.
[...]

That's not specific to binNMUs.  E.g. linux-latest always builds
binaries with different version numbers from the source.

Ben.

-- 
Ben Hutchings
Any smoothly functioning technology is indistinguishable from a rigged demo.

signature.asc
Description: This is a digitally signed message part


Re: Byte swapped /usr/share?

2015-09-26 Thread Colin Watson
On Sat, Sep 26, 2015 at 03:30:39PM +0200, Ole Streicher wrote:
> Jakub Wilk  writes:
> > Instead, you should use something like this:
> >
> > Depends: ${astrometry-data}, ${misc:Depends}
> >
> > and generate substitution for ${astrometry-data} appropriate for the
> > host architecture in debian/rules.
> 
> The virtual package should then not be Architecture: all, but "any"?

That would be required for architecture-specific dependencies in any
case; [...] architecture specifiers are handled at build-time by
dpkg-gencontrol, not at install-time.

-- 
Colin Watson   [cjwat...@debian.org]



Re: tyr-quake both quake1 & quakewolrd close to conservative engine stable-based

2015-09-26 Thread Michael Gilbert
On Wed, Sep 23, 2015 at 12:20 PM, Mattia Rizzolo wrote:
> On Wed, Sep 23, 2015 at 11:30:55AM -0430, PICCORO McKAY Lenz wrote:
>> There's any consensus around quakeworld packagin?
>
> I don't hold a clue.  Also you removed debian-devel@ from CC, so it's
> quite improbable somebody will reply to you.  re-added here, maybe wait
> and se...

I packaged and uploaded ezquake, a different quakeworld client.  It
still has upstream activity unlike tyr-quake.

It's been waiting for ftp master review for about a month now [0].

Best wishes,
Mike

[0] https://ftp-master.debian.org/new/ezquake_2.2+git20150324-1.html



Bug#800093: ITP: libdpkg-parse-perl -- module to parse various dpkg files into Perl Objects

2015-09-26 Thread Andy Beverley
Package: wnpp
Owner: Andy Beverley 
Severity: wishlist
X-Debbugs-CC: debian-devel@lists.debian.org, debian-p...@lists.debian.org

* Package name: libdpkg-parse-perl
  Version : 0.03
  Upstream Author : Adam Jacob 
* URL : https://metacpan.org/release/DPKG-Parse
* License : Artistic or GPL-1+
  Programming Lang: Perl
  Description : module to parse various dpkg files into Perl Objects

DPKG::Parse contains utilities to parse the various files created by dpkg and
turn them into helpful Perl objects. Current files understood by various
DPKG::Parse modules:

/var/lib/dpkg/status - DPKG::Parse::Status

/var/lib/dpkg/available - DPKG::Parse::Available

Packages.gz - DPKG::Parse::Packages

See each module's documentation for particulars - You should not be calling
DPKG::Parse directly.

The package will be maintained under the umbrella of the Debian Perl Group.



Re: DAK Commands for Bikesheds

2015-09-26 Thread Thomas Goirand
On 09/21/2015 06:12 PM, Raphael Hertzog wrote:
> Hi,
> 
> On Sun, 20 Sep 2015, Joerg Jaspert wrote:
>>> (It seems they are implicitly considered a master when updating the
>>> bikeshed's ACLs) I would have thought "Owner:" would make more sense
>>> than "Master:" fwiw.
>>
>> Then you end up having multiple owners. Master IMO shows better what the
>> intended value of it is - the ones with access to change around its
>> settings. (Got to that from the MASTER role in irc.debian.orgs chanserv).
> 
> FWIW, I also find Owner clearer than Master. Or Admin. But master is
> rather unusual.
> 
>> Your -pull-from is basically my -add, just with an added suite. My way
>> of thinking is coming from a way more limited usage, so I adjusted add
>> to optionally take Suite as parameter, now one can select from where the
>> package comes.
> 
> BTW bikeshed-add and bikeshed-rm should be named "bikeshed-add-package" 
> and "bikeshed-rm-package" otherwise they end up at the same level
> than "bikeshed-modify" and you would expect the current commands to
> add/remove a bikeshed instead of actually adding/removing a package
> in it.
> 
> Cheers,

In which case maybe we want bikeshed-pkg-{add,rm} (and probably more
later, like maybe update or sync (from another bikeshed / suite)?).

Just my 2 cents...

Thomas



Bug#800114: RFA: libtext-header-perl -- RFC 822/2068 header and unheader functions

2015-09-26 Thread Tollef Fog Heen
Package: wnpp
Severity: normal

Description-en: RFC 822/2068 header and unheader functions
 This module provides two new functions, header and unheader,
 which provide general-purpose RFC 822 header construction and parsing.
 They do not provide any intelligent defaults of HTTP-specific methods.
 They are simply aimed at providing an easy means to address the
 mechanics of header parsing.
 .
 The output style is designed to mimic CGI.pm and HTTP::Headers,
 so that users familiar with these interfaces will feel at home with
 these functions.

If somebody wants to pick up libtext-header-perl, that'd be great.  It's
not particularly much used (popcon has 23 installations), but I don't
use it any more and don't particularly care for it.  Its packaging
surely needs updating, since it hasn't received any attention for a long
time.

If nobody picks this up in a reasonable time frame, I'll just ask for it
to be removed.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are