← Back to team overview

sslug-teknik team mailing list archive

Re: tar2rpm

 

Martin Schlander <martin.schlander@xxxxxxxxx> writes:

> Jesper Thorup Nielsen wrote:
>> Den har jeg kikket på men strandede på at man skal lave en spec fil.
>
> Du slipper ikke udenom at lave en specfile, hvordan skulle pakkemanageren
> ellers vide hvilke filer der skal placeres hvor - og eventuelle andre
> scripts du måtte ønske at køre ifm. installation. Dertil kommer
> pakkebeskrivelse, versionsnumre, afhængigheder osv.

Det burde være rimlig simpelt at lave en deb-pakke ud af en tar-fil,
der bare svare til at pakke tar-filen ud i rod-kataloget. Det sværeste
er lige at lave en md5sums-fil af indholdet af tar-filen. Resten vil
jeg højst mene er 5-10 nanocakes:


(Hurtigt hacket sammen, men dog afprøvet):

#!/bin/sh

# $1 - tar.gz fil
# $2 - package name
# $3 - version

CONTROL=$( mktemp -dt )
DATA=$( mktemp -dt )

cat $1 | (cd $DATA ; tar xvzf - )

SIZE=$( du -s $DATA | cut -f1 )

cat > $CONTROL/control <<EOF
Package: $2
Section: unknown
Priority: optional
Architechture: all
Version: $3
Installed-Size: $SIZE
Maintainer: $USER
Description: Deb-package made from $1
 This package is made by deb2tar by $USER at
 $( date ) from $1
EOF

(cd $DATA; find -type f | xargs md5sum ) > $CONTROL/md5sums
(cd $CONTROL; tar cvzf control.tar.gz *)
cp $1 $CONTROL/data.tar.gz
echo 2.0 > $CONTROL/debian-binary

ar -cr $2_$3_all.deb $CONTROL/{debian-binary,control.tar.gz,data.tar.gz}

rm -Rf $CONTROL
rm -Rf $DATA

exit 0;


//Makholm

1)
http://cgi.cs.indiana.edu/~oracle/bestof.cgi?N=801-825#816-07


Follow ups

References