Andy Baugh před 5 roky
rodič
revize
133ff0191f
3 změnil soubory, kde provedl 56 přidání a 59 odebrání
  1. 40 16
      Makefile
  2. 16 20
      SPECS/BetterPostgres.spec
  3. 0 23
      install/install.pl

+ 40 - 16
Makefile

@@ -1,10 +1,34 @@
-.PHONY: all install test uninstall
-all: install
+ulc  = /usr/local/cpanel
+tmpl = /whostmgr/docroot/templates/troglodyne
+cgi  = /whostmgr/docroot/cgi/troglodyne
+vcp  = /var/cpanel/perl
+vca  = /var/cpanel/apps
+vct  = /var/cpanel/templates
+pwd  = $(shell pwd)
+ 
+.PHONY: all install register test uninstall rpm
+all: install register
 
 install:
-	/usr/local/cpanel/3rdparty/bin/perl install/install.pl
-	chmod +x /usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/pgupgrade.cgi
-	chmod +x /usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/api.cgi
+	mkdir -p $(DESTDIR)$(ulc)$(tmpl)/ui $(DESTDIR)$(ulc)$(tmpl)/config $(DESTDIR)$(ulc)$(cgi)/js $(DESTDIR)$(ulc)$(cgi)/img $(DESTDIR)$(vcp)/Troglodyne/CGI $(DESTDIR)$(vcp)/Troglodyne/API $(DESTDIR)$(vca) $(DESTDIR)$(vct)/troglodyne/config
+	install $(pwd)/templates/ui/pgupgrade.tmpl $(DESTDIR)$(ulc)$(tmpl)/ui
+	install $(pwd)/templates/config/main.default $(DESTDIR)$(vct)/troglodyne/config
+	install $(pwd)/js/pgupgrade.js $(DESTDIR)$(ulc)$(cgi)/js
+	install $(pwd)/img/troglophant.png $(DESTDIR)$(ulc)$(cgi)/img
+	install $(pwd)/cgi/pgupgrade.cgi $(DESTDIR)$(ulc)$(cgi)
+	install $(pwd)/cgi/api.cgi $(DESTDIR)$(ulc)$(cgi)
+	install $(pwd)/lib/Troglodyne/CGI/PgUpgrade.pm $(DESTDIR)$(vcp)/Troglodyne/CGI
+	install $(pwd)/lib/Troglodyne/CGI/API.pm $(DESTDIR)$(vcp)/Troglodyne/CGI
+	install $(pwd)/lib/Troglodyne/CpPostgreSQL.pm $(DESTDIR)$(vcp)/Troglodyne
+	install $(pwd)/lib/Troglodyne/API/Postgres.pm $(DESTDIR)$(vcp)/Troglodyne/API
+	install $(pwd)/lib/Troglodyne/CGI.pm $(DESTDIR)$(vcp)/Troglodyne
+	install $(pwd)/plugin/troglodyne_api.conf $(DESTDIR)$(vca)
+	install $(pwd)/plugin/better_postgres.conf $(DESTDIR)$(vca)
+	chmod 0755 $(DESTDIR)$(vca)
+	chmod +x $(DESTDIR)$(ulc)$(cgi)/pgupgrade.cgi
+	chmod +x $(DESTDIR)$(ulc)$(cgi)/api.cgi
+
+register:
 	/usr/local/cpanel/bin/register_appconfig ./plugin/better_postgres.conf
 	/usr/local/cpanel/bin/register_appconfig ./plugin/troglodyne_api.conf
 
@@ -24,17 +48,17 @@ test:
 rpm:
 	rm -rf SOURCES/*
 	mkdir -p SOURCES/BetterPostgres4cP-1.0
-	ln -s $(shell pwd)/bin SOURCES/BetterPostgres4cP-1.0/bin
-	ln -s $(shell pwd)/cgi SOURCES/BetterPostgres4cP-1.0/cgi
-	ln -s $(shell pwd)/img SOURCES/BetterPostgres4cP-1.0/img
-	ln -s $(shell pwd)/install SOURCES/BetterPostgres4cP-1.0/install
-	ln -s $(shell pwd)/js SOURCES/BetterPostgres4cP-1.0/js
-	ln -s $(shell pwd)/lib SOURCES/BetterPostgres4cP-1.0/lib
-	ln -s $(shell pwd)/plugin SOURCES/BetterPostgres4cP-1.0/plugin
-	ln -s $(shell pwd)/t SOURCES/BetterPostgres4cP-1.0/t
-	ln -s $(shell pwd)/templates SOURCES/BetterPostgres4cP-1.0/templates
-	cp $(shell pwd)/Makefile SOURCES/BetterPostgres4cP-1.0/Makefile
-	cp $(shell pwd)/configure SOURCES/BetterPostgres4cP-1.0/configure
+	ln -s $(pwd)/bin SOURCES/BetterPostgres4cP-1.0/bin
+	ln -s $(pwd)/cgi SOURCES/BetterPostgres4cP-1.0/cgi
+	ln -s $(pwd)/img SOURCES/BetterPostgres4cP-1.0/img
+	ln -s $(pwd)/install SOURCES/BetterPostgres4cP-1.0/install
+	ln -s $(pwd)/js SOURCES/BetterPostgres4cP-1.0/js
+	ln -s $(pwd)/lib SOURCES/BetterPostgres4cP-1.0/lib
+	ln -s $(pwd)/plugin SOURCES/BetterPostgres4cP-1.0/plugin
+	ln -s $(pwd)/t SOURCES/BetterPostgres4cP-1.0/t
+	ln -s $(pwd)/templates SOURCES/BetterPostgres4cP-1.0/templates
+	cp $(pwd)/Makefile SOURCES/BetterPostgres4cP-1.0/Makefile
+	cp $(pwd)/configure SOURCES/BetterPostgres4cP-1.0/configure
 	cd SOURCES && tar --exclude="*.swp" --exclude="*.swn" --exclude="*.swo" -ch BetterPostgres4cP-1.0 | gzip > ~/rpmbuild/SOURCES/BetterPostgres4cP-1.0.tar.gz
 	rpmbuild -ba --clean SPECS/BetterPostgres.spec
 	rm -rf SOURCES/*

+ 16 - 20
SPECS/BetterPostgres.spec

@@ -17,33 +17,29 @@ Plugin for more advanced management of PostgreSQL on cPanel systems
 %prep
 %setup -q
 
-
 %build
-%configure
-make %{?_smp_mflags}
-
 
 %install
 make install DESTDIR=%{buildroot}
 
-
 %files
-%{DESTDIR}/usr/local/cpanel/whostmgr/templates/troglodyne/ui/pgupgrade.tmpl
-%{DESTDIR}/usr/local/cpanel/whostmgr/templates/troglodyne/config/main.default
-%{DESTDIR}/usr/local/cpanel/whostmgr/cgi/troglodyne/js/pgupgrade.js
-%{DESTDIR}/usr/local/cpanel/whostmgr/cgi/troglodyne/img/troglophant.png
-%{DESTDIR}/usr/local/cpanel/whostmgr/cgi/troglodyne/pgupgrade.cgi
-%{DESTDIR}/usr/local/cpanel/whostmgr/cgi/troglodyne/api.cgi
-%{DESTDIR}/var/cpanel/perl/Troglodyne/CGI/PgUpgrade.pm
-%{DESTDIR}/var/cpanel/perl/Troglodyne/CGI/API.pm
-%{DESTDIR}/var/cpanel/perl/Troglodyne/CpPostgreSQL.pm
-%{DESTDIR}/var/cpanel/perl/Troglodyne/API/Postgres.pm
-%{DESTDIR}/var/cpanel/perl/Troglodyne/CGI.pm
-%{DESTDIR}/var/cpanel/apps/troglodyne_api.conf
-%{DESTDIR}/var/cpanel/apps/better_postgres.conf
-
+%defattr(0700,root,root,-)
+/usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/pgupgrade.cgi
+/usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/api.cgi
+%defattr(0600,root,root,-)
+/usr/local/cpanel/whostmgr/docroot/templates/troglodyne/ui/pgupgrade.tmpl
+/var/cpanel/templates/troglodyne/config/main.default
+/usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/js/pgupgrade.js
+/usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/img/troglophant.png
+/var/cpanel/perl/Troglodyne/CGI/PgUpgrade.pm
+/var/cpanel/perl/Troglodyne/CGI/API.pm
+/var/cpanel/perl/Troglodyne/CpPostgreSQL.pm
+/var/cpanel/perl/Troglodyne/API/Postgres.pm
+/var/cpanel/perl/Troglodyne/CGI.pm
+%defattr(0755,root,root,0755)
+/var/cpanel/apps/troglodyne_api.conf
+/var/cpanel/apps/better_postgres.conf
 
 %changelog
-
 * Tue Apr 14 2020 George S. Baugh <george@troglodyne.net> - 1.0.1
 - Initial Release

+ 0 - 23
install/install.pl

@@ -1,23 +0,0 @@
-#!/usr/local/cpanel/3rdparty/bin/perl
-
-use strict;
-use warnings;
-
-use Cwd ();
-use Git ();
-use File::Basename ();
-
-use Cpanel::Mkdir ();
-
-my $repo_dir = Cwd::abs_path(File::Basename::dirname(__FILE__) . "/../");
-Cpanel::Mkdir::ensure_directory_existence_and_mode("/var/cpanel/apps", 0755);
-my %install_to = qw{lib /var/cpanel/perl templates/config /var/cpanel/templates/troglodyne templates/ui /usr/local/cpanel/whostmgr/docroot/templates/troglodyne cgi /usr/local/cpanel/whostmgr/docroot/cgi/troglodyne img /usr/local/cpanel/whostmgr/docroot/addon_plugins js /usr/local/cpanel/whostmgr/docroot/cgi/troglodyne/js};
-foreach my $dir ( keys(%install_to) ) {
-    Cpanel::Mkdir::ensure_directory_existence_and_mode( $install_to{$dir}, 0755 );
-    my @cmd = ( qw{rsync -r}, "$repo_dir/$dir/", $install_to{$dir} );
-    print join( " ", @cmd ) . "\n";
-    my $ret = system( @cmd );
-    die if $ret != 0;
-}
-
-0;