Re: Should .a library contains non-reallocatable code?

2015-02-27 Thread Bernhard R. Link
* Ian Jackson  [150227 16:39]:
> Bernhard R. Link writes ("Re: Should .a library contains non-reallocatable 
> code?"):
> > Compare that to the straightforward case of just building a dynamic
> > instead of a static library with some simple:
> 
> No-one is proposing that shared libraries should not be built, and
> used, when possible.  We are only discussing here the case where
> building a shared library is not feasible for some reason.
> 
> The most common reason is that the shared library has no stable ABI:
> that is, upstream make API changes willy-nilly.  In that case ...
> 
> > printf 'LIBFOO_0.'$REVISION' {\n global:\n   *\n};\n' > foo.map
> > gcc --shared -Wl,--version-script=foo.map -Wl,--soname 
> > libfoo.so.0.${REVSION} -o libfoo.so.0.${REVSION} ...
> > ln -s libfoo.so.0.${REVSION} libfoo.so
> 
> ... this approach will lead to ABI-change-related breakage.

How do you think this can lead to breakage that your suggestion to merge
the static library into the dynamic library using it can not?


> Where only a static library is provided, it should be built _with_
> -fPIC unless it is expected never to be included in any shared object
> (which is probably hard to predict, but I guess there might be cases
> where the maintainer might know).

If you change that to "unless it is expected to never be
included in any shared object correctly." you get the current policy.
Because I can hardly think of a shared library for which that is not
expected.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150227183331.ga2...@client.brlink.eu



Re: Should .a library contains non-reallocatable code?

2015-02-26 Thread Bernhard R. Link
* Ian Jackson  [150224 18:51]:
> Right.  I think that the right answer to this, in these cases, is
> either to use an explicit symbol export file or to adjust the link
> command lines.

"adjust the link command lines" ? That's like saying the mine field
is safe because people will know which way through it is safe (at least
the second time they pass).

Creating multiple copies by creating shared libraries that merge
the static library in so that might end up multiple times in the same
library, and in a way they leak those implementation and might override
even things in programs linking against that library is at best a gross
hack, at worst a disaster waiting to happen.


"explicit symbol export file"
While this might be possibly avoid problems, it is quite a hard thing to
do. As there needs to be the default to hide everything (unless you
assume a library author incapabable of managing a ABI on the one hand
but able to properly make all symbols match some easy pattern) you
need an explicit whitelist one what you export from the merged library.


And in both cases you still have the problem that you have object code
copies in other packages, including all the problems like the need to
keep multiple source versions around, security updates being quite a
hassle, needing more memory if that code ends up in multiple libraries
and so on. (Not to speak of all the other problems of static libraries,
like breaking the versioning of symbols used from other libraries and
stuff like that).

Compare that to the straightforward case of just building a dynamic
instead of a static library with some simple:
printf 'LIBFOO_0.'$REVISION' {\n global:\n   *\n};\n' > foo.map
gcc --shared -Wl,--version-script=foo.map -Wl,--soname libfoo.so.0.${REVSION} 
-o libfoo.so.0.${REVSION} ...
ln -s libfoo.so.0.${REVSION} libfoo.so

which also gives you all the advantages of not having needlessly
multiple copies of the same version of the compile code around
and get all the other goodies (like automatic tracking where it is
used and which what version and being able to do a security update
without recompiling anything but that library).


So I really do not see what advantage in that case PIC code in the .a
file has, while not having it there avoids many possible mistakes.


Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150226230057.ga3...@client.brlink.eu



Re: Should .a library contains non-reallocatable code?

2015-02-24 Thread Bernhard R. Link
* Ian Jackson  [150224 15:50]:
> > You still pollute the ABI with the details of the internals:
> > 
> > if you try to change main.c to:
> > #include 
> > #include "foo1.h"
> > #include "bar2.h"
> > int main() {
> >   double rr1;
> >   foo(&rr1);
> >   int r1 = rr1;
> >   int r2 = bar2();
> >   printf("%d %d\n", r1, r2);
> >   return 0;
> > }
> > 
> > and run gcc -Wall main.c -L. -lbar2 -lfoo1 ; LD_LIBRARY_PATH=. ./a.out
> > you get:
> > foo2: 0x7f42db6f0a48
> > foo2: 0x7f42db6f0a48
> > 0 17
> > 
> > (In this specific case a version script might helps, but I'd not bet
> > on helping in all cases).
> 
> I don't know what exactly you ran.  Your transcript is not complete
> and I don't get the same results.  I suspect you didn't pass
> -Bsymbolic everywhere.
> 
> I changed main.c to contain the code you just showed, and reran by
> ./build script (same as before), and got this:
[...]
> 
> (64)ian@zealot:~$ ./build
> + egrep . bar.c bar1.c bar1.h bar2.c bar2.h foo.c foo1.c foo1.h foo2.c foo2.h 
> main.c t.c build
> [...]
> main.c:#include 
> main.c:#include "foo1.h"
> main.c:#include "bar2.h"
> main.c:int main() {
> main.c:  double rr1;
> main.c:  foo(&rr1);
> main.c:  int r1 = rr1;
> main.c:  int r2 = bar2();
> main.c:  printf("%d %d\n", r1, r2);
> main.c:  return 0;
> main.c:}
> [...]
> + gcc -Wall main.c -L. -lbar1 -lbar2

You forgot to change that line as I said to change it.

main.c now uses libfoo1 and libbar2, so in my example I build against
those.  Now you only need a bit of bad luck to use -lbar2 -lfoo1 in
that order and you get the problem. -Bsymbolic only helps against bar
being poluted.  It does not help against libbar polluting the main
program. (For this you need at least something like symbol versioning
to hide the symbols).

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150224173825.ga1...@client.brlink.eu



Re: Should .a library contains non-reallocatable code?

2015-02-23 Thread Bernhard R. Link
* Russ Allbery  [150222 21:51]:
> "Bernhard R. Link"  writes:
> 
> > This is wrong. If libbar.so needs libfoo.a then libfoo.a does not
> > need to be PIC:
> 
> > echo 'int foo(void) {return 17;}' > foo.c
> > echo 'int bar(void) {return foo();}' > bar.c
> > echo 'int main() {return bar();}' > main.c
> > gcc -c -Wall foo.c
> > ar rs libfoo.a foo.o
> > gcc -shared -fPIC -Wall bar.c -o bar.so
> > gcc -Wall main.c -L. -lbar -lfoo
> > ./a.out
> > echo $?
> 
> > works just fine.
> 
> It won't with something more complex on all architectures.  I think there
> are architectures (i386, maybe?) where you can link non-PIC code into a
> shared library with a performance penalty, and (as mentioned by another)
> it doesn't matter for code where there's no difference between PIC and
> non-PIC.  But this will definitely break on some architectures (including
> amd64, IIRC).
> 
> There's been lots of discussion of this on the Libtool list, and I've had
> to deal with this from time to time in various upstream projects where I
> wanted to assemble a shared library from various internal helper
> libraries.  Take a look at all the work that Libtool does to handle
> convenience libraries for exactly this reason.

You are speaking about linking .a helper libraries into a shared object.
I'm about the case that a shared library has a dependency on a different
static library instead.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150224015905.gb2...@client.brlink.eu



Re: Should .a library contains non-reallocatable code?

2015-02-23 Thread Bernhard R. Link
* Simon Richter  [150222 21:19]:
> Am 22.02.2015 um 20:18 schrieb Bernhard R. Link:
> 
> > echo 'int foo(void) {return 17;}' > foo.c
> 
> This code just happens to not generate any data references, so none of
> the forbidden reloc types are emitted.

You can add references here. As I do not merge it into a dynamic object,
it does not make any difference, though.

(Also "data references" is a bit misleading, as data references and code 
references
do not really make a difference.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150224014724.ga2...@client.brlink.eu



Re: Should .a library contains non-reallocatable code?

2015-02-23 Thread Bernhard R. Link
* Ian Jackson  [150223 20:09]:
> Bernhard R. Link writes ("Re: Should .a library contains non-reallocatable 
> code?"):
> > Jeff Epler  [150220 00:19]:
> > >  * libbar has a stable API, so it should be shipped as a .so,
> > >but if it links libfoo.a, and libfoo.a is not -fPIC, then
> > >libbar has to be shipped as a a static library too
> 
> Jeff is correct.
> > 
> > This is wrong. If libbar.so needs libfoo.a then libfoo.a does not
> > need to be PIC:
> > 
> > echo 'int foo(void) {return 17;}' > foo.c
> > echo 'int bar(void) {return foo();}' > bar.c
> > echo 'int main() {return bar();}' > main.c
> > gcc -c -Wall foo.c
> > ar rs libfoo.a foo.o
> > gcc -shared -fPIC -Wall bar.c -o bar.so
> > gcc -Wall main.c -L. -lbar -lfoo
> > ./a.out
> > echo $?
> > 
> > works just fine.
> 
> Did you actually try this before posting ?

Oh, I copied the wrong lines from the backlog here. It seems they
were a bit to trivial so autocorrection made me miss them reading over
them.

> Furthermore, as Simon Richter points out, this happens to work only
> because 1. your foo.c happens not to contain any data references, and

Data references work fine, too:

echo 'extern int val; void foo(int s) {val=s;}' >
echo 'int val = 2; void foo(int s) {val=s;}' > foo.c
echo 'extern int val;int bar(void) {return val;}' >
gcc -c -Wall foo.c
ar rs libfoo.a foo.o
gcc -shared -fPIC -Wall bar.c -o libbar.so
echo 'int main() {foo(17);return bar();}' > main.c
gcc -Wall main.c -L. -lbar -lfoo
LD_LIBRARY_PATH=. ./a.out
echo $?

> 2. your construction of bar.so (should be libbar.so) produces a shared
> library with unresolved references to libfoo, which is not usual or
> desirable.

Using a static library is undesirable. Unresolved symbols is just the
way dependencies of libraries works. The only thing missing here is
the missing dependency on the static library. But that is simply not
possible with static libraries.

> (In particular, this would vitiate libbar's stable
> API/ABI.)

This you have to explain.

If you think there is another way a dynamic library can use a static
library please tell so.

> (64)ian@zealot:~$ echo 'int x=17; int foo(void){ return x; }' >foo.c
> (64)ian@zealot:~$ echo 'int bar(void) {return foo();}' > bar.c
> (64)ian@zealot:~$ echo 'int main() {return bar();}' > main.c
> (64)ian@zealot:~$ gcc -c -Wall foo.c
> (64)ian@zealot:~$ ar rs libfoo.a foo.o
> (64)ian@zealot:~$ gcc -shared -fPIC -Wall bar.c -L. -lfoo -o libbar.so
> bar.c: In function ?bar?:
> bar.c:1:1: warning: implicit declaration of function ?foo?
> [-Wimplicit-function-declaration]
> /usr/bin/ld: ./libfoo.a(foo.o): relocation R_X86_64_PC32 against
> symbol `x' can not be used when making a shared object; recompile with
> -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status

What you do here is creating a dynamic library that merges the contents
of foo and bar. This is totally broken. If anything else uses the same
static library you get multiple symbols. If there versions differ that
means harvoc. With data parts you may end up with multiple versions.

There are only two possibilities:

You want a static library, then the static library has to be linked into
the executeable directly.

You foo within a dynamic library. Then instead of creating a dynamic
library that includes foo you can just as well create dynamic libfoo.so
and link against that.

> > > * foomodule is a Python wrapper for libfoo, so it must be shipped
> > >as a .so, but if it links libfoo.a, and libfoo.a is not -fPIC,
> > >it is not possible to build foomodule at all
> >
> > That is indeed the case. Note that simply compiling it with -fPIC might
> > not be enough here. As you need to include the actual library in the
> > module, this might mean you might end up with multiple copies of the
> > library, which might also mean multiple copies of any data it has or
> > with different versions of the same library in the same executeable
> > (and you cannot really have symbol versioning with a static library).
>
> That not usually a problem.  Providing that only the relevant symbols
> are exported from the .so, the executable simply results in multiple
> completely independent copies of the static library.

Your example above misses that.

echo "int foo(void) {return 7;}" > foo1.c
echo "int foo(void) {return 13;}" > foo2.c
echo 'int bar(void) {return foo();}' > bar.c
echo 'int main() {return bar();}' > main.c
gcc -c foo1.c
gcc -c foo2.c
gcc -fPIC -c foo1.c
rm libfoo.a

Re: Should .a library contains non-reallocatable code?

2015-02-22 Thread Bernhard R. Link
* Jeff Epler  [150220 00:19]:
> Here are two scenarios where building a static library (libfoo) with
> -fPIC is desirable:
>
>  * libbar has a stable API, so it should be shipped as a .so,
>but if it links libfoo.a, and libfoo.a is not -fPIC, then
>libbar has to be shipped as a a static library too


This is wrong. If libbar.so needs libfoo.a then libfoo.a does not
need to be PIC:

echo 'int foo(void) {return 17;}' > foo.c
echo 'int bar(void) {return foo();}' > bar.c
echo 'int main() {return bar();}' > main.c
gcc -c -Wall foo.c
ar rs libfoo.a foo.o
gcc -shared -fPIC -Wall bar.c -o bar.so
gcc -Wall main.c -L. -lbar -lfoo
./a.out
echo $?

works just fine.


>  * foomodule is a Python wrapper for libfoo, so it must be shipped
>as a .so, but if it links libfoo.a, and libfoo.a is not -fPIC,
>it is not possible to build foomodule at all

That is indeed the case. Note that simply compiling it with -fPIC might
not be enough here. As you need to include the actual library in the
module, this might mean you might end up with multiple copies of the
library, which might also mean multiple copies of any data it has or
with different versions of the same library in the same executeable
(and you cannot really have symbol versioning with a static library).

(If the wrapper is nor for the library itself (but only a library used
by that) this makes it quite dangerous. On the other hand it is a
wrapper for a library depending on an other yet-too-immature-to-have-a-.so
library, so it's quite safe to assume it is so experimental having a
python wrapper makes not much sense anyway.
If the python wrapper is for the library, than an _pic.a only is needed
if that wrapper is not generated by the same source package).

> Unless the circumstances of libfoo make these scenarios unlikely, it
> seems like it is better for other packages to prefer -fPIC even when
> building a static library.
>
> I wonder whether these scenarios were considered when the Policy was
> written.

Static libraries have many serious drawbacks (there are copies in many
programs, so every fix needs a recompile-orgy, multiple copies waste
more RAM, no built-in inter-library-dependencies, ...) and since then
even gotten more (headers if libraries the .a uses (like libc, ...) are
used at compile time, but they are only attached to symbol versions once
the .a in linked into something, so they might not match the headers,
...) since then.

Once something is actually used by other things it is really a good
idea to provide a dynamic library. (And conversely, if something is
not yet able to provide a dynamic library, this is a very good point
to be made against including anything using it).

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150222191833.ga4...@client.brlink.eu



Re: Architectures where unaligned access is (not) OK?

2014-11-21 Thread Bernhard R. Link
* Simon McVittie  [141121 13:42]:
> A couple of questions for people who know low-level things:
>
> * Of Debian's architectures (official and otherwise), which ones are
>   known/defined/designed to be OK with unaligned accesses from
>   user-space, and which ones (can be configured to) crash or give wrong
>   answers?
[...]
> The ones I know for sure are:
>
> - OK: any-i386, any-amd64

Are you sure about those, especially amd64? AFAIK some newer
instructions (I think something about vector code) have much tighter
requirements than the old 80386 modus operandi of "everything might be 
unaligned,
it is just slower then").

> The context is that
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037 describes lzo2
> failing to start up on armel due to unaligned memory accesses. lzo2 has
> a cpp macro, LZO_CFG_NO_UNALIGNED which can be defined to stop it doing
> "clever" things with casting pointers.

'"clever" things with casting pointers' sounds like someone thought C
was an assembler and not a language with quite tight requirements on
what you are allowed to do. If something does 'clever things' I strongly
recommend to compile it with -O0. Optimisation of the compiler is only
supposed to keep the behaviour of conforming code, with 'clever' things
everything is possible.

> If the maintainer doesn't object
> (or fix the bug of course), I intend to NMU lzo2 to use that macro on at
> least armel; I would like to sanity-check whether I should be using a
> blacklist or whitelist approach, and which architectures other than
> armel should be on the blacklist, or which architectures other than x86
> should be on the whitelist.
> 
> Relatedly, if we have
> 
> typedef struct lzo_memops_TU2_struct {
>   unsigned char a[2];
> } lzo_memops_TU2;
> 
> *(lzo_memops_TU2 *) (void *) dest =
> *(const lzo_memops_TU2 *) (void *) src;
> 
> is gcc within its rights to optimize that into an aligned 16-bit load
> and an aligned 16-bit store, even though alignof(lzo_memops_TU2) == 1;
> or should gcc be emitting pessimistic byte-by-byte code for that?

With the "*(const lzo_memops_TU2 *) (void *) src" you tell the compiler
that src is pointing to a memory address that is a lzo_memops_TU2_struct. 
In a case where it is not gcc is free to assume that this code path is
not  inteded to be ever executed and may replace it in any way it see fit
to cope with other code paths (luckily replacing the code with
'system("rm -rf /");' is unlikely to happen, though that would totally
legit for a compiler in cases src points to anything else.)
For dest things are a bit more complicated. If the alignment is wrong
gcc might replace the code with anything it wants. Otherwise that memory
might afterwards be regarded as lzo_memops_TU2_struct and accessing it
as anything else is fair game for the compiler to assume it is dead
code.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141121133100.ga8...@client.brlink.eu



Re: RFC: DEP-14: Recommended layout for Git packaging repositories

2014-11-20 Thread Bernhard R. Link
* Ron  [141119 07:21]:
> I believe Bernhard explained earlier that git-dpm allows the replacement
> character to be configurable (but also offers just a single character
> for all replacements).

git-dpm doesn't have a replacement-character configurable, but different
control sequences for the variable parts of tags supporting different
version schemata, so one can configure "debian%e-%v" for the old style
1:2:3~4 generating tag name "debian1-2_3_4". And "debian/%E%V" would
give "debian/1.2.3.4" and "foobar-%e%v" would give "doobar-1.2_3_4".
The current sid version has some combinations (for the different parts
of the version needed for the different older schemata there are currently
%v %u %e %f %V %U %E) but yet none which replaces anything in versions
with "%", which will make it interesting to create code for it.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141120193737.ga1...@client.brlink.eu



Re: RFC: DEP-14: Recommended layout for Git packaging repositories

2014-11-14 Thread Bernhard R. Link
* Raphael Hertzog  [141114 12:34]:
> On Thu, 13 Nov 2014, Bernhard R. Link wrote:
> > * Raphael Hertzog  [14 22:26]:
> > > Helper tools should usually rely on the output of `dpkg-vendor --query 
> > > vendor`
> > > to find out the name of the current vendor. The retrieved string must be
> > > converted to lower case. This allows users to override the current vendor
> > > by setting `DEB_VENDOR` in their environment (provided that the vendor
> > > information does exist in `/etc/dpkg/origins/`).
> >
> > Is using the vendor you use git on a good default for the vendor code
> > you are currently working on? In my experience those two are quite
> > unrelated.
>
> Do you have a better default to suggest? In any case, having a default
> value is certainly better than not having one and forcing everybody to
> configure it in some ways.

I'm not so sure about that. Having a broken default can be more annoying
than not having a default at all.

> I try to work in Kali chroots when I do Kali work. It's true that
> it's not always the case but if there were real differences right now I
> would pay more attention or would ensure to have the proper environment.

Well, for test-building stuff and things like that going to the proper
environment is nice, but why having the need to have gitk and new enough
versions of your helper tools around everywhere?

> > > Version mangling
> > > 
> > > 
> > > When a Git tag needs to refer to a specific version of a Debian package,
> > > the Debian version needs to be mangled to cope with Git's restrictions.
> > > The colon (`:`) needs to be replaced with a percent (`%`), and the tilde
> > > (`~`) needs to be replaced with an underscore (`_`).
> > 
> > Is there a previous case of encoding colons with percent signs?
> 
> This is the current convention used by git-buildpackage and I believe the
> "%" has been picked because it's visually close to ":" (i.e. two dots/two
> circles).
>
> > If it is inventing a third way instead of using on of the existing ones,
> > is sounds like a bad idea.
> 
> Do you suggest to use URL encoding? That's rather heavyweight for two
> special cases that can be easily mapped to other characters that are not
> used in version strings. And it would convert characters that do not
> need any special escaping currently.

No, I was refering to the many ways to encode. I was yet aware of
encoding 2:1-3~4 as
debian2-1-3_4
debian-2_1-3_4
debian-2.1-3.4

I guess using single letters as format identifiers in git-dpm's tag
specification was a bit optimistic...

> > Tags are only based on versions are also quite hard to shuffle around.
> > I'd strongly suggest adding the name of the source package to those,
> > otherwise accessing multiple packages in on repository causes a big
> > mess. (git keeps branches in the per-origin "remote" namespace when
> > fetching stuff, tags only have one global namespace, local and remote).
>
> I don't think this makes sense. The common case is a single software per
> git repository. If you have multiple software, then the git way is
> to use git submodules. If you have an upstream that doesn't follow those
> conventions, then it's a good reason to not follow DEP-14 for the tagging
> of your Debian releases.

While having a repository hosting multiple projects permanently makes in
many cases not that many sense (though I sometimes prefer it for some
small stuff, as it allows to make/update a mobile backup with a single
git command), cherry picking commits from other repositories in git
to my knowledge requires fetching at least part of that history in your
current working repository. When fetching too much by mistake the global
nature of tags can make quite a mess.

> > > Native packages
> > > ===
> > > 
> > > The above conventions mainly cater to the case of non-native packages,
> > > that is when the upstream developers and the package maintainers are
> > > not the same set of persons.
> > > 
> > > When upstream is Debian (or one of its derivative), the upstream vendor
> > > should not use the usual `/` prefix (but all others vendors should
> > > do so). The main development branch can be named `master` instead of
> > > the codename of the target distribution (although you are free to still
> > > use the codename if you wish so).
> > 
> > Does native here mean a native package or a package developed primarily
> > for Debian (which can also use a non-native packaging)? This paragraph
> > seems to mix those two concep

Re: RFC: DEP-14: Recommended layout for Git packaging repositories

2014-11-13 Thread Bernhard R. Link
es
> ===
> 
> The above conventions mainly cater to the case of non-native packages,
> that is when the upstream developers and the package maintainers are
> not the same set of persons.
> 
> When upstream is Debian (or one of its derivative), the upstream vendor
> should not use the usual `/` prefix (but all others vendors should
> do so). The main development branch can be named `master` instead of
> the codename of the target distribution (although you are free to still
> use the codename if you wish so).

Does native here mean a native package or a package developed primarily
for Debian (which can also use a non-native packaging)? This paragraph
seems to mix those two concepts quite a bit.

> Patch queue tags
> 
>
> A patch queue branch is a (temporary) branch used to define the set
> of upstream changes that the package will contain, its content is
> generally used to later update `debian/patches` in the resulting
> source package.

s/(temporary)/(possibly temporary)/ ?

> What to store in the Git repository
> ---
>
> It is recommended that the packaging branches contain both the upstream
> sources and the Debian packaging. Users who have cloned the repository
> should be able to run `dpkg-buildpackage -b -us -uc` without doing
> anything else (assuming they have the required build dependencies).

++
(except that one of course needs to get the .orig.tar.gz using
pristine-tar or uscan for a non-native package needs to be an exception
from "anything else")


> Managing debian/changelog
> -
>
> This DEP makes no specific recommendation on how to manage the Debian
> changelog. Some maintainers like to use tools like `gbp dch` to generate
> the changelog based on Git commit notices, others edit the file manually
> and use tools like `debcommit` to reuse the changelog entry in the
> Git commit.
>
> Helper tools should however configure the Git repository so that merges
> of the `debian/changelog` file are handled by `dpkg-mergechangelogs` as
> this will make it much easier to merge between different packaging
> branches.

Ugh. Please do not encourage tools to pester with my git config.
(Perhaps this want meant as something to do when automatically creating
a repository for you?)

Bernhard R. Link

P.S: I think the timing for this proposal it not that good. I'd rather
waste my time looking for some RC bugs to fix as long as there might
still be some easy ones left so shortly after the freeze.

-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141113192257.ga2...@client.brlink.eu



Re: dgit and git-dpm

2014-11-03 Thread Bernhard R. Link
* Ian Jackson  [141103 19:13]:
> The point is that the dgit user probably will have done git diff
> before dgit build / push.  git diff provides a more convenient diffing
> tool than debdiff, and eyeballing the same thing twice is makework.

git diff is a nice tool. But it has it limits. Try detecting the adding
or removel of an empty file with git diff for example.

    Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141103213245.ga4...@client.brlink.eu



Re: dgit and git-dpm

2014-11-02 Thread Bernhard R. Link
* Ian Jackson  [141030 13:42]:
> Thorsten Glaser writes ("Re: dgit and git-dpm"):
> > – I’d prefer users of even dgit, no matter how good it may be, to
> > not rely on that.
>
> Again, why ?

To do an NMU, one has to generate a debdiff anyway to post it to the
bug report (as the rules for NMUs mandate).

And the debdiff is the real difference so the real changes done, so
worth looking at.

How is being quite sure what would be in there with dgit that much
different as with other NMUs? Where is the difference to
"I just applied those two patches from the BTS and changed
debian/rules the way described in debian/changelog.
Why should I look at the debdiff? I know I changed nothing else."?

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141103061735.ga1...@client.brlink.eu



Re: Bug#752450: ftp.debian.org: please consider to strongly tighten the validity period of Release files

2014-10-31 Thread Bernhard R. Link
* Christoph Anton Mitterer  [141030 05:10]:
> To be honest, it's really awkward to see how much all this is apparently
> fought against.

You have been told again and again that what you suggest would make the
whole thing less useable to the point that it reduces security for many
people.

You have been told that your thread model is quite strange, in that
you assume that people will
- not only notice every MITM with too old a signature even though
  you suggest to change the system so that this will cause far more
  false positives,
- but will also investigate every short network or mirror problem so
  that the far easier MITM of making the security mirrors inaccessible
  (which your suggested 'improvement' does nothing against) is not
  possible,
- but are not able to notice if there are no security updates applied.

What do you expect? That people on the list think it is a good idea to
do what in their eyes only lowers Debian's security just because someone
continues to claim the opposite?

Please take a step back and try to understand why people think this
will not help (It is not because they do not believe in evil
resourceful governments). This should make it easier to either have
arguments that persuage people or even better lead to solutions that
improve the situation more generally (I'm quite sure the are aspects
that can be improved, just that lowering Valid-Until times is
detrimental).

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20141031114804.gb1...@client.brlink.eu



Re: Bug#754513: ITP: libressl -- SSL library, forked from OpenSSL

2014-07-13 Thread Bernhard R. Link
* Mike Hommey  [140713 12:55]:
> > … while IMHO it's possible to safely mix openssl and libressl if we prepare
> > for that (i.e. make sure that _everything_ in libressl is only exported 
> > with properly versioned symbols)
> 
> Contrary to what you seem to believe, this only really works if *both*
> libraries have versioned symbols. Otherwise, you can end up with
> libraries linked against the unversioned one using symbols from the
> versioned one at run time when both are loaded in the same address
> space.

Actually, "both having versioned symbols" is not enough.
It is either "both must always have had versioned symbols" or
"both must have versioned symbols now and every binary linked against
either must have been built (or rebuilt) after the symbols got
versioned".

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/2014071333.ga6...@client.brlink.eu



Re: Why not 03 ?

2014-06-01 Thread Bernhard R. Link
* Julian Taylor  [140601 14:29]:
> I would not go into detail about O2 or O3 in the policy.
> The meaning of these flags is very compiler specific. E.g. clang will
> enable vectorization already at O2 and adds almost no extra passes with O3.
>
> I think it would be better to simply state:
> If the upstream optimization options differ from the ones of the default
> debian toolchain it is recommended to override the debian defaults to
> match the ones upstream uses during packaging.
> Upstream usually has choosen particular options for a reason, they know
> their software best.

I think one of the examples here was scientific software. Assuming
"upstream knows what they do" is very unlikely to be true there.

I'd rather argue for a "unless you know what you do, use -O2", which
is almost the current state. (I'd rather argue that currentl too much
software uses something different to -O2 for no good and too often bad
reasons).

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140601124250.gb2...@client.brlink.eu



Re: dpkg-dev: please reject native/non-native version when building native/non-native source packages

2014-02-05 Thread Bernhard R. Link
* Charles Plessy  [140205 14:18]:
> Who benefited directly from the change of behavior ?  Nobody ?  Then please
> revert it; it was not necessary.

Most import are people starting to create Debian packages.
At least with 3.0 source packages they no longer have to care about the
different meanings of native vs non-native. A package either is native,
then both the version and the package reflect this, or they are
non-native. No more chances to only switch one of the fields but not the
other by mistake.

It also helps users, as it makes it easier to guess what things look
like, from only looking at the version.

Finally it makes it easier for writers of tools to deal with Debian
packages, as there are some absurd corner cases fewer. (The most absurd
one is a 3.0(quilt) with a package without hyphen. The resulting
filenames are simply ...).

> Alternatively, please rename the "3.0 (native)" format to "3.0 (tarball)" or
> anything elese, and we are done.

And brake almost everything? That suggestion is almost equivalent to
just forbidding 3.0 (native) packages completely for the next decade.

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20140205172131.gb1...@client.brlink.eu



Re: Bug#737634: dpkg-dev: please reject native/non-native version when building native/non-native source packages

2014-02-05 Thread Bernhard R. Link
* Sam Hartman  [140205 13:27]:
> no, that means I have to maintain the artifact (namely the
> .orig.tar.gz).
> The archive software (both reprepro and dak were I to use that) require
> that the .orig.tar.gz not change checksums.
> 
> I don't want my build machines to be able to push back to my master
> repository.
> Nor do I want to have to release upstream versions if I lose state on my
> build machines.
> So this violates my requirements because I have to maintain  an artifact
> of dpkg-source (the .orig.tar.gz) and makesure its checksum never
> changes.

This answers the question why you want to use a 3.0 (native) package.
But the real question here is: Why do you want to use a version with "-"
for such a package?

Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20140205171418.ga1...@client.brlink.eu



Re: GnuTLS in Debian

2013-12-28 Thread Bernhard R. Link
* Thomas Goirand  [131228 08:30]:
> don't think it does anymore, especially seeing that almost no upstream
> author cares about Debian's nit-picking on this particular issue. We're
> just beating ourselves for no valid reason.

Almost no upstream author cares about licensing at all. The mayority of
them has no problems giving self-contradictionary terms. Distributing
stuff with no license at all. Or simply copying other people's code
without looking at the license or even without including any license
statement or even copyright notice.

Debian is no corporation that can just willy-nilly copy stuff around
without caring for the law and hoping noone will find out or just
pay the authors off if they find out. And our users are not really
helped if the software they depended on suddenly is no longer available
because noone cared for the license before.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131228100904.gb12...@client.brlink.eu



Re: GnuTLS in Debian

2013-12-28 Thread Bernhard R. Link
* Russ Allbery  [131227 18:53]:
> "Bernhard R. Link"  writes:
> > * Russ Allbery  [131224 01:42]:
>
> >> On the contrary, it's Debian's insistence on following an idiosyncratic
> >> license interpretation that's creating the supposed unfairness.  This
> >> is obviously not Red Hat's fault.
>
> > Could you please stop using that word "idiosyncratic".
>
> I believe idiosyncratic is exactly the correct term:
>
>   idiosyncratic
>   adj 1: peculiar to the individual; "we all have our own
>  idiosyncratic gestures"; "Michelangelo's highly
>  idiosyncratic style of painting"
>
> and therefore decline to stop using it.

Given that the GPL FAQ and thus the authors of the license seem
to be of the same opinion, calling an interpretation you do not
like as "peculiar to the individual" is already quite derogative.
Using a term that sounds quite similar like idiotic for this
is something even a troll could not do better.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131228100308.ga12...@client.brlink.eu



Re: GnuTLS in Debian

2013-12-27 Thread Bernhard R. Link
* Russ Allbery  [131224 01:42]:
> On the contrary, it's Debian's insistence on following an idiosyncratic
> license interpretation that's creating the supposed unfairness.  This is
> obviously not Red Hat's fault.

Could you please stop using that word "idiosyncratic". How about
using "interpretations I do not like".

Thanks in advance,
Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131225125243.ga4...@client.brlink.eu



Re: think twice before enabling -D_FORTIFY_SOURCE=2 for C projects without thorough build-time testing

2013-09-21 Thread Bernhard R. Link
* Kees Cook  [130921 17:08]:
> In a theoretical sense, sure. In this particular case, why bother breaking
> it when it's a trivial 1 line fix? My original approach was to fix it in
> libc and do a mass bug filing. Everyone wins. If we want to reject the
> undefined behavior, we should modify the compiler to reject it. Seems to me
> it's a bug to even allow undefined behavior.

The whole point of undefined behaviour in C is that the compiler/implementor/...
does not have to care. Checking every time would make it slower,
requesting any specific behaviour would make it slower. (Some argue a
compiler might not even reject a program with only undefined behaviour,
but that the standard required some program as result, just making no
claim about what that program should do).
The compiler not warning against it is a shortcoming, but not a bug.
Writing a program that invokes undefined behaviour is a bug.

And even if the library was fixed, as long as the program has undefined
behaviour, every future gcc version is still free to give it any
behaviour it choses to.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130921190422.ga11...@client.brlink.eu



Re: new hashes (SHA512, SHA3) in apt metadata and .changes files?

2013-08-03 Thread Bernhard R. Link
* Paul Wise  [130802 15:54]:
> > In any case, removing md5 support seems like a bad idea to me right
> > now, as older software might not have been adapted to check the other
> > hashes, or would imply breaking the current .dsc and ,changes formats,
> > as the Files field uses md5.
> 
> We've had SHA1 since before snapshot.d.o data started (2005), I would
> guess any relevant software would have been updated in the last 8
> years.

In 2008 ubuntu had Sha256Sums wrong which showed that back then almost
not software even bothered to check those fields:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/243630

non-md5sum hashses in Sources generated by DAK were incomplete until
the generation code moved away from apt-ftparchive (early 2011 I think),
thus only the Files: part with md5sums was the only reliable way to get
the list of all files belonging to it.

Support for non-md5sum hashes was added to dpkg-scansources/apt-ftparchive
with apt (0.7.25.3) released to unstable 2010-02-01, first released with
squeeze.

So it is not some 8 years. It is more "since squeeze" that Debian and
some of the common tools even produce complete non-md5sum hashes in
Sources indices.

reprepro for example only tries to support source indices without
"Files" (i.e.  md5sum hashes) since 4.12.0 (i.e. since wheezy).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130803075234.ga3...@client.brlink.eu



Re: AGPLv3 Compliance and Debian Users

2013-07-13 Thread Bernhard R. Link
* Howard Chu  [130712 03:51]:
> Indeed. If you're a dissident fighting your own government, then
> complying with a license that can only be enforced by a government
> agency is probably the least of your worries.

Indeed. That's why every interpretation of the dissident test I've
heard assumes you are a dissident that had to flee his country.
If your new host country then has to forbid you earning money
with the software you know best because you had to violate the license
to not be caught back when you still were at home, then you are
caught in the extreme situation constructed to make it easier to
understand how ugly some harmless looking restriction can become.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130713234247.ga5...@client.brlink.eu



Re: Berkeley DB 6.0 license change to AGPLv3

2013-07-10 Thread Bernhard R. Link
* Stefano Zacchiroli  [130710 13:07]:
> On Sat, Jul 06, 2013 at 05:41:16PM +0200, Bernhard R. Link wrote:
> > No, there is a really important difference. With GPL you only have to be
> > careful when you give binaries to anyone, that you also give the source.
> > This is a bit of a hassle, but worst case means that you cannot help
> > others with the software changes you have done (bad enough but worth the
> > hassle to have the source) if you miss some of the sources. But if the
> > sources may contain any passwords or other internal data you cannot/do
> > not want to share, so will likely the binary so that is no difference.
>
> On this level, the analogy GPL/AGPL still seems correct to me.

For me GPL is like police patroling in the streets and AGPL is like
policy getting the right to visit my bedroom at evening to look under
the bed for monsters at their discretion.

> A software distributed under AGPL will likely come with mechanisms
> already in place to point to its source code --- that might not be the
> case today yet, due to the scarce popularity of AGPL, but that's a
> separate matter.  That means that you can easily run unmodified version
> of an AGPL'd program, for any purpose, without particular restrictions.

I hope will all agree that the unmodified case does not matter at all.

> If you modify the software you might get in trouble but, according to my
> personal ethics, that's the trouble you should have.

I accept that I am not allowed to modify some software. But I refuse to
call such software free.

> However, please
> note that as long as you run the software only for yourself, you don't
> have any problem.

This is not the 1990ties anymore. Not allowing net access is quite an
big contraint. Some better definitions might reduce the problem here.

But given the way section is formulated I see nothing that would
make an exception for something only used by me and everyone else
interacting with it only by getting a loging prompt and a failure
message when they do not provide my username and password.

> You might encounter problems only in the case you've
> modified the software, you want *others* to use it over the net, and you
> don't provide the source code that include your modifications.

So if I patch a IRC client for my personal use to also show me some
other information (as I do not want too many open windows) and that
client contains AGPL code, does that fall under section 13 (assuming
it supports CTCP)? Have I lost the right to patch my programs locally
in a quick and dirty way embedding hostnames and passwords and logic
to access some private services in it without implementing a fake-irc
server for that information or some general message passing mechanism?

Even if defining the undefined "interacting" to need more interaction,
let's look at some website provided by some of the "all-in-one" thing.
Assume it has some content mangement part, partly showing public
information, partly only accessible by me (or if "I" in this example
was a company by my employees). And also a blog with comments (as
I think it will hard to define "interacting" so narrowly that it
will not contain that). Now if I want the private part to show me
some information from some other source, I am again forced to have
split things 'cleanly' on my systems with AGPL.

> That shift is coherent with the shift in the most common deployment
> [...]

Not every solution can be shifted. If some fly does not allow me
to sleep by its noise, I will either kill it or open an window and
throw it out. But if I had a cat and that would be too loud, neighter
would be a solution (perhaps the second if I lived at ground
floor). And if you have a baby, ...

There can be no freedom without restricting them to actually have them
in the one way or the other. But for such a restriction to be justified,
it needs both to be effective in protecting another freedom and not
cause greater harm than it brings.

In every way I see that you could make the definitions, AGPL will fail
at the one or the other:

Assume a AGPL program being modified or a program using AGPL libraries
to be interacting only via answering HTTP Requests and returning all
it's source code when "/source.tar.gz" is requested and giving proper
notice of this and the license and so on.

Either the AGPL permits such a program (or any AGPL program transformed
into such a program) to be run bound to a private IP or localhost
and all user interaction via a reverse proxy or loadbalancer that
returns 403 for "/source.tar.gz" or it forbids it.

In the first case the added restrictions are totally useless, especially
against the big "software as a service" players that it claims to
target, as those will likely have some loadbalancer doing some filtering
anyway.

I

Re: Berkeley DB 6.0 license change to AGPLv3

2013-07-06 Thread Bernhard R. Link
* Stefano Zacchiroli  [130704 09:24]:
> I mean, sure, it *is* more tricky to provide such a URL for users that
> will be running a *modified* version of INN. But it is exactly the same
> kind of difficulties that people distributing modified copylefted
> software will have to face to uphold GPL (or equivalent) terms.

No, there is a really important difference. With GPL you only have to be
careful when you give binaries to anyone, that you also give the source.
This is a bit of a hassle, but worst case means that you cannot help
others with the software changes you have done (bad enough but worth the
hassle to have the source) if you miss some of the sources. But if the
sources may contain any passwords or other internal data you cannot/do
not want to share, so will likely the binary so that is no difference.

With AGPL you are no longer allowed to run the software in this case.
I do not see how a software restricting running a software can still
be called free.

Low quality software modifications are not the best. It would be far
nicer if anyone just wrote nice general frameworks for their specific
needs and submitted them upstream. But limiting the users freedom to
be able to do and finance that is absurd. If you are no longer allowed
to make some quick and dirty modifications to make our software work
for you, then in the sum it is no more free at all.

> For people who
> are fine with the copyleft approach (and of course not all of us are)
> AGPL shouldn't be particularly shocking.

Sorry, once I am no longer allowed to run some software on my computer
because I modified it to my needs, then it simply is not free. People
still calling that free is shocking for me indeed.

> In that sense, AGPL is just a
> new release of GPL that closes a long outstanding bug titled "provide a
> license port for the Software-as-a-Service era".

And adding DRM to the browser is just closing a long outstanding bug
titled "please cripple my system enough so that content providers will
take my money"?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130706154116.ga3...@client.brlink.eu



Re: Berkeley DB 6.0 license change to AGPLv3

2013-07-02 Thread Bernhard R. Link
* Paul Tagliamonte  [130702 15:15]:
> Again, why do you plan on removing free software from main due to a
> change in license?

Licenses matter. Just because something it acceptable for Debian
main does not mean it is a good idea to have something licensed under
a specific license. So removing stuff if their license changes can
make sense in many situations.

And doubly so for AGPL. (I'll never understand why people consider it
free software, I'd not even allow the term freeware for it).

    Bernhard R. Link



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130702175730.ga3...@client.brlink.eu



Re: jessie release goal: verbose build logs

2013-06-14 Thread Bernhard R. Link
* Matthias Klose  [130614 13:36]:
> Verbose build logs allow to analyse package builds and give hints to more 
> issues
> regarding the build, especially for the hardening flags.  The lintian 
> hardening
> checks are incomplete, because they rely on the inspection of the generated
> binaries, which may be incomplete especially for many plugins or dynamically
> loadable extensions.

While I agree that a build log without compiler arguments is essentially
worthless, could we please not call something that is not too silent
"verbose"? Verbose is something that uses more words as necessary, while
compiler options are neccessary, without them users of the software
cannot get help in forums or channels when they have problems compiling
the software and with build logs porters can often hardly help if the
old buildd log contains no information.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130614223601.gb3...@client.brlink.eu



Re: default MTA

2013-06-11 Thread Bernhard R. Link
* Jonathan Dowland  [130611 18:35]:
> On Fri, Jun 07, 2013 at 12:45:07PM +0200, Marc Haber wrote:
> > Sendmail has just one more layer of indirection by virtue of the m4
> > macros. Postfix has most of its behavior hard coded in the C sources,
> > while exim's behavior can be controlled by run-time configuration if
> > an advanced user wants to do things that Debian's abstraction layer
> > was not designed to handle.
> 
> There are a class of users between beginner and exim expert for which the
> current state of affairs is not optimal. I don't know how big that class
> is but I've been in it for ten years.

The only class of users I can imagine the current situation not optional
is someone being used to postfix[1]. When I remember learning exim I found
it quite nice that the config is quite self-explaining what it is
actually doing. With postfix the config is just black magic, where one
has hardly any chance to understand what it does and how to change it to
do what you want to change.

[1] And those can simply install postfix and be done with it.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130611210523.gb3...@client.brlink.eu



Re: default MTA

2013-06-06 Thread Bernhard R. Link
* Chris Knadle  [130606 14:53]:
> I'm glad you asked this, because it prompted me to investigate further.  This 
> was something I was told was commonly done, but it looks now like it might be 
> a misnomer.  I'm not able to find a concrete example of a system that allows 
> SMTP MTA transfers but doesn't allow telnet to the SMTP port.  [The instances 
> that seemed to fit the symptoms look like they have more "normal" root 
> causes, 
> such as ISP port 25 filtering.]
> 
> Because I had repeatedly been told that telnet to the MTA was a security 
> problem, prior to now I had suspected that blocking telnet to SMTP might be 
> possible via firewall filtering that distinguished the "type of service" 
> somehow, but after doing some packet sniffing and examining the resulting 
> packet internals I'm starting to doubt this is possible.

Actually, it is possible to block telnet (and I've seen some ISPs do it).

In unrelated news, using telnet is a bad idea. If you want to connect to some
port and see what you get, use netcat.
Telnet is not a tool to show things coming from a port but a tool to
speak the telnet protocol.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130606171839.ga3...@client.brlink.eu



Re: [clang] Report bugs on packages failing to build with clang

2013-06-05 Thread Bernhard R. Link
* Colin Watson  [130604 15:47]:
> On Wed, May 29, 2013 at 10:08:59PM +0200, Michael Tautschnig wrote:
> > I think this will likely improve code quality, hence I'm much in
> > favour of this, in particular when it comes to outright bugs. But a
> > non-negligible fraction of the build failures, I believe, are due to
> > the use of nested functions. This could well be considered design
> > decisions when used intentionally (unlike, e.g., [684508], where I
> > have already filed a bug). I'm not sure whether upstream will be very
> > keen on such bug reports?
>
> clang.debian.net lists 39 instances of these, though I think the buildd
> is a bit behind so there are probably a few more.

At least one more of the 432 "Not categorized" is also due to this
missing feature in clang (reprepro). As clang seems to gives quite
misleading error messages in this case, I'd not be surprised if there
are some more.

>   https://lists.gnu.org/archive/html/grub-devel/2013-01/msg0.html

Those arguments seem to be mostly related to tampolines, which is mostly
an argument against having pointers to nested functions.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130605194043.ga3...@client.brlink.eu



Re: default MTA

2013-05-30 Thread Bernhard R. Link
* Marc Haber   [130530 12:39]:
> While I don't consider postfix as bad as you describe, I tend to
> describe Postfix as the menu in a better restaurant: A relatively
> small number of sophisticated dishes which you can choose from, and
> if you like them, you will be perfectly satisfied. If you want fries
> instead of plain potatoes, you're basically hosed.

It's not that bad. Even the postfix kitchen can make fries. The tricky
part is having one person served potatoes while the other person asks
for fries, because the person putting those on the dish is not allowed
to look at the order so they cannot determine from the drink whom they
are making the food for. You need to employ two of them, one doing
potatoes and the other one fries, but the waiter is not allowed to
chose which kitchen the order is sent to, so you have to tell the waitor
to write the order in a language the kitchen clerk cannot read, so the
kitchen clerk will pass it to the person responsible for reading
obliterated orders and this person you can tell it either give the order
to the kitchen doing potatoes or the kitchen doing fries depending on
what is wanted.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130530135531.ga4...@client.brlink.eu



Re: default MTA

2013-05-30 Thread Bernhard R. Link
* Chris Knadle  [130529 08:29]:
>   - Exim configuration is more human readable than Postifx's, IMHO.
> 
> Postfix configuration is concise but terse, and there are typically
> blocks of options separated by commas that doesn't easily allow
> commenting on specific config options.

Configurability is an important point. Having had to use postfix lately
I'm quite suprised anyone voluntarily uses that thing. Postfix feels
like some ad-hoc configuration gone absurd, by only making special use
cases configuable and then misusing those options for other things.
Together with this splitting in many little programs which all lack most
of the information, configuring postfix is a large puzzle and any
advanced postfix configuration (even from the official documentation)
looks like McGyver was out of duct-tape but had to build a nuclear reactor
from kitchen parts with only the transparent tape for office use.

The only positive thing you can say about Postfix' configuration is that
it might be better than sendmail's.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130530091105.ga3...@client.brlink.eu



Re: parsable copyright format 1.0 (jessie release goals)

2013-05-14 Thread Bernhard R. Link
* Sune Vuorela  [130512 12:43]:
> It is too much work for far too little gain. What *is* the gain?
> What is the gain of copyright files?

One big gain of a copyright file is the act of doing it.

For software to be distributable every copyright owner has to have
given his permission. To know that you have all those permissions,
you first need to know who those people actually are.
It also documents our reasonable exercises to reach our believe
that this is distributable.
I'd guess in some legislations such efford can make the difference
between "just distribute it no more" and "pay for every copy that
was made".

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130514212524.ga3...@client.brlink.eu



Re: Merging / and /usr (was: jessie release goals)

2013-05-09 Thread Bernhard R. Link
* Roger Leigh  [130509 13:34]:
> The assumptions here are that a separate rootfs decreases the chance
> of breakage, and that you'll need the rootfs to perform the rescue.

No, the point is that having two file systems reduces the amout of
breakage you get.

All the important stuff is in / while /usr is mostly static data
easily (at least outside /usr/local, and even there more likely
than say /etc) recoverable or not that important if lost.

Also with the tools in / you can usually repair problems in /usr.
There is just the right kernel and just the right versions of all
tools. You can do most of the stuff with some rescue-disc, if
the versions fits. But too often there are differences. And getting
some other tool it misses means you need to either install it in
an ramfs and hope you do not need to reboot or you need to have
some spare partition on the hw left. And you do not have access to
your fstab. While each of those problems is managable alone, they
sum up. Each adds to the time you need. And time is often something
you do not really want to spend in case you have a problem.

And while there is no proof that when having one small and one large
partition, the small partition is less likely to fail than everything
in one large partition together, both reason and experience demand
that this point is quite more than an "assumption".

> Regarding rescue, the initramfs has a rescue shell which I've found
> to be just as useful as single user mode.  Once it has mounted the
> rootfs, you can chroot into that and do whatever you would normally
> do to rescue /usr. [Assuming a separate /usr.]  If it doesn't get as
> far as mounting the rootfs, then you'll need some rescue disc in any
> case.  I find the busybox shell to be just as effective as a rescue
> disc in most cases.

"rescue /usr" in a seperate / + /usr setting usually means making sure
it can be mounted again. (Or to transfer data elsewhere, which is also
much easier when your normal network setup is already available).

> In the case where we're mounting /usr in the initramfs rather than
> having it on the rootfs, there's no practical difference to the
> current status quo (and this is intentional).  The only change is
> that we provide the guarantee that /usr is available before init
> starts.

Or in other words: to make essential functionality not available if
/usr is broken.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130509150537.gb4...@client.brlink.eu



Re: Merging / and /usr (was: jessie release goals)

2013-05-09 Thread Bernhard R. Link
* Marco d'Itri  [130509 16:03]:
> So, please let me know if you have some technical objections better 
> than "it's an hack".

Having a seperate / means you have an instant rescue image that has
just the right kernel and tools you need to repair the rest of your
system. You also have one small filesystem with all the important
stuff like /etc in it while the boring large distro stuff is in
another partition. You also have a partition border between
most of the random stuff and the important stuff.

All those are real advantages that people care about. A simple
"I do it differently" or "I do not care" from your side is hardly
anything someone can counter with technical arguments, so you will
not see many.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130509143822.ga4...@client.brlink.eu



Re: jessie release goals

2013-05-07 Thread Bernhard R. Link
* Wookey  [130507 23:31]:
> The tradeoff is:
> 1) (Move _all_ headers to /usr/include/triplet)
>  * Much duplication of installed headers
>  * Only one system include dir, which fits current build-system
>  expectations

Which would also punish the libraries getting headers correct while
making the low-quality (or obsolete) stuff the norm. Since C99
there is hardly any reason left to have headers differing with the
architectures.

        Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130507230831.ga5...@client.brlink.eu



Re: 2013 sometimes still feels like 2003 or 1993 (Re: NEW processing during freezes

2013-05-03 Thread Bernhard R. Link
* Russ Allbery  [130504 00:32]:
> The way to ensure that builds in non-clean environments work properly is
> to devise a method for testing them, and to do those tests on a regular
> basis and turn test failures into bugs.

Noone is speaking about non-clean environments, but only about
non-minimal, non-artifical ones.

> Trying to get at this testing indirectly by putting conditions on initial
> archive uploads doesn't really accomplish the goal.  It's a very random
> and scattershot way of testing that already doesn't work for any of us who
> use pbuilder and cowbuilder already.

That's why I think maintainers should not only build in pbuilders and
cowbuilders, but give their packages some actual testing.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130503230506.ga18...@client.brlink.eu



Re: git as a source package format?

2013-05-03 Thread Bernhard R. Link
* Daniel Pocock  [130501 21:28]:
> Would there be any hard objection to a source package format based on
> git-bundle?

I think a git based source package has quite some problems.

- failing to properly make changes visible

  While you can express every history-graph in git, that is not an
  advantage. Changes relative to upstream sources found in a Debian
  source package should not only be present by recording history,
  but as many people as possible should be able to see what is
  actually changed in the package, and to reuse those changes elsewhere
  (either as upstream or sidestream).

  Debian is not like the BSDs[1] that just import some source into their
  CVS, make modifications at will, sometimes merge a new upstream
  version and some years later the only way to see what they changes is
  doing a full diff and hope you can isolate some of the changes.
  We do not fork but want the changes we need either upstream or also
  useable by other. Other distributions and users not using Debian are
  not our enemies, but partners towards a general advance of free software.

  While you can use git to keep changes in a way to make them reviewable
  and ready to transmit them elsewhere (git rebase -i is great), if you
  have that information ready then generating a "3.0 (quilt)" package is
  trivial, and having changes expressed the same way in different
  packages makes it easier for everyone to find the information.
  (At least any other format should come with a way to support being show
   at patch-tracker.debian.org).

[1] They might have changed. It has been a long time since I looked.

- hiding stuff in obscure formats

  While a git-bundle is a format that is not that complicated to use
  once you are used to it, even the average git user will rarely know
  how to handle it manually. That means people not having the Debian
  tools available can hardly do anything with them on their own.

  Additionally needing to have some special VCS installed to look at
  a specific program can be a huge burden. While git got quite a decent
  pervasiveness now, not everyone has it and with the next hype it might
  equally fast being gone again.

  At least using such a git format should be absolutely forbidden if
  upstream uses any other free VCS. (I've seen packages in Debian that
  used one VCS, having upstream some inter-distribution working group
  that used anyother VCS that finaly was based on some big comercial
  player that published the free version on yet another VCS. That's
  annoying.)

> In other words, dpkg-source would extract all repository history (or all
> of the branch used to build the package) using the git-bundle command.
> The bundle file would then be uploaded to the FTP server instead of a
> traditional source tarball.
>
> A slight variation of this idea is that the repository would be cloned
> into a temporary bare repo, and that bare repo would be tarred up and
> the tarball would become the source upload.

- legal problems

  if you have all the history it is practically unreviewable for
  undistributeable stuff, and if that stuff is old enough, it is usually
  quite hard to get it out of the history. (There is filter-branch, but
  one does not take such an approach lightly).

  This is not a big problem for having those at alioth or other
  sides (You'll have to ask a lawyer, but I'd guess the ill effects
  are either limited to Debian losing all their money or only the
  team/uploader it is in. And likely alioth admins can just remove
  the git repository there in case something is found or someone sues
  and thereby reduce any penalties perhaps even till none are left.

  But the source packages are found on DVDs and mirrors all over the
  world. Many people help us distributing Debian. We owe them to do
  out best to keep them out of legal trouble for doing so.

  And source is what people need to actually make use of many of
  the software (especially GPL). People providing stuff based on
  Debian (be it pre-installed computers, appliances based on Debian,
  distributions based on Debian, ...) need to have the source ready
  to do so. If they use Debian binary packages, just keeping the
  Debian source package is the obvious way. Unless we switch to a
  source format where those can no longer be legally distributed.

> Then again, some of that behavior could be achieved by creating an
> `apt-get vcs-clone' function to read the Vcs control fields and make a
> clone for a traditional source package's repo.

sudo apt-get install devscripts
debcheckout source-package-name

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130503165022.ga3...@client.brlink.eu



Re: 2013 sometimes still feels like 2003 or 1993 (Re: NEW processing during freezes

2013-05-03 Thread Bernhard R. Link
* Holger Levsen  [130502 12:28]:
> > People do this all the time: upload packages built against local packages,
> > experimental or even on Ubuntu to Debian sid.
> 
> /me shivers. This hurts. There is no reason not to rebuild in sane 
> environments. Can we please fix this for the next release?!

I'm not sure the cure is not worse than the problem.

Apart from the big problem of making it even easier for people to
upload trash without testing it (both wasting buildd resources and
lettings users install broken packages which any trivial testing would
have catched, from which I've seen far too many), reducing the
buildability of packages is a cruical problem for freedom.

If we step towards rebuilding everything in a highly artifical
environment, it should be made clear that a package having missing
build-conflicts or any other bug preventing it from being built on
a real system should still be important bugs afterwards.

Once we drop that and only give people the right to modify the
software we distribute but no longer the possiblity to do so
on their own, the "Free" we are so proud on gets mood.

Also build systems tend to degrade quite heavily over time and
get more and more specific. In some years we might not be able
to switch to some other builder tools as too many packages depend
on the specifics of the ones we currently have.


Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130503171134.gb3...@client.brlink.eu



Bug#706160: general: it should be easier for ordinary developers to work with Debian packages

2013-04-25 Thread Bernhard R. Link
* Ben Longbons  [130425 18:27]:
> The problems with the way Debian does it are:
>   - debian/ is a subdirectory of the extracted source tree.

Why do you think that is a problem?

>   - Because of the above, debian/rules tries to know about backwards steps.

What are "backwards steps"?

>   - There are too many arcane commands that have to be called.

./debian/rules build
fakeroot ./debian/rules binary

Everything else is mostly convenience wrappers.

>   - It's not obvious how to modify the patch set directly.

modify upstream files, call dpkg-source --commit

>   - There is no attempt at managing multiple source versions.

First you say things are too complicated, then you complain about
some obscure missing option I never found any use case for.

> How Simple Tasks are approached:
>   Given a program that is not packaged for Debian and is not
>   sufficiently useful to the general public to be worth the maintenance
>   burden, install it such that the package manager knows about it.
> Debian:
>   - checkinstall is buggy, quirky, and has no upgrade path.
>   - I still haven't figured out how to do this easily. Based on the
> 'hello' package, which is the simplest possible package, this
> requires writing a hundred lines of voodoo. A random sampling of
> existing package I've looked at agrees with this as a lower bound.

You can't have easy and high-quality at the same time. Most of the tools
used for official Debian package have the minimal complexity needed for
some quality. Apart from having someone write tools to simply create
private packages there is not much that can be done here.
(and from what you describe for Gentoo, I do not really see how a
dh_make ; vim debian/* ; dpkg-buildpackage is more complicated than the
Gentoo case).


>   Given a completed set of package information for such a package,
>   distribute it in a way that is easy for others to install.
> Debian:
>   - Still haven't figured out the right way.

There are many ways, because needs are different.

>   - I did find the 'dget' command that does some things. How was I
> supposed to know about this obscure command for a common use case?

dget is simply a convenience wrapper. Just have three files to download
for a source package. Anyone can click at three links easily.

>   - You probably have to ship the whole huge .orig.tar.gz file, even
> though it's available on the internet under a different name, or
> even if it's really a git snapshot.

Sorry, but this is bullshit. If you want to make it easy for users, put
the .orig.tar.gz there. References too external resources will always go
stale and are and endless source of user frustration.

>   Given a program with a buggy upstream release, apply a patch.
> Debian:
>   - After trying to make local changes, it said: dpkg-source --commit
>   - But it is tedious when you already have a full patch from upstream.

patch -i patchfile ; dpkg-source --commit

I thought it was about users knowing the basic command line utilities?

>   Given a program with buggy Debian packaging, revert a patch.
> Debian:
>   - no clue, it keeps trying to readd the changes and it's not obvious
> how to wipe the working tree.

The very easy way: just revert the change and add another dpkg-source --commit
The direct way: revert the change, remove the line from debian/patches/series
The complicated way: use quilt or some other high-level tool.

>Gentoo:
>  - Assume that you're competent enough to get ahold of a patch.
>  - Add the patch to files/ (which is shared between all versions of
>the package, though you can of course use a different name).
>  - Add the filename to the PATCHES=() variable, remanifest.
>
> Gentoo:
>   - Remove the filename from the PATCHES=() variable, remanifest.

Yeah, because every patch can simply be removed without any effects on
the other patches, you can just apply any patches you need to the
version you need. And if it doesn't you can just apply manually, fix it
and produce a new clean patch. NOT, seriously.

That you can just do stuff in your working directory, build and fix
again iteratively in your working directory and finally have some
working package is in my eyes one of the biggest strengths of Debian's
package format w.r.t. low entrance and making it easy for unexperienced
people to use Debian to meed their needs.

> Gentoo:
>   - cp foo-1.ebuild foo-2.ebuild; ebuild foo-2.ebuild manifest
>   - Typically, the source URL will automatically change based on the
> version number. If this is not the case, it is very obvious to fix.

your gentoo solution is the equivalent of copying the debian/ directory
around.

> In conclusion:
>   The current Debian way is complicated. The Gentoo way is simple. This is
>   not tied to the fact that Gentoo is a source-based distribution, although
>   that does enc

Re: Go (golang) packaging, part 2

2013-02-01 Thread Bernhard R. Link
* Russ Allbery  [130201 21:38]:
> > If you want bleeding edge, then you are not a normal user and you
> > certainly aren't a system administrator that wants to keep a controlled
> > system they can reproduce.
>
> Speak for yourself.  I've been a system administrator for twenty years,
> and sometimes I have to deploy bleeding-edge code in order to accomplish a
> particular task.  You can do that in ways that also give you a
> reproducible system.
>
> Using Debian packages is a *means*, not an *end*.  Sometimes in these
> discussions I think people lose sight of the fact that, at the end of the
> day, the goal is not to construct an elegantly consistent system composed
> of theoretically pure components.  That's a *preference*, but there's
> something that system is supposed to be *doing*, and we will do what we
> need to do in order to make the system functional.
>
> Different solutions have different tradeoffs.  Obviously, I think Debian
> packages are in a particularly sweet spot among those tradeoffs or I
> wouldn't invest this much time in Debian, but they aren't perfect.  There
> are still tradeoffs.  (For example, Debian packages are often useless for
> research computing environments where it is absolutely mandatory that
> multiple versions of any given piece of software be co-installable and
> user-choosable.)

Of course there are trade-offs. For every rule, as sensible it might be,
 there can be a need great enough to ignore it. Using software not
properly packaged is not so different from modifying files in /usr/lib
from the distribution, compiling passwords or other hardcoded stuff
directly into programs, using binaries you have no source of or even
using those and patching the binary or many many other things you can do
and sometimes you have to do.

That there are no guidelines that are absolute and that may not be
better ignored in some cases does not change that in general they
show a useful path that leaving without a good reason is no good idea.

And a "only use distro packaged software" is a very useful guideline.
There are so many advantages in this that "you cannot get this with
distro packages" is a very good argument against anything you cannot
get this way. There will always be a case where there can be a more
important argument pushing the scales in the other direction, but at
the end of the day, the normal system administrator wants one package
management tool for all their software (or at least as few as possible)
and as few copies/different versions of common code (aka libraries,
modules, ...) around as possible. And most of the features for
developers are just additional nightmares for the administrator.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130201223958.gb3...@client.brlink.eu



Re: Packages with incomplete .md5sum files

2013-01-15 Thread Bernhard R. Link
* Andreas Beckmann  [130115 11:20]:
> On 2013-01-15 10:29, Julien Cristau wrote:
> > There's no requirement for md5sums files in the first place AFAIK.  How
> > are incomplete md5sums worse than no md5sums?  If anything this stuff
> > should be minor IMO.
>
> If a package is shipping no .md5sum at all, it will be created by dpkg
> at installation time.
>
> A partial .md5sum however will not be "completed". This hides some
> shipped files from debsums, defeating its purpose.

That depends what the purpose is supposed to be. Having debsums by
default create fake .md5sum files for packages not shipping them
defeats the purpose md5sums is most useful for: to check that the
files in your filesystem are correct and where not corrupted by
faulty hardware. (As in my experience almost all of those problems
happen when writing to the disk (by faulty memory, faulty busses,
overheated mainboards or CPUs) and not to content on the disc itself).
So while incomplete .md5sums are definitely not nice and worse then
complete files, I do not see how that could be worse than not having
any .md5sum files.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130115215008.ga3...@client.brlink.eu



Re: [RFC] Go (golang) packaging

2013-01-02 Thread Bernhard R. Link
* Michael Stapelberg  [130102 09:13]:
> Given that we already have python-* and ruby-*, I’d find golang-* more
> consistent.

We also have lib*-perl.
Ruby seems to have changed recently from lib*-ruby to ruby-*. (Does
anyone know of the reason that changed? For I only remember all the
reasons for the old naming scheme and see no reasons in favor of the new)

> Which specific tools/places do you have in mind that have to
> truncate package names?

Most GUIs will truncate depending on the size of the window.

> >> (and of course just “codesearch” for the binaries).
> >
> > I assume s/binaries/sources/? And I'd suggest to just not policy the
> No, I really meant binaries, as in “cgrep”, “cindex” and “csearch” in
> this specific case.

And what is the name of the binary package those programs will be in?

> > Another question: Have you considered asking for a archive Section for
> > those packages? I guess with no special section yet all those packages
> > would be section libdevel as they are for static linking only, wouldn't
> > they?
> As pabs has pointed out, I did that, but the general rule of thumb is
> that we want to have lots of packages first and an archive section
> second.
Too avoid packaging mistakes and to have the wording ready I'd suggest
to already prepare the wording (I guess in the section later will be
everything that is is now in libdevel plus golong toolchain packages,
while everything providing programs to be in their respective section).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130102090022.ga5...@client.brlink.eu



Re: [RFC] Go (golang) packaging

2013-01-01 Thread Bernhard R. Link
* Michael Stapelberg  [130101 14:45]:
> Furthermore, the package names should be e.g. “golang-codesearch” for
> the library code.google.com/p/codesearch

Please also consider "codesearch-golang". Especially with longer package
names not everything can show the full name so the beginning should be
the more important information.

> (and of course just “codesearch” for the binaries).

I assume s/binaries/sources/? And I'd suggest to just not policy the
source package names at all (as there really is no "one rule who fits
them all" and there is no reason to have a rule there at all).

Another question: Have you considered asking for a archive Section for
those packages? I guess with no special section yet all those packages
would be section libdevel as they are for static linking only, wouldn't
they?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130102071555.ga3...@client.brlink.eu



Re: unsafe use of gpg

2012-12-14 Thread Bernhard R. Link
* Ansgar Burchardt  [121214 16:18]:
> 2, Not asking gpg to verify signatures:
>
> I also found packages that call gpg in the form "gpg $file" and expect
> gpg to verify the signature on $file and output the signed data.  Indeed
> it does so for *signed* files, but if you just give it unsigned data
> packed into an OpenPGP message, it will happily just extract that
> without caring about signatures. (One can generate those messages with
> 'gpg --store'.)
>
> Sadly gpg doesn't seem to provide a painless way to check for a valid
> signature and extracting the signed data[2]. Or did I miss something?

Instead of inventing new ways for this, I'd suggest to instead ask
the more important question: What worth is checking for a signature
if you are not checking who is signing it?

Better either use --status-fd or use some wrapper like libgpgme to
retrieve what key actually signed it and check that information instead.

(While "just dump your own keyring somewhere and assume everything in
there might sign anything and be trusted" might look like an easy hack,
it hardly scales and might be quite brittle assuming quite some default
options to things like --auto-key-locate (and with any new options in
that direction that might still be added to gpg).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121214222149.ga19...@client.brlink.eu



Re: Really, about udev, not init sytsems

2012-11-30 Thread Bernhard R. Link
* Jon Dowland  [121130 16:06]:
> I do not agree that reconfiguring your machine to avoid an initrd is a normal
> standard desktop configuration. There's also several other things about your
> setup which I would argue are not standard (see below)

Will Debian come by default with initrds on all release architectures?
Squeeze was still released with some kernels without initrd support
if I remember correctly.

        Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121130182310.ga18...@client.brlink.eu



Re: Really, ...

2012-11-29 Thread Bernhard R. Link
* John Paul Adrian Glaubitz  [121129 21:14]:
> On Thu, Nov 29, 2012 at 08:22:41PM +0100, Bernhard R. Link wrote:
> > As our world has not
> > yet seen bug-free software handling every single situation the authors
> > did not think about properly, the expectation of what happens if one
> > runs into a not-yet fixed bug is an important issue for many people.
>
> Absolutely. But again, this is true for any software and this is
> *especially* true for old designs which couldn't cover certain setups
> which simply didn't exist back then.

But you have to understand that you put something that only does
promises against something that exists. Something that exists means
that people have experiences with it, now how it behaves, know how
to debug it and now how to make it work again when it breaks.
On the other side is systemd which has not yet been available in
a single Debian release and could not yet prove itself anywhere.

So if it would be proposed as some more init system to support
or a cool new stuff to experiment with it, you would not get that
much emotional reactions.

But as people demanded making it the only available system before
it could prove itself and while all most people know is that it
is quite a different design which wants to solve all the problems
at the same time (which often enough means it creates more problems
than it solves) and that it has ties which other projects people
have had no good experiences with (for enough people pulse-audio
is a synonym of "my sound is not working") you should have a
different reaction than ridiculing people not wanting to bet
their future on it.

> You know the famous quote: "640 kB ought to be enough!"

But I also know which happened to the 80286, which offered
quite a lot more memory and many nice things like fine
grained memory proection: It only looked nice on the paper
but (with some noble exceptions) was just not worth the hassle,
so that people prefered to stay with a 1 MB limit for many
years to come.

> Yes, I see your point. But again, what I said before, how many people
> are actually digging into such low-level code? Someone who is jumping
> into kernel or plumberland development always has to have a certain
> background knowledge. It requires more skills and experience as
> opposed to writing desktop applications or smart phone apps.

This is exactly the mindset that scares people away from systemd.

An application that does not behave is no big problem. One can easily
ditch it and replace it withanother. One has all the bells and whistles
of your full desktop available while you debug it. It's all quite well
understood.

If your init system does not work -- and one day it will not work,
there is no way that can be avoided, there is no perfect bug-free
software out there and especially when the task is to cope with
all possible hardware and their little quirks and timing problems,
all the different combinations of services and daemons out there
and so on -- you are set back much more.

So if you end up in a situation like that, what do you do as user?
Some will say "oh, it does not work. Let's try to reinstall the machine
and if that does not help let's try another distribution. Perhaps the
next release in two years will work. Or perhaps what I wanted to do
is not that important, so I will just not do that".

But for many people that would not be a solution but the absolute
nightmare. Being at the mercy of the computer; not being able to decide
what your machine does and what not; being totally powerless and
dependent on whether someone has decided that what you want to do
makes sense or not.

So being a more complex thing means it must be easier. Easier to
understand what it does. Easier to understand why something does
not work. Easier to fix it once it breaks.

> But do you really think that we should keep every part of the system
> brain-dead simple that everyone understands at the cost of reliablity
> and performance?

Do you really not understand why people think that?

And what does reliability mean if it can stop working and I can do
nothing against that at all?

> I see your argument about keeping stuff simple, but again, if you want
> to be able to solve more complex tasks with your computer, the
> software on it itself has to become more complex.

Strangely the complexity of the solution has seldom been related
to the complexity of the problem and always been the opposite of
reliablity in the past. So this is merely a false assertion.

> > Claiming that it will work for everyone and that
> > anyone not being able to name a problem existing now has no arguments
> > does not help.
>
> Do System V Init or Upstart work in EVERY single use case?

Actually, all my experiences with upstart has been when it does not
work. And then it was always a pain to work with. So in my experien

Re: Really, ...

2012-11-29 Thread Bernhard R. Link
* John Paul Adrian Glaubitz  [121129 18:12]:
> This is actually a true valid point which I personally would accept as
> an argument against systemd. Without looking into the details, this
> seems to be something that can be fixed by a new upload, doesn't it?

Almost any actual specific problem can be fixed with a new upload.
Any reason given to believe that there will be problems left or that
remaining problems will have a bigger impact are not probable with
actual problems (because any actual problem usually can be fixed,
or claimed to be a non-problem).
I think noone claims that systemd would not be the superior design
in a world where there is bug-free, perfect software prepared to handle
every possible situation it will be thrown into. As our world has not
yet seen bug-free software handling every single situation the authors
did not think about properly, the expectation of what happens if one
runs into a not-yet fixed bug is an important issue for many people.

Free software has always been a way to avoid being helplessly at the
mercy of some software. So handing over the basics of your computer
to a much more complex system can be quite frightening for many
people around here. Claiming that it will work for everyone and that
anyone not being able to name a problem existing now has no arguments
does not help. It only makes sure people are reassured that systemd is
not for them. Combine that with vocal demands that it should be the
only allowed init process in a short time frame makes sure that there
is a big opposition (which will look for you like it has no arguments,
as no real arguments against systemd are accepted.)

        Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121129192240.ga16...@client.brlink.eu



Re: the right bug severity in case of data corruption

2012-11-27 Thread Bernhard R. Link
* Adam Borowski  [121127 16:32]:
> So, what's the reason mbox is still the default in Debian?

Because it works and causes the smallest amount of problems
given all the other changes.

> Among other gains, data loss because of mboxo would be gone.

Continuing to call that "data loss" makes it quite hard to take
anything else you say seriously.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121128065215.ga14...@client.brlink.eu



Re: Mass bug filling about proprietary code of adobe in our type1 fonts

2012-11-25 Thread Bernhard R. Link
* Adam Borowski  [121125 15:20]:
> On Sun, Nov 25, 2012 at 02:07:03PM +, Bart Martens wrote:
> > On Sun, Nov 25, 2012 at 02:34:34PM +0100, Wouter Verhelst wrote:
> > > If there is code in a font that has a license attached to it which does
> > > not meet the DFSG, then it should go out of Debian; not because we're
> > > not allowed to keep it in Debian by the author of said code, but because
> > > we don't *want* it to be in Debian, according to the DFSG.
> >
> > I agree with Wouter on the above.  Moreover, if it doesn't have a license, 
> > or
> > it's not clear whether there is a license, or if the license doesn't allow
> > redistribution, then it must go out of Debian not because we want it out but
> > because we're not allowed to redistribute it, not even in section non-free.
>
> You might want to ask Adobe first, though, before removing anything.

The EULAs of the different Adobe products are easily found in the net.
And they also list many pragraphs about the stuff embedded into
documents. Most of them are quite restrictive. For example for pdf forms
(those pdf documents where the receiver can fill in stuff) created with
Adobe programs, every organisation might as far as I read it either only
distribute 500 different pdf forms to an unlimited amount of people, or
a unlimited number of pdf forms to at most 500 different people (no
matter how many normal licenses of the programs you have, I guess you
need some special mass pdf form license otherwise).
If I remember correctly for embedded font software (I think that means
true type and non-rasterized postscript fonts), there is the permission
to place a copy in one (and only one) printer. And an extra permission
for a copy shop you bring your document in to use that font. And stuff
like that.
I.e. most stuff will non be suitable for Debian main. Some stuff might
be suitable for non-free. Many things will not be distributable at all.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121125154119.ga10...@client.brlink.eu



Re: the right bug severity in case of data corruption

2012-11-24 Thread Bernhard R. Link
* Christoph Anton Mitterer  [121124 17:42]:
> I've recently reported several bugs against MUAs and mail tools, that
> employ the mboxo (note the trailing "o") format to either store or
> import mails.

> So,... bringing this up here at d-d, as I think it would be good for
> Debian to have a well thought position in how to handle this family of
> corruption bugs...

I'd say if you complain about a tool not documenting what mbox format
it is using, that is a minor bug.

If you want an option to also support another mbox format but mboxo,
then I'd vote for wishlist severity.

Ambiquity about lines starting with from in mboxo format is the same
like storing the value 0007 in an integer and getting 7 back when
asking for the value. Or like storing a filename in a FAT filesystem
and getting it back when asking for a file with the name converted
to upper case.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121124201101.gb7...@client.brlink.eu



Re: [PROPOSAL v2] Orphaning another maintainer's packages

2012-10-31 Thread Bernhard R. Link
* Andreas Tille  [121031 09:43]:
> On Wed, Oct 31, 2012 at 09:04:23AM +0100, Bernhard R. Link wrote:
> > Who of us never put some unimportant bug that would need some longer
> > investigating in a row to make sure it is actually not a bug and
> > forgot to post a little note of "will look into this later".
>
> Me.

Does this also include packages where you are listed as Uploader? ;->

> It is a question of respect to the bug reporter to at least respond
> to the issue.

I do not disagree that it is something that should be done. But that
does not mean it is never forgotten. (Or one discusses with the
submitter privately and forgets to follow up in the bug report or
or or).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121031194817.ga12...@client.brlink.eu



Re: [PROPOSAL v2] Orphaning another maintainer's packages

2012-10-31 Thread Bernhard R. Link
* Andreas Tille  [121031 08:06]:
> > Consider the case where a maintainer objects.  In that case you're
> > counting in the previous "long waiting" time a period which the
> > orphaner probably thinks shows disinterest in the package, but during
> > which the maintainer may well feel (for part of the time at least)
> > that the package simply didn't need any attention.
> 
> I keep on thinking that we are talking about different packages.  If a
> maintainer is "simply feels that the packages didn't need any attention"
> these are not packages which are for instance:
> 
>   - lagging *way* behind upstream (regarding time or version number)

There were some cases in the past where the maintainer did not package
new upstream version because they had some serious issues (or because
they only wanted to follow stable releases in cases where stable and
preview releases were hard to distinguish for a outsider) while someone
else mistook this for a missing action.

>   - leaving open bugs simply unanswered (=do not give any reasons
> for not working on a bug)

Who of us never put some unimportant bug that would need some longer
investigating in a row to make sure it is actually not a bug and
forgot to post a little note of "will look into this later".

> I do not speak about feelings but measurable facts.

Many facts are not black and white, but in practise there is much of
gray.

> > Also this argument is a form of "this has been waiting for ages so now
> > it is urgent" which I don't really agree with (unless there's an
> > actual deadline of course).
>
> I would rather call it a "this has been waiting for ages so you are
> obviosely not interested and no harm is done if I take action nowish".

This assumes that it actually has been waiting for so long. Different
people often see things from a different perspective. And the point
of this waiting is exactly to make sure that this view is not missing.
If it were so clear when a package is neglected and when not, we could
just do without the whole waiting period and giving the maintainer
chance to object and simply hijack the package directly.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121031080420.gb11...@client.brlink.eu



Re: Mandatory -dbg packages

2012-10-28 Thread Bernhard R. Link
* Ben Hutchings  [121028 17:02]:
> There are plenty of bugs that involve 'undefined behaviour' that in
> practice depends on whether optimisation is enabled.  Unless you have a
> good idea what's going wrong, how do you know that 'noopt' won't hide
> the bug?

If the bug still shows up with the library recompiled with 'noopt', then
no harm done. If it is a bug in the library, you want to look there
anyway (and you will most likely want to compile different parts of it
with or without optimisation or any other technique; in any case you
will want more of the library than just the binary and some debugging
symbols of it). The only case where a noopt library variant is a
disadvantage is a very ugly case of heisenbug, that is hidden by the
slightly changed library.

> Also, gdb and the GNU toolchain have recently got a lot better
> at handling highly optimised code (tracking variables in registers,
> treating inlined functions as logically separate functions, etc.).

Yeah, they got a lot better. But even if gdb got perfect in that regard
it can still not show what isn't there (like the value of a variable
(or function argument passed as register) no longer stored anywhere.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121028163707.ga19...@client.brlink.eu



Re: Mandatory -dbg packages

2012-10-28 Thread Bernhard R. Link
* Philip Ashmore  [121028 09:12]:
> Yeah, in (cough)Fedora, kdbg even offers to download and install
> debug packages for you.
> Debug packages also make back-traces more than useless, and
> (cough)Ubuntu offers to download debug packages which it installs
> and re-examines the back-trace to see if more are needed.

While having some way to get the stripped debug info from the installed
packages is nice to more easily get some debug information or to
retroactively make a backtrace a bit more verbose, it is still not
enough for all cases of debugging. Ideal debugging information you get
by locally rebuilding the needed libraries with
DEB_BUILD_OPTIONS="noopt nostrip" and installing those.
(Sadly not all libraries support noopt, but it's getting much better as a
side effect of the current hardening effords).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121028103552.ga3...@client.brlink.eu



Re: Bugs filed in unexpected places

2012-10-26 Thread Bernhard R. Link
* Thibaut Paumard  [121026 15:54]:
> I don't see a reason to move it away from wnpp: its great to have a
> central place for that information, but I agree it is useful to have
> the info forwarded to other places (such as the PTS, and perhaps the
> package's own bug page).

Having a central page to show all of them is nice. Having them in one
pseudo page is not really the optimal solution for that. (I usually
only look for http://www.debian.org/devel/wnpp/work_needing instead
because https://bugs.debian.org/wnpp is just too slow.)
Putting it to the package's data is a much more logical place, easier
to find, harder to miss. Better collect the data to show them in
some central place also instead.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121026160646.ga29...@client.brlink.eu



Re: Discarding uploaded binary packages

2012-10-20 Thread Bernhard R. Link
* Chow Loong Jin  [121020 18:10]:
> The only argument I have seen for binary uploads is to ensure that DDs have
> built the package prior to uploading it. But as someone else pointed out 
> earlier
> in the thread, we seem to be trusting DDs a lot in other aspects, so why not
> trust that they test-build packages prior to uploading them as well?

Because trusting someone in one thing is not the same as trusting
someone in another. Trust works best when there is accountablity.
Having the binary file around, even if it is not easily accessible
on some remote archive, noone can claim "I tested this, it just did
work here, something must be different on the buildds" and hope to
get away with it.

Given that source only uploads where tried in another project and
the results are scary, this accountability might make the difference
to make it work.

And to also name another argument: having the files actually uploaded
means it is easy to add additional checks. (Like starting with making
sure the list of files does not differ between the two versions, or
some check to see only versions of generated dependencies differ but
not the packages depended and so on).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121020162948.gb14...@client.brlink.eu



Re: Discarding uploaded binary packages

2012-10-17 Thread Bernhard R. Link
* Michael Gilbert  [121017 22:19]:
> Anyway, reading again, I not sure that your reply actually considers
> build path sanitization problems, which is what my statement was
> about.

I'm stating that doing all the builds on buildds will not avoid the
need to fix the package. (Unless you are arguing that people locally
modifying their packages are supposed to get security problems).

        Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121017205532.gb5...@client.brlink.eu



Re: Discarding uploaded binary packages

2012-10-17 Thread Bernhard R. Link
* Michael Gilbert  [121016 04:59]:
> Anyway, all of these build system path sanitization issues can be
> eliminated by using the buildds for all architectures, since paths
> will start with at least /build that requires root-level action to
> exist on users' systems.

They are not eliminated by using only buildds. They are only moved
towards people that want to build their privately patched software
then, which is something they have a right to do. A package not
building properly or differently when built in a clean system with
all the build-depended packages installed and all the
build-conflicted packages not installed is a critical bug.

Recreating binary packages uploaded by maintainers has some merrits,
but this is definitely not one of them...

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121017200750.ga5...@client.brlink.eu



Re: Debian should move away from MD5 (and at best also from SHA1) (in secure APT and friends)

2012-10-14 Thread Bernhard R. Link
* Wouter Verhelst  [121013 10:56]:
> On Fri, Oct 12, 2012 at 09:17:32AM +0200, Bernhard R. Link wrote:
> > part at all) will only weaken security. So I think what you say is an
> > argument for keeping md5sum, so that noone think they can use that
> > information for security.
>
> This argument is based on the incorrect assumption that everyone in the
> world knows md5 is broken.

No it is based on the assumption that in that set of people that care
about security at all but have little enough knowledge of security
to mix up protection against faulty hardware with protection against
attackers there is at least one user having heared the meme
"md5 considered broken" and might combine those half-knowledges to
the correct result that debsums is not about security against attackers.

Causing at least one user to not think they could use debsums as protection
against wilfull file modification by sticking with md5 is (given there are
no benefits from switching hashes at all) a very strong argument that
switching hashes for debsums to stick to the hashes it uses.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121014111405.ga15...@client.brlink.eu



Re: Debian should move away from MD5 (and at best also from SHA1) (in secure APT and friends)

2012-10-12 Thread Bernhard R. Link
* Christoph Anton Mitterer  [121011 19:39]:
> On Thu, 2012-10-11 at 11:35 -0500, Peter Samuelson wrote:
> > What makes sense is to use a hash that has the properties that are
> > needed for a particular application.
> Well... I think that's only really required if performance is very
> critical, e.g. when you're on embedded devices or so,... but the places
> I've mentioned should have probably no disadvantages by using a "strong"
> algo,... not to mention that newer algos like Keccack are quite fast.

There is a disadvantage of having longer hashsums, thus making it harder
for people to compare. The only reason that for those md5 is optimal and
not crc32 is that there is only one md5 and there is a nice always
available tool to compute it, so people can compare it more easy.

> > To use your example of dpkg file checksums, their purpose has _nothing_
> > to do with security.
> Well their _intended_ purpose,.. that's right.
> But nothing keeps people from using it a security manner (e.g. by
> replication it to a "secure" remote node or so) and in fact... e.g.
> rkhunter already has a mode where it uses DPKG directly.

Everything doing something like that can also create those sha2 sums on
their own and use them. Using the debsums system (which has no security
part at all) will only weaken security. So I think what you say is an
argument for keeping md5sum, so that noone think they can use that
information for security.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20121012071732.ga4...@client.brlink.eu



Re: ${HOME} vs. g_get_home_dir ()

2012-09-27 Thread Bernhard R. Link
* Russ Allbery  [120926 21:42]:
> > The documentation for g_get_home_dir[1] also documents what a proper
> > program can do, it's a simple:
> 
> >  const char *homedir = g_getenv ("HOME");
> >if (!homedir)
> >   homedir = g_get_home_dir ();
> 
> > instead of using get_get_home_dir directly.
> 
> Oh, I'm glad that they at least document this.  But it would still be nice
> if the default did the right thing.

Though I guess changing the default upstream is hard, given the feedback
I got in tha past and the general tendency in gtk/gnome world to
consider anything not in their primary picture as obsolete and/or legacy
and thus not worth to support.
So users outside Debian would profit more to push patches to all
programs to properly prefer HOME instead of hoping to persuade upstream
of the library (and Debian would profit from having a smaller diff).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120927124400.ga13...@server.brlink.eu



Re: ${HOME} vs. g_get_home_dir ()

2012-09-26 Thread Bernhard R. Link
* Simon McVittie  [120926 18:50]:
> ... but I don't think this is the right way to make it happen. Please
> research previous discussion to check that you're not missing arguments
> that have happened in the past, then if you still think your proposal is
> the best option, take it upstream.

This was already taken upstream and upstream's opinion was
"if we do this as the unix guys expect then users complain that
changing $HOME changes the home directory.".

> I can see the value in having everything follow the same precedence,
> $HOME > getpwent - predictability is good. However, having Debian's GLib
> contradict behaviour that is specifically documented upstream doesn't
> sound as though it promotes predictability.

It's nice to see this finally documented upstream. (Back in time
it claimed to get the home directory which it obviously almost
but not quite does not at all.)

The documentation for g_get_home_dir[1] also documents what a
proper program can do, it's a simple:

 const char *homedir = g_getenv ("HOME");
   if (!homedir)
  homedir = g_get_home_dir ();

instead of using get_get_home_dir directly.

Bernhard R. Link

(And tip of the day: If you are working with multiple home directories
regulariy and get tired of badly written programs confusing the initial
home directory with the current one, setting the initial home directory to
the empty string can help in many cases (though you lose having a
default one for programs not getting one set)).

[1] For example
http://developer.gnome.org/glib/2.33/glib-Miscellaneous-Utility-Functions.html#g-get-home-dir


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120926174814.ga7...@client.brlink.eu



Re: assumptions about the build environment.

2012-09-21 Thread Bernhard R. Link
* peter green  [120921 21:26]:
> I just discovered that on my beagleboard XM (under armhf sid) nacl
> (which previously build on a debian experimental armhf buildd but
> not a debian unstable armhf buildd) will build if /sys is mounted
> but will not build if it is not mounted. Can packages assume that
> /sys will be mounted in the build environment or not?

I'm quite suprised to see /sys to be mounted in chroots. Wasn't one
of the reasons to start /sys and not put the info there in /proc to
not have to have it available in chroots? Shouldn't that information
about hardware usually be kept away from chroots?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120921232531.ga20...@client.brlink.eu



Re: packaging a tiny/trivial blob in a DFSG-clean way?

2012-09-15 Thread Bernhard R. Link
* Michael Tokarev  [120914 23:12]:
> But I'm still a bit, well, uncomfortable to ship the blobs,
> even if the source is available and it is verified on buildds
> during package build on corresponding architectures.
>
> Allowing such packaging may act as a bad example in the future.
>
> And yes, that'd be the BEST option, ever, from whole packaging
> point of view, including debian archive management too.

We currently do not ensure hard that other things can be built
either. Things were able to build when they were uploaded and
sometimes thankfully someone even checks if they still build
(and judging from the many FTBFS bugs filed in the process,
being buildable back then and being buildable now is really not
the same). So I don't see why storing the result and comparing
it to a newly built one (and failing if it does not match) on
the corresponding architecture is not quite a good solution
( if you want to make it even better, you can set up a regular
private rebuild on that architecture to make sure it still is
buildable all the time... ;-> )

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120915080309.ga30...@client.brlink.eu



Re: Bug#684396: ITP: openrc -- alternative boot mechanism that manages the services, startup and shutdown of a host

2012-08-21 Thread Bernhard R. Link
* Ben Hutchings  [120820 20:21]:
> I don't think we should expect other developers to spend any large
> amount of time to help with our own pet projects, except in so far as
> they benefit 'our users and the free software community', which I take
> to mean collective interests (i.e. numbers matter).  Right now, most
> package maintainers can provide more benefit to more users by working
> on bugs that affect x86, than by spending that same time investigating
> even the most serious problems on some other architecture.  Of course
> they should not stand in the way of porters and should be ready to
> answer questions and apply reasonable patches.

While I agree with the first part (people doing their pet stuff should
not distract others), I see the roles afterwards differently, though:

Most software working only on x86 is simply some pet project, with code
so broken that any newer compiler version will likely break it[1]. And
it is porters that waste their time fixing bugs in toy software, most of
the time having to cope with code so broken it is a miracle it worked
even on any compiler version on x86[2].

There is some minor number of port specific issues (though they are
of course quite frustrating as one as maintainer of a package can
do little in this case), but in my experience the numbers are similar
as with alleged bugs of compiler misoptimising code: in over 95% of
cases it is a bug in the program instead.
More often than not a serious bug in another architecture is just
a case of a serious bug that does not yet show up on the more common
architectures or only very seldom, but lurking in the dark, waiting
till it can also hit your "more users" later if ignored now.

Bernhard R. Link

[1] As a C program can give very little information, almost all
optimisations involve some step of "the rules forbid this behavior
as it would not work on some obscure architecture, so I can assume
that behavior is not the intended, so I can optimize for the other
case".
[2] Well, it's not really a miracle, but observation bias: Only that
buggy code that 'luckily' did not cause breakage on previous compiler
versions on x86 (or on sparc if you look at 15 years old code)
has survived testing by the original authors, so you only meet those,
unlikely as they are.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120821093243.ga2...@client.brlink.eu



Re: Minified javascript files

2012-08-19 Thread Bernhard R. Link
* Vincent Bernat  [120818 21:18]:
> The difference is that we need to bug upstream about a file that we
> won't even use. There is no real bug (not even a licensing issue).

They are distributing files without source, so everyone else can either
not just easily modify it or verify if it really does what it is
supposed to do. This is definitely a shortcoming in what upstream ships
and really something you should bug upstream about.

> We request him to add a file that we won't use anyway.

There is more than just "us". If it is for us, they could just remove
the file. It's for the people that those files is supposed to be for.
They should have the right to change it, for which they effectively
need the source.

> I don't know many upstream who have so much free time.

If just adding a source file they hopefully have anyway or to remove
a file does not take much time. (There is a lot of unmaintained
software out there, but as I said, not much difference to getting
any other patch in).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120819131132.ga9...@client.brlink.eu



Re: Minified javascript files

2012-08-18 Thread Bernhard R. Link
* Raphael Hertzog  [120817 14:04]:
> That way, there's no need to strip unused RFC, minified javascript, Flash 
> files,
> PDF without sources, etc.

Striping them away is only the forth best solution. There are some better
solutions like:

- make upstream include the sources
- include the sources yourself
- make upstream not include files without source

That might not always be easy, but it's not different from getting any
other fixes upstream.

> All this has been useless bureaucracy which has drawn people away.

If people are drawn away by someone caring for the freedom of our users,
perhaps they are not really a loss. 

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120818174632.ga8...@client.brlink.eu



Re: Fixing the mime horror ini Debian

2012-07-13 Thread Bernhard R. Link
* Per Olofsson  [120713 12:18]:
> 1. Rewrite xdg-utils so that it is robust and always works.

It you want to make xdg-open useable for everything, please also
add a way to specify the mime type as option. Without that using
it for opening mail attachements or stuff downloaded (i.e. things
that already show a mime type before you open it) is simply
introducing a security bug.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120713114519.ga2...@client.brlink.eu



Re: Bug#679078: ITP: acpi-support-minimal -- minimal acpi scripts

2012-06-27 Thread Bernhard R. Link
* Michael Meskes  [120626 14:48]:
[ Guillem Jover  [120626 12:05]:]
> > I'll be reopening 665987, but if that gets closed again I'd be very
> > happy to switch to acpi-support-minimal from my now locally built
> > acpi-support packages w/ the consolekit dependency removed.

> [...] I'm absolutely willing
> to listen to ideas of solving this, which imo would be a much better solution
> than creating an additional package that will only partly work. [...]

I'd prefer to get this fixed in acpi-support-base, but I think you
have made your point very clear that the only purpose of that package is
to not do anything if some power manager is running and that to detect this
perfectly you are totally willing to force anyone to install consolekit
(and thus dbus) who justs wants his system shutting down cleanly when the
power button is pressed. That this is not issue for you at all and that
you do not see any problem in introducing this change 2012-06-21 i.e.
shortly before the freeze.

> "If that gets closed again" sounds like I was closing the bug without
> a reason, which I didn't.

That sentence was much more neutral than anything I think I could have
written. After you were closing two bug reports by just dismissing the
issue, a "if that gets closed again" is a totally objective way to
describe expectations.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120627093253.ga3...@client.brlink.eu



Bug#679078: ITP: acpi-support-minimal -- minimal acpi scripts

2012-06-26 Thread Bernhard R. Link
Package: wnpp
Severity: wishlist
Owner: "Bernhard R. Link" 

Package name: acpi-support-minimal
License : GPL2+
Description: minimal scripts for handling base ACPI events
 This package contains minimal scripts to react to various base
 ACPI events such as the power button. It does not require any
 other daemons but acpid. For a less minimal version, install
 the "acpi-support-base" or "acpi-support" packages.



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120626085241.ga4...@client.brlink.eu



Re: Lintian warning: hardening-no-fortify-functions & version numbering

2012-06-25 Thread Bernhard R. Link
* Ben Hutchings  [120625 19:21]:
> GNU make's implicit rules use CPPFLAGS.  If other build systems or
> overriden rules don't use it, it's a bug.  This can of course be
> worked around in debian/rules.

I'd not call it a bug. It's just some stranger behavior. Not more strange
than not using make but some python or shell script to do the actual
compilation or any other of the many strange things found in software
packages.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120625184310.gd...@client.brlink.eu



Re: Lintian warning: hardening-no-fortify-functions & version numbering

2012-06-25 Thread Bernhard R. Link
* Russ Allbery  [120624 23:13]:
> When integrating with a build system that uses only one variable for
> compilation flags, just pass the concatenation of CFLAGS and CPPFLAGS into
> it.  This is trivially done in debian/rules without modifying the upstream
> source.

Build systems not doing CPPFLAGS often also are incorrect in other
aspects. Like using CFLAGS where CXXFLAGS are meant. Or having a
differently named LDFLAGS. Or not having LDFLAGS at all and needing them
in a variable called CFLAGS, too. Or only passing LDFLAGS at link time so
needed CFLAGS or CXXFLAGS concatenated into LDFLAGS or or or.
It's all mostly trivially done but there are quite a number of variants.
Anything not having CPPFLAGS is usually simply so non-standard that
a human has to look at it anyway and no automatic approach will help.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120625083304.ga3...@client.brlink.eu



Re: Lintian warning: hardening-no-fortify-functions & version numbering

2012-06-24 Thread Bernhard R. Link
* Lars Wirzenius  [120624 12:30]:
> On Sat, Jun 23, 2012 at 03:27:07PM -0700, Russ Allbery wrote:
> > CFLAGS is an old, long-standing make thing.  CPPFLAGS is newer and I
> > believe was introduced by Autoconf
> 
> I don't know the history of CPPFLAGS. It's possible it was introduced by
> Autoconf. However, it is now embedded into the implicit rules of GNU Make,
> so every Makefile that doesn't override the rule for compiling a .c file
> to a .o file uses CPPFLAGS.

Where "now" means since 1990.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120624203026.ga8...@client.brlink.eu



which flags to pass to gcc/g++

2012-06-24 Thread Bernhard R. Link
* Serge  [120624 00:15]:
> Or you mean that they should run `gcc`/`g++` with CPPFLAGS?
> If you do, then... How should they do that?

gcc $(CPPFLAGS) $(CFLAGS) -c -o foo.o foo.c
gcc $(CFLAGS) $(LDFLAGS) -o foo foo.o
gcc $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o foo foo.c
g++ $(CPPFLAGS) $(CXXFLAGS) -c -o foo.o foo.cpp
g++ $(CXXFLAGS) $(LDFLAGS) -o foo foo.o
g++ $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o foo foo.cpp

I.e: the rules are:
* whenever calling gcc pass CFLAGS,
* whenever calling g++ pass CXXFLAGS.
* Whenever it links (i.e. without -c, -E or -S) pass LDFLAGS.
* Whenever it will preprocess anything, pass CPPFLAGS.

Note that CPPFLAGS and LDFLAGS are in the format as you need to
give them to gcc/g++, i.e. every ld option not understood by
gcc needs a -Wl, and so on...

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120624091919.ga2...@client.brlink.eu



Re: Maintainers, teams, Uploaders, DMs, DDs, etc.

2012-06-13 Thread Bernhard R. Link
* Ian Jackson  [120613 17:35]:
> 5. Introduce a new conventional location for information useful to
>NMUers,
>   debian/README.nmu
>
>Explicitly state that someone preparing or sponsoring an NMU should
>consult this file.  Statements in this file may supplement, but do
>not overrule, the NMU criteria established by the Developers'
>Reference, by the release team, or elsewhere.
>
>Explicitly state that NMUers are NOT necessarily required to
>consult README.maintain.

Adding something for NMUs in the package without adding some way to
give more information for NMUs outside the package might result in
information getting in there that will usually be outdated when an NMU
is needed. (after all, NMUs are especially common when noone else did
an upload for a longer time, so a upload just to get that file within
the package is also unlikely to have happened).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120613163535.ga30...@client.brlink.eu



Re: Starting services automatically after install

2012-06-03 Thread Bernhard R. Link
* Toni Mueller  [120603 11:41]:
> Since we obviously can't agree on *how* the service is to be run, one
> could just ask the user, eg., in the case of a printing service:
>
>   "I just installed the file sharing service. Do you want to start
>   sharing immediately (will allow other people to access 
>   files/media/printers)?"

The print servers I looked at did not allow remote access by default
since somewhen in the 90ties.


> But for a more real-world example, consider slapd, which also starts
> immediately, but is imho quite unlikely to be configured appropriately
> by Joe Average User who doesn't understand that he needs to start Samba
> before being able to share his files, and which is impossible to
> configure appropriately by answering debconf questions in the first
> place?

What has slapd to do with samba and why don't you want it run?
actually I'd be quite confused if slapd had not been already running
after installing...

> > If a service comes with a default config that can be a real security
> > concern, then that alone needs fixing.
>
> Many services come, eg. Apache comes with it, too (and eg. grabs all
> sockets it can, one of my pet peeves).

Sorry, you have to explain this. Do you claim apache has a security
concern in its default config?

> > As administrator I also prefer that I just have to copy a config and
> > install the package. Anything not run by default (or at last by
> > default once its configuration is complete) means I have to
> > tweak another config file, which is uncessary annoying work.
>
> You have to say something like '/etc/init.d/service restart', anyway,
> after you put your own config into place. What's so much different from
> saying '/etc/init.d/service start' instead, in such a case?

That I do not have to do it? Either I have copied the config first or
for a full install that will get a reboot anyway when deployed.

> Asking the unwitting user and providing a default answer of 'yes' should
> solve the problem, imho - the slightly more experienced user can then
> at least opt for 'no'.

That's called policy.d. (though I feel like repeating others here).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120603115132.ga4...@client.brlink.eu



Re: Starting services automatically after install

2012-06-02 Thread Bernhard R. Link
* Aaron Toponce  [120602 16:26]:
> However, I am calling into question the validity of starting a service by
> default post-install. I think it introduces security concerns, possible
> headaces on the local LAN, and just unnessary work for the administrator.
> Other than "if you don't want a service, don't install the package"
> agrument, I don't understand why services _should_ be started by default
> post-install.

Try to see it from the other side: I don't understand why you would a
like a service not started by default. The daemon is there to be run,
so running it is the most sensible approach in almost all cases[1].

If a service comes with a default config that can be a real security
concern, then that alone needs fixing.

As administrator I also prefer that I just have to copy a config and
install the package. Anything not run by default (or at last by
default once its configuration is complete) means I have to
tweak another config file, which is uncessary annoying work.


Bernhard R. Link

[1] Exceptions being specific things like unconfigured dhcp servers,
but I never met one that would run by default as it first needs a subnet
configured. But if I place a dhcpd.conf at the right location it starts
as it should...


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120603062134.ga2...@client.brlink.eu



Re: Moving /tmp to tmpfs is fine

2012-05-28 Thread Bernhard R. Link
* Ben Hutchings  [120527 17:25]:
> Creating arbitrarily large temporary files outside the user's home
> directory is generally going to be unreliable.

The only thing more unreliable than that is creating arbitrary large
file in user's home directory. If it is not supposed to be persistent
data that is available on every node the user can log in, then it does
not belong into the home directory (unless the user explicitly choose
to set TMPDIR there). The home directory can be quite slow (because
being remote, being encrypted, ...) and quite scarce (permanent storage
on server discs with redudancy and backup strategies is not that cheap).

Unless a program is explicitly told otherwise, temporary files belong
to TMPDIR and if that is not set to /tmp. (or any subdirectory thereof
the programs like to create). If that is too small, then it is too
small. The admin is able to configure /tmp differently, the user is
able to set TMPDIR differently.

my 0.02:
I personally think having tmpdir on /tmp might be a good default for
new systems. If systems get changed to that from something else on
upgrade without asking, I consider that quite an ugly bug.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120528084732.ga4...@client.brlink.eu



Re: Bug#481129: Bug#671503: general: APT repository format is not documented

2012-05-19 Thread Bernhard R. Link
* Paul Wise  [120519 01:39]:
> I would like to see the flat-style repository documented too, since
> some of the derivatives in the Debian derivatives census use it and I
> would like to lint their apt repositories.

I my humble opinion the best documentation for the "flat-style" format
is: "don't use it, it's an ugly hack".

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120519090516.ga5...@client.brlink.eu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Bernhard R. Link
* Adam Borowski  [120518 11:37]:
> You complain about forcing people to use git, while you push quilt onto
> everyone else.
> [...]
>
> I really wish there was a "3.0" format besides "3.0 (quilt)", so people are
> not mislead into thinking they have to (or even, would gain anything) from
> writing patches in quilt's format.

Noone is forcing quilt on anyone.

We need a source format that can properly represent changes to the
upstream source code and that is best done as some series of patches.
Using a format that is a subset of quilt without all the magic makes
sense as that makes it easy for anyone to write or read.
(It's just a set of patches to be applied with -p1 and a file to list
the names of those patches line by line, i.e. no special sort algorithm
for filesnames needs to be defined).

One of the biggest faults of "3.0 (quilt)" is its name. It should really
have been called "3.0 (patches)" or even better "3.0 (non-native)".

A proper package should either have no upstream changes or broken down
changeset that can actually be applied. If you have those changes it is
trivial to create a "3.0 (quilt)" source package out of that.

And yes, git is the better quilt for managing a source tree. Which is
why I use it exclusively to work on my "3.0 (quilt)" packages.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518145644.gb2...@client.brlink.eu



Re: problems with quilt and 3.0 (quilt) format again

2012-05-15 Thread Bernhard R. Link
* Norbert Preining  [120515 01:10]:
> For these kind of things the expected behaviour is that quilt and
> dpkg-source behave the same way, and if not, dpkg-source should
> warn or whatever.

I think the patched debian source format should not depend on what
quilt does but be sensible within itself. Requiring patched being
able to applied without any magic (which might hide mistakes and
result in changes different from the intended ones) is a reasonable
thing to do.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515085132.gb2...@client.brlink.eu



Re: Making -devel discussions more viable

2012-05-02 Thread Bernhard R. Link
* Russ Allbery  [120502 18:06]:
> I don't want technical decisions in this project to
> only be discussed by people who enjoy the noise.

That's why it is cruical to get the noise reduced. If in any discussion
there is a DD escalating the flames then there won't be any people with
technical arguments left. Getting some non-contributers out of the
picture will not change it much. I wholeheartly believe that the only
reason you see those people so prominently is that everything else
already is in ignore mode because of contributors heating the flames.

> So, while "don't add to the noise" is *part* of the solution, if one just
> says that and puts a period at the end, it makes the problem worse.  It
> needs to be part of a solution that actually *reduces the noise*.

Not adding to the noise is reducing the noise. And especially telling
people that you do not care about their arguments because you they are
not insiders, which this is from some point of view, is the noise that
makes an discussion in my eyes the most unwelcoming and thus a good
reason to only expect noise and no more signal.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120502164118.gb2...@client.brlink.eu



Re: Making -devel discussions more viable

2012-05-02 Thread Bernhard R. Link
* Russ Allbery  [120501 18:18]:
> David Bremner  writes:
> > "Bernhard R. Link"  writes:
> 
> >> My suggestion to everyone feeling the need to tell anyone on a public
> >> mailing list that they should shut up because they are no contributors
> >> is thus: Please refrain from any more posts to this discussion.
> 
> > I have nothing against this principle, and I do this. But I also stop
> > reading such threads. And this means I read less and less of this list.
> 
> Right.  As good as that idea sounds on the surface, what that actually
> translates into in practice is making debian-devel useless.

And how does enhancing the noise rate by adding mails not about technical
arguments make the mailing lists useful?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120502123933.ga18...@server.brlink.eu



Re: Node.js and it's future in debian

2012-05-02 Thread Bernhard R. Link
* Russ Allbery  [120501 19:28]:
> I have to admit that I'm tempted to change Policy from "if there's no
> consensus, rename both of them" to "if there's no consensus, try harder to
> reach a consensus, and the technical committee decides in last resort."
>
> Most of the time, renaming both of them isn't the right answer.

On the other hand, if renaming both of them is the only possible outcome
if both parties cannot agree, it makes it more likely both sides will
actually be willing to discuss the matter, instead of just issuing demands,
hoping the other side will either give up or will be overruled by the
TC at the end.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120502124909.gb18...@server.brlink.eu



Re: Making -devel discussions more viable

2012-05-01 Thread Bernhard R. Link
* Russ Allbery  [120430 19:11]:
> I want our technical discussions to be welcoming to anyone who has
> information to share and who can bring additional clarity and insight to
> the discussion.  But once things start getting heated or people start
> throwing around accusations or verge towards personal attacks, there's a
> real psychological difference between people who are contributing to
> Debian and people who aren't.

I'd rather argue that abusive behaviour from contributors is far worse
than from non-contributors. It's easier to ignore people not involved
and people not doing anything are usually not around for long.

There is also nothing keeping anyone with technical arguments out of a
discussion as someone insulting anyone with different opinions and if
running out of insults accusing people as not being contributors.

My suggestion to everyone feeling the need to tell anyone on a public
mailing list that they should shut up because they are no contributors
is thus: Please refrain from any more posts to this discussion. I do
not care if you rationalize it as "no need to feed the troll" or if
you understand you left the level of technical discussion and have
little chance to come back to it till the discussion will be over, but
once that point is reached there really is no sense it keeping it up.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120501103126.ga2...@client.brlink.eu



Re: Enabling hardened build flags for Wheezy

2012-05-01 Thread Bernhard R. Link
* Charles Plessy  [120430 16:26]:
> If people who are interested by improving our dozens of thousands upstream
> makefiles could spend time forwarding patches upstream by themselves, that
> would be appreciated.  I have a hard time finding convincing words when I 
> think
> the patch is borderline useless.

What are you talking about? Sorry, but I really cannot make any sense
out of that.

Let me try to explain the situation, so you can tell me where you
disagree:

We want some options enabled in as many package builds as possible.
Options that have not been the decade long defaults in compilers, so
they break a significant amount of software.

Changing the compiler defaults would have the side effect of also
affecting users and forcing all packages to cope with the changed
defaults at once. (And the packages having the hardest to fix issues
are usually the packages with the most absurd build systems, so
having to fix all of them to include compiler options disabling the
hardening flags is not that easy).

So instead of an opt-out by changing what the compiler does by default
and forcing the package maintainer to override them, we have a opt-in
system: the maintainer can give the options to the build system.

For that there is the new dpkg-buildflags command, that outputs all
categories of flags a package maintainer would want to have: It give
you preprocessor flags, it gives you C compiler flags, it gives you C++
compiler flags, it gives you fortran compiler flags and it gives you
linker flags. By default it gives some default hardning flags but also
supports the maintainer requesting more intrusive flags or disabling
some classes of flags (see the discussion of DEB_BUILD_MAINT_OPTIONS
in dpkg-buildflags manpage). It's also done in a way that support for
'noopt' it automatic, so it even makes it even less work for the
maintainer.

To ease it for package maintainers, the flags dpkg-buildflags generates
have the names the GNU coding standards request all package build
systems should support. As those are quite influental, many build
systems name them this way. And as they are split into the flags the
different tools want to have, every other scheme can be computed out of
those easily by just appending those set of flags you need.

If you have a build-system that does not support passing flags to the
compiler, then you won't get support for hardning with this opt-in way,
of course.  But such a package would also have no way to override a
specific set of hardening flags, so it would have problems with the
opt-out way to, because it cannot opt-out.

As not everyone build systems has the same names for variables holding
the compiler (meaning preprocessor/actual compiler/linker) flags.
There is not even theoretically (compare "halting problem") a way to
determine what the variables are named like and what content they
expect. This simply needs a human to look at it and say which flags
need to be put where so that the upstream build system will pick them
up.

If a build system does not support passing flags to the compiler, and
you want it to have hardening flags, that might need some makefile
patches. But if there is no time for this or this is too complicated,
then one can just do without, generating a package without hardening
(and most likely also without support for noopt and the like, so do
not suppose other people will be extremly willing to help you fix the
bugs in it), but so be it.

The release goal is
"This goal is to update as many packages as possible to use security
hardening build flags via dpkg-buildflags. These flags enable various
protections against security issues such as stack smashing, predictable
locations of values in memory, etc."
It's not
"Every package even if only hardly being of a quality to be included in
a distribution must support hardening flags or it must be removed from
Debian".

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120501095606.ga2...@client.brlink.eu



Re: Enabling hardened build flags for Wheezy

2012-04-30 Thread Bernhard R. Link
* Charles Plessy  [120430 04:31]:
> Sorry to rant again, but am I the only one thinking that we are in most of the
> case wasting everybody's time by not simply passing all the hardening flags by
> default in CFLAGS ?  In my experience (and I maintain more than 100 packages),
> it is extremely rare to need to ensure that the compiler, preprocessor and
> linker flags are in three separate variables.
>
> When we need to modify a large number of packages in order to propagate a
> change, isn't this meaning that we are not picking the most efficient 
> defaults ?

As I wrote again, keeping them seperate means you can support both
cases: systems following GNU coding standards to keep them seperate and
systems wanting them in one place. If you mix them first you cannot
seperate them later.

There is also no way this can work without any maintainer intervention.
You need to look what the flags are called. It is quite common for
hand-written flags to use CFLAGS where CXXFLAGS is meant for example.
So you as maintainer have to decide what mapping to use anyway.
If you need CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' or
CFLAGS='$(CXXFLAGS)' CPPFLAGS='$(CPPFLAGS)' or
CFLAGS='$(CPPFLAGS) $(CFLAGS)' or
CFLAGS='$(CPPFLAGS) $(CXXFLAGS)' or even something like
CFLAGS='$(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)'.

So what we have is already the most efficient default and also the only
one always working.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120430084657.ga2...@client.brlink.eu



Re: Bug#668556: ITP: dparser -- a scannerless GLR parser generator

2012-04-14 Thread Bernhard R. Link
* Markus Wanner  [120414 13:32]:
> On 04/14/2012 11:22 AM, Jakub Wilk wrote:
> > Sure, they are also much more common than GLR. And if you are "just"
> > interested in parsing and not a computer scientists, there's a chance
> > you've never heard about any of them.
>
> Based on two votes for extending the acronyms, I propose to change the
> long description as follows:
>
>  DParser is a scannerless, generalized left-to-right, rightmost
>  deviation (GLR) parser generator based on the Tomita algorithm. It is
>  self-hosted and very easy to use. Grammars are written in a natural
>  style of extended Backus-Naur form (EBNF) and regular expressions and
>  support both speculative and final actions.
>
> I'm not a native speaker, so please feel free to comment on spelling,
> grammar, comma or other errors.

I'm not sure that is that much more understandable for people not
knowing the concepts or for people trying to understand what this
package does and why some other admin installed it (or why a user
requests its installation).

Let's take a look at start of bison's description:
 Bison is a general-purpose parser generator that converts a
 grammar description for an LALR(1) context-free grammar into a C
 program to parse that grammar.

That sentence also describes what a parser generator is (so even
someone not so deep into computer science knows what this package
is about), while still containing the details and not being much longer.

I personally cannot take much more out of "generalized
left-to-right, rightmost deviation (GLR) parser generator" than
out of "GLR parser", I'd need to look it up anyway, so "GLR parser
generator" is quite well in my eyes.

For the grammer I personally would prefer it expanded, though
I think it is more understandable as "EBNF (extended Backus-Naur form)
Grammer" than the other way around.

Other questions I ask myself when looking at the description:

What is "based on the Tomita algorithm" about? Wikipedia tells me
GLR parser generators are based on work of Tomita, so is that a
description of "GLR parser" or is it a somehow important implementation
detail that this is based on the original and not some reinvention
or totally different algorithm one would also call GLR parser?
Would that information be important for anyone to decide if they
want to install that package or not?

What is "a natural style of EBNF" supposed to mean? Are there any
unnatural styles of EBNF? Does it mean I can write something I
would be able to identify as EBNF in contrast to other parser
generators? As EBNF is already about forms of expression grammars,
what is meant here that not having that could still be called EBNF?
That might be only my ignorance, so my question: "Does this
'natural style of' give anyone a information they would want when
determining if installing or uninstalling this package?"

What is "scannerless"? After considering that "does not contain a
scanner" does not make much sense I guess it means I do not need
something like flex run first to translate the input into tokens?
Perhaps that can also expressed more generally understandable.

If all my guesses above are right, that would result in something
like:

 DParser is a scannerless GLR parser generator that converts
 a grammar given in EBNF (extended Backus-Naur form) and
 regular expressions into  to parse
 that grammer without needing an extra scanner to tokenize the
 input.

(With perhaps "GLR" being replaced with "GLR (generalized left-to-right,
rightmost deviation)" and perhaps "to tokenize the input" removed).


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120414133220.gb2...@client.brlink.eu



Re: On init in Debian

2012-03-21 Thread Bernhard R. Link
* Marco d'Itri  [120321 09:34]:
> On Mar 21, Svante Signell  wrote:
> > And how do you expect non-experts be able to solve problems when they
> > pop up. Buying consultant services from the experts?
> Non-experts are not able to solve any problem, so this is not an issue.

I'm really fed up with this elitism. There are not only experts and
people knowing nothing. The is a wide range between.

By building things that either work or are impossible to fix you might
be able to finaly produce a situation like that, with dependent users
not being able to do anything and only people taking some explicit
courses able to fix things.

But that is neither was the situation currently is in the Linux world
not what it should become.

Actually I think enabling people to gradually understand the system
they use and being able to fix the problems they run into is a even
more important part of freedom than just licenses. What good is being
allowed by law to modify your system if the system itself treats you
as a child that should not mess with anything?

Where should future free software writers origin from if there is a
barrier erected between users and 'experts'?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120321090152.ga2...@client.brlink.eu



Re: Enabling hardened build flags for Wheezy

2012-03-07 Thread Bernhard R. Link
* Charles Plessy  [120307 16:27]:
> Thanks (and thanks Cyril) for the hint.  Still there are two things
> I do not understand:
>
>  - Why and when it is a problem to add preprocessor flags in CFLAGS.

Becuase CFLAGS is not meant for preprocessor flags. Adding stuff in
unexpected places might break correct stuff.

There are usually 4 variables for C/C++ code:

CPPFLAGS is for options for the preprocessor like -D and -I
CFLAGS is flags for the C compiler
CXXFLAGS is flags for the C++ compiler
LDFLAGS if flags for the linker.

The rules are:
- if you call the preprocessor, or a compiler in a way to call the
  preprocessor, you give it CPPFLAGS.
- if you call the linker (ideally by calling the compiler in a way
  to invoke the linker (i.e. without -c)) you give it LDFLAGS.
- if you call the compiler, you give it CFLAGS (for gcc) or CXXFLAGS
  (for g++).

That is you usually have something like (with usually more variables,
as most software needs some hardcoded values that should not go in the
user variables):

 g++ $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) bar.cc -o progname
 gcc $(CPPFLAGS) $(CFLAGS)   $(LDFLAGS) bar.c  -o progname
 g++ $(CPPFLAGS) $(CXXFLAGS) -c foo.cc -o foo.o
 gcc $(CPPFLAGS) $(CFLAGS)   -c foo.c  -o foo.o
 g++ $(CXXFLAGS) $(LDFLAGS) foo.o  -o progname
 gcc $(CFLAGS)   $(LDFLAGS) foo.o  -o progname

The reason you should give CFLAGS/CXXFLAGS when giving the compiler a .o
file is that linking might also produce code (when using lto, or when
generating shared libraries, or ...) which needs to get the same
options.

Thus depending on upstream's build scripts, you might need to put
multiple flags in different variables (sometimes putting CPPFLAGS
and CFLAGS in a variable called CFLAGS, sometimes CFLAGS and LDFLAGS
in a variable called LDFLAGS and so on).

>  - Why we chose the solution that require more extensive changes
>to the packages.

By having each categorie in its own variable and having those variables
named as the influental GNU coding standards requiring them to be, we
get the possibility to support any system and doing the right thing
automatically for the majority. (Merging values is easy, splitting is
not).

It requires no change for good packages. For packages not following the
usual semantics you will have to find out which flags to put where
anyway, so it does not get more complicated, either.

Also note that if upstream's build system does not support CPPFLAGS,
chances are it does not support LDFLAGS either. So you might want to
look at this and perhaps mangle it into something either).

Another often seen mistake in hand-written Makefiles is using CFLAGS
when compiling c++ code. In the easy case of only having c++ code that
means you might need to give CXXFLAGS into a variable named CFLAGS.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120307190137.ga17...@server.brlink.eu



Re: Quilt patch for patching things in the debian folder

2012-03-07 Thread Bernhard R. Link
* Neil Williams  [120307 10:35]:
> Not within Debian uploads and buildd's, true, but there are good reasons
> for this to remain technically possible for derivatives. The ability for
> someone downstream of Debian to patch debian/control[.in] and [...]

On the other hand that is also a very good reason to forbid that.
Whether it might make sense for derivatives to mangle upstream with
packaging changes in other files might be a matter of opinion
(I'm personally quite happy that is no longer possible), but
debian/control should really be something you should be able to extract
in a sane way. I consider it one of the major flaws of 1.0 packages that
you cannot sanely extract debian/control out of it (you can do some
heuristics that can extract most of the packages like changestool
(from package repepro) does, but no always working way), while 3.0
(quilt) there is a nice easy way, especially because packaging
information has a canonic place and is not changed by patches.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120307111527.gb14...@server.brlink.eu



the advantages of supporting many architectures.

2012-02-28 Thread Bernhard R. Link
* Uoti Urpala  [120227 22:02]:
> Bernhard R. Link wrote:
> > While there might be some problems originating from some architecture,
> > but most problems you will see and people claim to be "problems specific
> > to fringe architectures" are actual bugs in the program you just do not
> > *yet* see on your usual pet architectures. And some more because the
> > program is just doing some very narrowing assumptions.
>
> Yes, such bugs do exist. However, I think the benefit of testing on
> other architectures to uncover such bugs has been exaggerated.

I think the benefit was that we have a amd64 port almost instantly.
I guess without it there would have been years before most people would
have dared to use 64 bit userspace. (Considering how long people used
32 bit userspace to still have flash and stuff running easily, imagine
what would have happend if major parts of the free software stack would
still have had that problems).

> Many of
> the problems that end up taking the most time are toolchain issues
> specific to the architecture.

While those are the most annoying ones, in my experience they are the
absolute minority.

> Typical free software projects already
> have multiple known issues that actually affect people even on popular
> architectures; ability to find one more thing that's in principle broken
> is not particularly valuable.

Depends on what free software projects you use. Usually the hard part
about getting them bug-free is finding the bugs, not fixing them.
Every bug hitting the maintainer directly and now usually does not even
exist in the release.

> > Imagine how long amd64 would have taken, if people had not had years
> > to fix all those 64 bit bugs on alpha first (Which never really got
> > a mainstream architecture and where it was used was quite server-only.
> > Who would have guessed that fixing games to run there would have had
> > benefits in a so soon future?)
>
> I'm not sure exactly how long more AMD64 support would have taken
> without Alpha, but I think it would have become supported reasonably
> fast in any case, and likely with substantially less overall effort than
> by fixing issues as they come up through Debian Alpha builds. "First
> upstream developer of a game gets an AMD64 machine and makes the game
> run on it" is just inherently a lot more efficient than "Debian
> maintainer forwards reports about game not working on Alpha".

Without the whole software stack mostly ready to be used with 64 bit,
how many upstreams would run their 64 bit machines with a 64 bit
userspace? And how often do upstreams buy new computers?

And most of the time it is "Debian maintainer forwards patch to
upstream", whether that patch is from a user, a maintainer or a porter.

> If you want to help the development of upstream projects in general,
> there's an obvious thing that could use more resources: make sure that
> the latest upstream code is always available in Debian unstable (or if
> it's likely to cause breakage, at least in experimental), and don't let
> the introduction of new upstream versions in unstable stop around
> releases.

Having satisfied users also helps upstream. Thus preparing a tested
release users can actually use helps upstream more than just someone
looking at their latest versions.

> Getting more feedback about changes quickly is a lot more
> important than testing on unusual architectures.

Those are different eyes. The big advantage of different architectures
is the variety. Bugs in the code causing the compilers only generating
working programs by chance for example is something that is better
caught on some "unusual" architecture first. There only a few users are
effected. If the bug is only caught once there is a newer compiler,
then it effects far more people. (And if there was no distribution out
there fixing those bugs in upstream software then more upstream projects
would fail with newer compilers, making it impossible in the long run
to switch to newer compiler versions).

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120228171152.gb3...@server.brlink.eu



Re: A few observations about systemd

2012-02-27 Thread Bernhard R. Link
* Uoti Urpala  [120226 20:20]:
> If someone complained about a nontrivial s390-specific problem in a
> context where I was upstream, I'd likely ignore him. In the Debian
> context, people other than porters should not be obligated to do
> significant work to resolve problems specific to fringe architectures,

It's the task of a maintainer to fix their packages. It's the task of
the porters to help the maintainers with this.

While there might be some problems originating from some architecture,
but most problems you will see and people claim to be "problems specific
to fringe architectures" are actual bugs in the program you just do not
*yet* see on your usual pet architectures. And some more because the
program is just doing some very narrowing assumptions.

Imagine how long amd64 would have taken, if people had not had years
to fix all those 64 bit bugs on alpha first (Which never really got
a mainstream architecture and where it was used was quite server-only.
Who would have guessed that fixing games to run there would have had
benefits in a so soon future?)



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120227162242.ga2...@client.brlink.eu



Re: upstart: please update to latest upstream version

2012-02-24 Thread Bernhard R. Link
* Russ Allbery  [120224 19:28]:
> Staring at the bug and the makefile and thinking hard is usually sufficient.

It's usually sufficient (because the concept is quite easy), but once
that does not work there is hardly any other chance, except wild
experimenting (which I hardly would like to do with by boot system).
I've yet to see a case where -d actually helps.

> One of the primary features of newer init systems like upstart and systemd
> is that they take care of the routine stuff automatically and thereby
> reduce the conceptual surface of your init script equivalent.  Simpler
> things are inherently easier to debug; there are fewer variables.

It's just a much more complicated setup. Daemons like to all have their
special little quirks. And starting or shutting down a system tends to
belong to the most ugly things to debug. Also note that quite some
functionality will be some C code especially the early and very late
code, I guess, where debugability is the hardest.

> Yes,
> the underlying infrastructure has to not be buggy, just like make has to
> not be buggy, but now you're talking about debugging systemd or make, not
> your init script, and you now have the benefit of lots of eyes.

So software will ever be without bugs. The question is not: Will it have
bugs? The question is: What effects will bugs have?

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120224214914.ga5...@client.brlink.eu



Re: upstart: please update to latest upstream version

2012-02-24 Thread Bernhard R. Link
* Tollef Fog Heen  [120224 13:05]:
> > And that is exactly why I think you will likely need to be C programmer
> > and understand the internals of systemd to debug your boot process and
> > to fix it in case you have problems.
>
> How do you come to that conclusion?  It's not like you need to be a C
> programmer to debug CSS files or a C programmer to debug Makefiles.

As big a fan of Makefile that I am, but they are essentially
undebugable.

> (Often you can get away with just doing systemctl restart foo.service;
> strace -p $(pidof process), but I guess you'd consider that
> cheating. :-)

If you want to know why something does not start then this won't help
much.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120224120746.ga20...@server.brlink.eu



Re: upstart: please update to latest upstream version

2012-02-24 Thread Bernhard R. Link
* Tollef Fog Heen  [120224 10:45]:
> ]] "Bernhard R. Link"
> > * Tollef Fog Heen  [120223 22:21]:
> > > ]] "Bernhard R. Link"
> > > Your shell is most likely implemented in C, but it's not like you sit
> > > down and have to debug it every other day.  Why do you assume that you
> > > need to do so just because policy is encoded in .ini-like files instead
> > > of shell scripts?
> >
> > Because shell is general purpose (and well known) enough that you can
> > modify it sensibly. [...]
>
> I think you're approaching the problem from a somewhat weird direction.
>
> systemd unit files are declarative.

And that is exactly why I think you will likely need to be C programmer
and understand the internals of systemd to debug your boot process and
to fix it in case you have problems.

Or if you want to do anything not explicitly supported (for example,
how easy is it with systemd to run a daemon within strace?) you might
need to replace the declarative part with a shell script part, which
most people will not be able to do easily.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120224110300.ga25...@client.brlink.eu



Re: upstart: please update to latest upstream version

2012-02-24 Thread Bernhard R. Link
* Tollef Fog Heen  [120223 22:21]:
> ]] "Bernhard R. Link"
> Your shell is most likely implemented in C, but it's not like you sit
> down and have to debug it every other day.  Why do you assume that you
> need to do so just because policy is encoded in .ini-like files instead
> of shell scripts?

Because shell is general purpose (and well known) enough that you can
modify it sensibly. In the long run systemd init support might grow its
own language to be just another shell, but I guess until then of the
typical quick-hack constructs like addings some echos, adding some
cleaning code before, conditionally starting stuff, or multiple times
until some condition is reached, with some filedescriptors redirected,
with a strace or ltrace and things like that will not all possible in
a way one can easily do.

> > I've no problem with Debian supporting multiple init systems. But if
> > someone claims maintaince costs are too high for that, that is in my
> > eyes a reason against supporting systemd, not for only having it.
>
> Systemd is already in Debian, works for quite some people does not
> impose any maintenance burden on people who don't use it.  I really
> don't see why you keep advocating removing it.

Let me try to rephrase it, as I seem to have failed to formulate it
understandable the first two times:

What I try to say is "If there can only be one, then this should not
be systemd. So if Debian shall have systemd, it should support multiple
init systems."

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120224074733.ga2...@client.brlink.eu



Re: upstart: please update to latest upstream version

2012-02-23 Thread Bernhard R. Link
* Josselin Mouette  [120223 18:36]:
> Seriously, this constant obstruction to improving the Debian system by a
> minority of whiners who don’t contribute much to relevant parts of the
> system but have an opinion on everything is getting intolerable.

As long as you react to everything not your opinion with insults I will
not take much efford to fix your packages but rather try to get the
packages I use in a working state.

    Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120223174211.ga10...@client.brlink.eu



  1   2   3   4   5   >