Đây là lệnh pg_buildext có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
pg_buildext - Xây dựng và cài đặt một phần mở rộng PostgreSQL
SYNOPSIS
pg_buildext [lựa chọn] hoạt động [lựa chọn]
MÔ TẢ
pg_buildext là một tập lệnh sẽ xây dựng một phần mở rộng PostgreSQL theo cách VPATH, cho
có khả năng là một số phiên bản máy chủ PostgreSQL song song. Nó xây dựng cho
sự giao nhau giữa các phiên bản đã biết trong debian / pgversions (các phiên bản được gói hỗ trợ)
và trong / usr / share / postgresql-common / hỗ trợ-phiên bản (các phiên bản được hỗ trợ trong này
giải phóng).
SỬ DỤNG
Các gói sử dụng pg_buildext nên chuẩn bị để xây dựng các tệp nhị phân cho các phiên bản PostgreSQL
không có trong Debian không ổn định, ví dụ: đối với các bản phát hành cũ hơn khi xây dựng cổng nền
cho Debian (cũ) ổn định (có thể bao gồm các bản backports của các bản phát hành PostgreSQL mới hơn), hoặc cho
tất cả các bản phát hành PostgreSQL khi gói được xây dựng cho apt.postgresql.org.
Vì tập hợp các gói nhị phân phụ thuộc vào các phiên bản PostgreSQL đích, debian / control là
được tạo từ một mẫu trong debian / control.in khi pg_buildext kiểm soát cập nhật chạy.
Sự xuất hiện của PHIÊN BẢN trong các phần gói được thay thế bằng PostgreSQL đích
phiên bản. Bao gồm /usr/share/postgresql-common/pgxs_debian_control.mk trong debian / rules để
chạy kiểm tra tại thời điểm xây dựng nếu cần cập nhật debian / control.
As pg_buildext viện dẫn làm cho cho xây dựng, cài đặt, dựng lênvà giống cá lăng hành động, lời gọi từ
debian / rules (là một tệp makefile) phải được bắt đầu bằng + vì vậy những người làm phụ có thể nói chuyện
với make joberver.
Nhiều tiện ích mở rộng hỗ trợ làm cho kiểm tra cài đặt thử nghiệm bằng cách sử dụng pg_regress. Vì điều này cần
gói được cài đặt, nó không thể chạy tại thời điểm xây dựng. Thay vào đó, các bài kiểm tra nên được chạy
sử dụng autopkgtest từ debian / tests / *.
Nếu debian / tests / control.in tồn tại, sẽ xuất hiện tên gói chứa PHIÊN BẢN đang
được thay thế bằng danh sách tên gói với các phiên bản PostgreSQL đích được điền. (Nếu không
cần thay thế trong debian / tests / control, bạn có thể cung cấp tệp điều khiển tests
trực tiếp.)
LỰA CHỌN
-cio arg
-s Đã vượt qua pg_virtualenv khi chạy kiểm tra cài đặt.
HÀNH ĐỘNG
Hầu hết các hành động mong đợi một tên thư mục để xây dựng các nguồn. Nó sẽ được tạo cho
bạn nếu nó không tồn tại. Nếu xây dựng chứa dấu% v, nó sẽ được thay thế bằng
phiên bản cụ thể của PostgreSQL đang được xây dựng dựa trên. (Thông thường tham số này là build-% v.)
phiên bản được hỗ trợ
In danh sách hiệu quả của các phiên bản được hỗ trợ, tức là phần giao nhau của các tập hợp
phiên bản được hỗ trợ bởi hệ thống và gói.
kiểm tra điều khiển
Kiểm tra xem debian / control có cần cập nhật từ debian / control.in không. Điều này được gọi từ
/usr/share/postgresql-common/pgxs_debian_control.mk. Khi xây dựng cho một backport or
pgdg bộ như được xác định bởi debian / changelog, hành động này cũng cập nhật điều khiển
tập tin. Nếu không thì, kiểm soát cập nhật cần được chạy thủ công.
kiểm soát cập nhật
Cập nhật debian / control từ debian / control.in và debian / tests / control từ
debian / tests / control.in nếu cái sau tồn tại.
cấu hình xây dựng [tùy chọn cấu hình bổ sung]
Đối với mọi phiên bản được hỗ trợ, hãy gọi ../cấu hình từ xây dựng danh mục. (Phần lớn
Các phần mở rộng PostgreSQL không có tập lệnh cấu hình.)
xây dựng xây dựng [dấu ngoặc kép]
Xây dựng tiện ích mở rộng trong xây dựng thư mục.
cài đặt, dựng lên xây dựng gói-mẫu
cầu nguyện làm cho cài đặt, dựng lên từ xây dựng danh mục. Tham số thứ ba chỉ định
tên gói để sử dụng. Hầu hết các gói sử dụng postgresql-% v-pkgname. Make sẽ được gọi bằng
DESTDIR = "$ (CURDIR) / debian /gói".
giống cá lăng xây dựng
Làm sạch thư mục xây dựng.
vòng lặp gói-mẫu
Như một biến thể của gọi điện xây dựng và cài đặt, dựng lên riêng cho các bản dựng VPATH, lặp lại
các phiên bản PostgreSQL được hỗ trợ trong thư mục nguồn trên cùng. Điều này sẽ được sử dụng nếu
gói không hỗ trợ các bản dựng VPATH. Vì nó cũng gọi làm cho cài đặt, dựng lên, nó nên
được đặt là cài đặt xảy ra trong debian / rules, chứ không phải ở nơi mà bản dựng sẽ
thường được gọi.
kiểm tra cài đặt [xây dựng]
Sử dụng pg_virtualenv làm cho kiểm tra cài đặt để chạy kiểm tra hồi quy tiện ích mở rộng. Đây là
có nghĩa là được chạy từ debian / tests / control bằng cách sử dụng autopkgtest. Nếu xây dựng bị bỏ qua,
thư mục nguồn hàng đầu được sử dụng.
Đôi khi bạn nên chạy mã bổ sung cho mỗi phiên bản trước khi gọi hành động, trong
trong trường hợp đó, vòng lặp qua các phiên bản được hỗ trợ cần phải nằm trong tập lệnh gọi. Đến
hỗ trợ chế độ này, các hành động cũng có thể được gọi là hoạt động-phiên bản. Xem kiểm tra cài đặt
ví dụ bên dưới.
HPORT TRỢ PHIÊN BẢN
pg_buildext đọc debian / pgversions để quyết định PostgreSQL nào để xây dựng mô-đun / phần mở rộng
vì. Tệp này chứa một số phiên bản PostgreSQL trên mỗi dòng, ở các định dạng sau:
tất cả các Hỗ trợ tất cả các phiên bản. Điều này được khuyến nghị trừ khi có sự không tương thích đã biết.
XY Hỗ trợ phiên bản này.
XY+
Hỗ trợ điều này và tất cả các phiên bản lớn hơn.
#...
Bình luận.
Đối với một phiên bản được sử dụng, nó cũng phải được liệt kê trong đầu ra của
/ usr / share / postgresql-common / hỗ trợ-phiên bản. Xem tệp này để biết cách định cấu hình
danh sách các phiên bản được hỗ trợ trên hệ thống của bạn.
THÍ DỤ
debian / control.in:
Nguồn: postgresql-foobar
Bản dựng-Phụ thuộc: debhelper, postgresql-server-dev-all (> = 153 ~)
XS-TestSuite: autopkgtest
Gói: postgresql-PGVERSION-foobar
Phụ thuộc: $ {misc: Depends}, $ {shlibs: Depends}, postgresql-PGVERSION
debian / pgversions:
tất cả các
debian / quy tắc:
#!/ usr / bin / make -f
bao gồm /usr/share/postgresql-common/pgxs_debian_control.mk
# bỏ qua điều này nếu gói không sử dụng autoconf
ghi đè_dh_auto_configure:
+ pg_buildext config build-% v "--libdir = / usr / lib / postgresql /% v / lib --datadir = / usr / share / postgresql-% v-foobar"
ghi đè_dh_auto_build:
+ pg_buildext build build-% v
ghi đè_dh_auto_test:
# không phải làm gì ở đây, thay vào đó hãy xem debian / tests / *
ghi đè_dh_auto_install:
+ pg_buildext install build-% v postgresql-% v-foobar
ghi đè_dh_installdocs:
dh_installdocs - all README. *
ghi đè_dh_auto_clean:
+ pg_buildext clean build-% v
%:
dh $ @
debian / tests / control:
Phụ thuộc: @, postgresql-server-dev-all
Kiểm tra: installcheck
Hạn chế: allow-stderr
debian / tests / control.in: (Không bắt buộc)
Phụ thuộc: @, postgresql-Contrib-PGVERSION, postgresql-PGVERSION-bar
Kiểm tra: installcheck
Hạn chế: allow-stderr
debian / tests / installcheck:
#!/ Bin / sh
kiểm tra cài đặt pg_buildext
# cách khác: pg_buildext installcheck build-% v
# Chạy mã bổ sung trước khi gọi hành động thực tế:
đặt -e
cho v trong $ (pg_buildext hỗ trợ-phiên bản); làm
kiểm tra -L build- $ v / sql || ln -s ../sql build- $ v /
thử nghiệm -L xây dựng- $ v / dự kiến || ln -s ../e dự kiến xây dựng- $ v /
pg_buildext installcheck- $ v build- $ v
thực hiện
MÔI TRƯỜNG
pg_buildext bộ PG_VIRTUALENV_UNSHARE = -n cho các hành động kiểm tra cài đặt theo mặc định thành
yêu cầu một không gian tên mạng mới, cho phép một số phiên bản chạy song song để chia sẻ
cổng 5432. Ghi đè bằng cách đặt thành một giá trị khác.
Tương thích
Sớm hơn pg_buildext phiên bản yêu cầu đối số "mã nguồn" sau hành động. Đây là
hiện không được dùng nữa, nhưng vẫn được chấp nhận (và bị bỏ qua).
pg_buildext vòng lặp đã được giới thiệu trong postgresql-server-dev-all (> = 141 ~).
Việc sử dụng "tất cả" hoặc "X.Y +" trong debian / pgversions đã được giới thiệu trong postgresql-server-dev-
tất cả (> = 148 ~).
pg_buildext kiểm tra cài đặt đã được giới thiệu trong postgresql-server-dev-all (> = 153 ~).
PG_VIRTUALENV_UNSHARE = -n đã được giới thiệu trong postgresql-common (> = 170 ~).
Xử lý debian / tests / control.in với PHIÊN BẢN sự thay thế đã được giới thiệu trong
postgresql-common (> = 171 ~).
Sử dụng pg_buildext trực tuyến bằng các dịch vụ onworks.net