Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Helmut Grohne
On Wed, Sep 08, 2021 at 07:12:18PM -0400, Michael Stone wrote:
> Why not simply automate setting it at install time using preseed? I'm
> honestly not sure who the target audience for auto-apt-proxy is--apparently
> someone who has an infrastructure including a proxy, possibly the ability to
> set dns records, etc., but can't change defaults at install time or via some
> sort of runtime configuration management?

I believe that the target audience is non-tech end-users. Most
orgnizations already optimized their way of downloading .debs via some
way (e.g. auto-apt-proxy) or another. As you point out, organizations
are easily able to deviate from defaults. They're not our primary target
with defaults.

Laptops of end-user systems are the target, but also developers. When
people gather at a place (conference, hackspace, private meetup, etc.)
downloading of .debs should just work quickly by default. Many such
sites could easily provide a local cache and a number even do. BSPs tend
to have a blackboard with information including the local mirror to use.
Seriously, how many people change their mirror when they go to a BSP? If
we installed auto-apt-proxy by default, much of the local caching would
just work.

The thing we seem to be disagreeing on is what is more important? https
by default or quick and efficient downloads? Some may think that our
CDN can handle the load just fine and the effects of caching are
peanuts. I can attest that those peanuts are 4TB/year (equivalent to 8
days waiting for downloads) for me.

I see that we've given up on a global network of independently-managed
mirrors and that CDNs are way easier at this time. While initially CDNs
had bad reliability issues, those have completely vanished in my
experience. On the other hand, local caching still outperforms CDNs by a
factor of 10 or so. I'd love to make it the default.

Helmut



Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Ansgar
On Fri, 2021-09-10 at 09:33 +0200, Helmut Grohne wrote:
> If
> we installed auto-apt-proxy by default, much of the local caching
> would
> just work.

If you push for a local caching method to be used by default, apt
should always request (In)Release.gpg from a regular mirror (not auto-
discovered local cache), preferably via HTTPS; for subsequent data
(which apt can verify via (In)Release) a local mirror can be used,
falling back to the regular mirror when the data provided by the local
cache is not correct for any reason.

Especially at BSPs where people are likely to bootstrap new
environments (via debootstrap, for example for building packages) we
would allow downgrade attacks otherwise: (In)Release for stable
releases has no Valid-Until, so any initial (In)Release file can be
substituted by the cache operator for an older one which then refers to
known-vulnerable packages. (And I'm not sure debootstrap even checks
Valid-Until.)

Ansgar



Re: Require packages to build without any configured DNS

2021-09-10 Thread Josh Triplett
Thomas Goirand wrote:
> On 9/8/21 6:01 PM, Josh Triplett wrote:
> > Now, that said, if the build process actually wants a DNS server to
> > run tests against, it should provide or depend on such a DNS server,
> > and configure it for such tests.
> 
> Just to be 100% sure we're on the same page: that's *not* what dnspython
> is doing. It's a client library that's testing parsing of the
> /etc/resolv.conf format, and it just expects it to be there for parsing.

I understood that; I'd just wanted to make it clear that while programs
parsing /etc/resolv.conf should assume a nameserver on localhost if
/etc/resolv.conf doesn't exist, that doesn't mean that build processes
should actually require that such a nameserver be running.



Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Eduard Bloch
Hallo,
* Michael Stone [Wed, Sep 08 2021, 07:25:26PM]:
> On Wed, Sep 08, 2021 at 03:56:14PM +0200, Ansgar wrote:
> > On Wed, 2021-09-08 at 15:41 +0200, Helmut Grohne wrote:
> > > On Wed, Sep 08, 2021 at 02:01:03PM +0200, Ansgar wrote:
> > > > So what do you suggest then? Tech-ctte as with merged-/usr? Or a
> > > > GR? Or
> > > > something else?
> > >
> > > I propose that the proponents pay the cost. In this case, it is a bit
> > > unclear what that means precisely (which likely is the reason they
> > > haven't done it already). At the very least though, apt install
> > > auto-apt-proxy should continue to work on a default installation in a
> > > sensible way.
> >
> > I can file a bug for auto-apt-proxy to include an apt.conf snippet
> > saying
> >
> >  Acquire::https::Verify-Peer false;
> >
> > That clearly makes it work again
>
> I think the issue isn't certificate validation, it's that https proxy
> requests are made via CONNECT rather than GET. You could theoretically
> rewrite the proxy mechanism to MITM the CONNECT, but that wouldn't be a
> drop-in replacement. I suppose you could instead add an apt option to pass
> the https request to the proxy via GET instead of using CONNECT, but I think

Precisely. Current handling of HTTPS on a caching proxy is either
impossible or PITA for the user, as long as a such mixed behavior is not
configurable.  apt-cacher-ng works around that by telling users to
disguise https URLs as HTTP with a special marker for protocol switch
(ugly, I know).

Also keep in mind that it off-loads the encryption work to the proxy,
but that might be even intentional.

> that also won't necessarily work on an existing proxy.

Speaking at least for ACNG, my assumption was that it would support that
but I was wrong. TODO created,
https://salsa.debian.org/blade/apt-cacher-ng/-/issues/11 .

> If we're imagining apt options, something like
> Acquire::https::Force-Proxy-HTTP true;
> would probably be more useful for this specific case (not that I think it's
> a great idea--too much potential for surprise).

I would make it a list of trusted proxy hosts and a special value ALL.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994032 created.

Best regards,
Eduard.



Re: Wine MinGW system libraries

2021-09-10 Thread Bastien ROUCARIES
Le jeu. 9 sept. 2021 à 07:32, Paul Wise  a écrit :
>
> On Thu, 2021-09-09 at 00:59 -0500, Zebediah Figura wrote:
>
> > Unfortunately, no. We have no way of knowing the caller.
>
> Can the PE loading mechanism do something like inject a fake dlopen
> function available only in the Wine namespace that just passes the Wine
> namespace to the dlmopen function? Or the same but for each library?

The problem is that windows apps particularly games try to check if
mapped ram exec pages are from dll from disk and not modified in
memory.

Thus if we create namespace, this crappy software will stop to work
except if we create or symlink a library with an unique name that the
wine applications could fetch

Note that windows use for libraryname only the basename not the
fullpatch (zebediah could you confirm)

I am proposing (for simplicity I call the problematic lib libpng that
depends on libz)
1. build like usual a libpng and libz. libpng depend on linbz
2. copy libpng to libwinepng and libz to libwinez
3 use a new patchpe command (like the patchelf command) to patch the
depend of libwinepng
So globally a post link time namespace (it will be better on debian
side than to recompile and pass flags to library).

You  propose:
1. build like usual a libpng and libz. libpng
2 create symlink libwinepng -> libpng, liwinez->libz
3. instruct the loader to load libwinepng privatly using namespace
approach and do at run time the patchpe work

I believe that your approach is technically superior but could be done
on the top of my first approach and a second step.

Zebediah could you please give use feedback from wine team ?

If patchpe is workable (and I firmly believe it is), you could add a
task to see if paul wise solution is workable and report here.

Next step, will be to refine your proposal. For instance i really
dislike the libpng libwinepng mapping I will prefer a mapping given as
perlre
and something that encode the wine ABI like s/^lib/lib-wineinternaluseABI1.0/g

It will allow to create pkgconfig file for wine version of lib automatically

Bastien
>
> --
> bye,
> pabs
>
> https://wiki.debian.org/PaulWise



Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Timo Röhling

* Michael Stone  [2021-09-08 19:25]:
I think the issue isn't certificate validation, it's that https proxy 
requests are made via CONNECT rather than GET. You could theoretically 
rewrite the proxy mechanism to MITM the CONNECT, but that wouldn't be 
a drop-in replacement. I suppose you could instead add an apt option 
to pass the https request to the proxy via GET instead of using 
CONNECT, but I think that also won't necessarily work on an existing 
proxy.

apt-cacher-ng has a second mode of operation where you can prefix
the source URL with the proxy URL, i.e.

deb http://proxyhost:3142/deb.debian.org/debian unstable main

Maybe we could introduce this as an "official" APT proxy mode, where
http(s)://REPO gets replaced by http://PROXY_URL/REPO (and the proxy
can decide whether or not to fetch via HTTPS as an implementation
detail)?

Cheers
Timo

--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Michael Stone

On Fri, Sep 10, 2021 at 12:00:57PM +0200, Timo Röhling wrote:

* Michael Stone  [2021-09-08 19:25]:
I think the issue isn't certificate validation, it's that https 
proxy requests are made via CONNECT rather than GET. You could 
theoretically rewrite the proxy mechanism to MITM the CONNECT, but 
that wouldn't be a drop-in replacement. I suppose you could instead 
add an apt option to pass the https request to the proxy via GET 
instead of using CONNECT, but I think that also won't necessarily 
work on an existing proxy.

apt-cacher-ng has a second mode of operation where you can prefix
the source URL with the proxy URL, i.e.

deb http://proxyhost:3142/deb.debian.org/debian unstable main

Maybe we could introduce this as an "official" APT proxy mode, where
http(s)://REPO gets replaced by http://PROXY_URL/REPO (and the proxy
can decide whether or not to fetch via HTTPS as an implementation
detail)?


I'd much rather see something more like I proposed earlier (splitting the 
selection of what suites/components to install from the policy of how to 
obtain them) rather than further layering+confusing these two concepts 
within sources.list.




Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Michael Stone

On Fri, Sep 10, 2021 at 09:33:56AM +0200, Helmut Grohne wrote:

Laptops of end-user systems are the target, but also developers. When
people gather at a place (conference, hackspace, private meetup, etc.)
downloading of .debs should just work quickly by default. Many such
sites could easily provide a local cache and a number even do. BSPs tend
to have a blackboard with information including the local mirror to use.
Seriously, how many people change their mirror when they go to a BSP? If
we installed auto-apt-proxy by default, much of the local caching would
just work.


I think you'd get a lot of pushback on installing auto-apt-proxy by 
default. If that's a proposal, make it seperately and not in this 
thread. 


The thing we seem to be disagreeing on is what is more important? https
by default or quick and efficient downloads? Some may think that our
CDN can handle the load just fine and the effects of caching are
peanuts. I can attest that those peanuts are 4TB/year (equivalent to 8
days waiting for downloads) for me.



I see that we've given up on a global network of independently-managed
mirrors and that CDNs are way easier at this time. While initially CDNs
had bad reliability issues, those have completely vanished in my
experience. On the other hand, local caching still outperforms CDNs by a
factor of 10 or so. I'd love to make it the default.


I use a cache out of habit and to be a good netizen, but my internet 
connection is fast enough these days that it's basically a noop at best 
and a slight slowdown at worst. I had to move the cache from slow/cheap 
spinning disk to reasonably fast SSD to get to that point. If you're 
downloading the same stuff over and over (e.g., for testing or somesuch) 
it can be a big win, especially for VMs on a virtualized network 
connection, or if you're managing a large infrastructure, but 
for normal use with a couple of instances? It's just not worth the 
trouble. 



Epoch bump request for ksh

2021-09-10 Thread Anuradha Weeraman
Hi

As a result of a revert of v2020 of ksh last year, the current version
on sid for ksh is as follows:

2020.0.0+really93u+20120801-10

With the next upgrade, we're looking to move to the 93u+m community
maintained distribution that has a different versioning scheme (starting
with 1.0.0-beta.1). Without bumping up the epoch, we can possibly version
it as follows, by using a newer date prefix:

20210510-93u+m-1.0.0~beta.1-1

However, I would like to request feedback to move to the following
version with a bump of the epoch:

1:93u+m-1.0.0~beta.1-1

Thanks,

Anuradha



Re: Epoch bump request for ksh

2021-09-10 Thread Phil Morrell
On Fri, Sep 10, 2021 at 05:18:13PM +0530, Anuradha Weeraman wrote:
> As a result of a revert of v2020 of ksh last year, the current version
> on sid for ksh is as follows:
> 
> 2020.0.0+really93u+20120801-10
> 
> With the next upgrade, we're looking to move to the 93u+m community
> maintained distribution that has a different versioning scheme (starting
> with 1.0.0-beta.1).

I was curious about why, and while I'm neither a ksh dev or user, in the
context of Debian packaging it doesn't seem so simple. I'm trying not to
step on your toes, or dredge up interpersonal conflict.

https://github.com/att/ast/issues/1466

The impression I got is that there are at least 3 projects making claim
to "ksh93" going forwards. 93u+2012 is the last known stable, compatible
version that has been reverted to and, crucially, has been shipped in
all Debian stable releases. There seems to be community demand and
distro maintainers support for collaborating on keeping the build system
working on modern systems, which will not be merged back into the att
repo - do you know if this has happened, where the fork can be found?

https://tracker.debian.org/pkg/ksh

Then there appears to be this 93u+m project publishing essentially v2020
as 1.0.0 beta, tagged as 'v1.0.0-beta.1'. It's release notes say "This
new fork is called ksh 93u+m as a permanent nod to its origin". It is
making more invasive fixes to the codebase and trimming unused
components, but there are some concerns noted over its backwards
compatibility with 40 years of scripts.

https://github.com/ksh93/ksh

> However, I would like to request feedback to move to the following
> version with a bump of the epoch:
>
> 1:93u+m-1.0.0~beta.1-1

1) If there are possible edge-case compatibility issues, have you
considered a new source package and use of the alternatives system? This
would let Debian users choose between the two options for their use case
- maintaining existing systems, or writing new ksh scripts.

2) If you do go ahead with switching to the community distribution, then
"93u+m" is part of the name, not the version number, so I'd suggest:

1:1.0.0~beta.1-1


signature.asc
Description: PGP signature


Bug#994039: ITP: mirrorbits -- Geographical download redirector for distributing files efficiently across a set of mirrors.

2021-09-10 Thread Arnaud Rebillout
Package: wnpp
Severity: wishlist
Owner: Arnaud Rebillout 

* Package name: mirrorbits
  Version : 0.5.1+git20210123.eeea0e0-1
  Upstream Author : Ludovic Fauvet
* URL : https://github.com/etix/mirrorbits
* License : Expat
  Programming Lang: Go
  Description : Geographical download redirector for distributing files 
efficiently across a set of mirrors.

 Mirrorbits Mirrorbits is a geographical download redirector written in
 Go (https://golang.org) for distributing files efficiently across a set
 of mirrors. It offers a simple and economic way to create a Content
 Delivery Network layer using a pure software stack. It is primarily
 designed for the distribution of large-scale Open-Source projects with
 a lot of traffic.
 .
 Main Features
  * Blazing fast, can reach 8K QPS on a single laptop
  * Easy to deploy and maintain, everything is packed in a single
binary
  * Automatic synchronization with the mirrors over rsync or FTP
  * Response can be either JSON or HTTP redirect
  * Support partial repositories
  * Complete checksum / size control
  * Realtime monitoring and reports
  * Disable misbehaving mirrors without human intervention
  * Realtime decision making based on location, AS number and
defined rules
  * Smart load-balancing over multiple mirrors in the same area
to avoid hotspots
  * Ability to adjust the weight of each mirror
  * Limit access to a country, region or ASN for any mirror
  * Clustering (multiple mirrorbits instances)
  * High-availability using redis-sentinel
  * Automatically fix timezone offsets for broken mirrors
  * Realtime statistics per file / mirror / date
  * Realtime reconfiguration
  * Seamless binary upgrade (aka zero downtime upgrade)
  * Mirmon (http://www.staff.science.uu.nl/~penni101/mirmon/) support
  * Full IPv6 support
  * more...
 .
 Is it production ready?  Yes! Mirrorbits has served billions of files
 already and is known to be running in production at VideoLAN
 (http://www.videolan.org) to distribute VLC media player
 (http://www.videolan.org/vlc/) since April 2014



Re: Epoch bump request for ksh

2021-09-10 Thread Anuradha Weeraman
On Fri, Sep 10, 2021 at 02:25:32PM +0100, Phil Morrell wrote:
> On Fri, Sep 10, 2021 at 05:18:13PM +0530, Anuradha Weeraman wrote:
> Then there appears to be this 93u+m project publishing essentially v2020
> as 1.0.0 beta, tagged as 'v1.0.0-beta.1'. It's release notes say "This
> new fork is called ksh 93u+m as a permanent nod to its origin". It is
> making more invasive fixes to the codebase and trimming unused
> components, but there are some concerns noted over its backwards
> compatibility with 40 years of scripts.
> 
> https://github.com/ksh93/ksh

To give some context:

The development of v2020 of ksh that took place on github.com/att/ast
was rolled back last year, as it was primarily based on the less stable
ksh93v- as a starting point which resulted in regressions and performance
problems. The "att/ast" repository on which the development was taking was
reset back to pre-2020 and the development has discontinued. ksh93u+/v-
itself is not being maintained since the departure of Dr. Korn from AT&T
circa 2014.

ksh93u+m was a reboot attempt by Martijn Dekker et al. to build upon
the last stable 93u+ release (not on v2020, apart from some cherry
picked patches). This work has been taking place for over a year at this
point, with the objective of making incremental changes, by fixing long
standing issues, consolidating patches from RedHat, OpenSUSE, Solaris
etc, removing unused code, fixing the build system, and testing across
different UNIX variants. The distribution has come a long way, and the
upstream maintainers have been carefully curating fixes and maintaining
backwards compatibility.

> 1) If there are possible edge-case compatibility issues, have you
> considered a new source package and use of the alternatives system? This
> would let Debian users choose between the two options for their use case
> - maintaining existing systems, or writing new ksh scripts.

This was the approach briefly, when we introduced ksh93 as separate
package for those who didn't want to upgrade to ksh2020 and the issues
that came with it. Since the revert of ksh2020 upstream, it was also
reverted in src:ksh, making the need for a separate ksh93 unnecessary,
and so has been removed from the archive. ksh93u+ is incremental, and
backwards compatibility is considered seriously and further validated
with a test suite.

> 2) If you do go ahead with switching to the community distribution, then
> "93u+m" is part of the name, not the version number, so I'd suggest:
> 
> 1:1.0.0~beta.1-1

It does make sense to differentiate with the 93u+m prefix. Amending the
proposed version below:

1:93u+m-1.0.0~beta.1-1

-- 
Anuradha



Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread David Kalnischkies
On Thu, Sep 09, 2021 at 08:53:21AM -0400, Michael Stone wrote:
> The only thing I could see that would be a net gain would be to generalizes
> sources.list more. Instead of having a user select a specific protocol and
> path, allow the user to just select high-level objects. Make this a new
> pseudo-protocol for backward compatibility, and introduce something like
>   deb apt:// suite component[s]
> so the default could be something like
>   deb apt:// bullseye main
>   deb apt:// bullseye/updates main
> then the actual protocols, servers, and paths could be managed by various
> plugins and overridden by configuration directives in apt.conf.d. For

In this scheme the Debian bullseye main repo has the same 'URI' as the
Darts bullseye main repo. So, you would need to at least include an
additional unique identifier of the likes of Debian and Darts, but
who is to assign those URNs?
(Currently we are piggybacking on the domain name system for this)

Also, but just as an aside, whatever clever system you think of apt
could be using, you still need a rather simple system for the likes of
tools which come before apt like the installers/bootstrappers as they
are not (all) using apt, especially not in the very early stages, and
a mapping between them.


> If someone wants to use tor by default but fall back to https if it's
> unreachable, they can do that. If someone wants to use a local proxy via
> http but https if they're not on their local network, they can do that. New
> installations could default to https, existing installations can keep doing

You can do most of the fallback part with the mirror method backed by
a local file. It is of no concern to apt how that file comes to be, so
you could create it out of a massive amount of options or simply by
hand. I do think if the creation is tool-based it shouldn't be apt
as I envision far too many unique snowflakes for a one-size-fits-all
approach.

(The Tor to https fallback can be done already if we talk onion services
 to others. You can't fall out of Tor – or redirect into it – through as
 that would allow bad actors to discover who you are/that you have an
 operational tor client installed. proxy configuration you can already
 change programmatically on the fly – a job auto-apt-proxy implements –,
 changing the mirror file with a hook from your network manager would
 be equally easy.)


> their thing, and a plugin like auto-apt-proxy can override defaults to do
> something more complicated, using more policy-friendly .d configurations
> rather than figuring out a way to rewrite some other package's configuration
> file.

JFTR: auto-apt-proxy has nothing to do with sources. It is true that
apt-cacher-ng (and perhaps others) have a mode of operation in which you
prefix the URI of your (in that case caching) proxy to the URI of the
actual repo, but that isn't how a proxy usually operates and/or is
configured.


Best regards

David Kalnischkies


signature.asc
Description: PGP signature


Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Simon Richter

Hi,

On 10.09.21 01:46, Paul Wise wrote:


Another important argument is that it creates a dependency on
third-party commercial CDNs, and their *continued* sponsorship.



This dependency on external providers is unavoidable, Debian
definitely cannot afford to run our own CDN at the scale needed to
support our existing userbase. For example the security mirrors
struggled with Linux kernel security updates, so security.d.o switched
to a commercial CDN. Also, we are dependent on continued sponsorship
for all of our infrastructure, paying for all of our hosting is likely
not feasible.


Yes -- and mirrors have traditionally been provided by third parties. 
What is new about the CDNs is that there are rather few of those, and 
this centralization aspect is what worries me.



Personally I'd like to see a larger variety of Debian delivery
mechanisms; copy Debian/snapshot to archive.org, create a multi-distro
FLOSS CDN, bring back httpredir, DebTorrent and apt-p2p, add an i2p
mirror, use IPFS and content oriented networking etc. Michael Stone's
apt://debian idea seems like a good way to move in that direction
while adding protocol agility.


Yes, absolutely -- and we especially want to have a better solution for 
containers, because my expectation is that a large fraction of our 
traffic is just people not bothering to set up caching.


   Simon



Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Michael Stone

On Fri, Sep 10, 2021 at 04:33:42PM +0200, David Kalnischkies wrote:

On Thu, Sep 09, 2021 at 08:53:21AM -0400, Michael Stone wrote:

The only thing I could see that would be a net gain would be to generalizes
sources.list more. Instead of having a user select a specific protocol and
path, allow the user to just select high-level objects. Make this a new
pseudo-protocol for backward compatibility, and introduce something like
  deb apt:// suite component[s]
so the default could be something like
  deb apt:// bullseye main
  deb apt:// bullseye/updates main
then the actual protocols, servers, and paths could be managed by various
plugins and overridden by configuration directives in apt.conf.d. For


In this scheme the Debian bullseye main repo has the same 'URI' as the
Darts bullseye main repo. So, you would need to at least include an
additional unique identifier of the likes of Debian and Darts, but
who is to assign those URNs?
(Currently we are piggybacking on the domain name system for this)


I have no idea what darts is, so I don't have an answer. :)


Also, but just as an aside, whatever clever system you think of apt
could be using, you still need a rather simple system for the likes of
tools which come before apt like the installers/bootstrappers as they
are not (all) using apt, especially not in the very early stages, and
a mapping between them.


I'm not sure why you think I need that? The goal of my musings is to 
separate the definition of what set of debian packages to use from the 
decision of how to get those packages *when using apt*, so that there 
are fewer things to consider in the common case, and to allow new 
capabilities in uncommon cases. If someone's using some other tool, why 
would anyone assume that the same configuration syntax would work? Just 
use the same configuration file you use now, and ignore all of this. If 
you want configurations to match across tools, then ignore all of this 
again and keep the same sources.list syntax you're already using that 
presumably does what you want.



If someone wants to use tor by default but fall back to https if it's
unreachable, they can do that. If someone wants to use a local proxy via
http but https if they're not on their local network, they can do that. New
installations could default to https, existing installations can keep doing


You can do most of the fallback part with the mirror method backed by
a local file. It is of no concern to apt how that file comes to be, so
you could create it out of a massive amount of options or simply by
hand. I do think if the creation is tool-based it shouldn't be apt
as I envision far too many unique snowflakes for a one-size-fits-all
approach.


The intent would be to make it easier to plug other tools into apt,
not to have the apt codebase do everything.


their thing, and a plugin like auto-apt-proxy can override defaults to do
something more complicated, using more policy-friendly .d configurations
rather than figuring out a way to rewrite some other package's configuration
file.


JFTR: auto-apt-proxy has nothing to do with sources. It is true that
apt-cacher-ng (and perhaps others) have a mode of operation in which you
prefix the URI of your (in that case caching) proxy to the URI of the
actual repo, but that isn't how a proxy usually operates and/or is
configured.


I have no idea what you're saying here. 



Re: Epoch bump request for ksh

2021-09-10 Thread Anuradha Weeraman
On Fri, Sep 10, 2021 at 07:37:55PM +0530, Anuradha Weeraman wrote:
> > 2) If you do go ahead with switching to the community distribution, then
> > "93u+m" is part of the name, not the version number, so I'd suggest:
> > 
> > 1:1.0.0~beta.1-1
> 
> It does make sense to differentiate with the 93u+m prefix. Amending the
> proposed version below:
> 
> 1:93u+m-1.0.0~beta.1-1

Correction: rushed the last email, I meant to say that I agree that 93u+m
is not part of the version per se. I just thought that it would be good
to include, just for specificity.  However, amending the proposed version
as suggested since it makes sense:

1:1.0.0~beta.1-1

thanks

Anuradha



Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread David Kalnischkies
On Fri, Sep 10, 2021 at 11:08:38AM -0400, Michael Stone wrote:
> On Fri, Sep 10, 2021 at 04:33:42PM +0200, David Kalnischkies wrote:
> > On Thu, Sep 09, 2021 at 08:53:21AM -0400, Michael Stone wrote:
> > > The only thing I could see that would be a net gain would be to 
> > > generalizes
> > > sources.list more. Instead of having a user select a specific protocol and
> > > path, allow the user to just select high-level objects. Make this a new
> > > pseudo-protocol for backward compatibility, and introduce something like
> > >   deb apt:// suite component[s]
> > > so the default could be something like
> > >   deb apt:// bullseye main
> > >   deb apt:// bullseye/updates main
> > > then the actual protocols, servers, and paths could be managed by various
> > > plugins and overridden by configuration directives in apt.conf.d. For
> > 
> > In this scheme the Debian bullseye main repo has the same 'URI' as the
> > Darts bullseye main repo. So, you would need to at least include an
> > additional unique identifier of the likes of Debian and Darts, but
> > who is to assign those URNs?
> > (Currently we are piggybacking on the domain name system for this)
> 
> I have no idea what darts is, so I don't have an answer. :)

"Darts" was just a play on "bullseye". It is not hard to imagine
a repository which has the same suite and component(s) but is not
Debian itself. As a pseudo-random [= its in an other topic here] real
example you can take Wine (https://dl.winehq.org/wine-builds/debian/).
So to what is "deb apt:// bullseye main" referring? Debian or Wine?

And to pre-empt the most common response: As an apt dev I can assure you
that we won't accept a solution involving "I am on Debian, so it means
Debian" as that is impossible to correctly guess programmatically (for
example on derivatives using a small overlay repo).


> > Also, but just as an aside, whatever clever system you think of apt
> > could be using, you still need a rather simple system for the likes of
> > tools which come before apt like the installers/bootstrappers as they
> > are not (all) using apt, especially not in the very early stages, and
> > a mapping between them.
> 
> I'm not sure why you think I need that? The goal of my musings is to

Because this thread started with the idea to switch the default of d-i
and co to another URI. If you target only apt then you still need
a solution for d-i and a way to convert whatever d-i had into what apt
gets in the end (of the installation).

The configuration option which only works with apt tools already
exists in the form of the mirror method…


> > > their thing, and a plugin like auto-apt-proxy can override defaults to do
> > > something more complicated, using more policy-friendly .d configurations
> > > rather than figuring out a way to rewrite some other package's 
> > > configuration
> > > file.
> > 
> > JFTR: auto-apt-proxy has nothing to do with sources. It is true that
> > apt-cacher-ng (and perhaps others) have a mode of operation in which you
> > prefix the URI of your (in that case caching) proxy to the URI of the
> > actual repo, but that isn't how a proxy usually operates and/or is
> > configured.
> 
> I have no idea what you're saying here.

And I have no idea if you know what you are talking about.

auto-apt-proxy already uses an interface apt provides to configure the
proxy at runtime. It isn't in the business of modifying sources.list nor
has it any interest in that. So you using it as an example for a plugin
who could use your proposed scheme to modify the sources at runtime
makes no sense.


Best regards

David Kalnischkies


signature.asc
Description: PGP signature


Re: Bug#992692: general: Use https for {deb,security}.debian.org by default

2021-09-10 Thread Michael Stone

On Fri, Sep 10, 2021 at 08:02:42PM +0200, David Kalnischkies wrote:

On Fri, Sep 10, 2021 at 11:08:38AM -0400, Michael Stone wrote:

On Fri, Sep 10, 2021 at 04:33:42PM +0200, David Kalnischkies wrote:
> On Thu, Sep 09, 2021 at 08:53:21AM -0400, Michael Stone wrote:
> > The only thing I could see that would be a net gain would be to generalizes
> > sources.list more. Instead of having a user select a specific protocol and
> > path, allow the user to just select high-level objects. Make this a new
> > pseudo-protocol for backward compatibility, and introduce something like
> >   deb apt:// suite component[s]
> > so the default could be something like
> >   deb apt:// bullseye main
> >   deb apt:// bullseye/updates main
> > then the actual protocols, servers, and paths could be managed by various
> > plugins and overridden by configuration directives in apt.conf.d. For
>
> In this scheme the Debian bullseye main repo has the same 'URI' as the
> Darts bullseye main repo. So, you would need to at least include an
> additional unique identifier of the likes of Debian and Darts, but
> who is to assign those URNs?
> (Currently we are piggybacking on the domain name system for this)

I have no idea what darts is, so I don't have an answer. :)


"Darts" was just a play on "bullseye". It is not hard to imagine
a repository which has the same suite and component(s) but is not
Debian itself. As a pseudo-random [= its in an other topic here] real
example you can take Wine (https://dl.winehq.org/wine-builds/debian/).
So to what is "deb apt:// bullseye main" referring? Debian or Wine?

And to pre-empt the most common response: As an apt dev I can assure you
that we won't accept a solution involving "I am on Debian, so it means
Debian" as that is impossible to correctly guess programmatically (for
example on derivatives using a small overlay repo).


I'd considered adding a scope to the model, e.g., apt://debian.org but 
removed it for simplicity. If that was a desired feature then there'd 
either have to be some sort of well-known path or such a distribution 
would need to provide a policy plugin for that scope. Alternatively, 
they could just use the existing http/https/whatever syntax in 
sources.list for their overlay if they didn't want to bother. Same for 
third party repos. 


> > their thing, and a plugin like auto-apt-proxy can override defaults to do
> > something more complicated, using more policy-friendly .d configurations
> > rather than figuring out a way to rewrite some other package's configuration
> > file.
>
> JFTR: auto-apt-proxy has nothing to do with sources. It is true that
> apt-cacher-ng (and perhaps others) have a mode of operation in which you
> prefix the URI of your (in that case caching) proxy to the URI of the
> actual repo, but that isn't how a proxy usually operates and/or is
> configured.

I have no idea what you're saying here.


And I have no idea if you know what you are talking about.

auto-apt-proxy already uses an interface apt provides to configure the
proxy at runtime. It isn't in the business of modifying sources.list nor
has it any interest in that. So you using it as an example for a plugin
who could use your proposed scheme to modify the sources at runtime
makes no sense.


The concern I was responding to was that switching to https breaks the 
case of using auto-apt-proxy to cache the transaction. Just turning the 
proxy on and off isn't sufficient if the default sources.list uses https 
instead of http--you'd currently have to both turn the proxy on *and* 
change sources.list from http to https. Hence my musings on whether it's 
possible/desirable to separate the configuration of what to use as a 
transport from the configuration of what repository is desired.


More generally, if we're talking about changing the default way that 
people interact with debian it just seems like a good time to ponder 
whether specifying sources the same way we did in 1998 makes sense given 
how many changes there have been to expectations about how we use
internet resources. Maybe the answer is yes, and I'm not arguing that 
there has to be a change or that what I threw out as a possibility is 
the right answer, but it does seem worth considering.




Re: Require packages to build without any configured DNS

2021-09-10 Thread Adrian Bunk
On Wed, Sep 08, 2021 at 09:01:31AM -0700, Josh Triplett wrote:
>...
> I think dnspython's previous approach was correct: just like glibc, musl, and
> other libraries, if /etc/resolv.conf is missing they should treat that as
> though it specified a nameserver on localhost.

How libraries implement a standard high-level C interface is not 
necessarily relevant for how a DNS library implements a low-level 
interface.

> The change to make that a
> configuration error, instead, breaks real configurations that intentionally
> don't have /etc/resolv.conf.
> 
> Among other things, having a DNS server on localhost (or forwarding the DNS
> port on localhost to your real DNS server) means that a chroot without
> /etc/resolv.conf still has functional DNS.

It is debatable whether this is a feature or a bug.

Having to configure a nameserver when you want DNS is less surprising 
than software automatically using nameservers like 127.0.0.1 or 8.8.8.8
when none is configured.

> Now, that said, if the build process actually wants a DNS server to run tests
> against, it should provide or depend on such a DNS server, and configure it 
> for
> such tests.
>...

Depending on and configuring a normal DNS server might not happen in 
practice, since the build process running as a normal user would have
to configure and manually start it running on a non-privileged port.

Trying to resolve DNS addresses on the internet during the build is
not permitted.

> - Josh Triplett

cu
Adrian



Re: Epoch bump request for ksh

2021-09-10 Thread Phil Morrell
On Fri, Sep 10, 2021 at 07:37:55PM +0530, Anuradha Weeraman wrote:
> ksh93u+m was a reboot attempt by Martijn Dekker et al. to build upon
> the last stable 93u+ release (not on v2020, apart from some cherry
> picked patches). This work has been taking place for over a year at this
> point, with the objective of making incremental changes, by fixing long
> standing issues, consolidating patches from RedHat, OpenSUSE, Solaris
> etc, removing unused code, fixing the build system, and testing across
> different UNIX variants. The distribution has come a long way, and the
> upstream maintainers have been carefully curating fixes and maintaining
> backwards compatibility.

Ah I see, thanks for correcting my mistake about which project is which.
That way round I completely agree there's no need to use alternatives
and personally see no issue with bumping the epoch accordingly.


signature.asc
Description: PGP signature


Bug#994071: ITP: aws-nuke -- Nuke a whole AWS account and delete all its resources.

2021-09-10 Thread Arthur Diniz
Package: wnpp
Severity: wishlist
Owner: Arthur Diniz 

* Package name: aws-nuke
  Version : 2.16.0-1
  Upstream Author : reBuy reCommerce GmbH
* URL : https://github.com/rebuy-de/aws-nuke
* License : Expat
  Programming Lang: Go
  Description : Nuke a whole AWS account and delete all its resources.

 Remove all resources from an AWS account.
 .
 Be aware that aws-nuke is a very destructive tool, hence be very careful while
 using it. Otherwise can cause production data deletion.
 .
 As an advise try to not run this application on any AWS account, where cannot
 be afforded to lose all resources. By default aws-nuke only lists all resources
 to delete. It's necessary to add --no-dry-run to actually delete resources.
 .
 This tool retries deleting all resources until all specified ones are deleted
 or until there are only resources with errors left. AWS Credentials There are
 two ways to authenticate aws-nuke. There are static credentials and profiles.
 The later one can be configured in the shared credentials file or the shared
 config file.



Bug#994074: ITP: kubernetes-split-yaml -- Split a giant yaml file into one file per Kubernetes resource

2021-09-10 Thread Arthur Diniz
Package: wnpp
Severity: wishlist
Owner: Arthur Diniz 

* Package name: kubernetes-split-yaml
  Version : 0.3.0-1
  Upstream Author : Frederik Mogensen
* URL : https://github.com/mogensen/kubernetes-split-yaml
* License : Expat
  Programming Lang: Go
  Description : Split the 'giant yaml file' into one file pr kubernetes 
resource

 This program can be usefull in case it's necessary to split a big Kubernetes
 yaml manifest files into small ones.
 .
 It supports filters using namespaced hierarchy, Kubernetes objects starting
 with a word or Deployments and StatefulSets types.



Re: Wine MinGW system libraries

2021-09-10 Thread Paul Wise
Disclaimer: I know precisely zero of the details here nor
if the PE loader can support any of the below features.

On Fri, 2021-09-10 at 09:23 +, Bastien ROUCARIES wrote:

> The problem is that windows apps particularly games try to check if
> mapped ram exec pages are from dll from disk and not modified in
> memory.

The fake dlopen could presumably be provided by an on-disk DLL?
The PE loader would just load the fake dlopen DLL first, like
glibc does when you set the LD_PRELOAD environment variable.

> You propose:

I'm not proposing any on-disk symlinks, renaming DLLs or any other
changes to any PE DLLs, just loading into memory like dlmopen.

The solution I'm thinking of looks something like this:

src:libpng -> libpng16-16:$winarch -> /usr/lib/$wintriplet/libpng16.dll
(requires Debian to support cross-only, partial and Windows arch types)

PE loader sets up in-memory Wine namespace.

PE loader loads into Wine namespace: 
/usr/lib/$windowstriplet/wine/fake-dlopen.dll

PE loader loads Wine dependencies into Wine namespace.

Some of the Wine dependencies call the Windows equivalent of dlopen,
which resolves to the fake dlopen equivalent within the namespace,
which calls the Windows equivalent of dlmopen("Wine", dll), which makes
the PE loader load those libraries into the Wine namespace.

PE loader finishes loading Wine dependencies and proceeds loading the
PE file and its dependencies into the default namespace.

Windows apps check mapped RAM pages and they show up correctly.
The main issue would be that apps could check they run in Wine.
OTOH the PE loader could also just hide the pages somehow?

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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