Re: Little redesign of package files for 1.3

"Isak Savo" <[email protected]>
Newsgroups gmane.comp.autopackage.devel
Message-ID <[email protected]>
On Wed, May 28, 2008 at 1:21 PM, Jan Niklas Hasse <[email protected]> wrote:
> Hi everyone!
>
> I thought about 64 bit support. As Isak said, it would need a new major
> version because of the new parameter "CpuArchitectures" in the header.

Indeed.

> Furthermore I read this criticism of autopackage:
> http://kitenet.net/~joey/blog/entry/autopackage_designed_by_monkeys/
> Although is definitely not very nice, he does has his points: Autopackage is
> indeed more like an installer then a "package" which can be easily read by
> other programs. But I also think it's easy to fix his criticisms:

The problem with that post is (among other things) that all the
arguments are based upon the (IMO wrong) assumption that
a) the deb/rpm model of packages is superior
and
b) it is a good thing to be able to convert the package or somehow
"open" it from another program.

> - no formal design documentation:
> -> add a page for this in the trac wiki

But we do have documentation. Sure, we could have even more
documentation, especially regarding the design of the system but that
has never been a priority for us. Focus has always been on making
documentation for packagers and end users.

> - package must be executed to extract its content
> -> add skip_lines, meta_size, data_size and compression to the header and
> document how to use them in the wiki page

Sure, that would be possible. Although I'm not sure I see the use case
really. I'm not gonna do it just to satisfy people like Joey Hess.

> - no path info in the payload
> -> advise developers to import everything in the right path into their
> payload. This should be automatically done by "make install $build_root" and
> "import *". Then there should be a function called "installEverything" which
> scans the data payload (like the function analyse() in makepackage) and
> calls the correspondenting (ehm.. right word?) function (e.g. installBinary
> for files in /usr/bin).

If i understand this argument correctly, then one of our main
advantages are suddenly converted into a argument against autopackage?

No, we don't put the path info in the payload, since we don't want the
application to care about where it is installed. It is thanks to this
that we can allow non-root installs for instance. That is not possible
with traditional systems (in practice at least, I know there are
features of rpm and/or deb that can do this theoretically)

> - not a true package format, just a bunch of shell scripts
> -> move everything not needed inside the metadata to the support code. The
> support code should not need to execute the package. A big advantage of this
> is: If there's a bug inside some meta scripts (like
> http://trac.autopackage.org/ticket/45) developers don't need to recreate all
> there package but only users need to download the new version of
> autopackage. Also autopackages would become smaller.

I can somewhat agree with this. But not for the arguments he's using
("It's not a true package format", as if that's a goal in itself), but
rather to make the distinction between *the package* and *autopackage
support code*. The reason you highlighted is a good one for example.

> I'm not sure if you actually discussed this some time ago (I'm reading the
> mailing list since 2007), I'm sorry if someone has already brought this up.
> What do you think?

It's been discussed, in various forms. Most of the arguments against
autopackage boils down to "it's executable and therefore dangerous"
alternatively "it's not centralized, so how can you trust that the
package is 'safe'".

They both boils down to "who do you trust?" We argue that the
person/team making the package is the same as is writing the actual
program. If you trust the program, why not trust the package? The
autopackage parts are available on our svn repository and is 100% open
source (with a few pieces of code in the public domain).
As far as the 'autopackages contains executable code' argument is
concerned, well so does your average .deb and .rpm...

The centralized vs decentralized argument is more a matter of religion
than actual facts, but the recent debian ssh security bug should at
least show that the centralized distribution model isn't really a
solution. In addition, few (none?) distributions actually scan all the
software in their repositories for "evil" code before they are
distributed. (Plus the discussion about "what is evil code". Mike has
discussed this on his blog (http://mikehearn.wordpress.com). He's a
clever guy, and its worth a read.)

-Isak

---------------------------------------------------------------------
To unsubscribe, e-mail: autopackage-dev-unsubscribe-OfajU3CKLf1/[email protected]
For additional commands, e-mail: autopackage-dev-help-OfajU3CKLf1/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.