diff options
Diffstat (limited to 'community/partimage')
-rw-r--r-- | community/partimage/PKGBUILD | 47 | ||||
-rw-r--r-- | community/partimage/partimage-0.6.9-zlib-1.2.6.patch | 35 | ||||
-rw-r--r-- | community/partimage/partimage.install | 22 | ||||
-rw-r--r-- | community/partimage/partimaged-gencrt | 18 | ||||
-rw-r--r-- | community/partimage/partimaged.service | 10 |
5 files changed, 132 insertions, 0 deletions
diff --git a/community/partimage/PKGBUILD b/community/partimage/PKGBUILD new file mode 100644 index 000000000..f3cecc40a --- /dev/null +++ b/community/partimage/PKGBUILD @@ -0,0 +1,47 @@ +# $Id: PKGBUILD 92035 2013-05-31 00:06:34Z seblu $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Roman Kyrylych <roman@archlinux.org> +# Contributor: Sven Kauber <celeon@gmail.com> +# Contributor: tardo <tardo@nagi-fanboi.net> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgname=partimage +pkgver=0.6.9 +pkgrel=4 +pkgdesc='Partition Image saves partitions in many formats to an image file.' +arch=('i686' 'x86_64') +url='http://www.partimage.org/' +license=('GPL') +depends=('libnewt' 'lzo' 'bzip2' 'openssl') +backup=('etc/partimaged/partimagedusers') +install='partimage.install' +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + 'partimage-0.6.9-zlib-1.2.6.patch' + 'partimaged-gencrt' + 'partimaged.service') +md5sums=('1bc046fd915c5debbafc85729464e513' + '202c4334766041d98c5f67c9d62c3063' + '2316b116227b07efb48266e660ca1ba1' + '5f8dae511cdfbf097409a45e9642a372') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ../partimage-0.6.9-zlib-1.2.6.patch + + ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --enable-pam + make + make pamfile +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + install -Dm0644 partimaged.pam "${pkgdir}/etc/pam.d/partimaged" + install -Dm0755 "${srcdir}/partimaged-gencrt" "${pkgdir}/usr/bin/partimaged-gencrt" + chmod 644 "${pkgdir}/etc/partimaged/partimagedusers" + + install -Dm0755 ../partimaged.service "${pkgdir}/usr/lib/systemd/system/partimaged.service" +} diff --git a/community/partimage/partimage-0.6.9-zlib-1.2.6.patch b/community/partimage/partimage-0.6.9-zlib-1.2.6.patch new file mode 100644 index 000000000..0f311d261 --- /dev/null +++ b/community/partimage/partimage-0.6.9-zlib-1.2.6.patch @@ -0,0 +1,35 @@ +diff --git a/src/client/imagefile.cpp b/src/client/imagefile.cpp +index dd83411..62d0f72 100644 +--- a/src/client/imagefile.cpp ++++ b/src/client/imagefile.cpp +@@ -783,7 +783,7 @@ void CImage::openWriting() + else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression + { + showDebug(1, "open gzip\n"); +- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "wb"); //"wb1h"); ++ m_gzImageFile = gzdopen(m_nFdImage, "wb"); //"wb1h"); + if (m_gzImageFile == NULL) + { + showDebug(1, "error:%d %s\n", errno, strerror(errno)); +@@ -1098,7 +1098,7 @@ void CImage::openReading(CVolumeHeader *vh /* = NULL */) + } + else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression + { +- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "rb"); ++ m_gzImageFile = gzdopen(m_nFdImage, "rb"); + if (m_gzImageFile == NULL) + THROW(ERR_ERRNO, errno); + else +diff --git a/src/client/imagefile.h b/src/client/imagefile.h +index 4ba8910..6adb098 100644 +--- a/src/client/imagefile.h ++++ b/src/client/imagefile.h +@@ -41,7 +41,7 @@ class CImage + COptions m_options; + + FILE *m_fImageFile; +- gzFile *m_gzImageFile; ++ gzFile m_gzImageFile; + BZFILE *m_bzImageFile; + + int m_nFdImage; diff --git a/community/partimage/partimage.install b/community/partimage/partimage.install new file mode 100644 index 000000000..4d403b177 --- /dev/null +++ b/community/partimage/partimage.install @@ -0,0 +1,22 @@ +pre_install() { + groupadd -g 110 partimag &> /dev/null + useradd -u 110 -g partimag -c "Partimage user" -d /dev/null -s /bin/false partimag &> /dev/null +} + +post_install() { + chown partimag:partimag /etc/partimaged/partimagedusers +} + +post_upgrade() { + if [ "$(getent group partimag | cut -d ':' -f 3)" != '110' ]; then + post_remove + pre_install + echo ">> partimage UID/GID has been changed" + echo ">> if you have some directories owned by partimage - please chown them again" + fi +} + +post_remove() { + userdel partimag > /dev/null + groupdel partimag > /dev/null +} diff --git a/community/partimage/partimaged-gencrt b/community/partimage/partimaged-gencrt new file mode 100644 index 000000000..16fe5ff16 --- /dev/null +++ b/community/partimage/partimaged-gencrt @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ `whoami` != "root" ]; then + echo "You must be root to generate certificates." + exit +fi + +echo -n "==> Generating certificate for Partimage/PartimageD SSL... " +cd /etc/partimaged +openssl req -new -x509 -outform PEM > partimaged.csr +openssl rsa -in privkey.pem -out partimaged.key +rm privkey.pem +openssl x509 -in partimaged.csr -out partimaged.cert -signkey partimaged.key +rm partimaged.csr +chmod 600 partimaged.key +chmod 600 partimaged.cert +chown partimag:partimag partimaged.key +chown partimag:partimag partimaged.cert diff --git a/community/partimage/partimaged.service b/community/partimage/partimaged.service new file mode 100644 index 000000000..baa682981 --- /dev/null +++ b/community/partimage/partimaged.service @@ -0,0 +1,10 @@ +[Unit] +Description=A partition imaging daemon +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=/usr/bin/partimaged --daemon + +[Install] +WantedBy=multi-user.target |