From c839300c75c08091ea8bc27e4c27f7103b95d9aa Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Mon, 5 Aug 2019 22:43:57 +0300 Subject: [PATCH 01/36] WIP --- build/run.cmd | 12 +++ pg_probackup/Files.wxs | 17 ++++ pg_probackup/Product.wxs | 103 ++++++++++++++++++++++ pg_probackup/Product_separate.wxs | 106 +++++++++++++++++++++++ pg_probackup/RegenGuids.pl | 24 ++++++ pg_probackup/Variables.wxi | 18 ++++ pg_probackup/background.bmp | Bin 0 -> 155830 bytes pg_probackup/banner.bmp | Bin 0 -> 85894 bytes pg_probackup/build_pro_backup.bat | 136 ++++++++++++++++++++++++++++++ pg_probackup/build_separate.bat | 20 +++++ pg_probackup/clean.bat | 14 +++ pg_probackup/config.cmd | 10 +++ pg_probackup/dirent.patch | 19 +++++ pg_probackup/genfilelist.pl | 29 +++++++ pg_probackup/genres.pl | 48 +++++++++++ pg_probackup/licence.rtf | Bin 0 -> 1472 bytes pg_probackup/readme.md | 4 + pg_probackup/readme.txt | 52 ++++++++++++ pg_probackup/run.cmd | 100 ++++++++++++++++++++++ pg_probackup/win32.ico | Bin 0 -> 22486 bytes pg_probackup/win32ver.rc | 32 +++++++ pg_probackup/win32ver_tmp.rc | 32 +++++++ 22 files changed, 776 insertions(+) create mode 100644 pg_probackup/Files.wxs create mode 100644 pg_probackup/Product.wxs create mode 100644 pg_probackup/Product_separate.wxs create mode 100644 pg_probackup/RegenGuids.pl create mode 100644 pg_probackup/Variables.wxi create mode 100644 pg_probackup/background.bmp create mode 100644 pg_probackup/banner.bmp create mode 100644 pg_probackup/build_pro_backup.bat create mode 100644 pg_probackup/build_separate.bat create mode 100644 pg_probackup/clean.bat create mode 100644 pg_probackup/config.cmd create mode 100644 pg_probackup/dirent.patch create mode 100644 pg_probackup/genfilelist.pl create mode 100644 pg_probackup/genres.pl create mode 100644 pg_probackup/licence.rtf create mode 100644 pg_probackup/readme.md create mode 100644 pg_probackup/readme.txt create mode 100644 pg_probackup/run.cmd create mode 100644 pg_probackup/win32.ico create mode 100644 pg_probackup/win32ver.rc create mode 100644 pg_probackup/win32ver_tmp.rc diff --git a/build/run.cmd b/build/run.cmd index c1bd85f..fd6d851 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -27,6 +27,8 @@ IF DEFINED USG ( ECHO 5: Build installer PgAdmin3 ECHO 6: Make PostgreSQL and PgAdmin3 archives ECHO 7: Build pgbouncer + ECHO 8: Build pg_probackup + ECHO 8: Build pg_probackup installer PAUSE EXIT /b 1 ) @@ -95,6 +97,16 @@ IF "%~1"=="7" ( CMD.EXE /C %ROOT%\build\helpers\pgbouncer.cmd || GOTO :ERROR ) +IF "%~1"=="8" ( + TITLE Build PG_PROBACKUP + CMD.EXE /C %ROOT%\build\helpers\probackup.cmd || GOTO :ERROR +) + +IF "%~1"=="9" ( + TITLE Build PG_PROBACKUP installer + CMD.EXE /C %ROOT%\build\helpers\probackup_installer.cmd || GOTO :ERROR +) + GOTO :DONE :ERROR diff --git a/pg_probackup/Files.wxs b/pg_probackup/Files.wxs new file mode 100644 index 0000000..5d3922e --- /dev/null +++ b/pg_probackup/Files.wxs @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/pg_probackup/Product.wxs b/pg_probackup/Product.wxs new file mode 100644 index 0000000..d1aa64b --- /dev/null +++ b/pg_probackup/Product.wxs @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + "")]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pg_probackup/Product_separate.wxs b/pg_probackup/Product_separate.wxs new file mode 100644 index 0000000..b1fa3a1 --- /dev/null +++ b/pg_probackup/Product_separate.wxs @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pg_probackup/RegenGuids.pl b/pg_probackup/RegenGuids.pl new file mode 100644 index 0000000..fe80639 --- /dev/null +++ b/pg_probackup/RegenGuids.pl @@ -0,0 +1,24 @@ +use Win32; + +my $filename = shift @ARGV; + +die "Usage: regenguids.pl \n\n" unless ($filename); + +sub MakeGuid { + my $u = Win32::GuidGen(); + $u =~ s/[{}]//g; + return $u; +} + +open(IN,"<$filename"); +open(OUT, ">$filename.out") || die "Could not open output file ($filename.out)!\n"; + +while() { + chomp(); + if(/(.*)([0-9A-Fa-f]{8}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{4}-?[0-9A-Fa-f]{12})(.*)/) { + $newguid=MakeGuid(); + print OUT $1.$newguid.$3; + } else { print OUT $_ ;} + print OUT "\n"; +} + diff --git a/pg_probackup/Variables.wxi b/pg_probackup/Variables.wxi new file mode 100644 index 0000000..d9f61c1 --- /dev/null +++ b/pg_probackup/Variables.wxi @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + diff --git a/pg_probackup/background.bmp b/pg_probackup/background.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f8489e099bb5c8c3029fd7bb697900cc18394630 GIT binary patch literal 155830 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 literal 0 HcmV?d00001 diff --git a/pg_probackup/banner.bmp b/pg_probackup/banner.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b677a20e02a8d9ebc5ce1e61e1b1a4428cff47bb GIT binary patch literal 85894 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 WLIL9Vb@4S(CrJTPfE18bK=r@-aI>la literal 0 HcmV?d00001 diff --git a/pg_probackup/build_pro_backup.bat b/pg_probackup/build_pro_backup.bat new file mode 100644 index 0000000..8e12c33 --- /dev/null +++ b/pg_probackup/build_pro_backup.bat @@ -0,0 +1,136 @@ +CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall" amd64 +SET PERL5LIB=. +IF "%PGDIRSRC%"=="" SET PGDIRSRC=.././postgresql +IF "%PGDIR%"=="" SET PGDIR=.././setup +IF "%APPVERSION%"=="" SET APPVERSION=2.1.1 +rem SET PRODUCT_DIR_REGKEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 +IF "%PG_REG_KEY%"=="" SET PG_REG_KEY=SOFTWARE\Postgres Professional\X64\PostgreSQL\11\Installations\postgresql-11 +IF "%PG_DEF_BRANDING%"=="" SET PG_DEF_BRANDING=PostgresPro 11 + +rem GOTO :INS +SET LIB=%LIB%%PGDIR%\lib; +SET INCLUDE=%INCLUDE%%PGDIR%\include\server;%PGDIR%\include\server\port\win32;%PGDIR%\include\server\port\win32_msvc;%PGDIR%\include;addsrc\;src\; +set CPU=AMD64 +REM GOTO :INS +SET ARCHIVE=pg_probackup-%APPVERSION%.tar.gz +IF NOT exist .\pg_probackup ( +echo Download sources ... +git clone https://github.com/postgrespro/pg_probackup.git -b %APPVERSION% || goto :ERROR +REM wget -O "%ARCHIVE%" "http://localrepo.l.postgrespro.ru/tarballs/extensions/%ARCHIVE%" || goto :ERROR +REM MKDIR .\pg_probackup +REM tar xf %ARCHIVE% -C .\pg_probackup +) + +perl genres.pl "pg_probackup for PostgreSQL" %APPVERSION% exe || GOTO :ERROR +cp win32ver.rc ./pg_probackup +cp win32.ico ./pg_probackup +CD pg_probackup +mkdir addsrc +cp "%PGDIRSRC%/src/backend/access/transam/xlogreader.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/backend/utils/hash/pg_crc.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.c" addsrc +cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.h" addsrc +cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_rewind/logging.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/timezone/strftime.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/timezone/private.h" addsrc || goto :ERROR + +cp "%PGDIRSRC%/src/interfaces/libpq/pthread-win32.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/interfaces/libpq/pqexpbuffer.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/interfaces/libpq/libpq-int.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc || goto :ERROR +mkdir addsrc\port +cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc/port/ || goto :ERROR + +rc.exe win32ver.rc +CL /MD /O2 src\*.c src\utils\*.c addsrc\*.c /DWIN32 /DFRONTEND /Fepg_probackup.exe /link ws2_32.lib advapi32.lib libpq.lib libpgport.lib libintl.lib zdll.lib iconv.lib libpgcommon.lib win32ver.res || goto :ERROR +rem libecpg.lib -> libpgtypes.lib libpgfeutils.lib +mkdir .\..\out +mkdir .\..\out\bin +copy pg_probackup.exe .\..\out\bin + +mkdir .\..\out_full +copy pg_probackup.exe .\..\out_full +cp "%PGDIR%/bin/libpq.dll" ./../out_full +cp "%PGDIR%/bin/zlib1.dll" ./../out_full +cp "%PGDIR%/bin/libintl.dll" ./../out_full +cp "%PGDIR%/bin/libeay32.dll" ./../out_full +cp "%PGDIR%/bin/libiconv.dll" ./../out_full +cp "%PGDIR%/bin/ssleay32.dll" ./../out_full +rem copy C:\Windows\System32\msvcr120.dll .\..\out_full + +rem SET ZIP_FILE=%PRODUCT_NAME%_%PGVER%_%BITS%_Pg_probackup%APPVERSION%.zip +SET ZIP_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.zip +rem 7z.exe a .\..\out\pg_probackup.zip .\..\out\*.* -r +7z.exe a .\..\%ZIP_FILE% .\..\out\*.* -r +cd .. + +:INS +echo. +echo Building Installer... + + +>Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^?include Variables.wxi?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^Directory Id="BIN" Name="bin"^> +>>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> +perl genfilelist.pl ./out/bin/*.* Files.wxs +>>Files.wxs ECHO ^<^/Component^> +>>Files.wxs ECHO ^<^/Directory^> +>>Files.wxs ECHO ^<^/DirectoryRef^> +>>Files.wxs ECHO ^<^/Fragment^> +>>Files.wxs ECHO ^<^/Wix^> + +SET WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11\bin +perl regenguids.pl Variables.wxi +move Variables.wxi.out Variables.wxi +echo on +"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product.wxs Files.wxs || goto :ERROR + +rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.msi +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product.wixobj || goto :ERROR + +echo. +echo Building Full Installer... + +>Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^?include Variables.wxi?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> +perl genfilelist.pl ./out_full/*.* Files.wxs +>>Files.wxs ECHO ^<^/Component^> +>>Files.wxs ECHO ^<^/DirectoryRef^> +>>Files.wxs ECHO ^<^/Fragment^> +>>Files.wxs ECHO ^<^/Wix^> +"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product_separate.wxs Files.wxs || goto :ERROR + +rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%-standalone.msi +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-en.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:en-us -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR + +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-ru.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR + + +goto :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% + +:DONE +ECHO Done. diff --git a/pg_probackup/build_separate.bat b/pg_probackup/build_separate.bat new file mode 100644 index 0000000..082d0be --- /dev/null +++ b/pg_probackup/build_separate.bat @@ -0,0 +1,20 @@ +SET PGDIRSRC=Z:\extension-packaging\pg_probackup\windows\postgresql +SET PGDIR=Z:\inst\ +SET PGDIRSRC=Z:\pgwininstall\builddir\postgresql\postgresql-11.2.1 +SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 +SET APPVERSION=2.1.1 +rem SET PRODUCT_DIR_REGKEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 +SET PG_REG_KEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 +SET PG_DEF_BRANDING=PostgresPro Enterprise 11 +SET PRODUCT_NAME=PostgresProEnterprise +SET BITS=64bit +SET PGVER=11.1.1 + +call build_pro_backup.bat || GOTO :ERROR + +goto :DONE +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% +:DONE +ECHO Done. diff --git a/pg_probackup/clean.bat b/pg_probackup/clean.bat new file mode 100644 index 0000000..b4e058c --- /dev/null +++ b/pg_probackup/clean.bat @@ -0,0 +1,14 @@ +SET MSYS2_PATH=C:\msys64\usr\bin +SET PATH=%PATH%;%MSYS2_PATH%; +rm -rf pg_probackup +rm -rf out +rm -rf postgresql +rm -rf setup +rm -rf out_full +del *.wixobj +del *.wixpdb +del *.msi +del *.gz +del *.bz2 +del setup*.exe +del *.zip diff --git a/pg_probackup/config.cmd b/pg_probackup/config.cmd new file mode 100644 index 0000000..aa42d6a --- /dev/null +++ b/pg_probackup/config.cmd @@ -0,0 +1,10 @@ +SET PRODUCT_NAME=PostgreSql +SET PG_MAJOR_VERSION=11 +SET PG_PATCH_VERSION=2 +SET EDITION=vanilla +rem version of pg_probackup: +SET APPVERSION=2.1.1 +SET ARCH=X64 +rem SET READDIRPATCH=1 + + diff --git a/pg_probackup/dirent.patch b/pg_probackup/dirent.patch new file mode 100644 index 0000000..8b98082 --- /dev/null +++ b/pg_probackup/dirent.patch @@ -0,0 +1,19 @@ +diff --git a/src/port/dirent.c b/src/port/dirent.c +index 7a91450..284bf27 100644 +--- a/src/port/dirent.c ++++ b/src/port/dirent.c +@@ -83,7 +83,13 @@ readdir(DIR *d) + d->handle = FindFirstFile(d->dirname, &fd); + if (d->handle == INVALID_HANDLE_VALUE) + { +- errno = ENOENT; ++ if (GetLastError() == ERROR_FILE_NOT_FOUND) ++ { ++ /* No more files, force errno=0 (unlike mingw) */ ++ errno = 0; ++ return NULL; ++ } ++ _dosmaperr(GetLastError()); + return NULL; + } + } diff --git a/pg_probackup/genfilelist.pl b/pg_probackup/genfilelist.pl new file mode 100644 index 0000000..2a889c7 --- /dev/null +++ b/pg_probackup/genfilelist.pl @@ -0,0 +1,29 @@ +use Win32; +use File::Basename; + +sub usage +{ + die( "Usage: genfilelist.pl \n"); +} + + usage() + unless scalar(@ARGV) == 2; + +my $filename = $ARGV[1]; +open(OUT, ">>$filename") || die "Could not open output file ($filename)!\n"; + + +my @files = glob($ARGV[0]); +my $file2 = ""; + + foreach my $file (@files) { + + $file2 = basename($file); + $file2 =~ s/-//ig; + print OUT "\n"; + + + } + +close(OUT); +exit 0; diff --git a/pg_probackup/genres.pl b/pg_probackup/genres.pl new file mode 100644 index 0000000..f384986 --- /dev/null +++ b/pg_probackup/genres.pl @@ -0,0 +1,48 @@ +use Win32; +use File::Basename; + +sub usage +{ + die( "Usage: genres.pl \nFor example:\ngenres.pl \"Pro database backup\" 2.0.26 dll"); +} + + usage() + unless scalar(@ARGV) == 3; + + AddResourceFile($ARGV[0], $ARGV[1], $ARGV[2]); + +exit 0; + + +sub AddResourceFile +{ + my ($desc, $ver, $type) = @_; + $ver =~ s/\./,/gm; + + my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = + localtime(time); + my $d = sprintf("%02d%03d", ($year - 100), $yday); + + print "Generating win32ver.rc\n"; + open(my $i, '<', 'win32ver_tmp.rc') + || die "Could not open win32ver_tmp.rc"; + open(my $o, '>', "win32ver.rc") + || die "Could not write win32ver.rc"; + my $icostr = $ico ? "IDI_ICON ICON \"$ico.ico\"" : ""; + while (<$i>) + { + s/FILEDESC/"$desc"/gm; + s/_ICO_/$icostr/gm; + #s/(VERSION.*),0/$1,$d/; + s/(VERSION ).*$/$1 $ver,$d/; + if ($type eq "dll") + { + s/VFT_APP/VFT_DLL/gm; + } + print $o $_; + } + close($o); + close($i); + + return; +} diff --git a/pg_probackup/licence.rtf b/pg_probackup/licence.rtf new file mode 100644 index 0000000000000000000000000000000000000000..02dd165487877e28f824bc069b59a0eab36adb3f GIT binary patch literal 1472 zcmah}!EWO=5bZfY{$a4Ewon7f>&-UkiI!-afGlZ6DMbKXXp6Fm%A!EgHi97k-XY_p zD7tMg5@#sBnfKmMFO9KX)QDkH{;?bP(d+Q`;^K-M8gEYcw1Ety>WIGEX3h%&7|jeJMbY}UBeA0XD_vr+qlg&%i6!7Plv{DO~P11R)l_eM@o7~RQf zQhE@*L%qEzw6PdY|2P~zxWk_V$XHS28B{c-tCAFJAX(z0Vx4Cc;=C;Kl2k0u{u42J zc(`|n_aE)>Zz-&Ly%jwq@+^Bj9#I2W8GRc64{9Djb&ya>RNPLWJFpnmgE~tyDf{d) z&YVu0L5VAxG)LvhgVk`FWB@xCRq+k$zKQsaEe! zu211)1H{LjXBbar)DH2Y>_ML_bP@vx_?{4OG0IvwfIusxr;7LoY2@}9_C^d=wgHSr zpH(YctS+o4CARu3eW!2U4%({STR*--v=I@-c<|+%44v+KeNn?6>_x-J{sdwir7)nd zhrV}^N=|og;;;;|9Oxs>D&T99rcmU(T9uSTQRYj^IT}n-SWrkAS)>%I94Fxk3Q|^2 zu*^$HSV`k50G7S4ctK-EQkRNZg3xY_U&eXH>9-maxC;r{kQL?rtF%s7wt^IE`?{>c zJSiD>*}SeGUqZE}P;>gWWE^?Ji}E^NUpu`j_I-UksL9>Hd17pB4rr=bA6mo6NUB)G=GBn7WK)fL=u2WJ%QRCg@^bS1W zhfZkdBifO`nwGTA5?TVvh nul && ( + SET PGVER=%PG_MAJOR_VERSION%.%PG_PATCH_VERSION% +) || ( + SET PGVER=%PG_MAJOR_VERSION%%PG_PATCH_VERSION% +) + +SET PG_INS_FILE=%PRODUCT_NAME%_%PGVER%_%BITS%_Setup.exe + +rem Set reg key +SET PRODUCT_DIR_REGKEY=SOFTWARE\%COMPANY_NAME%\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION% +SET PG_REG_KEY=%PRODUCT_DIR_REGKEY%\Installations\postgresql-%PG_MAJOR_VERSION% +rem echo PgVer=%PGVER% + +rem set URLS for downloading +SET PRODUCT=pgpro-%PG_MAJOR_VERSION% +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( + SET PRODUCT=pgproee-%PG_MAJOR_VERSION% +) + +rem http://localrepo.l.postgrespro.ru/dev/ + +SET URL_PART_ONE=http://localrepo.l.postgrespro.ru/dev/%PRODUCT% +IF "%ISDEV%" == "" ( +SET URL_PART_ONE=http://repo.postgrespro.ru/%PRODUCT%-beta/ +) + +IF "%PG_MAJOR_VERSION%" == "9.6" SET PG_URL=%URL_PART_ONE%/src/postgrespro-%PGVER%.tar.bz2 +IF NOT "%PG_MAJOR_VERSION%" == "9.6" SET PG_URL=%URL_PART_ONE%/src/postgrespro-standard-%PGVER%.tar.bz2 + +SET PG_INS_URL=%URL_PART_ONE%/win/%PG_INS_FILE% +SET PG_DEF_BRANDING=PostgresPro%PG_MAJOR_VERSION% +IF "%PRODUCT_NAME%" == "PostgresProEnterprise" ( +SET PG_URL=%URL_PART_ONE%/src/postgrespro-enterprise-%PGVER%.tar.bz2 +SET PG_INS_URL=%URL_PART_ONE%/win/%PG_INS_FILE% +SET PG_DEF_BRANDING=PostgresProEnterprise%PG_MAJOR_VERSION% +) +IF "%PRODUCT_NAME%" == "PostgreSql" ( +SET PG_URL=https://ftp.postgresql.org/pub/source/v%PGVER%/postgresql-%PGVER%.tar.bz2 +SET PG_INS_URL=https://repo.postgrespro.ru/win/64/PostgreSQL_%PGVER%_64bit_Setup.exe +SET PG_DEF_BRANDING=PostgreSQL%PG_MAJOR_VERSION% +SET COMPANY_NAME=Postgres Professional +SET PRODUCT_DIR_REGKEY=SOFTWARE\Postgres Professional\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION% +SET PG_REG_KEY=SOFTWARE\Postgres Professional\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%\Installations\postgresql-%PG_MAJOR_VERSION% +) +rem GOTO :TEST +echo Downloading sources... +wget --no-check-certificate %PG_URL% -O postgresql-%PGVER%.tar.bz2 || GOTO :ERROR +rm -rf ./postgresql +MKDIR .\postgresql +tar xf postgres*-%PGVER%.tar.bz2 -C ./postgresql || GOTO :ERROR +mv ./postgresql/*%PGVER%*/* ./postgresql/ + +rem patch for readdir +rem will removed in the next postgres version +rem IF "%PRODUCT_NAME%" == "PostgreSql" ( +rem CD postgresql +rem patch -f -p1 < ..\dirent.patch || GOTO :ERROR +rem cd .. +rem ) +echo Downloading bins... +wget --no-check-certificate %PG_INS_URL% -O setup-%PGVER%.exe || GOTO :ERROR +rm -rf ./setup +7z.exe x setup-%PGVER%.exe -o./setup || GOTO :ERROR +:TEST +SET PGDIRSRC=.././postgresql +SET PGDIR=.././setup + +call build_pro_backup.bat || GOTO :ERROR + +goto :DONE +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% +:DONE +ECHO Done. diff --git a/pg_probackup/win32.ico b/pg_probackup/win32.ico new file mode 100644 index 0000000000000000000000000000000000000000..a58ee432b5037275c3f694b243efa0677017ddba GIT binary patch literal 22486 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 literal 0 HcmV?d00001 diff --git a/pg_probackup/win32ver.rc b/pg_probackup/win32ver.rc new file mode 100644 index 0000000..925bd65 --- /dev/null +++ b/pg_probackup/win32ver.rc @@ -0,0 +1,32 @@ +#include +#include "pg_config.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 2,1,1,19132 + PRODUCTVERSION 2,1,1,19132 + FILEFLAGSMASK 0x17L + FILEFLAGS 0x0L + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "Postgres Professional" + VALUE "FileDescription", "pg_probackup for PostgreSQL" + VALUE "FileVersion", PG_VERSION + VALUE "LegalCopyright", "Copyright (c) 2015-2019, Postgres Professional. Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group. Portions Copyright (c) 1994, Regents of the University of California." + + VALUE "ProductName", "Postgre Pro" + VALUE "ProductVersion", PG_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + +IDI_ICON ICON "win32.ico" diff --git a/pg_probackup/win32ver_tmp.rc b/pg_probackup/win32ver_tmp.rc new file mode 100644 index 0000000..573d9da --- /dev/null +++ b/pg_probackup/win32ver_tmp.rc @@ -0,0 +1,32 @@ +#include +#include "pg_config.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 11,0,2,0 + PRODUCTVERSION 11,0,2,0 + FILEFLAGSMASK 0x17L + FILEFLAGS 0x0L + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "Postgres Professional" + VALUE "FileDescription", FILEDESC + VALUE "FileVersion", PG_VERSION + VALUE "LegalCopyright", "Copyright (c) 2015-2019, Postgres Professional. Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group. Portions Copyright (c) 1994, Regents of the University of California." + + VALUE "ProductName", "Postgre Pro" + VALUE "ProductVersion", PG_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + +IDI_ICON ICON "win32.ico" From e691829483cde7ca1c6ec211eaa897a892eba7d0 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 13:32:24 +0300 Subject: [PATCH 02/36] WIP --- Readme.md | 8 ++ build/helpers/probackup.cmd | 86 +++++++++++ build/helpers/probackup_installer.cmd | 64 +++++++++ .../pg_probackup}/dirent.patch | 0 pg_probackup/build_pro_backup.bat | 136 ------------------ pg_probackup/build_separate.bat | 20 --- pg_probackup/clean.bat | 14 -- pg_probackup/config.cmd | 10 -- {pg_probackup => wix/pg_probackup}/Files.wxs | 0 .../pg_probackup}/Product.wxs | 0 .../pg_probackup}/Product_separate.wxs | 0 .../pg_probackup}/RegenGuids.pl | 0 .../pg_probackup}/Variables.wxi | 0 .../pg_probackup}/background.bmp | Bin {pg_probackup => wix/pg_probackup}/banner.bmp | Bin .../pg_probackup}/genfilelist.pl | 0 {pg_probackup => wix/pg_probackup}/genres.pl | 0 .../pg_probackup}/licence.rtf | Bin {pg_probackup => wix/pg_probackup}/readme.md | 0 {pg_probackup => wix/pg_probackup}/readme.txt | 0 {pg_probackup => wix/pg_probackup}/run.cmd | 0 {pg_probackup => wix/pg_probackup}/win32.ico | Bin .../pg_probackup}/win32ver.rc | 0 .../pg_probackup}/win32ver_tmp.rc | 0 24 files changed, 158 insertions(+), 180 deletions(-) create mode 100644 build/helpers/probackup.cmd create mode 100644 build/helpers/probackup_installer.cmd rename {pg_probackup => patches/pg_probackup}/dirent.patch (100%) delete mode 100644 pg_probackup/build_pro_backup.bat delete mode 100644 pg_probackup/build_separate.bat delete mode 100644 pg_probackup/clean.bat delete mode 100644 pg_probackup/config.cmd rename {pg_probackup => wix/pg_probackup}/Files.wxs (100%) rename {pg_probackup => wix/pg_probackup}/Product.wxs (100%) rename {pg_probackup => wix/pg_probackup}/Product_separate.wxs (100%) rename {pg_probackup => wix/pg_probackup}/RegenGuids.pl (100%) rename {pg_probackup => wix/pg_probackup}/Variables.wxi (100%) rename {pg_probackup => wix/pg_probackup}/background.bmp (100%) rename {pg_probackup => wix/pg_probackup}/banner.bmp (100%) rename {pg_probackup => wix/pg_probackup}/genfilelist.pl (100%) rename {pg_probackup => wix/pg_probackup}/genres.pl (100%) rename {pg_probackup => wix/pg_probackup}/licence.rtf (100%) rename {pg_probackup => wix/pg_probackup}/readme.md (100%) rename {pg_probackup => wix/pg_probackup}/readme.txt (100%) rename {pg_probackup => wix/pg_probackup}/run.cmd (100%) rename {pg_probackup => wix/pg_probackup}/win32.ico (100%) rename {pg_probackup => wix/pg_probackup}/win32ver.rc (100%) rename {pg_probackup => wix/pg_probackup}/win32ver_tmp.rc (100%) diff --git a/Readme.md b/Readme.md index f14f631..e5b4909 100644 --- a/Readme.md +++ b/Readme.md @@ -15,6 +15,8 @@ Directory contains various build scripts. * 7-Zip * NSIS * HTML Help Workshop (for PgAdmin documentation, included in Visual Studio) +* .NET 3.5 (for pg_probackup only) +* WiX toolset (for pg_probackup only) ## Patches @@ -35,3 +37,9 @@ If you want to use GIT: * GIT_BRANCH=[git branch name] -- if you sets this variables we will download source from git * GIT_PATH=[git path] -- git URL, git://git.postgresql.org/git/postgresql.git by default + +### probackup build +You can specify several environmental variables depending on desirable result: + +* PROBACKUP_VERSION=[2.1.3/2.1.5] - pg_probackup full version + diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd new file mode 100644 index 0000000..4beb627 --- /dev/null +++ b/build/helpers/probackup.cmd @@ -0,0 +1,86 @@ +SET PGDIRSRC=Z:\extension-packaging\pg_probackup\windows\postgresql +SET PGDIR=Z:\inst\ +SET PGDIRSRC=Z:\pgwininstall\builddir\postgresql\postgresql-11.2.1 +SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 +SET APPVERSION=2.1.1 +SET PG_REG_KEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 +SET PG_DEF_BRANDING=PostgresPro Enterprise 11 +SET PRODUCT_NAME=PostgresProEnterprise +SET BITS=64bit +SET PGVER=11.1.1 +SET EDITION=vanilla +SET APPVERSION=2.1.1 +SET PRODUCT_NAME=PostgreSQL + +SET PERL5LIB=. + +rem GOTO :INS +SET LIB=%LIB%%PGDIR%\lib; +SET INCLUDE=%INCLUDE%%PGDIR%\include\server;%PGDIR%\include\server\port\win32;%PGDIR%\include\server\port\win32_msvc;%PGDIR%\include;addsrc\;src\; +set CPU=AMD64 +REM GOTO :INS +SET ARCHIVE=pg_probackup-%APPVERSION%.tar.gz +IF NOT exist .\pg_probackup ( +echo Download sources ... +git clone https://github.com/postgrespro/pg_probackup.git -b %APPVERSION% || goto :ERROR +REM wget -O "%ARCHIVE%" "http://localrepo.l.postgrespro.ru/tarballs/extensions/%ARCHIVE%" || goto :ERROR +REM MKDIR .\pg_probackup +REM tar xf %ARCHIVE% -C .\pg_probackup +) + +perl genres.pl "pg_probackup for PostgreSQL" %APPVERSION% exe || GOTO :ERROR +cp win32ver.rc ./pg_probackup +cp win32.ico ./pg_probackup +CD pg_probackup +mkdir addsrc +cp "%PGDIRSRC%/src/backend/access/transam/xlogreader.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/backend/utils/hash/pg_crc.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.c" addsrc +cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.h" addsrc +cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/bin/pg_rewind/logging.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/timezone/strftime.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/timezone/private.h" addsrc || goto :ERROR + +cp "%PGDIRSRC%/src/interfaces/libpq/pthread-win32.c" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/interfaces/libpq/pqexpbuffer.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/interfaces/libpq/libpq-int.h" addsrc || goto :ERROR +cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc || goto :ERROR +mkdir addsrc\port +cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc/port/ || goto :ERROR + +rc.exe win32ver.rc +CL /MD /O2 src\*.c src\utils\*.c addsrc\*.c /DWIN32 /DFRONTEND /Fepg_probackup.exe /link ws2_32.lib advapi32.lib libpq.lib libpgport.lib libintl.lib zdll.lib iconv.lib libpgcommon.lib win32ver.res || goto :ERROR +rem libecpg.lib -> libpgtypes.lib libpgfeutils.lib +mkdir .\..\out +mkdir .\..\out\bin +copy pg_probackup.exe .\..\out\bin + +mkdir .\..\out_full +copy pg_probackup.exe .\..\out_full +cp "%PGDIR%/bin/libpq.dll" ./../out_full +cp "%PGDIR%/bin/zlib1.dll" ./../out_full +cp "%PGDIR%/bin/libintl.dll" ./../out_full +cp "%PGDIR%/bin/libeay32.dll" ./../out_full +cp "%PGDIR%/bin/libiconv.dll" ./../out_full +cp "%PGDIR%/bin/ssleay32.dll" ./../out_full +rem copy C:\Windows\System32\msvcr120.dll .\..\out_full + +rem SET ZIP_FILE=%PRODUCT_NAME%_%PGVER%_%BITS%_Pg_probackup%APPVERSION%.zip +SET ZIP_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.zip +rem 7z.exe a .\..\out\pg_probackup.zip .\..\out\*.* -r +7z.exe a .\..\%ZIP_FILE% .\..\out\*.* -r + +goto :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% + +:DONE +ECHO Done. diff --git a/build/helpers/probackup_installer.cmd b/build/helpers/probackup_installer.cmd new file mode 100644 index 0000000..ecca98a --- /dev/null +++ b/build/helpers/probackup_installer.cmd @@ -0,0 +1,64 @@ +echo. +echo Building Installer... + + +>Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^?include Variables.wxi?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^Directory Id="BIN" Name="bin"^> +>>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> +perl genfilelist.pl ./out/bin/*.* Files.wxs +>>Files.wxs ECHO ^<^/Component^> +>>Files.wxs ECHO ^<^/Directory^> +>>Files.wxs ECHO ^<^/DirectoryRef^> +>>Files.wxs ECHO ^<^/Fragment^> +>>Files.wxs ECHO ^<^/Wix^> + +SET WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11\bin +perl regenguids.pl Variables.wxi +move Variables.wxi.out Variables.wxi +echo on +"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product.wxs Files.wxs || goto :ERROR + +rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.msi +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product.wixobj || goto :ERROR + +echo. +echo Building Full Installer... + +>Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^?include Variables.wxi?^> +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^ +>>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> +perl genfilelist.pl ./out_full/*.* Files.wxs +>>Files.wxs ECHO ^<^/Component^> +>>Files.wxs ECHO ^<^/DirectoryRef^> +>>Files.wxs ECHO ^<^/Fragment^> +>>Files.wxs ECHO ^<^/Wix^> +"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product_separate.wxs Files.wxs || goto :ERROR + +rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%-standalone.msi +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-en.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:en-us -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR + +SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-ru.msi + +"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR + + +goto :DONE + + +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% + +:DONE +ECHO Done. diff --git a/pg_probackup/dirent.patch b/patches/pg_probackup/dirent.patch similarity index 100% rename from pg_probackup/dirent.patch rename to patches/pg_probackup/dirent.patch diff --git a/pg_probackup/build_pro_backup.bat b/pg_probackup/build_pro_backup.bat deleted file mode 100644 index 8e12c33..0000000 --- a/pg_probackup/build_pro_backup.bat +++ /dev/null @@ -1,136 +0,0 @@ -CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall" amd64 -SET PERL5LIB=. -IF "%PGDIRSRC%"=="" SET PGDIRSRC=.././postgresql -IF "%PGDIR%"=="" SET PGDIR=.././setup -IF "%APPVERSION%"=="" SET APPVERSION=2.1.1 -rem SET PRODUCT_DIR_REGKEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 -IF "%PG_REG_KEY%"=="" SET PG_REG_KEY=SOFTWARE\Postgres Professional\X64\PostgreSQL\11\Installations\postgresql-11 -IF "%PG_DEF_BRANDING%"=="" SET PG_DEF_BRANDING=PostgresPro 11 - -rem GOTO :INS -SET LIB=%LIB%%PGDIR%\lib; -SET INCLUDE=%INCLUDE%%PGDIR%\include\server;%PGDIR%\include\server\port\win32;%PGDIR%\include\server\port\win32_msvc;%PGDIR%\include;addsrc\;src\; -set CPU=AMD64 -REM GOTO :INS -SET ARCHIVE=pg_probackup-%APPVERSION%.tar.gz -IF NOT exist .\pg_probackup ( -echo Download sources ... -git clone https://github.com/postgrespro/pg_probackup.git -b %APPVERSION% || goto :ERROR -REM wget -O "%ARCHIVE%" "http://localrepo.l.postgrespro.ru/tarballs/extensions/%ARCHIVE%" || goto :ERROR -REM MKDIR .\pg_probackup -REM tar xf %ARCHIVE% -C .\pg_probackup -) - -perl genres.pl "pg_probackup for PostgreSQL" %APPVERSION% exe || GOTO :ERROR -cp win32ver.rc ./pg_probackup -cp win32.ico ./pg_probackup -CD pg_probackup -mkdir addsrc -cp "%PGDIRSRC%/src/backend/access/transam/xlogreader.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/backend/utils/hash/pg_crc.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.c" addsrc -cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.h" addsrc -cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_rewind/logging.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/timezone/strftime.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/timezone/private.h" addsrc || goto :ERROR - -cp "%PGDIRSRC%/src/interfaces/libpq/pthread-win32.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/interfaces/libpq/pqexpbuffer.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/interfaces/libpq/libpq-int.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc || goto :ERROR -mkdir addsrc\port -cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc/port/ || goto :ERROR - -rc.exe win32ver.rc -CL /MD /O2 src\*.c src\utils\*.c addsrc\*.c /DWIN32 /DFRONTEND /Fepg_probackup.exe /link ws2_32.lib advapi32.lib libpq.lib libpgport.lib libintl.lib zdll.lib iconv.lib libpgcommon.lib win32ver.res || goto :ERROR -rem libecpg.lib -> libpgtypes.lib libpgfeutils.lib -mkdir .\..\out -mkdir .\..\out\bin -copy pg_probackup.exe .\..\out\bin - -mkdir .\..\out_full -copy pg_probackup.exe .\..\out_full -cp "%PGDIR%/bin/libpq.dll" ./../out_full -cp "%PGDIR%/bin/zlib1.dll" ./../out_full -cp "%PGDIR%/bin/libintl.dll" ./../out_full -cp "%PGDIR%/bin/libeay32.dll" ./../out_full -cp "%PGDIR%/bin/libiconv.dll" ./../out_full -cp "%PGDIR%/bin/ssleay32.dll" ./../out_full -rem copy C:\Windows\System32\msvcr120.dll .\..\out_full - -rem SET ZIP_FILE=%PRODUCT_NAME%_%PGVER%_%BITS%_Pg_probackup%APPVERSION%.zip -SET ZIP_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.zip -rem 7z.exe a .\..\out\pg_probackup.zip .\..\out\*.* -r -7z.exe a .\..\%ZIP_FILE% .\..\out\*.* -r -cd .. - -:INS -echo. -echo Building Installer... - - ->Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^?include Variables.wxi?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^Directory Id="BIN" Name="bin"^> ->>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> -perl genfilelist.pl ./out/bin/*.* Files.wxs ->>Files.wxs ECHO ^<^/Component^> ->>Files.wxs ECHO ^<^/Directory^> ->>Files.wxs ECHO ^<^/DirectoryRef^> ->>Files.wxs ECHO ^<^/Fragment^> ->>Files.wxs ECHO ^<^/Wix^> - -SET WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11\bin -perl regenguids.pl Variables.wxi -move Variables.wxi.out Variables.wxi -echo on -"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product.wxs Files.wxs || goto :ERROR - -rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.msi -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%.msi - -"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product.wixobj || goto :ERROR - -echo. -echo Building Full Installer... - ->Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^?include Variables.wxi?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> -perl genfilelist.pl ./out_full/*.* Files.wxs ->>Files.wxs ECHO ^<^/Component^> ->>Files.wxs ECHO ^<^/DirectoryRef^> ->>Files.wxs ECHO ^<^/Fragment^> ->>Files.wxs ECHO ^<^/Wix^> -"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product_separate.wxs Files.wxs || goto :ERROR - -rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%-standalone.msi -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-en.msi - -"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:en-us -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR - -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-ru.msi - -"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR - - -goto :DONE - -:ERROR -ECHO Failed with error #%errorlevel%. -EXIT /b %errorlevel% - -:DONE -ECHO Done. diff --git a/pg_probackup/build_separate.bat b/pg_probackup/build_separate.bat deleted file mode 100644 index 082d0be..0000000 --- a/pg_probackup/build_separate.bat +++ /dev/null @@ -1,20 +0,0 @@ -SET PGDIRSRC=Z:\extension-packaging\pg_probackup\windows\postgresql -SET PGDIR=Z:\inst\ -SET PGDIRSRC=Z:\pgwininstall\builddir\postgresql\postgresql-11.2.1 -SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 -SET APPVERSION=2.1.1 -rem SET PRODUCT_DIR_REGKEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 -SET PG_REG_KEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 -SET PG_DEF_BRANDING=PostgresPro Enterprise 11 -SET PRODUCT_NAME=PostgresProEnterprise -SET BITS=64bit -SET PGVER=11.1.1 - -call build_pro_backup.bat || GOTO :ERROR - -goto :DONE -:ERROR -ECHO Failed with error #%errorlevel%. -EXIT /b %errorlevel% -:DONE -ECHO Done. diff --git a/pg_probackup/clean.bat b/pg_probackup/clean.bat deleted file mode 100644 index b4e058c..0000000 --- a/pg_probackup/clean.bat +++ /dev/null @@ -1,14 +0,0 @@ -SET MSYS2_PATH=C:\msys64\usr\bin -SET PATH=%PATH%;%MSYS2_PATH%; -rm -rf pg_probackup -rm -rf out -rm -rf postgresql -rm -rf setup -rm -rf out_full -del *.wixobj -del *.wixpdb -del *.msi -del *.gz -del *.bz2 -del setup*.exe -del *.zip diff --git a/pg_probackup/config.cmd b/pg_probackup/config.cmd deleted file mode 100644 index aa42d6a..0000000 --- a/pg_probackup/config.cmd +++ /dev/null @@ -1,10 +0,0 @@ -SET PRODUCT_NAME=PostgreSql -SET PG_MAJOR_VERSION=11 -SET PG_PATCH_VERSION=2 -SET EDITION=vanilla -rem version of pg_probackup: -SET APPVERSION=2.1.1 -SET ARCH=X64 -rem SET READDIRPATCH=1 - - diff --git a/pg_probackup/Files.wxs b/wix/pg_probackup/Files.wxs similarity index 100% rename from pg_probackup/Files.wxs rename to wix/pg_probackup/Files.wxs diff --git a/pg_probackup/Product.wxs b/wix/pg_probackup/Product.wxs similarity index 100% rename from pg_probackup/Product.wxs rename to wix/pg_probackup/Product.wxs diff --git a/pg_probackup/Product_separate.wxs b/wix/pg_probackup/Product_separate.wxs similarity index 100% rename from pg_probackup/Product_separate.wxs rename to wix/pg_probackup/Product_separate.wxs diff --git a/pg_probackup/RegenGuids.pl b/wix/pg_probackup/RegenGuids.pl similarity index 100% rename from pg_probackup/RegenGuids.pl rename to wix/pg_probackup/RegenGuids.pl diff --git a/pg_probackup/Variables.wxi b/wix/pg_probackup/Variables.wxi similarity index 100% rename from pg_probackup/Variables.wxi rename to wix/pg_probackup/Variables.wxi diff --git a/pg_probackup/background.bmp b/wix/pg_probackup/background.bmp similarity index 100% rename from pg_probackup/background.bmp rename to wix/pg_probackup/background.bmp diff --git a/pg_probackup/banner.bmp b/wix/pg_probackup/banner.bmp similarity index 100% rename from pg_probackup/banner.bmp rename to wix/pg_probackup/banner.bmp diff --git a/pg_probackup/genfilelist.pl b/wix/pg_probackup/genfilelist.pl similarity index 100% rename from pg_probackup/genfilelist.pl rename to wix/pg_probackup/genfilelist.pl diff --git a/pg_probackup/genres.pl b/wix/pg_probackup/genres.pl similarity index 100% rename from pg_probackup/genres.pl rename to wix/pg_probackup/genres.pl diff --git a/pg_probackup/licence.rtf b/wix/pg_probackup/licence.rtf similarity index 100% rename from pg_probackup/licence.rtf rename to wix/pg_probackup/licence.rtf diff --git a/pg_probackup/readme.md b/wix/pg_probackup/readme.md similarity index 100% rename from pg_probackup/readme.md rename to wix/pg_probackup/readme.md diff --git a/pg_probackup/readme.txt b/wix/pg_probackup/readme.txt similarity index 100% rename from pg_probackup/readme.txt rename to wix/pg_probackup/readme.txt diff --git a/pg_probackup/run.cmd b/wix/pg_probackup/run.cmd similarity index 100% rename from pg_probackup/run.cmd rename to wix/pg_probackup/run.cmd diff --git a/pg_probackup/win32.ico b/wix/pg_probackup/win32.ico similarity index 100% rename from pg_probackup/win32.ico rename to wix/pg_probackup/win32.ico diff --git a/pg_probackup/win32ver.rc b/wix/pg_probackup/win32ver.rc similarity index 100% rename from pg_probackup/win32ver.rc rename to wix/pg_probackup/win32ver.rc diff --git a/pg_probackup/win32ver_tmp.rc b/wix/pg_probackup/win32ver_tmp.rc similarity index 100% rename from pg_probackup/win32ver_tmp.rc rename to wix/pg_probackup/win32ver_tmp.rc From 093254f60e84ebded13dfbb4b69ed3f2c5ba69a0 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 13:45:20 +0300 Subject: [PATCH 03/36] WIP --- build/helpers/setvars.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/setvars.cmd b/build/helpers/setvars.cmd index 50c9c18..d6be9cc 100644 --- a/build/helpers/setvars.cmd +++ b/build/helpers/setvars.cmd @@ -17,7 +17,7 @@ SET PYTHON32_PATH=C:\Python27x86 SET PYTHON64_PATH=C:\Python27x64 SET ZIP_PATH=C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip SET NSIS_PATH=C:\Program Files (x86)\NSIS -SET MSYS2_PATH=C:\msys64\mingw32\bin;C:\msys64\mingw64\bin;C:\msys32\usr\bin;C:\msys64\usr\bin +SET MSYS2_PATH=D:\msys64\mingw32\bin;D:\msys64\mingw64\bin;C:\msys32\usr\bin;D:\msys64\usr\bin SET PATH=%PATH%;%ZIP_PATH%;%MSYS2_PATH%;%NSIS_PATH% SET PERL5LIB=. From 04a89c2f76c2dee79cfb154f375cc1a326512e95 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 18:48:34 +0300 Subject: [PATCH 04/36] WIP --- Readme.md | 3 +- build/helpers/probackup.cmd | 146 +++++++++++++++--------------------- 2 files changed, 62 insertions(+), 87 deletions(-) diff --git a/Readme.md b/Readme.md index e5b4909..442d74f 100644 --- a/Readme.md +++ b/Readme.md @@ -42,4 +42,5 @@ If you want to use GIT: You can specify several environmental variables depending on desirable result: * PROBACKUP_VERSION=[2.1.3/2.1.5] - pg_probackup full version - +* PROBACKUP_EDITION=[vanilla/std] -- fork to build probackup for, default 'vanilla' +* PROBACKUP_PATCH_POSTGRESQL=[YES/NO] -- apply probackup specific patches, default NO diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 4beb627..69c0e83 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -1,86 +1,60 @@ -SET PGDIRSRC=Z:\extension-packaging\pg_probackup\windows\postgresql -SET PGDIR=Z:\inst\ -SET PGDIRSRC=Z:\pgwininstall\builddir\postgresql\postgresql-11.2.1 -SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 -SET APPVERSION=2.1.1 -SET PG_REG_KEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 -SET PG_DEF_BRANDING=PostgresPro Enterprise 11 -SET PRODUCT_NAME=PostgresProEnterprise -SET BITS=64bit -SET PGVER=11.1.1 -SET EDITION=vanilla -SET APPVERSION=2.1.1 -SET PRODUCT_NAME=PostgreSQL - -SET PERL5LIB=. - -rem GOTO :INS -SET LIB=%LIB%%PGDIR%\lib; -SET INCLUDE=%INCLUDE%%PGDIR%\include\server;%PGDIR%\include\server\port\win32;%PGDIR%\include\server\port\win32_msvc;%PGDIR%\include;addsrc\;src\; -set CPU=AMD64 -REM GOTO :INS -SET ARCHIVE=pg_probackup-%APPVERSION%.tar.gz -IF NOT exist .\pg_probackup ( -echo Download sources ... -git clone https://github.com/postgrespro/pg_probackup.git -b %APPVERSION% || goto :ERROR -REM wget -O "%ARCHIVE%" "http://localrepo.l.postgrespro.ru/tarballs/extensions/%ARCHIVE%" || goto :ERROR -REM MKDIR .\pg_probackup -REM tar xf %ARCHIVE% -C .\pg_probackup -) - -perl genres.pl "pg_probackup for PostgreSQL" %APPVERSION% exe || GOTO :ERROR -cp win32ver.rc ./pg_probackup -cp win32.ico ./pg_probackup -CD pg_probackup -mkdir addsrc -cp "%PGDIRSRC%/src/backend/access/transam/xlogreader.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/backend/utils/hash/pg_crc.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/receivelog.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/streamutil.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.c" addsrc -cp "%PGDIRSRC%/src/bin/pg_basebackup/walmethods.h" addsrc -cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_rewind/datapagemap.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/bin/pg_rewind/logging.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/timezone/strftime.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/timezone/private.h" addsrc || goto :ERROR - -cp "%PGDIRSRC%/src/interfaces/libpq/pthread-win32.c" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/interfaces/libpq/pqexpbuffer.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/interfaces/libpq/libpq-int.h" addsrc || goto :ERROR -cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc || goto :ERROR -mkdir addsrc\port -cp "%PGDIRSRC%/src/port/pthread-win32.h" addsrc/port/ || goto :ERROR - -rc.exe win32ver.rc -CL /MD /O2 src\*.c src\utils\*.c addsrc\*.c /DWIN32 /DFRONTEND /Fepg_probackup.exe /link ws2_32.lib advapi32.lib libpq.lib libpgport.lib libintl.lib zdll.lib iconv.lib libpgcommon.lib win32ver.res || goto :ERROR -rem libecpg.lib -> libpgtypes.lib libpgfeutils.lib -mkdir .\..\out -mkdir .\..\out\bin -copy pg_probackup.exe .\..\out\bin - -mkdir .\..\out_full -copy pg_probackup.exe .\..\out_full -cp "%PGDIR%/bin/libpq.dll" ./../out_full -cp "%PGDIR%/bin/zlib1.dll" ./../out_full -cp "%PGDIR%/bin/libintl.dll" ./../out_full -cp "%PGDIR%/bin/libeay32.dll" ./../out_full -cp "%PGDIR%/bin/libiconv.dll" ./../out_full -cp "%PGDIR%/bin/ssleay32.dll" ./../out_full -rem copy C:\Windows\System32\msvcr120.dll .\..\out_full - -rem SET ZIP_FILE=%PRODUCT_NAME%_%PGVER%_%BITS%_Pg_probackup%APPVERSION%.zip -SET ZIP_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.zip -rem 7z.exe a .\..\out\pg_probackup.zip .\..\out\*.* -r -7z.exe a .\..\%ZIP_FILE% .\..\out\*.* -r - -goto :DONE - -:ERROR -ECHO Failed with error #%errorlevel%. -EXIT /b %errorlevel% - -:DONE -ECHO Done. +CALL %ROOT%\build\helpers\setvars.cmd + +IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( + 7z x %DOWNLOADS_DIR%\%DEPS_ZIP% -o%DEPENDENCIES_BIN_DIR% -y + REM Go to last build + GOTO :BUILD_ALL +) ELSE ( + ECHO "You need to build dependencies first!" + EXIT /B 1 || GOTO :ERROR +) + +SET PROBACKUP_URL=https://github.com/postgrespro/pg_probackup/tarball/%PROBACKUP_VERSION% +SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% +SET PRODUCT_NAME=PostgreSQL + +SET PGDIRSRC=%BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\ +SET PGDIR=Z:\inst\ + +SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 +SET PG_REG_KEY=SOFTWARE\PostgresPro\X64\PostgresProEnterprise\11\Installations\postgresql-11 + +SET INCLUDE=%INCLUDE%%PGDIR%\include\server;%PGDIR%\include\server\port\win32;%PGDIR%\include\server\port\win32_msvc;%PGDIR%\include;addsrc\;src\; +SET ARCHIVE=pg_probackup-%PROBACKUP_VERSION%.tar.gz + +echo Download sources ... + +rm -rf %BUILD_DIR%\pg_probackup || GOTO :ERROR +MKDIR %BUILD_DIR%\pg_probackup || GOTO :ERROR +MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR + +CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR +wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR + +tar xf %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR +CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR + +gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION% + +MKDIR %BIN_DIR% || GOTO :ERROR +MKDIR %BIN_DIR%\bin || GOTO :ERROR + +rem copy pg_probackup binaries and dependencies +copy %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\Release\pg_probackup.exe %BIN_DIR% || GOTO :ERROR +copy %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\Release\libpq\libpq.dll %BIN_DIR% || GOTO :ERROR +copy %DEPENDENCIES_BIN_DIR%\zlib\lib\zlib1.dll %BIN_DIR% || GOTO :ERROR +copy %DEPENDENCIES_BIN_DIR%\openssl\lib\libeay32.dll %BIN_DIR% || GOTO :ERROR +copy %DEPENDENCIES_BIN_DIR%\openssl\lib\ssleay32.dll %BIN_DIR% || GOTO :ERROR + +rem SET ZIP_FILE=pg-probackup-%PROBACKU_EDITION%-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION%-%ARCH%.zip +rem 7z.exe a .\..\out\pg_probackup.zip .\..\out\*.* -r +rem 7z.exe a .\..\%ZIP_FILE% .\..\out\*.* -r + +goto :DONE + +:ERROR +ECHO Failed with error #%errorlevel%. +EXIT /b %errorlevel% + +:DONE +ECHO Done. From 6c73c6f5c6d30252f66b7c59b96b9272753244bd Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 18:51:16 +0300 Subject: [PATCH 05/36] WIP --- build/helpers/probackup.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 69c0e83..2f0d62a 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -29,7 +29,9 @@ MKDIR %BUILD_DIR%\pg_probackup || GOTO :ERROR MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR -wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR + +IF NOT EXISTS %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 ( +wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR ) tar xf %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR From b07066e0d60fc337a9874a8568013ef0f792ca1f Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 18:52:46 +0300 Subject: [PATCH 06/36] WIP --- build/run.cmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/run.cmd b/build/run.cmd index fd6d851..e187604 100644 --- a/build/run.cmd +++ b/build/run.cmd @@ -14,6 +14,8 @@ IF "%~1" == "4" GOTO :OK IF "%~1" == "5" GOTO :OK IF "%~1" == "6" GOTO :OK IF "%~1" == "7" GOTO :OK +IF "%~1" == "8" GOTO :OK +IF "%~1" == "9" GOTO :OK SET USG=1 @@ -28,7 +30,7 @@ IF DEFINED USG ( ECHO 6: Make PostgreSQL and PgAdmin3 archives ECHO 7: Build pgbouncer ECHO 8: Build pg_probackup - ECHO 8: Build pg_probackup installer + ECHO 9: Build pg_probackup installer PAUSE EXIT /b 1 ) From 0e39b1acf1247f924dc1b39f331ed57b81f60533 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 19:54:48 +0300 Subject: [PATCH 07/36] WIP --- build/helpers/postgres.cmd | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index c7951a8..5aedd8b 100644 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -72,25 +72,15 @@ IF %HAVE_PGURL% == 0 ( >>src\tools\msvc\config.pl ECHO ^# blocksize ^=^> 8, >>src\tools\msvc\config.pl ECHO ^# wal_blocksize ^=^> 8, >>src\tools\msvc\config.pl ECHO ^# wal_segsize ^=^> 16, ->>src\tools\msvc\config.pl ECHO ldap ^=^> 1, ->>src\tools\msvc\config.pl ECHO nls ^=^> '%DEPENDENCIES_BIN_DIR%\libintl', +>>src\tools\msvc\config.pl ECHO ldap ^=^> undef, +>>src\tools\msvc\config.pl ECHO nls ^=^> undef, >>src\tools\msvc\config.pl ECHO tcl ^=^> undef, -IF %SDK% == SDK71 GOTO :DISABLE_PERL -IF %ARCH% == X86 GOTO :DISABLE_PERL -IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO perl ^=^> '%PERL64_PATH%', ) -GOTO :PERL_CONF_DONE -:DISABLE_PERL -IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO perl ^=^> undef, ) -:PERL_CONF_DONE -IF %ARCH% == X64 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON64_PATH%', ) -IF %ARCH% == X86 (>>src\tools\msvc\config.pl ECHO python ^=^> '%PYTHON32_PATH%', ) >>src\tools\msvc\config.pl ECHO openssl ^=^> '%DEPENDENCIES_BIN_DIR%\openssl', ->>src\tools\msvc\config.pl ECHO uuid ^=^> '%DEPENDENCIES_BIN_DIR%\uuid', ->>src\tools\msvc\config.pl ECHO xml ^=^> '%DEPENDENCIES_BIN_DIR%\libxml2', ->>src\tools\msvc\config.pl ECHO xslt ^=^> '%DEPENDENCIES_BIN_DIR%\libxslt', ->>src\tools\msvc\config.pl ECHO iconv ^=^> '%DEPENDENCIES_BIN_DIR%\iconv', ->>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib', ->>src\tools\msvc\config.pl ECHO icu ^=^> '%DEPENDENCIES_BIN_DIR%\icu' +>>src\tools\msvc\config.pl ECHO uuid ^=^> undef, +>>src\tools\msvc\config.pl ECHO xml ^=^> undef, +>>src\tools\msvc\config.pl ECHO xslt ^=^> undef, +>>src\tools\msvc\config.pl ECHO iconv ^=^> undef, +>>src\tools\msvc\config.pl ECHO zlib ^=^> '%DEPENDENCIES_BIN_DIR%\zlib' >>src\tools\msvc\config.pl ECHO ^}; >>src\tools\msvc\config.pl ECHO 1^; From 61383d077629b58bc4e128bd6842c55c77090b3b Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 21:33:27 +0300 Subject: [PATCH 08/36] WIP --- build/helpers/probackup.cmd | 9 --------- 1 file changed, 9 deletions(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 2f0d62a..d77ed1e 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -1,14 +1,5 @@ CALL %ROOT%\build\helpers\setvars.cmd -IF EXIST %DOWNLOADS_DIR%\%DEPS_ZIP% ( - 7z x %DOWNLOADS_DIR%\%DEPS_ZIP% -o%DEPENDENCIES_BIN_DIR% -y - REM Go to last build - GOTO :BUILD_ALL -) ELSE ( - ECHO "You need to build dependencies first!" - EXIT /B 1 || GOTO :ERROR -) - SET PROBACKUP_URL=https://github.com/postgrespro/pg_probackup/tarball/%PROBACKUP_VERSION% SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% SET PRODUCT_NAME=PostgreSQL From 8792c4f5564a9a36e5d0026dffba93dac8c46601 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:04:22 +0300 Subject: [PATCH 09/36] WIP --- build/helpers/probackup.cmd | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index d77ed1e..2bdf222 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -21,8 +21,7 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR -IF NOT EXISTS %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 ( -wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR ) +wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR tar xf %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR From 78645d9b96f83572ec832e9c716e994891b957b1 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:09:25 +0300 Subject: [PATCH 10/36] WIP --- build/helpers/probackup.cmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 2bdf222..f8e9dcb 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -22,8 +22,9 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR +CD /D %DOWNLOADS_DIR% || GOTO :ERROR +tar xf pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR -tar xf %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION% From fc38526a8a36a95f4163ca547cd6de4924c96df9 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:14:12 +0300 Subject: [PATCH 11/36] WIP --- build/helpers/probackup.cmd | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index f8e9dcb..04c11d5 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -4,7 +4,7 @@ SET PROBACKUP_URL=https://github.com/postgrespro/pg_probackup/tarball/%PROBACKUP SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% SET PRODUCT_NAME=PostgreSQL -SET PGDIRSRC=%BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\ +SET PGDIRSRC=%BUILD_DIR%\postgresql\postgresql-%PGVER%\ SET PGDIR=Z:\inst\ SET PGDIR=Z:\Program Files\PostgresProEnterprise\11 @@ -27,14 +27,13 @@ tar xf pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR -gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION% +gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% MKDIR %BIN_DIR% || GOTO :ERROR -MKDIR %BIN_DIR%\bin || GOTO :ERROR rem copy pg_probackup binaries and dependencies -copy %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\Release\pg_probackup.exe %BIN_DIR% || GOTO :ERROR -copy %BUILD_DIR%\postgresql\postgresql-%PG_MAJOR_VERSION%\Release\libpq\libpq.dll %BIN_DIR% || GOTO :ERROR +copy %BUILD_DIR%\postgresql\postgresql-%PGVER%\Release\pg_probackup.exe %BIN_DIR% || GOTO :ERROR +copy %BUILD_DIR%\postgresql\postgresql-%PGVER%\Release\libpq\libpq.dll %BIN_DIR% || GOTO :ERROR copy %DEPENDENCIES_BIN_DIR%\zlib\lib\zlib1.dll %BIN_DIR% || GOTO :ERROR copy %DEPENDENCIES_BIN_DIR%\openssl\lib\libeay32.dll %BIN_DIR% || GOTO :ERROR copy %DEPENDENCIES_BIN_DIR%\openssl\lib\ssleay32.dll %BIN_DIR% || GOTO :ERROR From 19b61002f6fcb3edfe2494e67af817bf9ece95ee Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:18:21 +0300 Subject: [PATCH 12/36] WIP --- build/helpers/probackup.cmd | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 04c11d5..5c80ee4 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -21,11 +21,13 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR -wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR -CD /D %DOWNLOADS_DIR% || GOTO :ERROR -tar xf pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR +rem wget --no-check-certificate %PROBACKUP_URL% -O %DOWNLOADS_DIR%\pg_probackup-%PROBACKUP_VERSION%.tar.bz2 || GOTO :ERROR +rem CD /D %DOWNLOADS_DIR% || GOTO :ERROR +rem tar xf pg_probackup-%PROBACKUP_VERSION%.tar.bz2 -C %BUILD_UDIR%/pg_probackup || GOTO :ERROR -CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR +git clone https://github.com/postgrespro/pg_probackup . + +rem CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% From 62c9282b86a9c258eacfe6fea3f80b041f37b1dc Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:20:22 +0300 Subject: [PATCH 13/36] WIP --- build/helpers/probackup.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 5c80ee4..352f6b5 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -31,6 +31,7 @@ rem CD /D %BUILD_DIR%\pg_probackup\*%PROBACKUP_VERSION%* || GOTO :ERROR gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% +rm -rf %BIN_DIR% || GOTO :ERROR MKDIR %BIN_DIR% || GOTO :ERROR rem copy pg_probackup binaries and dependencies From 0d5288790ffacbfea58656ae15ec7d655dfd7103 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Wed, 7 Aug 2019 23:25:20 +0300 Subject: [PATCH 14/36] WIP --- build/helpers/probackup.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 352f6b5..a6c2b8d 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -35,7 +35,7 @@ rm -rf %BIN_DIR% || GOTO :ERROR MKDIR %BIN_DIR% || GOTO :ERROR rem copy pg_probackup binaries and dependencies -copy %BUILD_DIR%\postgresql\postgresql-%PGVER%\Release\pg_probackup.exe %BIN_DIR% || GOTO :ERROR +copy %BUILD_DIR%\postgresql\postgresql-%PGVER%\Release\pg_probackup\pg_probackup.exe %BIN_DIR% || GOTO :ERROR copy %BUILD_DIR%\postgresql\postgresql-%PGVER%\Release\libpq\libpq.dll %BIN_DIR% || GOTO :ERROR copy %DEPENDENCIES_BIN_DIR%\zlib\lib\zlib1.dll %BIN_DIR% || GOTO :ERROR copy %DEPENDENCIES_BIN_DIR%\openssl\lib\libeay32.dll %BIN_DIR% || GOTO :ERROR From c878f10400585c350da58ad2ea23393bb0fc4210 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Thu, 8 Aug 2019 22:04:09 +0300 Subject: [PATCH 15/36] WIP --- build/helpers/probackup_installer.cmd | 43 ++++--------------- .../{Files.wxs => Files_example.wxs} | 0 2 files changed, 9 insertions(+), 34 deletions(-) rename wix/pg_probackup/{Files.wxs => Files_example.wxs} (100%) diff --git a/build/helpers/probackup_installer.cmd b/build/helpers/probackup_installer.cmd index ecca98a..541d459 100644 --- a/build/helpers/probackup_installer.cmd +++ b/build/helpers/probackup_installer.cmd @@ -1,31 +1,13 @@ echo. -echo Building Installer... - - ->Files.wxs ECHO ^<^?xml version="1.0" encoding="UTF-8"?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^?include Variables.wxi?^> ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^ ->>Files.wxs ECHO ^<^Directory Id="BIN" Name="bin"^> ->>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> -perl genfilelist.pl ./out/bin/*.* Files.wxs ->>Files.wxs ECHO ^<^/Component^> ->>Files.wxs ECHO ^<^/Directory^> ->>Files.wxs ECHO ^<^/DirectoryRef^> ->>Files.wxs ECHO ^<^/Fragment^> ->>Files.wxs ECHO ^<^/Wix^> +echo Building PG_PROBACKUP Installer... +SET PRODUCT_NAME=PostgreSQL +SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% SET WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11\bin -perl regenguids.pl Variables.wxi -move Variables.wxi.out Variables.wxi -echo on -"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product.wxs Files.wxs || goto :ERROR - -rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%.msi -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%.msi +SET PG_DEF_BRANDING=PostgreSQL%PG_MAJOR_VERSION% +SET PG_REG_KEY=SOFTWARE\Postgres Professional\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%\Installations\postgresql-%PG_MAJOR_VERSION% -"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product.wixobj || goto :ERROR +CD /D %ROOT%\wix\pg_probackup || GOTO :ERROR echo. echo Building Full Installer... @@ -36,26 +18,19 @@ echo Building Full Installer... >>Files.wxs ECHO ^ >>Files.wxs ECHO ^ >>Files.wxs ECHO ^<^Component Id="ProductComponent" Guid="$(var.ComponentCode)" Win64="$(var.Win64)"^> -perl genfilelist.pl ./out_full/*.* Files.wxs +perl genfilelist.pl %BIN_DIR%/*.* Files.wxs >>Files.wxs ECHO ^<^/Component^> >>Files.wxs ECHO ^<^/DirectoryRef^> >>Files.wxs ECHO ^<^/Fragment^> >>Files.wxs ECHO ^<^/Wix^> -"%WIXDIR%\candle" -nologo -dAPPVERSION="%APPVERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product_separate.wxs Files.wxs || goto :ERROR +"%WIXDIR%\candle" -nologo -dAPPVERSION="%PROBACKUP_VERSION%" -dPG_REG_KEY="%PG_REG_KEY%" -dPG_DEF_BRANDING="%PG_DEF_BRANDING%" Product_separate.wxs Files.wxs || goto :ERROR -rem SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-%BITS%-standalone.msi -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-en.msi +SET INS_FILE=pg-probackup-%PROBACKUP_EDITION%-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION%-standalone-en.msi "%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:en-us -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR -SET INS_FILE=pg-probackup-%EDITION%-%PG_MAJOR_VERSION%-%APPVERSION%-standalone-ru.msi - -"%WIXDIR%\light" -sice:ICE03 -sice:ICE25 -sice:ICE82 -sw1101 -nologo -ext WixUIExtension -cultures:ru-ru -o %INS_FILE% Files.wixobj Product_separate.wixobj || goto :ERROR - - goto :DONE - :ERROR ECHO Failed with error #%errorlevel%. EXIT /b %errorlevel% diff --git a/wix/pg_probackup/Files.wxs b/wix/pg_probackup/Files_example.wxs similarity index 100% rename from wix/pg_probackup/Files.wxs rename to wix/pg_probackup/Files_example.wxs From 2814525d9318ebf16d0bc3740235ac790536b662 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Thu, 8 Aug 2019 22:47:53 +0300 Subject: [PATCH 16/36] WIP --- wix/pg_probackup/Product_separate.wxs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/wix/pg_probackup/Product_separate.wxs b/wix/pg_probackup/Product_separate.wxs index b1fa3a1..9090c56 100644 --- a/wix/pg_probackup/Product_separate.wxs +++ b/wix/pg_probackup/Product_separate.wxs @@ -4,10 +4,10 @@ @@ -79,15 +79,15 @@ @@ -79,15 +79,15 @@ - Date: Fri, 9 Aug 2019 01:41:49 +0300 Subject: [PATCH 26/36] Build pg_probackup binaries and installers via pgwininstall --- Readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Readme.md b/Readme.md index 75f7623..f68816e 100644 --- a/Readme.md +++ b/Readme.md @@ -49,16 +49,16 @@ To build pg_probackup installer for vanilla PostgreSQL, run: SET SDK=MSVC2013 SET PROBACKUP_VERSION=2.1.5 -SET PG_MAJOR_VERSION = 11 -SET PG_PATCH_VERSION = 4 +SET PG_MAJOR_VERSION=11 +SET PG_PATCH_VERSION=4 SET PROBACKUP_EDITION=vanilla To build pg_probackup installer for PostgresPro Standart, run: SET SDK=MSVC2013 SET PROBACKUP_VERSION=2.1.5 -SET PG_MAJOR_VERSION = 11 -SET PG_PATCH_VERSION = 4 +SET PG_MAJOR_VERSION=11 +SET PG_PATCH_VERSION=4 SET PROBACKUP_EDITION=std SET GIT_PATH=https://git.postgrespro.ru/pgpro-dev/postgrespro.git SET GIT_BRANCH=PGPRO11_4_1 \ No newline at end of file From f155782a07c140d1363f25f6d9e4da641c0bc491 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Fri, 9 Aug 2019 01:58:54 +0300 Subject: [PATCH 27/36] minor fixes --- Readme.md | 2 +- build/helpers/probackup.cmd | 3 ++- build/helpers/probackup_installer.cmd | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Readme.md b/Readme.md index f68816e..acc74a3 100644 --- a/Readme.md +++ b/Readme.md @@ -61,4 +61,4 @@ SET PG_MAJOR_VERSION=11 SET PG_PATCH_VERSION=4 SET PROBACKUP_EDITION=std SET GIT_PATH=https://git.postgrespro.ru/pgpro-dev/postgrespro.git -SET GIT_BRANCH=PGPRO11_4_1 \ No newline at end of file +SET GIT_BRANCH=PGPRO11_4_1 diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index b9a86e2..73d76e2 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -1,7 +1,6 @@ CALL %ROOT%\build\helpers\setvars.cmd SET PROBACKUP_URL=https://github.com/postgrespro/pg_probackup/tarball/%PROBACKUP_VERSION% -SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% SET PRODUCT_NAME="" IF %PROBACKUP_EDITION% == vanilla ( @@ -17,6 +16,8 @@ IF %PRODUCT_NAME% == "" ( GOTO :ERROR ) +SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PROBACKUP_EDITION%_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% + echo Download sources ... rm -rf %BUILD_DIR%\pg_probackup || GOTO :ERROR diff --git a/build/helpers/probackup_installer.cmd b/build/helpers/probackup_installer.cmd index 442fd6b..1ffb21c 100644 --- a/build/helpers/probackup_installer.cmd +++ b/build/helpers/probackup_installer.cmd @@ -3,7 +3,6 @@ CALL %ROOT%\build\helpers\setvars.cmd echo. echo Building PG_PROBACKUP Installer... -SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% SET WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11\bin SET PRODUCT_NAME="" @@ -23,7 +22,7 @@ IF %PRODUCT_NAME% == "" ( ) SET PG_REG_KEY=SOFTWARE\Postgres Professional\%ARCH%\%PRODUCT_NAME%\%PG_MAJOR_VERSION%\Installations\postgresql-%PG_MAJOR_VERSION% - +SET BIN_DIR=%BUILD_DIR%\pg_probackup_%PROBACKUP_EDITION%_%PG_MAJOR_VERSION%_%PROBACKUP_VERSION%_%ARCH% rm -rf %BUILD_DIR%\pg_probackup\installer || GOTO :ERROR MKDIR %BUILD_DIR%\pg_probackup\installer From 3132ac5becd14540d9cd6e3e25291220b264bae2 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Fri, 9 Aug 2019 14:57:39 +0300 Subject: [PATCH 28/36] minor fix --- build/helpers/probackup.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 73d76e2..15cefe1 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -26,9 +26,9 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR -git clone https://github.com/postgrespro/pg_probackup . +git clone https://github.com/postgrespro/pg_probackup . || GOTO :ERROR -gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% +perl gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% || GOTO :ERROR rm -rf %BIN_DIR% || GOTO :ERROR MKDIR %BIN_DIR% || GOTO :ERROR From b9bf1e843d2f22c3564da20b335104030ff0263d Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Fri, 9 Aug 2019 17:33:48 +0300 Subject: [PATCH 29/36] minor fix for postgres build --- build/helpers/postgres.cmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 4eddc54..9739b9f 100644 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -150,6 +150,8 @@ REM remove python3 extensions rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/share/extension/*python3* || GOTO :ERROR rm -rf %BUILD_UDIR%/distr_%ARCH%_%PGVER%/postgresql/lib/*python3* || GOTO :ERROR +GOTO :DONE + SET WGET=wget --no-check-certificate rem download help sources From ccb9016f0dabe5b0ed26144bc7620c0bd56864a1 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Fri, 9 Aug 2019 18:00:24 +0300 Subject: [PATCH 30/36] fix Readme --- Readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Readme.md b/Readme.md index acc74a3..550e514 100644 --- a/Readme.md +++ b/Readme.md @@ -47,14 +47,17 @@ You can specify several environmental variables depending on desirable result: To build pg_probackup installer for vanilla PostgreSQL, run: +``` SET SDK=MSVC2013 SET PROBACKUP_VERSION=2.1.5 SET PG_MAJOR_VERSION=11 SET PG_PATCH_VERSION=4 SET PROBACKUP_EDITION=vanilla +``` To build pg_probackup installer for PostgresPro Standart, run: +``` SET SDK=MSVC2013 SET PROBACKUP_VERSION=2.1.5 SET PG_MAJOR_VERSION=11 @@ -62,3 +65,4 @@ SET PG_PATCH_VERSION=4 SET PROBACKUP_EDITION=std SET GIT_PATH=https://git.postgrespro.ru/pgpro-dev/postgrespro.git SET GIT_BRANCH=PGPRO11_4_1 +``` From 1991cb9193450cb87ae49c52ac5997a31827f998 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Fri, 9 Aug 2019 18:13:38 +0300 Subject: [PATCH 31/36] fix Readme --- build/helpers/postgres.cmd | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/build/helpers/postgres.cmd b/build/helpers/postgres.cmd index 9739b9f..14a2a7d 100644 --- a/build/helpers/postgres.cmd +++ b/build/helpers/postgres.cmd @@ -54,16 +54,6 @@ IF %ONE_C% == YES ( :DONE_1C_PATCH -IF %HAVE_PGURL% == 0 ( - cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/series . - IF NOT EXIST series GOTO :DONE_POSTGRESQL_PATCH - FOR /F %%I IN (series) do ( - ECHO %%I - cp -va %ROOT%/patches/postgresql/%PG_MAJOR_VERSION%/%%I . - patch -p1 < %%I || GOTO :ERROR - ) -) - :DONE_POSTGRESQL_PATCH >src\tools\msvc\config.pl ECHO use strict; >>src\tools\msvc\config.pl ECHO use warnings; From 739bc9a7c462b4182676c5ded8aab32b72c14ec3 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Tue, 13 Aug 2019 17:02:04 +0300 Subject: [PATCH 32/36] add GIT_COMMIT variable --- Readme.md | 1 + build/helpers/probackup.cmd | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/Readme.md b/Readme.md index 550e514..f451f9e 100644 --- a/Readme.md +++ b/Readme.md @@ -44,6 +44,7 @@ You can specify several environmental variables depending on desirable result: * PROBACKUP_VERSION=[2.1.3/2.1.5] - pg_probackup full version * PROBACKUP_EDITION=[vanilla/std/enterprise] -- fork to build probackup for, default 'vanilla' * PROBACKUP_PATCH_POSTGRESQL=[YES/NO] -- apply probackup specific patches, default NO +* GIT_COMMIT=commit -- git commit, to build source from To build pg_probackup installer for vanilla PostgreSQL, run: diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 15cefe1..42b7453 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -28,6 +28,11 @@ CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO git clone https://github.com/postgrespro/pg_probackup . || GOTO :ERROR +IF NOT "%GIT_COMMIT%"=="" ( + git checkout %GIT_COMMIT% || GOTO :ERROR +) + + perl gen_probackup_project.pl %BUILD_DIR%\postgresql\postgresql-%PGVER% || GOTO :ERROR rm -rf %BIN_DIR% || GOTO :ERROR From 5c1abcf1b8656dbc878bee96deff42f26433eed4 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Tue, 13 Aug 2019 17:22:02 +0300 Subject: [PATCH 33/36] minor fix --- build/helpers/probackup.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index 42b7453..d53ca9a 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -27,6 +27,7 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR git clone https://github.com/postgrespro/pg_probackup . || GOTO :ERROR +git checkout %PROBACKUP_VERSION% IF NOT "%GIT_COMMIT%"=="" ( git checkout %GIT_COMMIT% || GOTO :ERROR From 8e4e5eca05bbf815da3723491dfce3bfc7c91f64 Mon Sep 17 00:00:00 2001 From: Grigory Smolkin Date: Tue, 13 Aug 2019 18:31:18 +0300 Subject: [PATCH 34/36] minor fix --- build/helpers/probackup.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/helpers/probackup.cmd b/build/helpers/probackup.cmd index d53ca9a..90119b2 100644 --- a/build/helpers/probackup.cmd +++ b/build/helpers/probackup.cmd @@ -27,7 +27,7 @@ MKDIR %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSIO CD /D %BUILD_DIR%\pg_probackup\pg_probackup-%PG_MAJOR_VERSION%-%PROBACKUP_VERSION% || GOTO :ERROR git clone https://github.com/postgrespro/pg_probackup . || GOTO :ERROR -git checkout %PROBACKUP_VERSION% +git checkout %PROBACKUP_VERSION% || GOTO :ERROR IF NOT "%GIT_COMMIT%"=="" ( git checkout %GIT_COMMIT% || GOTO :ERROR From d10993271c336c091ead74774b7625f9e407617c Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Thu, 25 Jul 2019 12:47:58 +0300 Subject: [PATCH 35/36] Copy openssl.exe to openssl\bin for check OpenSSL version --- build/helpers/dependencies.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/helpers/dependencies.cmd b/build/helpers/dependencies.cmd index 47126fb..b1e8ab5 100644 --- a/build/helpers/dependencies.cmd +++ b/build/helpers/dependencies.cmd @@ -151,6 +151,9 @@ MKDIR %DEPENDENCIES_BIN_DIR%\openssl\lib\VC cp -av out32dll/* %DEPENDENCIES_BIN_DIR%\openssl\lib\VC || GOTO :ERROR cp -v out32dll/ssleay32.lib %DEPENDENCIES_BIN_DIR%\openssl\lib\VC\ssleay32MD.lib || GOTO :ERROR cp -v out32dll/libeay32.lib %DEPENDENCIES_BIN_DIR%\openssl\lib\VC\libeay32MD.lib || GOTO :ERROR +MKDIR %DEPENDENCIES_BIN_DIR%\openssl\bin +cp -av out32dll/openssl.exe %DEPENDENCIES_BIN_DIR%\openssl\bin || GOTO :ERROR +cp -av out32dll/*32.dll %DEPENDENCIES_BIN_DIR%\openssl\bin || GOTO :ERROR CD /D %DOWNLOADS_DIR% 7z a -r %DOWNLOADS_DIR%\%DEPS_ZIP% %DEPENDENCIES_BIN_DIR%\openssl -y From 39948e7eac817f17dc16472e85631291d520e655 Mon Sep 17 00:00:00 2001 From: Victor Spirin Date: Tue, 3 Mar 2020 22:27:31 +0300 Subject: [PATCH 36/36] Added Visual Studio 2013 runtime package to pg_probackup installer --- wix/pg_probackup/Product_separate.wxs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wix/pg_probackup/Product_separate.wxs b/wix/pg_probackup/Product_separate.wxs index 92cb797..508e11e 100644 --- a/wix/pg_probackup/Product_separate.wxs +++ b/wix/pg_probackup/Product_separate.wxs @@ -14,7 +14,7 @@ - + - + + + pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy