X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@lists.alpinelinux.org Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by lists.alpinelinux.org (Postfix) with ESMTP id 664BB1EBFEE for ; Wed, 17 Nov 2010 17:53:31 +0000 (UTC) Received: by eyb7 with SMTP id 7so1367060eyb.13 for ; Wed, 17 Nov 2010 09:53:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=dI2CGZNvTzZj3mclo3lc9kTyfPWkBxoDhgKbfIgPNK4=; b=xoMS2/fEslGHi/7Mgk0XViDC0br8P2B2boxs3Pk0G3RK3kEu6Af5ktshbXy8lpjIbN 1lBeAQnHYdZvXFH+tYQ5naRZieQ2zQo0ENVSNl5tMWDAKLDMt0xjmd7Bb7XE/mlUhwx4 09SLiMk971vVNvBNKntIcnR6dggnlRSsGFHyg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=uWmtpST4uTjMqr5kG4z/rSTPI93ELPFQ/iNOkTY+r1TXrTeubxNu4mbQHLPiWFLqP1 IJ1644UMesAfGrrPK85DkX4PeY120Xi3onO9sDpLUdwHG8WqMiwZ4WVNpzfQwdl1XBUn 0WSI5za9DwAJ6pf8wRqzATJXQg2P+dDnvJxTY= X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Received: by 10.14.37.10 with SMTP id x10mr1853613eea.6.1290016409363; Wed, 17 Nov 2010 09:53:29 -0800 (PST) Received: by 10.14.47.6 with HTTP; Wed, 17 Nov 2010 09:53:29 -0800 (PST) In-Reply-To: <1288805368-2382-1-git-send-email-cbanta@gmail.com> References: <1288805368-2382-1-git-send-email-cbanta@gmail.com> Date: Wed, 17 Nov 2010 20:53:29 +0300 Message-ID: Subject: Re: [alpine-devel] [PATCH] testing/bcfg2 new package From: qnx4ever To: Cameron Banta Cc: alpine-devel Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello Everyone ! I would like to be in the loop of the latest developments and trends with Alpine Linux, but I do not use those daily patches being distributed. Is there any way we can have a separate distribution group for compiling mosters ;) Or should I move to alpine-lamers distribution list ;) ? On Wed, Nov 3, 2010 at 8:29 PM, Cameron Banta wrote: > --- > =A0testing/bcfg2/APK.py =A0 =A0 =A0 =A0 =A0 =A0 | =A0 58 ++++++++++++++++= ++++++++++++++++++++++ > =A0testing/bcfg2/APKBUILD =A0 =A0 =A0 =A0 =A0 | =A0 40 ++++++++++++++++++= ++++++++ > =A0testing/bcfg2/bcfg2-server.initd | =A0 23 +++++++++++++++ > =A03 files changed, 121 insertions(+), 0 deletions(-) > =A0create mode 100644 testing/bcfg2/APK.py > =A0create mode 100644 testing/bcfg2/APKBUILD > =A0create mode 100644 testing/bcfg2/bcfg2-server.initd > > diff --git a/testing/bcfg2/APK.py b/testing/bcfg2/APK.py > new file mode 100644 > index 0000000..9b28d52 > --- /dev/null > +++ b/testing/bcfg2/APK.py > @@ -0,0 +1,58 @@ > +"""This provides Bcfg2 support for alpinelinux APK packages.""" > +__revision__ =3D '$Revision$' > + > +import Bcfg2.Client.Tools > + > +class APK(Bcfg2.Client.Tools.PkgTool): > + =A0 =A0"""apk package support.""" > + =A0 =A0name =3D 'APK' > + =A0 =A0__execs__ =3D ["/sbin/apk"] > + =A0 =A0__handles__ =3D [('Package', 'apk')] > + =A0 =A0__req__ =3D {'Package': ['name', 'version']} > + =A0 =A0pkgtype =3D 'apk' > + =A0 =A0pkgtool =3D ("/sbin/apk add %s", ("%s", ["name"])) > + > + =A0 =A0def __init__(self, logger, setup, config): > + =A0 =A0 =A0 =A0Bcfg2.Client.Tools.PkgTool.__init__(self, logger, setup,= config) > + =A0 =A0 =A0 =A0self.installed =3D {} > + =A0 =A0 =A0 =A0self.RefreshPackages() > + > + =A0 =A0def RefreshPackages(self): > + =A0 =A0 =A0 =A0"""Refresh memory hashes of packages.""" > + =A0 =A0 =A0 =A0names =3D self.cmd.run("/sbin/apk info")[1] > + =A0 =A0 =A0 =A0nameversions =3D self.cmd.run("/sbin/apk info -v")[1] > + =A0 =A0 =A0 =A0for pkg in zip(names, nameversions): > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0pkgname =3D pkg[0] > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0version =3D pkg[1][len(pkgname)+1:] > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0self.logger.debug(" pkgname: %s\n versio= n: %s" % (pkgname, version)) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0self.installed[pkgname] =3D version > + > + =A0 =A0def VerifyPackage(self, entry, modlist): > + =A0 =A0 =A0 =A0"""Verify Package status for entry.""" > + =A0 =A0 =A0 =A0if not 'version' in entry.attrib: > + =A0 =A0 =A0 =A0 =A0 =A0self.logger.info("Cannot verify unversioned pack= age %s" % > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 (entry.attrib['name'])) > + =A0 =A0 =A0 =A0 =A0 =A0return False > + > + =A0 =A0 =A0 =A0if entry.attrib['name'] in self.installed: > + =A0 =A0 =A0 =A0 =A0 =A0if entry.attrib['version'] =3D=3D 'auto' or self= .installed[entry.attrib['name']] =3D=3D entry.attrib['version']: > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#if not self.setup['quick'] and \ > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0entry.g= et('verify', 'true') =3D=3D 'true': > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#FIXME: We should be able to check this = once > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# =A0 =A0 =A0 http://trac.macports.org/t= icket/15709 is implemented > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return True > + =A0 =A0 =A0 =A0 =A0 =A0else: > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 self.loggger.info( " pkg %s at version %s, = not %s" % (entry.attrib['name'],self.installed[entry.attrib['name']],entry.= attrib['version']) ) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0entry.set('current_version', self.instal= led[entry.get('name')]) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return False > + =A0 =A0 =A0 =A0entry.set('current_exists', 'false') > + =A0 =A0 =A0 =A0return False > + > + =A0 =A0def RemovePackages(self, packages): > + =A0 =A0 =A0 =A0"""Remove extra packages.""" > + =A0 =A0 =A0 =A0names =3D [pkg.get('name') for pkg in packages] > + =A0 =A0 =A0 =A0self.logger.info("Removing packages: %s" % " ".join(name= s)) > + =A0 =A0 =A0 =A0self.cmd.run("/sbin/apk del %s" % \ > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 " ".join(names)) > + =A0 =A0 =A0 =A0self.RefreshPackages() > + =A0 =A0 =A0 =A0self.extra =3D self.FindExtraPackages() > diff --git a/testing/bcfg2/APKBUILD b/testing/bcfg2/APKBUILD > new file mode 100644 > index 0000000..7f45976 > --- /dev/null > +++ b/testing/bcfg2/APKBUILD > @@ -0,0 +1,40 @@ > +# Contributor: Cameron Banta > +# Maintainer: Cameron Banta > +pkgname=3Dbcfg2 > +pkgver=3D1.1.1 > +pkgrel=3D0 > +pkgdesc=3D"configuration management tool" > +url=3D"trac.mcs.anl.gov/project/bcfg2" > +license=3D"Custom" > +depends=3D"python" > +makedepends=3D"python-dev" > +install=3D > +subpackages=3D"$pkgname-doc $pkgname-server" > +source=3D"ftp://ftp.mcs.anl.gov/pub/bcfg/$pkgname-$pkgver.tar.gz > + =A0 =A0 =A0 bcfg2-server.initd > + =A0 =A0 =A0 APK.py" > + > +#no build needed - pure python > + > +package() { > + =A0 =A0 =A0 cd "$srcdir"/$pkgname-$pkgver > + =A0 =A0 =A0 cp "$srcdir"/APK.py src/lib/Client/Tools/ > + =A0 =A0 =A0 python setup.py bdist_dumb --keep-temp --bdist-dir "$pkgdir= " > + > + =A0 =A0 =A0 install -m644 -D COPYRIGHT "$pkgdir"/usr/share/licenses/$pk= gname/COPYRIGHT > +} > + > +server() { > + =A0 =A0 =A0 depends=3D"python bcfg2 py-lxml openssl" > + > + =A0 =A0 =A0 mkdir -p "$subpkgdir"/usr/bin > + =A0 =A0 =A0 mv "$pkgdir"/usr/bin/bcfg2-* "$subpkgdir"/usr/bin/ > + =A0 =A0 =A0 mkdir -p "$subpkgdir"/usr/share > + =A0 =A0 =A0 mv "$pkgdir"/usr/share/bcfg2 "$subpkgdir"/usr/share/ > + =A0 =A0 =A0 install -m755 -D bcfg2-server.initd "$subpkgdir"/etc/init.d= /$subpkgname > +} > + > + > +md5sums=3D"f8889d629245ecf67994469ed78fbfeb =A0bcfg2-1.1.1.tar.gz > +9a13baa6f40267ff9dbec574967c5068 =A0bcfg2-server.initd > +2acc7c5a8a031a3cb25ab3955d8d1fde =A0APK.py" > diff --git a/testing/bcfg2/bcfg2-server.initd b/testing/bcfg2/bcfg2-serve= r.initd > new file mode 100644 > index 0000000..5168f75 > --- /dev/null > +++ b/testing/bcfg2/bcfg2-server.initd > @@ -0,0 +1,23 @@ > +#!/sbin/runscript > +# > +# bcfgd - bcfg configuration daemon > +# > +# > + > +depend () { > + =A0 =A0 =A0 need net > +} > + > +start () { > + =A0 =A0 =A0 ebegin "Starting bcfg2-server" > + =A0 =A0 =A0 start-stop-daemon --start --quiet --pidfile /var/run/bcfg2-= server.pid \ > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --startas /usr/bin/bcfg2-server -- -D /var/= run/bcfg2-server.pid > + =A0 =A0 =A0 eend $? "Failed to start bcfg2-server" > +} > + > +stop () { > + =A0 =A0 =A0 ebegin "Stopping bcfg2-server" > + =A0 =A0 =A0 start-stop-daemon --stop --quiet --pidfile /var/run/bcfg2-s= erver.pid \ > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 --signal INT > + =A0 =A0 =A0 eend $? "Failed to stop bcfg2-server" > +} > -- > 1.7.3.2 > > > > --- > Unsubscribe: =A0alpine-devel+unsubscribe@lists.alpinelinux.org > Help: =A0 =A0 =A0 =A0 alpine-devel+help@lists.alpinelinux.org > --- > > --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---