[M3devel] M3devel Digest, Vol 31, Issue 38
Peter Eiserloh
eiserlohpp at yahoo.com
Thu May 28 08:46:53 CEST 2009
Ah, yes, I only built binaries for AMD64_LINUX, against
debian-lenny (Debian 5.0). Which goes in the directory
"dists/lenny/main/binary-amd64", but your system was looking
for a directory "dists/squeeze/main/binary-i386", and failing
to find the Packages file.
To get up and running quickly, use "$apt-get source cm3", which
will work as a normal user.
--- Oops, sorry about that, okay those files are there now. ---
from
http://www.eiserloh.org/mirrors/modula3/debian/dists/lenny/main/sources/
along with the other two files.
As root, tell apt-get to update its list of .
$ sudo apt-get update
$ apt-get source cm3
apt-get will not only download the source and diff, but also
apply those diffs, giving you my source tree.
Now cd into the source tree, and make everything. Unfortunately,
I didn't use fakeroot, so you will have be root to build the *.debs.
$ sudo make -f debian/rules binary
Once that is done, cd to the parent directory, and find all the
*.deb files. Install that to a local repository and make the
index files.
$ sudo mkdir /usr/local/packages
$ sudo cp *.deb /usr/local/packages
I created a Makefile that builds those for me, here
is a copy of my Makefile.
--- BEGIN Makefile ---
# --------------------------------------------------------------------
# /usr/local/packages/Makefile
# Use this to build the Packages file for all the debian packages.
# --------------------------------------------------------------------
subdirs = binary-amd64
prefix = dists/lenny/main/
# ----------------------------------------------
all: package_index sources_index
clean:
for dir in $(subdirs) ; do \
$(RM) $${dir}/Packages* ; \
done
$(RM) sources/Source*
# -------------
package_index:
for dir in $(subdirs) ; do \
dpkg-scanpackages $${dir} /dev/null $(prefix) >$${dir}/Packages ; \
gzip -9 -c $${dir}/Packages >$${dir}/Packages.gz ; \
done
sources_index:
dpkg-scansources source /dev/null $(prefix) >source/Sources
gzip -9 -c source/Sources >source/Sources.gz
--- END Makefile ---
Now, how could I make those *.deb files for etch, or
even squeeze (debian-unstable).
I could create a chroot, and install etch onto that,
and rebuild an AMD64_LINUX (debian-etch).
Basically, the only difference would be that everything
gets linked against a different version of libc.
I don't think I could get a 32-bit OS chrooted, as my
kernel is 64-bit, and expecting syscalls from a 64-bit
user space. Hmm, thoughts of QEMU come to mind.
Actually, QEMU brings the ability to port everything, as
I could run a PPC, ARM, or any other host machine supported
by QEMU.
More work, oh well! I should be able to find a chunk of
time this weekend to start playing with QEMU.
+--------------------------------------------------------+
| Peter P. Eiserloh |
+--------------------------------------------------------+
> ------------------------------
>
> Message: 3
> Date: Wed, 27 May 2009 17:37:21 -0400
> From: hendrik at topoi.pooq.com
> Subject: Re: [M3devel] [m3devel] Packaged AMD64_LINUX for
> debian
> To: m3devel at elegosoft.com
> Message-ID: <20090527213721.GB20296 at topoi.pooq.com>
> Content-Type: text/plain; charset=us-ascii
>
> On Tue, May 26, 2009 at 06:44:47PM -0700, Peter Eiserloh
> wrote:
> >
> > Please add the following to your
> /etc/apt/sources.list
> >
> > deb http://www.eiserloh.org/mirrors/modula3/debian lenny
> main
> > deb-src http://www.eiserloh.org/mirrors/modula3/debian lenny
> main
>
> Did this, got nowhere, perhaps because it was a 32-bit
> system running
> squeeze. I got messages like:
>
> http://www.eiserloh.org lenny Release.gpg [IGNORED]
>
> Just about everything from that site was [IGNORED], except
> for
>
> http://www.eiserloh.org lenny/main Packages [ERROR]
> 404 Not Found
> http://www.eiserloh.org lenny/main Sources [ERROR]
>
> Is it worth trying on my AMD64, which runs etch instead of
> Lenny
> (becasue after upgrading a working copy of my system, the
> NFS server
> stopped working)?
>
> -- hendrik
>
More information about the M3devel
mailing list