Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Sam Hartman writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> Ian Jackson  writes:
> > The latter point is because using dgit push is an ethical
> > imperative, not because the two somehow have some deep
> > technical linkage.  IMO almost *any* tutorial being written now
> > about how to do Debian packaging, and which mentions git at
> > all, ought to say to use dgit.
> 
> I think this is at the crux of our disagreement.
> I'm going to need to think about this for myself.

OK...

> I think it's safe to say there is not a project consensus that dgit is
> an ethical imperative.

Indeed.

> And yes understanding that you believe that's the case makes it a lot
> easier to understand the rest of your mail.

Good.

> As I said I'll need to think about whether I agree with that.  A lot of
> my thinking in this discussion is that I consider dgit a nice to have,
> not a requirement.

I guess I have stated the reasons already, but to recap:

 * Users should be able to easily change the software that runs
   on their computer.

 * "Easily" requires source code which:
  - can be built using a standard set of runes
  - will produce the same binaries as official Debian ones
  - can be reliably located
  - can be easily modified
   apt provides this, if you think tarballs+diffs are enough, but:

 * Nowadays people want the source code as the git history.
   When upstream and Debian are both using git, then arguably
   tarballs+diffs is not really the preferred form for modification.
   I.e. the .dsc source package is not really the source code.

>From these we can conclude:

 * Debian should provide source code as git branches which:
  - can be built using a standard set of runes
  - will produce the same binaries as official Debian ones 
  - can be reliably located
  - can be easily modified (using standard git commands)
  - contain the git histories we are actually using ourselves

There is only one way to do this.  It is `dgit push[-source]'.

Vcs-Git and Salsa do not provide this.  Occasionally people propose
alternative technical approaches.  So in theory there might be some
other way of achieving the goal.  But people have been proposing
technical approaches to this question for a very long time - a decade
at least.  Joey Hess and I came up with a design which was actually
implementable, politically practical, deployable and operable, and I
have implemented it, negotiated for it, deployed it, and am now
operating it.

dgit push involves minimal change to maintainer workflows and does not
gore anyone's ox, unlike all most of the (at best vapourware)
proposals before and since.


> If you accept the premis that everyone should be using dgit, I agree
> with you.
> I don't think the gbp documentation has adopted that premis.

Indeed.


> > The only reason dgit needs to get involved in your build
> > process is because of the .gitignore bug.  (#908747)
> 
> Well, and dgit wants to construct my dsc, which means it wants to
> construct my changes, which... means it wants to call sbuild or
> something else for me.

The only reason dgit wants to construct your dsc is #908747.  If you
can avoid #908747 some other way then you can build things however you
like and dgit push will work just fine. [1]

Of course if you are doing source-only uploads, as we should be doing
all the time (we're still shipping maintainers' binaries?!!11eleven)
then you do not need to really "build" anything and `dgit push-source'
suffices.  Of course it makes a .dsc but that is an affordance rather
than an inconvenience.


I recognise that your message was in some sense "I will go away and
think" rather than an invitation for me to further engage in advocacy
to you.  I hope you don't mind that I've done so anyway.  Feel free
not to reply.  But I did want to say these things for the benefit of
other readers.

And yes, do please file bugs if you disagree with dgit about things.
I welcome inchoate bug reports, although I don't promise not to reply
with "that doesn't sound right, please send steps to reproduce" :-).

Regards,
Ian.


[1] I would love it if dgit never needed to get involved in building.
There's tons of code in dgit to deal with the quirks of everyone's
favourite build tools.  I appreciate that wrapping the build tools in
yet another layer is very undesirable.

All of this is only necessary because of #908747.

Why didn't I try to get #908747 fixed ?  Well, it was one of dgit's
original principles that it would not require anyone else's permission
or assistance, at least not for anything remotely controversial.
Without that principle the project would have been totally stalled.

Looking at the history of #908747 you can see that I was right.

The result is that dgit contains many many ugly workarounds.  Each of
these workarounds generated a bug report against some other Debian
package.  For the most annoying bugs, requiring the worst
workarounds, I don't think any 

Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Holger Levsen
On Tue, May 07, 2019 at 07:25:39PM +0100, Ian Jackson wrote:
> A maintainer who is currently using gbp pq can (and IMO generally
> should) use `dgit push' to do their uploads, rather than dput/dupload.
 
as a data point: I never really got my head around gbp, too many times
it came in the way, did things I didnt expect to do (or couldnt easily
figure out what it did), so I basically (try to) avoid packages which
require gbp in some way.

dgit *is* another layer of complexity on top of debuild and git (and other
tools), as is gbp, and frankly (or sadly?), for the dgit case I dont see
much benefit why I should use it rather than dput: my packages are
maintained in git and have the correct Vcs-Git* headers set, so
debcheckout will do the right thing and give you the full git history.


I *do* appreciate the idea of dgit and the work put into it, I think it
goes into the right direction, but to me it's not sliced bread yet, but
rather a fancy new machine for slicing bread which is more complicated
and harder to grasp, so I'm still on that old slicing machine, which I
know since many years and which I can easily fix if the bread gets stuck
or the knifes need resharpening or some such.


-- 
tschau,
Holger

---
   holger@(debian|reproducible-builds|layer-acht).org
   PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C


signature.asc
Description: PGP signature


Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Holger Levsen writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> as a data point: I never really got my head around gbp, too many times
> it came in the way, did things I didnt expect to do (or couldnt easily
> figure out what it did), so I basically (try to) avoid packages which
> require gbp in some way.

Fair enough.

I'm not sure what git branch format you are using.  (Maybe you said it
earlier in this thread.)  Packaging-only ?  git-merge ?

> dgit *is* another layer of complexity on top of debuild and git (and other
> tools), as is gbp, and frankly (or sadly?), for the dgit case I dont see
> much benefit why I should use it rather than dput: my packages are
> maintained in git and have the correct Vcs-Git* headers set, so
> debcheckout will do the right thing and give you the full git history.

You should use dgit for the benefit of users.  See my other mail which
answers why Vcs-Git and debcheckout is not enough.

Indeed, you yourself say you avoid gbp but for many packages, the
Vcs-Git header gives you a patches-unapplied format which requires[1]
gbp pq to switch to a patches-applied view before you build it.

([1] there are other ways to apply the patches but this is the
easiest.)

> I *do* appreciate the idea of dgit and the work put into it, I think it
> goes into the right direction, but to me it's not sliced bread yet, but
> rather a fancy new machine for slicing bread which is more complicated
> and harder to grasp, so I'm still on that old slicing machine, which I
> know since many years and which I can easily fix if the bread gets stuck
> or the knifes need resharpening or some such.

Yes, I quite understand this point of view.

Regards,
Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Holger Levsen
On Wed, May 08, 2019 at 12:18:41PM +0100, Ian Jackson wrote:
> I'm not sure what git branch format you are using.  (Maybe you said it
> earlier in this thread.)  Packaging-only ?  git-merge ?
 
both.

> You should use dgit for the benefit of users.  See my other mail which
> answers why Vcs-Git and debcheckout is not enough.

could you be so kind and provide a pointer, this thread is rather long
already? (Maybe this is also worth an FAQ entry somewhere..)

> > I *do* appreciate the idea of dgit and the work put into it, I think it
> > goes into the right direction, [...]
> Yes, I quite understand this point of view.

thanks. (also for the work and thoughts you put into dgit!)


-- 
tschau,
Holger

---
   holger@(debian|reproducible-builds|layer-acht).org
   PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C


signature.asc
Description: PGP signature


Ważne Pytanie

2019-05-08 Thread Strony i Sklepy WWW

Dzień dobry, 

 zajmujemy się tworzeniem nowoczesnych, responsywnych*_ Stron i Sklepów 
internetowych. _*

 Jeśli chcieliby Państwo otrzymać bezpłatną propozycję w tym zakresie dla 
Państwa firmy prosimy o odpowiedź *TAK.*

 - - - - 
Pozdrawiamy Serdecznie, 
Twórcy Stron i Sklepów WWW



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Jonathan Carter
On 2019/05/08 13:23, Holger Levsen wrote:
>> You should use dgit for the benefit of users.  See my other mail which
>> answers why Vcs-Git and debcheckout is not enough.
> 
> could you be so kind and provide a pointer, this thread is rather long
> already? (Maybe this is also worth an FAQ entry somewhere..)

I'd like to second that request, I mean to go through this thread again
when I have some free moments, but a FAQ would help a lot to assimilate
all this information.

(I'm in a similar boat to Holger with my experience to gbp, I tried
going through the documentation on the wiki a few times and just got
frustrated. I just use packaging and Vcs-fields and tags and nothing
fancier than that, which works for the few dozen packages I have and I
think the workflow is trivial enough so that downstream consumers
wouldn't have any problem whatsoever figuring out how to make use of it,
but I suppose as that list grows it will become important to have
worflows that scale up a bit more.)

> thanks. (also for the work and thoughts you put into dgit!)

Ditto.

-Jonathan

-- 
  ⢀⣴⠾⠻⢶⣦⠀  Jonathan Carter (highvoltage) 
  ⣾⠁⢠⠒⠀⣿⡁  Debian Developer - https://wiki.debian.org/highvoltage
  ⢿⡄⠘⠷⠚⠋   https://debian.org | https://jonathancarter.org
  ⠈⠳⣄  Be Bold. Be brave. Debian has got your back.



Bug#928657: ITP: golang-github-naegelejd-go-acl -- Golang POSIX 1e ACL bindings

2019-05-08 Thread Mikhail f. Shiryaev
Package: wnpp
Severity: wishlist
Owner: Mikhail f. Shiryaev 

* Package name: golang-github-naegelejd-go-acl
  Version : 0.0~git20160113.f33f861-1
  Upstream Author : Joseph Naegele
* URL : https://github.com/naegelejd/go-acl
* License : MIT
  Programming Lang: Go
  Description : Golang POSIX 1e ACL bindings

 go-acl Golang POSIX.1e ACL bindings.  Essentially bindings to
 /usr/include/sys/acl.h notesmac os x Mac OS X does not seem to support
 basic POSIX1.e ACLs. They do provide the POSIX API for NFSv4 ACLs. It
 would be nice for this package to also support NFSv4 ACLs.  freebsd By
 default, FreeBSD does not enable POSIX1.e ACLs on the root partition. To
 enable them, reboot into single-user mode and execute: $ tunefs -a enable
 $ reboot
 .
 Source: https://www.freebsd.org/doc/handbook/fs-acl.html info The
 IEEE POSIX.1e specification describes five security extensions to the
 base POSIX.1 API: Access Control Lists (ACLs), Auditing, Capabilities,
 Mandatory Access Control, and Information Flow Labels.  The specificaiton
 was abandoned before finalization, however most UNIX-like operating
 systems have some form of ACL implementation.
 .
 Source: http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=posix1e
 copying Copyright (c) 2015 Joseph Naegele. See LICENSE file.



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Simon McVittie
On Wed, 08 May 2019 at 12:18:41 +0100, Ian Jackson wrote:
> Indeed, you yourself say you avoid gbp but for many packages, the
> Vcs-Git header gives you a patches-unapplied format which requires[1]
> gbp pq to switch to a patches-applied view before you build it.

This step is not required: for 3.0 (quilt) packages, dpkg-source is happy
with either patches-applied or patches-unapplied source directories,
as long as you're at one extreme or the other (applying half the patch
series doesn't work). Here's a smallish package that I happen to maintain
using gbp-pq, built without using gbp:

~/tmp$ debcheckout bubblewrap
...
~/tmp$ cd bubblewrap
~/tmp/bubblewrap$ dpkg-buildpackage -b
...
 dpkg-source --before-build .
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying debian/Use-Python-3-for-test-demo-code.patch
... a build happens ...
 dpkg-genchanges --build=binary >../bubblewrap_0.3.3-1_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-source: info: unapplying debian/Use-Python-3-for-test-demo-code.patch
dpkg-buildpackage: info: binary-only upload (no source included)

(This probably only works for 3.0 (quilt) source packages, but gbp pq
makes little sense for any other format.)

> ([1] there are other ways to apply the patches but this is the
> easiest.)

Easier than the tool you have to use anyway (directly or indirectly)
to build any package?

smcv



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Matthew Vernon
Scott Kitterman  writes:

> On May 7, 2019 8:50:57 PM UTC, Sam Hartman  wrote:
>>> "Ian" == Ian Jackson  writes:
>>Ian> The latter point is because using dgit push is an ethical
>>Ian> imperative, not because the two somehow have some deep
>>   Ian> technical linkage.  IMO almost *any* tutorial being written now
>>Ian> about how to do Debian packaging, and which mentions git at
>>Ian> all, ought to say to use dgit.
>>
>>I think this is at the crux of our disagreement.
>>I'm going to need to think about this for myself.
>>I think it's safe to say there is not a project consensus that dgit is
>>an ethical imperative.
>>And yes understanding that you believe that's the case makes it a lot
>>easier to understand the rest of your mail.
>>
>>As I said I'll need to think about whether I agree with that.  A lot of
>>my thinking in this discussion is that I consider dgit a nice to have,
>>not a requirement.
>
> For what it's worth, when you start calling me names (unethical)
> because I'm not using your shiny new toy, my immediate reaction is to
> decide to ignore further discussion on the topic.

I think there's a considerable difference between:

"I think ethically, everyone should do X, and I will try and persuade
you that this is correct"

And

"If you disagree with me that everyone should do X then you are
unethical"

...and that conflating the two as you appear to be doing so here is
quite unhelpful.

Regards,

Matthew

-- 
"At least you know where you are with Microsoft."
"True. I just wish I'd brought a paddle."
http://www.debian.org



Configure your PC to contribute to Debian community

2019-05-08 Thread Vipul
Hey there,

I've been using Debian from couples of years but haven't contributed yet back 
to community. I want to contribute to Debian by maintaining packages and fixing 
bugs. Since I'm using Debian for work purpose also so, I don't want to mess-up  
with my system by installing unstable packages or libraries. Is there a way to 
get isolation for work & contribution purpose to keep yourself organized? 
    I can get isolation by using Docker image or install one more copy of 
Debian in PC and switch between them but that would be painful. I want to hear 
from contributors & maintainers Which method they are using or prefer to get 
isolation?

Sorry, if this a wrong place to ask this question, then where should I ask?

Cheers,
VIpul

PS: I'm not subscribed to this mailing.

signature.asc
Description: OpenPGP digital signature


Re: Tell me about your salsa experience

2019-05-08 Thread YunQiang Su
Dmitry Bogatov  于2019年4月22日周一 下午5:56写道:
>
>
> [ I know, it month and half late ]
> [ I did my best to recover thread. Sorry, If I failed. ]
>
> [ Please, CC me if you want me to reply. I'm not subscribed to debian-devel@ ]
>
> [ Alexander Wirt ]
> > Thats where you come in, please tell me how tools like salsa, alioth,
> > git, tracker and so on changed to way you work. I want to know
> > everything, the good, the bad and so on.
>
> Glad you asked. So I have excuse for stating my opinion, which is quite
> unpopular.
>
> Summary: Introduction of salsa is nothing short of disaster.
>

One problem of salsa is that the speed of fork is quite slow.
I guess we need something like CoW.

> I started working with Debian in mid-2014, when all code lived on
> alioth. The best thing about alioth is that I did not interact with it.
>
> Alioth did not get in my way. I had ssh access to alioth.debian.org, all
> operations was simple and intuitive. I had choice of VCS to use, git
> hooks were easy to setup, every chore was easy to script. I participated
> in two teams -- Haskell and Emacs. Everything was smooth, it is just
> matter of file permissions.
>
> Maybe developers, who granted me access to teams, had to deal with
> something more terrible I can imagine. Maybe administering Alioth for
> DSA team was nightmare. No idea, I am telling about my experience.
>
> And then came yet another tragic day for Debian, and Gitlab replaced
> alioth.debian.org. It brought pain, inconvenience and friction.
>
>   Performing basic operations with repository now either impossible
>   (salsa forces foo/bar naming, instead of flexibility of proper
>   filesystem on Alioth), or requires learning new useless stuff.
>
>   There is no longer proper git hooks.
>
>   Other version control systems are gone.
>
> In an instant, I became second-class citizen, now everything --
> documentation, processes, defaults -- everything is optimized for
> running "modern" browser and pushing buttons. Scriptability is pain.
>
> That is not all, folks. Salsa brought own issue tracker and concept of
> pull-request. So now I can't just mail a patch with reportbug(1) --
> there are chances, that maintainer will either ignore it, because he
> only follows salsa issue tracker, or that he will ask you to make a
> pull-request on salsa.
>
> git was step forward from svn/cvs -- now we can work on our version
> control system offline. Salsa issue tracker is a same step backward from
> debbugs -- it disables offline working with bugs.
>
> To be fair, there is very minor positive thing in salsa -- Gitlab CI.
> Its usefulness is limited, since there is no API to capture output in
> real time, so I still have to use sbuild on my local machine, but
> ability to rebuild package once in a week and get email on failure is
> good thing to prevent package rot.
>
> I know, Alioth was unmaintained, but just having box with sudo rules
> about adduser/usermod and Apache, running cgit would be much better
> replacement. Well, this ship sailed; I have been writing scripts to deal
> with madness around for a while, and it seems I will have to continue to
> do so.
> --
> Note, that I send and fetch email in batch, once every 24 hours.
>  If matter is urgent, try https://t.me/kaction
>  
> --



-- 
YunQiang Su



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Simon McVittie
On Tue, 07 May 2019 at 19:25:39 +0100, Ian Jackson wrote:
> What I am primarily advocating for in this thread is that maintainers
> should choose `dgit push-source' over `dput' (where this is possible).
> This is the only way for a maintainer to provide users with the git
> history in a sensible form (ie, a form which does not require the user
> to know what special git practices the maintainer has adopted).

I think you're implicitly asserting here that the tree that exists in
a dgit commit (upstream source as conveyed by the orig tarball, with
debian/ added, with patches applied if any) is the only sensible form
for the git history of a Debian source package, and I don't think that's
something that has consensus.

Alternative "shapes" that other people advocate include: debian/ only
(a straightforward translation of typical packaging-in-svn to git);
patches-unapplied trees (as seen in e.g. the Perl, Python, GNOME teams);
debian/ overlaid onto upstream's git repository (as opposed to
upstream's tarball code-drops), with any differences between the orig
tarball and upstream's git repository papered over by
debian/source/local-options (as seen in the Xorg team).

I realise that you think (some or all of) those other "shapes" are not
sensible, and I realise that dgit's design requires a single canonical
result of importing a Debian source package, and I agree that as a
general operating principle it's undesirable that different packages
have their contents represented in different ways; but I don't think
it's necessarily helpful to assert that the representation chosen for
dgit is the only one that can be considered sensible, and I think you're
in danger of causing people who disagree with you on this point to not
consider dgit, which seems like the opposite of what you want.

I think the reason people are conflating the contents of the tree with
the workflow that was used to arrive at that tree is that the workflow
is not completely decoupled from the tree. This is most obvious with
git-dpm, which leaves a mechanically-generated file in debian/ that it
cannot work without (and that is only practical to maintain by using
git-dpm), but it's also true for other representations: for instance
gbp-pq normally uses a patches-unapplied tree as the interchange format
(requiring dgit to compensate for this difference in assumptions),
whereas git-debrebase requires patches-applied if I understand correctly.

The major interoperating "families" are:

* patches-applied: git-debrebase or dgit-maint-merge (and git-dpm would
  be in this category if it didn't require extra metadata in debian/).

* patches-unapplied: gbp pq, or patches managed out-of-band with quilt
  or by dropping git format-patch output into d/patches, either with full
  source in git or with only debian/ in git (built with
  gbp buildpackage --overlay, or by unpacking the orig tarball into the
  source directory and avoiding committing it to git).

(Native packages, and non-native packages with no patches, can be seen as
a special case of either family - if you don't have any patches then it
doesn't matter whether you have applied them or not.)

I don't think it's coincidence that many of the larger teams in Debian,
in particular Perl and Python, have ended up with patches-unapplied. It's
a straightforward continuation of how we used to maintain packages in
non-git VCSs like svn, it only requires learning to use a tool like
gbp pq or quilt if you have enough non-orthogonal patches that they
need to be rebased on each other to apply cleanly, and it's a fairly
close match for how most non-Debian source packaging formats work
(for instance Fedora SRPMs, Arch Linux PKGBUILDs and Gentoo ebuilds all
involve committing unified diffs to their respective VCSs alongside the
equivalent of debian/control).

smcv



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Simon McVittie
On Sat, 04 May 2019 at 21:10:34 +0100, Ian Jackson wrote:
> So far I have gained the impression that
> the kind of people who are using packaging-only git trees tend to be
> very conservative, and very comfortable with .dsc/tarball/patch/quilt
> based tools, and not really convinced of the usefulness of git.

A less common, but IMO valid, reason to use packaging-only git trees
is that your upstream source code consists of large non-text objects
that aren't managed efficiently by git. The openarena-data family of
packages are (I think) the only place I still use packaging-only git
trees, and the nexuiz-data package is an example of the sort of monster
that will typically be created if you don't.

I suppose that's a form of not really being convinced of the usefulness
of git: I'm convinced that git is useful for program source code and
metadata, but I'm not convinced that it's useful for multiple gigabytes
of models, textures etc. that are added and deleted more often than they
are edited. If there was a convenient way to use a lookaside object store
like git-lfs or git-annex for source packages, then I'd use that.

Arguably this is an instance of the same problem as some of those we have
around DFSG interpretation and whether "software" refers to programs or
to all blobs of bytes: our processes are designed for program source
code, and non-program content doesn't always fit very well into those
processes; but we can't just not ship the non-program content, because
we're trying to provide a self-contained software distribution with no
external dependencies.

smcv



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Matthew Vernon writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> Scott Kitterman  writes:
> > For what it's worth, when you start calling me names (unethical)
> > because I'm not using your shiny new toy, my immediate reaction is to
> > decide to ignore further discussion on the topic.

I'm sorry, that was not my intention.

> I think there's a considerable difference between:
> 
> "I think ethically, everyone should do X, and I will try and persuade
> you that this is correct"
> 
> And
> 
> "If you disagree with me that everyone should do X then you are
> unethical"

I meant the former.  I definitely don't mean to say that all the
people not doing what I think is best, are bad people.

Regards,
Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Holger Levsen writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> On Wed, May 08, 2019 at 12:18:41PM +0100, Ian Jackson wrote:
> > I'm not sure what git branch format you are using.  (Maybe you said it
> > earlier in this thread.)  Packaging-only ?  git-merge ?
>  
> both.

For packaging-only, dgit does not properly support that.  Do you have
the upstream source in git form too, and if so how do you combine
them ?  Do you manipulate patches using quilt ? [1]

If you use git-merge and have all the source (including upstream
source) in a single git tree there is indeed no need to use gbp pq.
The manpage dgit-maint-merge(7) explains how to publish such a thing
with dgit.

> > You should use dgit for the benefit of users.  See my other mail which
> > answers why Vcs-Git and debcheckout is not enough.
> 
> could you be so kind and provide a pointer, this thread is rather long
> already? (Maybe this is also worth an FAQ entry somewhere..)

Sorry, I should have done that the first time.  I'll reply to
Jonathan and you.

Regards,
Ian.

[1] I have to say that I think quilt is just awful.  Perhaps your
mileage varies, but I thought quilt was awful by comparison with
*CVS*, when I first encountered it...

I know it can be work to learn new stuff, and of course it's a pain if
lots of people are advising you to learn different and mutually
incompatible new stuff, but anyone who is still using quilt will
probably benefit a lot from learning how to use gitish tools instead.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Bug#928665: ITP: python-pybigwig -- read/write chromosomal sequence data in bigWig files

2019-05-08 Thread Steffen Moeller
Package: wnpp
Severity: wishlist
Owner: Steffen Moeller 

* Package name: python-pybigwig
  Version : 0.3.15
* URL : https://github.com/deeptools/pyBigWig
* License : MIT
  Programming Lang: Python
  Description : read/write chromosomal sequence data in bigWig files

Team maintained on https://salsa.debian.org/med-team/python-pybigwig



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Holger Levsen
On Wed, May 08, 2019 at 03:57:08PM +0100, Ian Jackson wrote:
> > both.
> For packaging-only, dgit does not properly support that.  Do you have
> the upstream source in git form too, and if so how do you combine
> them ?  Do you manipulate patches using quilt ? [1]

hm/i'm sorry, I cannot really think of such an example of a package I'm
maintaining. I've definitly encountered such packages though...

> > could you be so kind and provide a pointer, this thread is rather long
> > already? (Maybe this is also worth an FAQ entry somewhere..)
> Sorry, I should have done that the first time.  I'll reply to
> Jonathan and you.

thank you!

> [1] I have to say that I think quilt is just awful.  Perhaps your
> mileage varies, [...]

well, only sometimes. but then, it also does work.
 
> I know it can be work to learn new stuff, and of course it's a pain if
> lots of people are advising you to learn different and mutually
> incompatible new stuff, but anyone who is still using quilt will
> probably benefit a lot from learning how to use gitish tools instead.
 
most of the time I deal with quilt is when I want to modify existing
packages, usually not from sid, but from stable or older, and then it
feels more straightforward to deal with quilt. often I just dget the
sources (from an old release (*)), run git init ; git add * : git commit -m
init and fiddle qith quilt & git until it applies nicely.

that way, git really supports me nicely, without forcing me to learn
anything. there's so much to learn all the time...


(*) debcheckout is largely unusable for stretch and older as alioth is gone,
so... meh.

-- 
tschau,
Holger

---
   holger@(debian|reproducible-builds|layer-acht).org
   PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C


signature.asc
Description: PGP signature


Re: Preferred git branch structure when upstream moves from tarballs to git [and 1 more messages]

2019-05-08 Thread Ian Jackson
Holger Levsen writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> could you be so kind and provide a pointer, this thread is rather long
> already? (Maybe this is also worth an FAQ entry somewhere..)

Jonathan Carter writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> I'd like to second that request, I mean to go through this thread again
> when I have some free moments, but a FAQ would help a lot to assimilate
> all this information.

A FAQ is a really good idea.  Thank you for the suggestion.

In the meantime,

> > [Ian Jackson:]
> > > You should use dgit for the benefit of users.  See my other mail which
> > > answers why Vcs-Git and debcheckout is not enough.
> > 
> > could you be so kind and provide a pointer, this thread is rather long
> > already? (Maybe this is also worth an FAQ entry somewhere..)

I meant this message:
  https://lists.debian.org/debian-devel/2019/05/msg00065.html

> (I'm in a similar boat to Holger with my experience to gbp, I tried
> going through the documentation on the wiki a few times and just got
> frustrated. I just use packaging and Vcs-fields and tags and nothing
> fancier than that, which works for the few dozen packages I have and I
> think the workflow is trivial enough so that downstream consumers
> wouldn't have any problem whatsoever figuring out how to make use of it,
> but I suppose as that list grows it will become important to have
> worflows that scale up a bit more.)

I confess I always find these kind of comments (which I hope you won't
mind me parodying as "I don't use anything") a bit confusing because
they don't explain how you perform the key task that tools like gbp pq
are intended to help with.

I think what is going on here is this: to you, what you do for that is
so completely obvious it doesn't occur to you that I don't know what
it is.  There is such a gulf here between different people's workflows
that we are having trouble communicating.

If you are maintaining a package in "3.0 (quilt)", you are maintaining
a series of patches to the upstream part of the package.  The question
is: what tool(s) do you use to change what changes a patch makes to
the upstream source, edit a patch's accompanying message (if you give
them messages), add a new patch, drop a patch, rebase the patches onto
a new upstream version, and so on.

The answer clearly isn't "nothing" since you're not fiddling with the
individual bits in your computer's RAM by your electrotelekinetic
superpowers :-).  At least if you are then awesome but maybe you are
beyond need for version control software.

I guess the answer probably isn't even "I edit the diffs in the
patches, in my text editor".  At least I hope not since editing diffs
in a text editor is still horrific even with a really good text
editor.  I think that probably many people who say "I don't use
anything fancy" are using quilt, or maybe raw diff and patch ?  Maybe
you are editing debian/series with your text editor and occasionally
using rm and mv on patch files ?  Or git-mv and git-rm ?

I realise the above might sound facetious.  That's not my intent.

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Ckghfwssm Ckghfwssm

2019-05-08 Thread Donna Baker
Ckghfwssm Ckghfwssm,

I am  Donna Baker. I  am a  recruiter. Our company is recruiting a outgoing, 
responsible, punctual  person  to fill the position of the online manager. 
After examining a lot of CVs, we would like to see you as our employee. 

We offer this work as underemployment at  the moment. We will  allow you to  
fulfill  yourself as a full-time  employee after probation. We are also have an 
interest  in you  staying with us for a full-day  position after probation.

Please keep  in mind that for getting this  vacant post you must  be a US 
citizen or have permission  to work in the US.

As the correct and prompt  fulfillment of your  duties will affect  the  profit 
of our company straightforward,  it  is very important for us to  take a  good 
candidate. Furthermore, rewards are provided for good  performance.  You 
needn’t be tied to a specific  place – you may   work from home.

We are waiting for your   decision  on this invitation. Let us know  when you 
will be ready to start your duties.  Please contact us  to receive a  full set 
of required documents.

Sincerely,
Donna Baker



Re: Preferred git branch structure when upstream moves from tarballs to git [and 1 more messages]

2019-05-08 Thread Holger Levsen
On Wed, May 08, 2019 at 04:14:00PM +0100, Ian Jackson wrote:
> > > [Ian Jackson:]
> > > > You should use dgit for the benefit of users.  See my other mail which
> > > > answers why Vcs-Git and debcheckout is not enough.
> > > 
> > > could you be so kind and provide a pointer, this thread is rather long
> > > already? (Maybe this is also worth an FAQ entry somewhere..)
> 
> I meant this message:
>   https://lists.debian.org/debian-devel/2019/05/msg00065.html

thanks for the pointer, but I don't see the string debcheckout in that
message and vcs-git only once, where you write:

---begin quote---

>From these we can conclude:

 * Debian should provide source code as git branches which:
  - can be built using a standard set of runes
  - will produce the same binaries as official Debian ones 
  - can be reliably located
  - can be easily modified (using standard git commands)
  - contain the git histories we are actually using ourselves

There is only one way to do this.  It is `dgit push[-source]'.

Vcs-Git and Salsa do not provide this. 

---end quote---

and I'm not sure I agree this is true, to me Vcs-Git and Salsa do provide all
of this, *if* Vcs-Git is set.

And if it's not set, it's either because the package is not in git or because
d/control is lacking information, aka the package is buggy.

So, IOW, I can see problems with individual packages here but not with the
general workflow/tool of using vcs-git: and debcheckout.

(or what am I missing?)


-- 
tschau,
Holger

---
   holger@(debian|reproducible-builds|layer-acht).org
   PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C


signature.asc
Description: PGP signature


Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Simon McVittie writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> On Wed, 08 May 2019 at 12:18:41 +0100, Ian Jackson wrote:
> > Indeed, you yourself say you avoid gbp but for many packages, the
> > Vcs-Git header gives you a patches-unapplied format which requires[1]
> > gbp pq to switch to a patches-applied view before you build it.
> 
> This step is not required: for 3.0 (quilt) packages, dpkg-source is happy
> with either patches-applied or patches-unapplied source directories,
> as long as you're at one extreme or the other

Yes.  Perhaps indeed that's what the person I was responding to,
there, does.

However, this is actually quite dangerous.  You definitely do not want
to rely on it.  If dpkg-source's heuristic decides the patches have
already been applied, it will not apply them again.

The effect is that you might, for example, do this

  1. debcheckout
  2. dpkg-buildpackage -uc -b
  3. examine result, looks good
  4. git clean -xdff && git reset --hard # [1]
  5. git cherry-pick 23891dcaf
  6. dpkg-buildpackage -uc -b
  7. dpkg -i

and if you are unlucky, the 2nd build in step 6 silently didn't apply
the patches, even though the 1st build in step 2 did.  Whether you are
going to be unlucky is complicated.

[1] step 4 is needed because our build systems are often a mess.

There are other bizarre things about the state you get from
debcheckout with such a package.  For example, `git grep'
can sometimes fail to find the thing you are looking for:

  bubblewrap$ git --no-pager grep '^#!.*python3'
  # .oO{ But my .deb says python3, wtf ? }

This is all very well if you are a seasoned Debian person and know
your way round the hall of mirrors.  For someone with a passing
familiarity with git and no real Debian knowledge, it is a minefield.

To see what this looks like for a user, take a look at

   https://manpages.debian.org/stretch-backports/dgit/dgit-user.7.en.html

and imagine what you would have to write in an equivalent manpage
based on debcheckout.  debcheckout might give you an error message.
It might give you a CVS working tree!

Even if it succeeds and gives you git, it might give you a patches-
applied git-dpm or gdr branch.  It might give you a patches-unapplied
gbp pq git branch.  It might give you a multi-package packaging-only
monorepo.  It might give you the top of a topgit pile.  It might give
you a polyphonic multidimensional delta rhinoceros.

> Easier than the tool you have to use anyway (directly or indirectly)
> to build any package?

gbp pq import
  - makes git grep work
  - makes git log work
  - makes git blame work
  - leaves the tree clean
  - means you can actually edit files and git-commit them!

I don't say it's perfect.  Indeed I wrote a competing tool which has
an entirely different data model and different workflow, but that is
not really germane...

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Simon McVittie writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> On Tue, 07 May 2019 at 19:25:39 +0100, Ian Jackson wrote:
> > What I am primarily advocating for in this thread is that maintainers
> > should choose `dgit push-source' over `dput' (where this is possible).
> > This is the only way for a maintainer to provide users with the git
> > history in a sensible form (ie, a form which does not require the user
> > to know what special git practices the maintainer has adopted).
> 
> I think you're implicitly asserting here that the tree that exists in
> a dgit commit (upstream source as conveyed by the orig tarball, with
> debian/ added, with patches applied if any) is the only sensible form
> for the git history of a Debian source package, and I don't think that's
> something that has consensus.

Sorry, I was not clear.  My view is much more nuanced than that.
I think that
   - we should publish one consistent form to our users
   - this is the only sensible form for that.

I do not think that this is the only sensible form for working within
Debian.  I am not trying to abolish patches-unapplied.

Happily it is possible to convert most other forms to that.
(That's kind of implied by being able to build the thing.)

> I realise that you think (some or all of) those other "shapes" are not
> sensible,

No, many of these (most of them) are completely fine.  My word
`sensible' there was only in the context of a form to provide to those
users who want to change how their computer behaves, without learning
a lot of obscure Debian-specific source code management stuff.

> I don't think it's coincidence that many of the larger teams in Debian,
> in particular Perl and Python, have ended up with patches-unapplied.

Indeed not.  I am not trying to change that.

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ian Jackson
Simon McVittie writes ("Re: Preferred git branch structure when upstream moves 
from tarballs to git"):
> On Sat, 04 May 2019 at 21:10:34 +0100, Ian Jackson wrote:
> > So far I have gained the impression that
> > the kind of people who are using packaging-only git trees tend to be
> > very conservative, and very comfortable with .dsc/tarball/patch/quilt
> > based tools, and not really convinced of the usefulness of git.
> 
> A less common, but IMO valid, reason to use packaging-only git trees
> is that your upstream source code consists of large non-text objects
> that aren't managed efficiently by git. The openarena-data family of
> packages are (I think) the only place I still use packaging-only git
> trees, and the nexuiz-data package is an example of the sort of monster
> that will typically be created if you don't.

Yes.

These are a minority, though, I think.  At some point, we will have to
come up with ways of handling these.

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: Configure your PC to contribute to Debian community

2019-05-08 Thread Ian Jackson
Vipul writes ("Configure your PC to contribute to Debian community"):
> I've been using Debian from couples of years but haven't contributed
> yet back to community. I want to contribute to Debian by maintaining
> packages and fixing bugs. Since I'm using Debian for work purpose
> also so, I don't want to mess-up with my system by installing
> unstable packages or libraries. Is there a way to get isolation for
> work & contribution purpose to keep yourself organized?  I can get
> isolation by using Docker image or install one more copy of Debian
> in PC and switch between them but that would be painful. I want to
> hear from contributors & maintainers Which method they are using or
> prefer to get isolation?

schroot.

Really, that is the answer :-).  chroots are excellent for stopping
the unstable stuff and build-dependencies and so on from polluting
your main system.  They don't give security isolation, but that's not
usually what you want.  You want to be able to run a test version of
some program and have it access your display and your files normally.

schroot is a utility to help you work with chroots.
sbuild is the build tool.

To make a chroot you can use sbuild-createchroot or, err, I forget
what it's called, schroot-buildd-setup or something ?  Maybe someone
else will pop up with the answer.

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



.deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Adam Borowski
Hi!
I've recently did some research on how can we improve the speed of unpacking
packages.  There's a lot of other stages that can be improved, but let's
talk about the .deb format.

First, the 0.939 format, as described in "man deb-old".  While still being
accepted by dpkg, it had been superseded before even the very first stable
release.  Why?  It has at least two upsides over 2.0:

* there's no 10¹⁰ bytes (~9.31GB) limit
  While no package this big is in the archive _yet_ (max being 1⎖652⎖244⎖360
  bytes), both storage sizes and software bloat grow pretty fast, thus we'll
  break this barrier in a few years.  And there's a world outside the
  official archive -- I bet someone already has been burned by this limit.
* it's faster by a small but non-negligible factor.  A task "unpack all
  packages in default XFCE GUI install" gets done by stock dpkg (after
  repacking everything as gzip) 3% faster.

Obviously, 3% is not worth fighting for, but as the size limit needs fixing
anyway...

Alas, while current dpkg handles 0.939 archives well, it supports only two
compressors: gzip and cat.  Neither of them is adequate these days.  Thus,
we'd need to enable others -- which means not being able to unpack new .debs
with old dpkg.  Barring ugly versioned pre-depends on dpkg, that'd require
waiting two release cycles.

So let's pick compressors to enable.  For compression ratio, xz still wins
(at least among popular compressors).  But there's a thing to say about
zstd: firefox.deb zstd -19 takes to unpack:
* 2.644s .xz, stock dpkg
* 2.532s .xz, my tool (libarchive based)
* 0.290s .zst, my tool
* 0.738s .gz, stock dpkg
* 0.729s .gz 0.939, stock dpkg
File sizes being 60628216 gz, 47959544 zstd, 44506304 xz.

XFCE install total: 723M xz, 773M zstd, 963M gzip.

Thus, even though we'd want to stick with xz for the official archive, speed
gains from zstd are so massive that it's tempting to add support for it,
at least for non-official uses, possibly also for common Build-Depends.
The usual objection, "we don't want to bloat the Essential set" doesn't hold
water because 1. libzstd is already a part of the Required set in Buster,
2. a non-default compressor can be dlopened.

Thoughts?

But, the dlopen idea shows a potential victim: bzip2.  Let's kill it.

Stats for Buster's packages:

.deb format:
2.0:100%

control:
gz  11671
xz  45210

data:
gz  966
xz  55915

With not a single package in the archive still using bz2, removing support
would be reasonable.  It'd be okay to give a clear error message telling the
user to install libbz2-1.0 (dlopen) or bzip2 (pipe) -- so folks can still
unpack historic .debs if need be.


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ .globl _start↵.data↵rc: .ascii "/etc/init.d/rcS\0"↵.text↵_start
⣾⠁⢰⠒⠀⣿⡁ mov $57,%rax↵syscall↵cmp $0,%rax↵jne child↵parent:↵mov $61,%rax
⢿⡄⠘⠷⠚⠋⠀ mov $-1,%rdi↵xor %rsi,%rsi↵xor %rdx,%rdx↵syscall↵jmp parent↵child:
⠈⠳⣄ mov $59,%rax↵mov $rc,%rdi↵xor %rsi,%rsi↵xor %rdx,%rdx↵syscall



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Sam Hartman
> "Adam" == Adam Borowski  writes:

Adam> Hi!  I've recently did some research on how can we improve the
Adam> * there's no 10¹⁰ bytes (~9.31GB) limit While no package this
Adam> big is in the archive _yet_ (max being 1⎖652⎖244⎖360 bytes),
Adam> both storage sizes and software bloat grow pretty fast, thus
Adam> we'll break this barrier in a few years.  And there's a world
Adam> outside the official archive -- I bet someone already has been
Adam> burned by this limit.

I have.

I have not evaluated the rest of your proposal, but I can say that
outside the official archive the size limit is a real problem today.
It's not critical; I work around it, but it does hurt and will hurt more
as time increases.



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Adrian Bunk
On Wed, May 08, 2019 at 07:38:26PM +0200, Adam Borowski wrote:
>...
> So let's pick compressors to enable.  For compression ratio, xz still wins
> (at least among popular compressors).  But there's a thing to say about
> zstd: firefox.deb zstd -19 takes to unpack:
> * 2.644s .xz, stock dpkg
> * 2.532s .xz, my tool (libarchive based)
> * 0.290s .zst, my tool
> * 0.738s .gz, stock dpkg
> * 0.729s .gz 0.939, stock dpkg
> * 0.729s .gz 0.939, stock dpkg
> File sizes being 60628216 gz, 47959544 zstd, 44506304 xz.
>
> XFCE install total: 723M xz, 773M zstd, 963M gzip.
>
> Thus, even though we'd want to stick with xz for the official archive, speed
> gains from zstd are so massive that it's tempting to add support for it,
> at least for non-official uses, possibly also for common Build-Depends.
>...

Is this single-threaded or parallel?

pbzip2 decompression speed scales nicely with the number of CPUs,
and in general for anyone interested in massive speed gains the
way forward would be towards parallel decompression.

> But, the dlopen idea shows a potential victim: bzip2.  Let's kill it.
> 
> Stats for Buster's packages:
> 
> .deb format:
> 2.0:100%
> 
> control:
> gz  11671
> xz  45210
> 
> data:
> gz  966
> xz  55915
> 
> With not a single package in the archive still using bz2,

You were only looking at binary packages,
for source packages bz2 is still pretty common.

> removing support
> would be reasonable.  It'd be okay to give a clear error message telling the
> user to install libbz2-1.0 (dlopen) or bzip2 (pipe) -- so folks can still
> unpack historic .debs if need be.

It would be neither reasonable nor okay to create such hassle for users
for no benefits at all.

And if the tiny 75 kB libbz2 would be considered a problem,
the huge 650 kB libzstd would obviously never be an option
for packages in the archive.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Xavier
Le 08/05/2019 à 19:38, Adam Borowski a écrit :
> Hi!
> I've recently did some research on how can we improve the speed of unpacking
> packages.  There's a lot of other stages that can be improved, but let's
> talk about the .deb format.
> 
> First, the 0.939 format, as described in "man deb-old".  While still being
> accepted by dpkg, it had been superseded before even the very first stable
> release.  Why?  It has at least two upsides over 2.0:
> 
> * there's no 10¹⁰ bytes (~9.31GB) limit
>   While no package this big is in the archive _yet_ (max being 1⎖652⎖244⎖360
>   bytes), both storage sizes and software bloat grow pretty fast, thus we'll
>   break this barrier in a few years.  And there's a world outside the
>   official archive -- I bet someone already has been burned by this limit.
> * it's faster by a small but non-negligible factor.  A task "unpack all
>   packages in default XFCE GUI install" gets done by stock dpkg (after
>   repacking everything as gzip) 3% faster.
> 
> Obviously, 3% is not worth fighting for, but as the size limit needs fixing
> anyway...
> 
> Alas, while current dpkg handles 0.939 archives well, it supports only two
> compressors: gzip and cat.  Neither of them is adequate these days.  Thus,
> we'd need to enable others -- which means not being able to unpack new .debs
> with old dpkg.  Barring ugly versioned pre-depends on dpkg, that'd require
> waiting two release cycles.
> 
> So let's pick compressors to enable.  For compression ratio, xz still wins
> (at least among popular compressors).  But there's a thing to say about
> zstd: firefox.deb zstd -19 takes to unpack:
> * 2.644s .xz, stock dpkg
> * 2.532s .xz, my tool (libarchive based)
> * 0.290s .zst, my tool
> * 0.738s .gz, stock dpkg
> * 0.729s .gz 0.939, stock dpkg
> File sizes being 60628216 gz, 47959544 zstd, 44506304 xz.
> 
> XFCE install total: 723M xz, 773M zstd, 963M gzip.
> 
> Thus, even though we'd want to stick with xz for the official archive, speed
> gains from zstd are so massive that it's tempting to add support for it,
> at least for non-official uses, possibly also for common Build-Depends.
> The usual objection, "we don't want to bloat the Essential set" doesn't hold
> water because 1. libzstd is already a part of the Required set in Buster,
> 2. a non-default compressor can be dlopened.
> 
> Thoughts?
> 
> But, the dlopen idea shows a potential victim: bzip2.  Let's kill it.
> 
> Stats for Buster's packages:
> 
> .deb format:
> 2.0:100%
> 
> control:
> gz  11671
> xz  45210
> 
> data:
> gz  966
> xz  55915
> 
> With not a single package in the archive still using bz2, removing support
> would be reasonable.  It'd be okay to give a clear error message telling the
> user to install libbz2-1.0 (dlopen) or bzip2 (pipe) -- so folks can still
> unpack historic .debs if need be.
> 
> Meow!

Hi,

devscripts MR!122[1] proposes to add Zstandard support to uscan.

Cheers,
Xavier

https://salsa.debian.org/debian/devscripts/merge_requests/122



Bug#928683: ITP: perl6-openssl -- OpenSSL bindings for Perl 6

2019-05-08 Thread Robert Lemmen
Package: wnpp
Severity: wishlist
Owner: Robert Lemmen 

* Package name: perl6-openssl
  Version : 0.1.22
  Upstream Author : Filip Sergot  and others
* URL : https://github.com/sergot/openssl
* License : MIT
  Programming Lang: Perl 6
  Description : OpenSSL bindings for Perl 6

This package contains OpenSSL bindings for Perl 6, enabling all sorts of
other modules that require it.

The package will be team-maintained like all Perl 6 modules.



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Martin Steigerwald
Adrian Bunk - 08.05.19, 21:45:
> On Wed, May 08, 2019 at 07:38:26PM +0200, Adam Borowski wrote:
> >...
> >
> > So let's pick compressors to enable.  For compression ratio, xz
> > still wins (at least among popular compressors).  But there's a
> > thing to say about zstd: firefox.deb zstd -19 takes to unpack:
> > * 2.644s .xz, stock dpkg
> > * 2.532s .xz, my tool (libarchive based)
> > * 0.290s .zst, my tool
> > * 0.738s .gz, stock dpkg
> > * 0.729s .gz 0.939, stock dpkg
> > * 0.729s .gz 0.939, stock dpkg
> > File sizes being 60628216 gz, 47959544 zstd, 44506304 xz.
> > 
> > XFCE install total: 723M xz, 773M zstd, 963M gzip.
> > 
> > Thus, even though we'd want to stick with xz for the official
> > archive, speed gains from zstd are so massive that it's tempting to
> > add support for it, at least for non-official uses, possibly also
> > for common Build-Depends.>
> >...
> 
> Is this single-threaded or parallel?
> 
> pbzip2 decompression speed scales nicely with the number of CPUs,
> and in general for anyone interested in massive speed gains the
> way forward would be towards parallel decompression.

Or lbzip2, in quite old tests with my packbench ruby script lbzip scaled 
better than pbzip on an Intel hexacore system. These were published in 
an issue of german Linux User magazine. As I had not multicore laptop 
back then, I was not able to the measurements myself.

Or pxz.

[1] https://martin-steigerwald.de/computer/programme/packbench/
index.html (I did not yet re-upload source repo to Gitlab or so, but 
tarballs are available. Its outdated as well. I did not test whether it 
works with the current Ruby version)

Thanks,
-- 
Martin




Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Ansgar
Adam Borowski writes:
> I've recently did some research on how can we improve the speed of unpacking
> packages.  There's a lot of other stages that can be improved, but let's
> talk about the .deb format.
>
> First, the 0.939 format, as described in "man deb-old".  While still being
> accepted by dpkg, it had been superseded before even the very first stable
> release.  Why?  It has at least two upsides over 2.0:

Switching to a different binary format will break various tools.  If we
want to do this, I wonder if we shouldn't take the chance to move away
from tar?

We have various applications that only want to extract single members of
the package (changelog, NEWS, copyright, ...); tar is a really bad
format for such an operation.  Other formats (zip, 7z, ...) are more
suited for them.

Ansgar



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Ian Jackson
(adding debian-dpkg)

Adam Borowski writes (".deb format: let's use 0.939, zstd, drop bzip2"):
> First, the 0.939 format, as described in "man deb-old".  While still being
> accepted by dpkg, it had been superseded before even the very first stable
> release.  Why?  It has at least two upsides over 2.0:

What an interesting proposal.  I don't think I agree, but:

> * there's no 10¹⁰ bytes (~9.31GB) limit
>   While no package this big is in the archive _yet_ (max being 1⎖652⎖244⎖360
>   bytes), both storage sizes and software bloat grow pretty fast, thus we'll
>   break this barrier in a few years.  And there's a world outside the
>   official archive -- I bet someone already has been burned by this limit.

This is a problem.

> * it's faster by a small but non-negligible factor.  A task "unpack all
>   packages in default XFCE GUI install" gets done by stock dpkg (after
>   repacking everything as gzip) 3% faster.

I'm not sure why it should be faster.

As the person who deprecated deb-old in favour of the current format,
my motives were:
 - the old format was a real pain to unpack without a custom utility
(this used to be a much more serious problem)
 - the old format was not very extensible.

Debian doesn't really use much of the extensibility.  Some people
invented a .deb signing system which put signatures in there too but I
don't think any such things are deployed.

We use the extensibility for compression format changes, but
compressors all have magic numbers and we could just use those.

It would be much less convenient to change our archive format from tar
to something else, as proposed by Ansgar, without this extensibility.
(I don't necessarily think Ansgar's idea is a good one, but it makes
an example here.)

As for the size limit, this was discussed in May 2016:
  https://lists.debian.org/debian-dpkg/2016/05/msg00027.html

(I can't find a bug about it, though).  I made a proposal.
No decision was made and nothing was done, unfortunately.

Ian.


-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Jeremy Stanley
On 2019-05-08 22:35:58 +0200 (+0200), Ansgar wrote:
> Adam Borowski writes:
> > I've recently did some research on how can we improve the speed of unpacking
> > packages.  There's a lot of other stages that can be improved, but let's
> > talk about the .deb format.
> >
> > First, the 0.939 format, as described in "man deb-old".  While still being
> > accepted by dpkg, it had been superseded before even the very first stable
> > release.  Why?  It has at least two upsides over 2.0:
> 
> Switching to a different binary format will break various tools.  If we
> want to do this, I wonder if we shouldn't take the chance to move away
> from tar?
> 
> We have various applications that only want to extract single members of
> the package (changelog, NEWS, copyright, ...); tar is a really bad
> format for such an operation.  Other formats (zip, 7z, ...) are more
> suited for them.

Are you talking about source packages or binary packages here? The
latter use ar, not tar.
-- 
Jeremy Stanley


signature.asc
Description: PGP signature


Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Ansgar
Jeremy Stanley writes:
> On 2019-05-08 22:35:58 +0200 (+0200), Ansgar wrote:
>> Switching to a different binary format will break various tools.  If we
>> want to do this, I wonder if we shouldn't take the chance to move away
>> from tar?
>> 
>> We have various applications that only want to extract single members of
>> the package (changelog, NEWS, copyright, ...); tar is a really bad
>> format for such an operation.  Other formats (zip, 7z, ...) are more
>> suited for them.
>
> Are you talking about source packages or binary packages here? The
> latter use ar, not tar.

I'm talking about binary packages (*.deb).  They currently use tar
archives (control.tar.*, data.tar.*) packed in an ar archive.

Ansgar



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Adam Borowski
On Wed, May 08, 2019 at 10:45:21PM +0300, Adrian Bunk wrote:
> On Wed, May 08, 2019 at 07:38:26PM +0200, Adam Borowski wrote:
> > So let's pick compressors to enable.  For compression ratio, xz still wins
> > (at least among popular compressors).  But there's a thing to say about
> > zstd: firefox.deb zstd -19 takes to unpack:
> > * 2.644s .xz, stock dpkg
> > * 2.532s .xz, my tool (libarchive based)
> > * 0.290s .zst, my tool
> > * 0.738s .gz, stock dpkg
> > * 0.729s .gz 0.939, stock dpkg
> > * 0.729s .gz 0.939, stock dpkg
> > File sizes being 60628216 gz, 47959544 zstd, 44506304 xz.
> >
> > XFCE install total: 723M xz, 773M zstd, 963M gzip.
> >
> > Thus, even though we'd want to stick with xz for the official archive, speed
> > gains from zstd are so massive that it's tempting to add support for it,
> > at least for non-official uses, possibly also for common Build-Depends.
> >...
> 
> Is this single-threaded or parallel?

This one was single-threaded (AKA: all cores were available to the
decompressor, running dpkg-deb without any arguments).

Most other tests were on a fully loaded processor, with one (hyper-)thread
available per task.

> pbzip2 decompression speed scales nicely with the number of CPUs,
> and in general for anyone interested in massive speed gains the
> way forward would be towards parallel decompression.

Just tested pbzip2 on its own, without dpkg, commandline being:
time (pbzip2 -cdfr  > But, the dlopen idea shows a potential victim: bzip2.  Let's kill it.
> > 
> > Stats for Buster's packages:
> > .deb format:
> > 
> > With not a single package in the archive still using bz2,
> 
> You were only looking at binary packages,
> for source packages bz2 is still pretty common.

Well yeah, but that's dpkg-dev, where size of the toolchain matters little.
I don't think anyone is going to build packages on a machine without
adequate storage.  On the other hand, runtime often means a tiny router or a
massively oversubscribed container hosting.

But my main point was not to help bitty boxes, but to slow the growth of
bloat somehow.  When we add libraries, it's good to retire outdated ones
sometimes.

> > removing support
> > would be reasonable.  It'd be okay to give a clear error message telling the
> > user to install libbz2-1.0 (dlopen) or bzip2 (pipe) -- so folks can still
> > unpack historic .debs if need be.
> 
> It would be neither reasonable nor okay to create such hassle for users
> for no benefits at all.
> 
> And if the tiny 75 kB libbz2 would be considered a problem,
> the huge 650 kB libzstd would obviously never be an option
> for packages in the archive.

It's already in, thus the effective cost is not 650kB but 0.  On the other
hand, the utility of libbz2 is only unpacking very old .debs.  That's
something useful, but in no way needed on every machine.

I just checked Stretch: not a single .bz2, either control nor data.  I'm not
going to download all of Jessie just to check -- but even assuming something
was left by Jessie's time, by Bullseye trying to install such a .deb will
mean mixing packages 3 releases apart.

Also, many other tools keep depending on libbz2, so it'll likely remain
present on most systems (even if gpgv (transitively-Required) also drops the
dependency).  And if it declines in popularity -- it'll likely remain in
the archive for a long long time, just like ncompress and arj do.
Compressors are easy to keep on life support, and important enough that
none which have seen some real use would be dropped.


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ I've read an article about how lively happy music boosts
⣾⠁⢰⠒⠀⣿⡁ productivity.  You can read it, too, you just need the
⢿⡄⠘⠷⠚⠋⠀ right music while doing so.  I recommend Skepticism
⠈⠳⣄ (funeral doom metal).



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Mike Hommey
On Wed, May 08, 2019 at 09:04:49PM +, Jeremy Stanley wrote:
> On 2019-05-08 22:35:58 +0200 (+0200), Ansgar wrote:
> > Adam Borowski writes:
> > > I've recently did some research on how can we improve the speed of 
> > > unpacking
> > > packages.  There's a lot of other stages that can be improved, but let's
> > > talk about the .deb format.
> > >
> > > First, the 0.939 format, as described in "man deb-old".  While still being
> > > accepted by dpkg, it had been superseded before even the very first stable
> > > release.  Why?  It has at least two upsides over 2.0:
> > 
> > Switching to a different binary format will break various tools.  If we
> > want to do this, I wonder if we shouldn't take the chance to move away
> > from tar?
> > 
> > We have various applications that only want to extract single members of
> > the package (changelog, NEWS, copyright, ...); tar is a really bad
> > format for such an operation.  Other formats (zip, 7z, ...) are more
> > suited for them.
> 
> Are you talking about source packages or binary packages here? The
> latter use ar, not tar.

Binary packages use both.

$ ar t /var/cache/apt/archives/libgcc-9-dev_9.1.0-1_amd64.deb
debian-binary
control.tar.xz
data.tar.xz

Mike



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Adam Borowski
On Wed, May 08, 2019 at 10:35:58PM +0200, Ansgar wrote:
> Adam Borowski writes:
> > I've recently did some research on how can we improve the speed of unpacking
> > packages.  There's a lot of other stages that can be improved, but let's
> > talk about the .deb format.
> >
> > First, the 0.939 format, as described in "man deb-old".  While still being
> > accepted by dpkg, it had been superseded before even the very first stable
> > release.  Why?  It has at least two upsides over 2.0:
> 
> Switching to a different binary format will break various tools.

The 0.939 format is already supported by most tools.

No one sane digs into insides of the format, using a small number of
low-level tools, thus we can reuse it with little effort.

Of course, adding a new compressor _does_ break compat, but we added four
compressors to 2.0 over the years already, and the sky didn't fall.

> If we want to do this, I wonder if we shouldn't take the chance to move
> away from tar?

Any seekable format significantly reduces compression, although this can
be reduced by managing split points.

> We have various applications that only want to extract single members of
> the package (changelog, NEWS, copyright, ...); tar is a really bad
> format for such an operation.  Other formats (zip, 7z, ...) are more
> suited for them.

Perhaps such files could be considered metadata and moved to the control
tarball?  Or merely just moved forward -- remember that tarballs are
unordered.


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢰⠒⠀⣿⡁
⢿⡄⠘⠷⠚⠋⠀ NADIE anticipa la inquisición de españa!
⠈⠳⣄



Bug#928690: ITP: libsmithlab -- low-level code collection for computational biology

2019-05-08 Thread Steffen Moeller
Package: wnpp
Severity: wishlist
Owner: Steffen Moeller 

* Package name: libsmithlab
* URL : https://github.com/smithlabcode/smithlab_cpp
* License : GPL
  Programming Lang: C++
  Description : low-level code collection for computational biology

To be team-maintained on Debian Med
https://salsa.debian.org/med-team/libsmithlab



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Paul Wise
On Thu, May 9, 2019 at 1:38 AM Adam Borowski wrote:

> Thus, even though we'd want to stick with xz for the official archive, speed
> gains from zstd are so massive that it's tempting to add support for it,
> at least for non-official uses, possibly also for common Build-Depends.

Could we use custom zstd dictionaries on a per-architecture basis to
further reduce the size of zstd packages, possibly allowing it to beat
xz?

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: Configure your PC to contribute to Debian community

2019-05-08 Thread Paul Wise
On Wed, May 8, 2019 at 9:27 PM Vipul wrote:

> I've been using Debian from couples of years but haven't contributed yet back 
> to community.

There are a number of different ways to contribute to Debian:

https://www.debian.org/intro/help

> I want to contribute to Debian by maintaining packages and fixing bugs.

The best way to contribute is to work on packages that you use and the
best way to find opportunities for that is to install and run the
how-can-i-help package:

https://wiki.debian.org/how-can-i-help

> Is there a way to get isolation for work & contribution purpose to keep 
> yourself organized?

If you do not have a spare computer, the best option would be a
virtual machine, since you can then test newer versions of the whole
system. Some options for this include gnome-boxes or virt-manager.

> I want to hear from contributors & maintainers Which method they are using or 
> prefer to get isolation?

Personally I'm using Debian testing and do package building in
pbuilder chroots of unstable.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Michael Stone

On Thu, May 09, 2019 at 07:37:55AM +0800, Paul Wise wrote:

On Thu, May 9, 2019 at 1:38 AM Adam Borowski wrote:


Thus, even though we'd want to stick with xz for the official archive, speed
gains from zstd are so massive that it's tempting to add support for it,
at least for non-official uses, possibly also for common Build-Depends.


Could we use custom zstd dictionaries on a per-architecture basis to
further reduce the size of zstd packages, possibly allowing it to beat
xz?


In theory, sure. Have any test results? My gut tells me that wouldn't 
buy much but numbers matter more. 



Re: Preferred git branch structure when upstream moves from tarballs to git

2019-05-08 Thread Ben Finney
Ian Jackson  writes:

> So far I have gained the impression that the kind of people who are
> using packaging-only git trees tend to be very conservative, and very
> comfortable with .dsc/tarball/patch/quilt based tools, and not really
> convinced of the usefulness of git.

Let me counter that impression, then: I am well convinced of the
usefulness of Git, both generally and for Debian packaging in
particular. I use it every day for all manner of development work.

What I remain unconvinced of is the worth of abandoning the clean
separation between an upstream source repository (whether Git repository
or not) and a VCS repository for Debian packaging (typically in Git).

The worth of such a clean separation is that it does not run afoul of
the often wide differences between upstream developer team workflow
and Debian package maintainer team workflow.

So it's not conservatism or unwillingness to learn, in my case at least.
I don't see that there's sufficient benefit to be had trying to weld
their work together into one Git repository, when we have existing tools
and workflows that don't demand that conflation.

I believe I've made an informed assessment of the benefits and costs of
a combined-upstream-with-Debian-packaging single VCS repository, and
tentatively rejected it. That choice is not irrevocable and I could be
convinced by sufficient benefit, but AFAICT the costs remain what they
are.

> I have even experienced what feels to me like significant hostility.

Yes, I've seen that at times. I'm sure you get more that I haven't seen.
It's sad to see when it happens.

> If I am wrong and there are more users to be had by implementing this
> feature then I will definitely consider giving it a higher priority.

I'll try to find time to respond on the bug report you cited.

> BTW, dgit is capitalised thus.

Can't promise I'll remember that; as with DPut, it's easier to see the
portmanteau term with distinct capitalisation, in my opinion.

-- 
 \  “Advertising is the price companies pay for being unoriginal.” |
  `\—Yves Béhar, _New York Times_ interview 2010-12-30 |
_o__)  |
Ben Finney



Re: Configure your PC to contribute to Debian community

2019-05-08 Thread Emmanuel Arias
Hello VIpul,

I was writing a serie of blog's entry [1] (on spanish)
trying to  let for me on the future some data. Maybe
it could be helpful for you.

I have to write it on english version too and updated,
because I was using a virtual machine, but now I was using
chroot (that I think is better)

[1]https://eamanu.com/blog/guia-debian-maintainer-1-creando-la-estacion-de-trabajo/

Regards

On 5/8/19 10:26 AM, Vipul wrote:
> Hey there,
>
> I've been using Debian from couples of years but haven't contributed
> yet back to community. I want to contribute to Debian by maintaining
> packages and fixing bugs. Since I'm using Debian for work purpose also
> so, I don't want to mess-up  with my system by installing unstable
> packages or libraries. Is there a way to get isolation for work &
> contribution purpose to keep yourself organized? 
>     I can get isolation by using Docker image or install one more copy
> of Debian in PC and switch between them but that would be painful. I
> want to hear from contributors & maintainers Which method they are
> using or prefer to get isolation?
>
> Sorry, if this a wrong place to ask this question, then where should I
> ask?
>
>
> Cheers,
> VIpul
>
> PS: I'm not subscribed to this mailing.
>

-- 
Emmanuel Arias
@eamanu
https://eamanu.com




signature.asc
Description: OpenPGP digital signature


Re: Configure your PC to contribute to Debian community

2019-05-08 Thread Yao Wei
On Wed, May 08, 2019 at 10:22:18PM -0300, Emmanuel Arias wrote:
> I was writing a serie of blog's entry [1] (on spanish)
> trying to  let for me on the future some data. Maybe
> it could be helpful for you.
> 
> I have to write it on english version too and updated,
> because I was using a virtual machine, but now I was using
> chroot (that I think is better)
> 
> [1]https://eamanu.com/blog/guia-debian-maintainer-1-creando-la-estacion-de-trabajo/

I think we can have some sort of starter kit (dotfiles or setup script)
for new contributors or contributors with new Debian installations to
set up such as reportbug, gbp, quilt, sbuild, environment variables,
etc.  To put things simple I propose the kit should have generic
configurations.

Recently I bought a retired computer from work, and to use reportbug, I
copied my setup from my laptop, and this idea came to my mind.

Best regards,
Yao Wei


signature.asc
Description: PGP signature


Re: .deb format: let's use 0.939, zstd, drop bzip2

2019-05-08 Thread Andrey Rahmatullin
On Thu, May 09, 2019 at 12:02:26AM +0200, Adam Borowski wrote:
> > We have various applications that only want to extract single members of
> > the package (changelog, NEWS, copyright, ...); tar is a really bad
> > format for such an operation.  Other formats (zip, 7z, ...) are more
> > suited for them.
> 
> Perhaps such files could be considered metadata 
Yes please.
I think there are various proposal about this, though they IIRC are mostly
about not putting them into /usr/share but into a more suitable location.

-- 
WBR, wRAR


signature.asc
Description: PGP signature