Kaydet (Commit) 412d9c3a authored tarafından sulincix's avatar sulincix

init

üst
#!/bin/bash
name="example"
version="1.0"
summary="example package"
description="example package for build test"
license="gplv3"
release="1"
source=(http://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz)
_setup(){
echo "setup" > $INSTALLDIR/hello
}
_build(){
echo "build" > $INSTALLDIR/hello
}
_install(){
echo "install" > $INSTALLDIR/hello
}
#!/bin/bash
mkdir -p $DESTDIR/usr/lib/unibuild
[ -f unibuild.sh ] && cp -prfv * $DESTDIR/usr/lib/unibuild
rm -f $DESTDIR/usr/lib/unibuild/build.sh
chmod +x -R $DESTDIR/usr/lib/unibuild/*
ln -s $DESTDIR/usr/lib/unibuild/unibuild.sh /usr/bin/unibuild
#!/bin/bash
if [ "$TARGET" == "" ] ; then
if [ -d /var/lib/dpkg ] ; then
export TARGET=debian
elif [ -d /var/lib/inary ] ; then
export TARGET=inary
fi
fi
#!/bin/bash
export CURDIR=$(pwd)
export BUILDDIR=$(mktemp -d)
export WORKDIR=$BUILDDIR/work
export INSTALLDIR=$BUILDDIR/install
export PKGDIR=$BUILDDIR/package
[ "$TARGET" == "" ] && export TARGET="default"
mkdir -p $WORKDIR $PKGDIR $INSTALLDIR
#!/bin/bash
_fetch(){
cd $WORKDIR
for src in ${source[@]} ; do
if echo "$src" | grep "git://" &>/dev/null ; then
srcloc=$(echo $src | sed "s|^.*git://|git://|g")
srcname=$(echo $src | sed "s|::git://.*$||g")
echo $srcloc $srcname
[ -d "$srcname" ] || git clone $srcloc $srcname
elif echo "$src" | grep "^git+" &>/dev/null ; then
srcloc=$(echo $src | sed "s|^git+||g")
git clone $srcloc || true
elif echo "$src" | grep "::http" &>/dev/null ; then
srcloc=$(echo $src | sed "s|^.*::||g")
srcname=$(echo $src | sed "s|::http.*$||g")
echo $srcloc
wget -c $srcloc -O $srcname
echo $srcname | grep ".tar.*" && tar -xf $srcname
elif [ -f $src ] ; then
touch $src
else
wget -c $src -O $(basename $src) || true
basename $src | grep ".tar.*" && tar -xf $(basename $src) || true
fi
done
cd $CURDIR
}
#!/bin/bash
export name="unnamed"
export version="1.0"
export release="1"
export homepage="https://example.github.io"
export url="https://gitlab.com/example"
export date="01.01.1970"
export maintainer="packager"
export email="packager@package.org"
export summary="summary missing"
export description="description missing"
export size="31"
export license="gplv3"
#!/bin/bash
export CC=gcc
export CXX=g++
export CFLAGS="-O3 -s"
export CXXFLAGS="-O3 -s"
unibuild
========
The universal **build** script system.
for install
===========
DESTDIR=*your_DESTDIR* bash install.sh
#!/bin/bash
_create_metadata(){
echo "$name-$version" > $PKGDIR/info
}
_package(){
cd $INSTALLDIR
tar -cf $PKGDIR/$name-$version.tar *
cd $PKGDIR
tar -cf $CURDIR/$name-$version.tar *
}
#!/bin/bash
__write_metadata(){
echo -e "<INARY>"
echo -e " <Source>"
echo -e " <Name>$name</Name>"
echo -e " <Homepage>$url</Homepage>"
echo -e " <Packager>"
echo -e " <Name>Auto generated</Name>"
echo -e " <Email>auto@generat.et</Email>"
echo -e " </Packager>"
echo -e " </Source>"
echo -e " <Package>"
echo -e " <RFP></RFP>"
if [ ! "$partof" == "" ] ; then
echo -e " <PartOf>$partof</PartOf>"
fi
echo -e " <Name>$name</Name>"
echo -e " <Summary xml:lang=\"en\">$summary</Summary>"
echo -e " <Description xml:lang=\"en\">$description</Description>"
if [ ! "$isa" == "" ] ; then
echo -e " <IsA>$isa</IsA>"
fi
echo -e " <License>$license</License>"
echo -e " <RuntimeDependencies>"
for dep in ${depends[@]}
do
echo -e " <Dependency>$dep</Dependency>"
done
echo -e " </RuntimeDependencies>"
echo -e " <Files>"
echo -e " <Path fileType=\"data\">/usr</Path>"
echo -e " <Path fileType=\"data\">/etc</Path>"
echo -e " <Path fileType=\"data\">/bin</Path>"
echo -e " <Path fileType=\"data\">/var</Path>"
echo -e " <Path fileType=\"data\">/lib</Path>"
echo -e " <Path fileType=\"data\">/boot</Path>"
echo -e " </Files>"
echo -e " <History>"
echo -e " <Update release=\"$release\">"
echo -e " <Date>$date</Date>"
echo -e " <Version>$version</Version>"
echo -e " <Comment>Auto generated.</Comment>"
echo -e " <Name>Auto generated</Name>"
echo -e " <Email>auto@generat.et</Email>"
echo -e " </Update>"
echo -e " </History>"
echo -e " <BuildHost>uludag</BuildHost>"
echo -e " <Distribution>Sulin</Distribution>"
echo -e " <DistributionRelease>2019</DistributionRelease>"
echo -e " <Architecture>x86_64</Architecture>"
echo -e " <InstalledSize>1</InstalledSize>"
echo -e " <InstallTarHash>@tarhash@</InstallTarHash>"
echo -e " <PackageFormat>1.2</PackageFormat>"
echo -e " </Package>"
echo -e "</INARY>"
}
_create_metadata(){
__write_metadata >> $PKGDIR/metadata.xml
}
_package(){
cd $INSTALLDIR
[ -f ../install.tar.xz ] && rm -f ../install.tar.xz
tar --xz -cf ../install.tar.xz *
echo -e "<Files>" > ../files.xml
find | sed "s|^\./||g" | while read line
do
if [ -f $line ] ; then
echo -e " <File>" >> ../files.xml
echo -e " <Path>$line</Path>" >> ../files.xml
echo -e " <Type>data</Type>" >> ../files.xml
echo -e " <Size>$(du -b $line | awk '{print $1}')</Size>" >> ../files.xml
echo -e " <Uid>0</Uid>" >> ../files.xml
echo -e " <Gid>0</Gid>" >> ../files.xml
echo -e " <Mode>0o755</Mode>" >> ../files.xml
echo -e " <Hash>$(sha1sum $line | awk '{print $1}')</Hash>" >> ../files.xml
echo -e " </File>" >> ../files.xml
fi
done
echo -e "</Files>" >> ../files.xml
mv ../files.xml $PKGDIR/files.xml
mv ../install.tar.xz $PKGDIR/install.tar.xz
cd $PKGDIR
export installtarhash="$(sha1sum install.tar.xz | awk '{print $1}')"
sed -i "s/@tarhash@/$installtarhash/g" metadata.xml
zip -r $CURDIR/$name-$version.inary *
}
#!/bin/bash
[ "$MODDIR" == "" ] && export MODDIR=/usr/lib/unibuild/modules
for mod in $(ls $MODDIR) ; do
source $MODDIR/$mod
done
source $1
source $MODDIR/../target/$TARGET
echo $TARGET
set -e
cd $BUILDDIR
_fetch
cd $WORKDIR
_setup
cd $WORKDIR
_build
cd $WORKDIR
_install
cd $WORKDIR
_create_metadata
cd $WORKDIR
_package
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment