[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: different size of own build packages in comparing to repository' ones



On Fri, 10 Jul 2009 11:18:39 +0800
debuser <debuser@yandex.ru> wrote:

> I have an emdebian grip mirror and I'd like to build all packages from
> sources.

Grip isn't actually built from source, at least not directly. It is
built from Debian binaries which are natively built from source by the
Debian buildd system. To build an Emdebian Grip mirror, you simply
use the emdebian-grip-server package and download the built binaries
from Debian. Grip is *not* about rebuilding packages, it repacks
existing, natively built, packages from Debian.

To build new packages for Grip, first build them for Debian (using
dpkg-buildpackage) on a native system (or suitable i386 chroot) and then
use emgrip on the results. Do not use 'dpkg-buildpackage -a' for Grip,
just dpkg-buildpackage.

> Arch: i386
> 
> I use emdebuild -a i386 for that.

emdebuild builds for Crush, not Grip. Crush removes more files because
it passes more options to emgrip. Grip uses DEB_BUILD_OPTIONS="usegrip"
and Crush uses DEB_BUILD_OPTIONS="usecrush" - the differences between
the two are described in the emgrip manpage.

To simply grip a package that has already been natively built by
Debian, just use emgrip. See emgrip (1).

Mixing packages from Crush (emdebuild) with ones from Grip (emgrip
alone) is untested (but may be necessary in some cases where emdebuild
would fail - i.e. the reverse of what you are doing).

Using the latest emdebian-tools from unstable, you'll be able to see
this in the package description - if you use emdebuild, the package
will describe itself as (crushed) and as an "Emdebian Crush package".
If you use emgrip on a natively built package, it will describe itself
as (gripped) and as an "Emdebian Grip package". Use debdiff to compare
the final .deb files (you can also compare the .dsc and .changes with
debdiff.)

Crush does not need to support building packages on a system running
Crush, so it ditches parts of packages that are build-system related.
Grip preserves such files.

> For example, I'm trying to build a a2ps_4.14 package.
> After the process is finished I have  a2ps_4.14-1em1_i386.deb, 
> but it's size is 675740 when the size of a2ps_4.14 package from
> repository is 682004.
> 
> Is it normal ? the same situation with many other packages.

A different md5sum and a difference of a few bytes in two Grip packages
is entirely normal because the package is being unpacked, modified and
then repacked and 'dpkg-deb' tends to make different sizes when
repacking the same files on different systems.

The other difference is because you are comparing a package for Grip
with a package for Crush.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpG6DEu35F_Z.pgp
Description: PGP signature


Reply to: