[M3devel] Installing on Ubuntu Trusty Tahr

Jay K jay.krell at cornell.edu
Wed May 28 19:08:31 CEST 2014


The .debs do have other files, at least one. See the code I pointed at.
I don't make them with the usual tools,
for an eaiser potential cross build story -- fewer dependencies.
It worked at the time.
 
 
# Debian architecture strings:
# see http://www.debian.org/doc/debian-policy/footnotes.html#f73

DebianArchitecture = {
  "LINUXLIBC6" : "i386",
  "FreeBSD4" : "i386",
  "NT386" : "i386",
  "I386" : "i386",
  "IA64" : "ia64",
  "ALPHA" : "alpha",
  "AMD64" : "amd64",
  "HPPA" : "hppa",
  "PA32" : "hppa",
  "PA64" : "hppa",
  "MIPS" : "mips",
  "MIPS32" : "mips",
  "MIPS64" : "mips",
  "PPC" : "powerpc",
  "PPC32" : "powerpc",
  "PPC64" : "ppc",
  "SOLsun" : "sparc",
  "SOLgnu" : "sparc",
  "SPARC" : "sparc",
  "SPARC32" : "sparc",
  "SPARC64" : "sparc",
  }

def MakeDebianPackage(input, prefix):
#
# .deb file format:
# an ar archive containing (I think the order matters):
#   debian-binary:
#     text file that just says "2.0\n"
#   control.tar.gz:
#     metadata, minimum is control file
#   data.tar.gz or .bz2 or .lzma
#     payload
# User has no choice where the install goes.
#
    if SearchPath("lzma"):
        compresser = "lzma"
        compressed_extension = "lzma"
    elif isfile("/home/jkrell/bin/lzma"):
        compresser = "/home/jkrell/bin/lzma"
        compressed_extension = "lzma"
    else:
        compresser = "gzip"
        compressed_extension = "gz"
    # while testing, gzip is much faster
    # compresser = "gzip"
    # compressed_extension = "gz"
    print("cd " + input)
    os.chdir(input)
    CreateDirectory("./debian")
    MoveSkel(prefix)
    newline = "\012" # take no chances
    open("./debian-binary", "w").write("2.0" + newline)
    os.chdir("./debian")
    architecture = DebianArchitecture.get(Target) or DebianArchitecture.get(Target[:Target.index("_")])
    control = (
      "Package: cm3-" + Target + "-" + CM3VERSION + newline
    + "Version: 1.0" + newline
    + "Maintainer: somebody at somewhere.com" + newline
    + "Architecture: " + architecture + newline
    + "Description: good stuff" + newline)
    print("control:" + control)
    open("./control", "w").write(control)

    command = "tar cf ../control.tar ."
    print(command)
    os.system(command)

    command = "gzip ../control.tar"
    print(command)
    os.system(command)

    os.chdir(input)
    command = "tar cf data.tar ." + prefix
    if isfile("data.tar." + compressed_extension) or isfile("data.tar"):
        print("skipping " + command)
    else:
        print(command)
        os.system(command)
    command = compresser + " data.tar"
    if isfile("data.tar." + compressed_extension):
        print("skipping " + command)
    else:
        print(command)
        os.system(command)

    command = "ar cr " + input + ".deb debian-binary control.tar.gz data.tar." + compressed_extension
    print(command)
    os.system(command)
    RestoreSkel(prefix)

 
 - Jay


 
From: estellnb at elstel.org
Date: Wed, 28 May 2014 10:03:21 +0200
To: jay.krell at cornell.edu; dragisha at m3w.org; bruceax at gmail.com
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] Installing on Ubuntu Trusty Tahr

If it is a true .deb you need to apply > ar x xy.deband then> tar -xvJ <~/aux/data.tar.xz
(A real  .deb will also contain a control .tar.gz with control, shlibs, md5sums, postinst, etc.)
It should be built with> pushd BUILD> dpkg-buildpackage -sa -kmy at email.org> popdand checked with> lintian -EvIL +pedantic my.dsc

Am 28.05.2014 um 08:42 schrieb Jay K:.deb is just a .tar.gz or .tar.bz2 or .tar.xz with a little bit more around it.
They can be fancy but ours is not, it is just a compressed .tar.
Can you just crack it open and install the underlying parts?
It is likely "position independent" and you can extract it anywhere in your file system -- /usr/local/cm3, $HOME/cm3, etc.

I build them pretty "manually" see here:
https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/scripts/python/pylib.py  
the function MakeDebianPackage
Ok, it is an actually an "ar" file, and inside the main thing is data.tar with some compression like .gz or .xz.

 - Jay

From: dragisha at m3w.org
Date: Thu, 1 May 2014 19:49:28 +0200
To: bruceax at gmail.com
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] Installing on Ubuntu Trusty Tahr

It looks like it is external to cm3 anything. But maybe .deb is incorrect in some subtle way.
--Dragiša Durićdragisha at m3w.org

On 29 Apr 2014, at 15:01, bruce axtens <bruceax at gmail.com> wrote:I am having difficulty installing cm3-LINUXLIBC6-REL.deb on Trusty? When I try to install it with Ubuntu Software Centre I get told the following:

Lintian check results for /home/bruce/Downloads/cm3-LINUXLIBC6-REL.deb:
Can't use an undefined value as an ARRAY reference at /usr/share/perl5/
Lintian/Collect/Package.pm line 513, <$_[...]> line 7562.

Is this a Perl issue or an installer issue?

-- Bruce
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20140528/cca064e6/attachment-0002.html>


More information about the M3devel mailing list