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 @@ - + - + + +