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

Emdebian Grip debootstrap results



OK, I now have an Emdebian Grip repository for:

neil@holly:grip$ ls dists/unstable/main/
binary-amd64  binary-arm  binary-armel  binary-i386  binary-mips  binary-mipsel  binary-powerpc  debian-installer  source

edos-debcheck is happy with each one:

neil@holly:grip$ edos-debcheck -explain -failures  < dists/unstable/main/binary-mipsel/Packages 
Parsing package file...  0.0 seconds     116 packages
Generating constraints...  0.0 seconds
Checking packages... 0.0 seconds           
neil@holly:grip$ edos-debcheck -explain -failures  < dists/unstable/main/binary-arm/Packages 
Parsing package file...  0.0 seconds     112 packages
Generating constraints...  0.0 seconds
Checking packages... 0.0 seconds           
neil@holly:grip$ edos-debcheck -explain -failures  < dists/unstable/main/binary-i386/Packages 
Parsing package file...  0.0 seconds     114 packages
Generating constraints...  0.0 seconds
Checking packages... 0.0 seconds           
neil@holly:grip$ edos-debcheck -explain -failures  < dists/unstable/main/binary-amd64/Packages 
Parsing package file...  0.0 seconds     113 packages
Generating constraints...  0.0 seconds
Checking packages... 0.0 seconds           


However, debootstrap is *NOT* a happy bunny.

First of all, /usr/share/info/dir does not exist (because Grip removes
info pages).

Then, update-alternatives fails for mawk because of /usr/share/man:

...
I: Extracting tzdata...
I: Extracting util-linux...
I: Extracting zlib1g...
I: Installing core packages...
W: Failure trying to run: chroot /home/neil/tmp/test dpkg --force-depends --install var/cache/apt/archives/mawk_1.3.3-13em1_amd64.deb

Reproducing that line gives:

neil@holly:tmp$ sudo chroot /home/neil/tmp/test dpkg --force-depends --install var/cache/apt/archives/mawk_1.3.3-13em1_amd64.deb
(Reading database ... 1020 files and directories currently installed.)
Preparing to replace mawk 1.3.3-13em1 (using .../mawk_1.3.3-13em1_amd64.deb) ...
Unpacking replacement mawk ...
Setting up mawk (1.3.3-13em1) ...
update-alternatives: unable to make /usr/share/man/man1/nawk.1.gz.dpkg-tmp a symlink to /etc/alternatives/nawk.1.gz: No such file or directory
dpkg: error processing mawk (--install):
 subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
 mawk

The same debootstrap scripts used against the filter repository
(unchanged packages, just less of them) works fine with debootstrap.

i.e. some changes are going to be necessary in the packages
for /usr/share/man and /usr/share/info to be removable.

$ sudo mkdir -p test/usr/share/man/man1

Then other failures result from the lack of /usr/share/doc (which is supposed to be neutral):

Setting up gcc-4.3-base (4.3.2-1em1) ...
ln: accessing `/usr/share/doc/gcc-4.3-base/.copyright': No such file or directory

and install-info fails constantly - creating an
empty /usr/sbin/install-info solves that problem.

final touches:
# touch /usr/share/doc/gcc-4.3-base/.copyright
# touch /usr/share/doc/gcc-4.3-base/.changelog.Debian.gz
# dpkg --configure -a
Setting up gcc-4.3-base (4.3.2-1em1) ...
root@holly:/# 

Testing continues because debootstrap failed to install quite a few
packages - install-info seemed to really break things - but a few manual
dpkg -i commands and a few dpkg --configure -a got it sorted out.

After sorting out a few missing packages, it seems OK.

With the same 111 packages installed, I get:

~/tmp/test was created from /opt/reprepro/grip
~/tmp/test was created from /opt/reprepro/filter - i.e. Debian

neil@holly:grip$ sudo du -hs ~/tmp/test/
92M	/home/neil/tmp/test/
neil@holly:grip$ sudo du -hs ~/tmp/test2/
159M	/home/neil/tmp/test2/

42% smaller.

:-))

(The actual figures reflect post-debootstrap
where /var/cache/apt/archives is still full.)

After apt-get clean in each:

neil@holly:grip$ sudo du -hs ~/tmp/test/
70M	/home/neil/tmp/test/
neil@holly:grip$ sudo du -hs ~/tmp/test2/
118M	/home/neil/tmp/test2/

Still 40% smaller by my calculations. If I've got that right, it's
better than expected. (Emdebian Crush gets to 24Mb for the same kind of
package set, based on busybox instead of coreutils.)

I'm also doing a straight debootstrap against ftp.uk.debian.org for
comparison:

neil@holly:tmp$ sudo du -hs test3
188M	test3
after apt-get clean:
neil@holly:tmp$ sudo du -hs test3
146M	test3

I make that 52% smaller - twice the reduction I was expecting - it has
installed 10 more packages which I need to check out and see if Grip
actually needs them. meld tells me these are:
Needed:
libdevmapper1.02.1, libgnutls26, liblzo2-2, libusb-1.0-0 (we have
libusb-0.1-4 but Debian Sid has both), libwrap0, tcpd, vim-tiny,
whiptail
Not needed:
gcc-4.2-base, info, 

Now to modifying that debootstrap suite script . . . .

(Once Lenny is released, I'll see about bug reports to fix the relevant
Debian packages.)

If I can get that to work, I'll release emdebian-tools 1.4.12 and set
about initialising these Grip repositories on buildd.emdebian.org for
wider testing.

One problem has appeared that I'm not sure about solving:
binNMUs for a single architectures can get missed.

I'll work on that.

However, I do have support for adding an architecture to the supported
list - that's how I implemented mips and mipsel support. That change
will be in 1.4.12 and is now in Emdebian SVN.

-- 


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


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


Reply to: