diff --git a/build/deb.php b/build/deb.php new file mode 100755 index 000000000..3186f5dc9 --- /dev/null +++ b/build/deb.php @@ -0,0 +1,46 @@ +version}-1_all"); +is_dir(DEB_DEST_DIR) && passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR)); + +$dir = DEB_DEST_DIR . '/DEBIAN'; +$data = file_get_contents(DEB_SOURCE_DIR . '/DEBIAN/control'); +$data = str_replace('0.0.0', $package->version, $data); +mkdir($dir, 0755, true); +file_put_contents("{$dir}/control", $data); +copy(DEB_SOURCE_DIR . '/DEBIAN/postinst', $dir . '/postinst'); +chmod($dir . '/postinst', 0755); + +$dir = DEB_DEST_DIR . '/var/lib/snappymail'; +mkdir($dir, 0755, true); +file_put_contents($dir . '/VERSION', $package->version); +copy('data/README.md', "{$dir}/README.md"); + +$dir = DEB_DEST_DIR . '/usr/share/doc/snappymail'; +mkdir($dir, 0755, true); +copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md"); +copy('CONTRIBUTING.md', "{$dir}/CONTRIBUTING.md"); +copy('README.md', "{$dir}/README.md"); +copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md"); +//usr/share/doc/snappymail/README.Debian +//usr/share/doc/snappymail/changelog.Debian.gz +//usr/share/doc/snappymail/copyright + +// Move files into package directory +$dir = DEB_DEST_DIR . '/usr/share/snappymail'; +mkdir($dir, 0755, true); +passthru('cp -r "' . dirname(__DIR__) . '/snappymail" "' . $dir . '"'); +$data = file_get_contents('index.php'); +file_put_contents("{$dir}/index.php", str_replace('0.0.0', $package->version, $data)); +$data = file_get_contents('_include.php'); +file_put_contents("{$dir}/include.php", preg_replace('@(external-snappymail-data-folder/\'\);)@', "\$1\ndefine('APP_DATA_FOLDER_PATH', '/var/lib/snappymail');", $data)); + +passthru('dpkg --build '.escapeshellarg(DEB_DEST_DIR)); + +passthru('mv ' + . escapeshellarg(DEB_DEST_DIR.'.deb') . ' ' + . escapeshellarg(__DIR__ . "/dist/releases/webmail/{$package->version}/" . basename(DEB_DEST_DIR.'.deb')) +); + +passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR)); diff --git a/build/deb/DEBIAN/control b/build/deb/DEBIAN/control index 4f4d6840f..5d899f9a5 100644 --- a/build/deb/DEBIAN/control +++ b/build/deb/DEBIAN/control @@ -1,12 +1,7 @@ Package: snappymail Version: 0.0.0 -Maintainer: the-djmaze -Depends: - nginx | apache2 | httpd - , php-fpm | libapache2-mod-php - , php-json - , php-xml - , php-zip +Maintainer: SnappyMail +Depends: nginx | apache2 | httpd, php-fpm | libapache2-mod-php, php-json, php-xml, php-zip Suggests: php-sqlite3 | php-mysql | php-pgsql Architecture: all Homepage: https://snappymail.eu diff --git a/build/deb/DEBIAN/postinst b/build/deb/DEBIAN/postinst new file mode 100755 index 000000000..5c3c4b63b --- /dev/null +++ b/build/deb/DEBIAN/postinst @@ -0,0 +1,2 @@ +#!/bin/sh +chown -R www-data:www-data /var/lib/snappymail diff --git a/release.php b/release.php index df246c7bc..771dd5c5f 100755 --- a/release.php +++ b/release.php @@ -157,7 +157,6 @@ $tar->addFile('.htaccess'); $index = file_get_contents('index.php'); $index = str_replace('0.0.0', $package->version, $index); -$index = str_replace('source', 'community', $index); $zip->addFromString('index.php', $index); $tar->addFromString('index.php', $index); @@ -236,33 +235,7 @@ pkgname = snappymail } // Debian Repository else if (isset($options['debian'])) { - $target_dir = __DIR__ . "/build/deb/snappymail_{$package->version}-1_all"; - - $data = file_get_contents(__DIR__ . '/build/deb/DEBIAN/control'); - $data = preg_replace('/Version: [0-9.]+/', "Version: {$package->version}", $data); - $dir = $target_dir . '/DEBIAN'; - is_dir($dir) || mkdir($dir, 0755, true); - file_put_contents("{$dir}/control", $data); - - $dir = $target_dir . '/var/lib/snappymail'; - is_dir($dir) || mkdir($dir, 0755, true); - file_put_contents($dir . '/VERSION', $package->version); - - $dir = $target_dir . '/usr/share/doc/snappymail'; - is_dir($dir) || mkdir($dir, 0755, true); - copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md"); - copy('CONTRIBUTING.md', "{$dir}/CONTRIBUTING.md"); - copy('README.md', "{$dir}/README.md"); - copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md"); - //usr/share/doc/snappymail/README.Debian - //usr/share/doc/snappymail/changelog.Debian.gz - //usr/share/doc/snappymail/copyright - - $dir = $target_dir . '/usr/share/snappymail'; - is_dir($dir) ? passthru('rm -dfr "'.$dir.'"') : mkdir(dirname($dir), 0755, true); - passthru('cp -r "' . __DIR__ . '/snappymail/v/0.0.0" "' . $dir . '"'); - - passthru('dpkg --build "'.$target_dir.'"'); + require(__DIR__ . '/build/deb.php'); } // Docker build else if ($options['docker']) {