ນີ້ແມ່ນຄໍາສັ່ງ gitpkg ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
gitpkg - ສົ່ງອອກຊຸດແຫຼ່ງ Debian ຈາກການປັບປຸງ git ທີ່ຖືກແຕ່ງຕັ້ງ
ສະຫຼຸບສັງລວມ
gitpkg ສາຂາ [ສາຂາ]
ລາຍລະອຽດ
If gitpkg ແມ່ນດໍາເນີນການໃນ a ໄປ(1) repo ກັບ 'ສາຂາ' ດຽວທີ່ລະບຸ, ຫຼັງຈາກນັ້ນມັນຈະເຮັດ a git-
ເກັບ ການສົ່ງອອກຂອງສາຂາທີ່ DEB_DIR ໄດເລກະທໍລີ. ຖ້າຊຸດແມ່ນ Debian native
ມັນພຽງແຕ່ຈະສ້າງຊຸດແຫຼ່ງຈາກມັນ. ຖ້າຊຸດມີສະບັບ Debian, ຫຼັງຈາກນັ້ນ
orig tarball ຄາດວ່າຈະມີຢູ່ແລ້ວສໍາລັບມັນ. ຖ້າ orig tarball ບໍ່
ມີຢູ່ແລ້ວຫຼັງຈາກນັ້ນສິ່ງທີ່ເກີດຂຶ້ນຕໍ່ໄປແມ່ນຂຶ້ນກັບມູນຄ່າຂອງ gitpkg.create-fake-orig
ຕົວເລືອກການຕັ້ງຄ່າ (ອະທິບາຍຂ້າງລຸ່ມນີ້).
If gitpkg ຖືກເອີ້ນດ້ວຍສອງສາຂາທີ່ລະບຸ, ຫຼັງຈາກນັ້ນສາຂາທໍາອິດຈະຖືກສົ່ງອອກ
ເປັນແຫຼ່ງທີ່ສົມບູນ unpacked, ໃນຂະນະທີ່ສາຂາທີສອງຈະຖືກສົ່ງອອກສໍາລັບ
orig.tar.gz. ນີ້ອະນຸຍາດໃຫ້ການປ່ຽນແປງທ້ອງຖິ່ນທັງຫມົດໃນແຫຼ່ງທີ່ຈະຖືກບັນທຶກໄວ້ໃນຜົນໄດ້ຮັບ
diff.gz ຖ້າມີສາຂາຕົ້ນນ້ຳທີ່ບໍລິສຸດຢູ່ໃນບ່ອນເກັບມ້ຽນ. ຖ້າເປັນ orig tarball
ມີຢູ່ແລ້ວສໍາລັບສະບັບທີ່ 'ສາຂາ' ຫຼັງຈາກນັ້ນສິ່ງທີ່ເກີດຂຶ້ນຕໍ່ໄປແມ່ນຂຶ້ນກັບມູນຄ່າຂອງ
ໄດ້ gitpkg.force-overwrite-orig ຕົວເລືອກການຕັ້ງຄ່າ (ອະທິບາຍຂ້າງລຸ່ມນີ້).
ໄດ້ 'ສາຂາ' ຄວນມີສະເຫມີໄປ debian/ dir ແລະອາດຈະເປັນໃດໆ ໄມ້ຢືນຕົ້ນ ວັດຖຸທີ່ເປັນ
ຍອມຮັບໂດຍ git-archive(1). ໄດ້ 'ສາຂາ', ຖ້າສະຫນອງ, ປົກກະຕິແລ້ວບໍ່ຄວນມີ
debian/ dir.
CONFIGURATION OPTIONS
ເກືອບທັງຫມົດ gitpkg ການຕັ້ງຄ່າແມ່ນຈັດການໂດຍໃຊ້ git-config(1) ດຽວນີ້. ຕໍ່ໄປນີ້
ທາງເລືອກການຕັ້ງຄ່າແມ່ນສະຫນັບສະຫນູນ:
gitpkg.deb-dir
ອາດຈະຖືກຕັ້ງໃຫ້ override ໄດເລກະທໍລີປາຍທາງເລີ່ມຕົ້ນສໍາລັບແພັກເກດທີ່ສົ່ງອອກ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ '../deb-packages'. ມີໃຫ້ຕິດສະຄຣິບເປັນ DEB_DIR. ນີ້ອາດຈະເປັນ
overridden ໃນບັນທັດຄໍາສັ່ງທີ່ມີ --deb-dir=ເສັ້ນທາງ ທາງເລືອກ.
gitpkg.build-rootcmd
ອາດຈະຖືກຕັ້ງໃຫ້ override ຄໍາສັ່ງເລີ່ມຕົ້ນທີ່ໃຊ້ເພື່ອເອົາຮາກສໍາລັບການກໍ່ສ້າງຊຸດ
ການດໍາເນີນງານ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 'ຮາກປອມ'. ມີໃຫ້ຕິດສະຄຣິບເປັນ BUILD_ROOTCMD.
gitpkg.prebuild-target
ອາດຈະຖືກກໍານົດເປັນເປົ້າຫມາຍຫຼືເປົ້າຫມາຍຈາກ debian/ກົດລະບຽບ ເຊິ່ງຈະຖືກເອີ້ນຫຼັງຈາກ
ຕົ້ນໄມ້ແຫຼ່ງ debian ຖືກສົ່ງອອກ, ແຕ່ກ່ອນທີ່ຈະສ້າງຊຸດແຫຼ່ງ. ບາງ
ແພັກເກດອາດຈະໃຊ້ອັນນີ້ເພື່ອສ້າງໄຟລ໌ autoconf ຫຼືຄ້າຍຄືກັນ, ເຊິ່ງຄວນ
ໂດຍທົ່ວໄປແລ້ວບໍ່ໄດ້ຢູ່ໃນ repo, ແຕ່ວ່າຄວນຈະຢູ່ໃນຊຸດທີ່ແຈກຢາຍ. ໄດ້
ເປົ້າໝາຍຖືກເອີ້ນໂດຍໃຊ້ BUILD_ROOTCMD. ການນໍາໃຊ້ທົ່ວໄປສໍາລັບ hook ນີ້ຈະເປັນ
ໂທຫາຊຸດ'ເຮັດຄວາມສະອາດ' ເປົ້າຫມາຍ. hook ນີ້ບໍ່ໄດ້ຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນຕັ້ງແຕ່ gitpkg
0.18. ກ່ອນໜ້ານັ້ນມັນຕັ້ງເປົ້າໝາຍທີ່ສະອາດ. ມີໃຫ້ hook
scripts ເປັນ PREBUILD_TARGET.
gitpkg.orig-compressor
ອາດຈະຖືກຕັ້ງໃຫ້ລົບລ້າງການບີບອັດເລີ່ມຕົ້ນສຳລັບ package.orig.tar ທີ່ສົ່ງອອກແລ້ວ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 'gzip'. ສໍາລັບຮູບແບບ 3.0 ແພັກເກັດ, ຄ່າທີ່ຖືກຕ້ອງຍັງປະກອບມີ xz ແລະ
bzip2. ມີໃຫ້ຕິດສະຄຣິບເປັນ ORIG_COMPRESSOR.
gitpkg.orig-compress-level
ລະດັບການບີບອັດທາງເລືອກທີ່ຈະໃຊ້ກັບ gitpkg.orig-compressor. 1 ປົກກະຕິແລ້ວແມ່ນ
ໄວທີ່ສຸດ ແລະ 9 ປົກກະຕິແລ້ວແມ່ນນ້ອຍທີ່ສຸດ, ມີລາຍລະອຽດທີ່ຊັດເຈນຂອງທຸກສິ່ງທຸກຢ່າງ
ລະຫວ່າງການຂຶ້ນກັບເຄື່ອງອັດທີ່ເລືອກ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ຕັ້ງ (ເຊິ່ງຈະໃຊ້
ໃດກໍ່ຕາມຄ່າເລີ່ມຕົ້ນຂອງ compressor ແມ່ນ). ມີໃຫ້ຕິດສະຄຣິບເປັນ
ORIG_COMPRESS_LEVEL.
gitpkg.deb-compressor
ອາດຈະຖືກຕັ້ງໃຫ້ລົບລ້າງການບີບອັດເລີ່ມຕົ້ນທີ່ໃຊ້ໂດຍ dpkg-ແຫຼ່ງ(1) ສໍາລັບການສົ່ງອອກ
ຊຸດ. ຄ່າເລີ່ມຕົ້ນ (ຖ້າບໍ່ໄດ້ຕັ້ງ) ແມ່ນໃຊ້ອັນໃດກໍໄດ້ dpkg-ແຫຼ່ງ ຕ້ອງການນໍາໃຊ້. ສໍາລັບ
ຮູບແບບ 3.0 ແພັກເກັດ, ຄ່າທີ່ຖືກຕ້ອງຍັງປະກອບມີ xz ແລະ bzip2. ມີໃຫ້ hook
scripts ເປັນ DEB_COMPRESSOR.
gitpkg.deb-compress-level
ລະດັບການບີບອັດທາງເລືອກທີ່ຈະໃຊ້ກັບ gitpkg.deb-compressor. 1 ປົກກະຕິແລ້ວແມ່ນ
ໄວທີ່ສຸດ ແລະ 9 ປົກກະຕິແລ້ວແມ່ນນ້ອຍທີ່ສຸດ, ມີລາຍລະອຽດທີ່ຊັດເຈນຂອງທຸກສິ່ງທຸກຢ່າງ
ລະຫວ່າງການຂຶ້ນກັບເຄື່ອງອັດທີ່ເລືອກ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ຕັ້ງ (ເຊິ່ງຈະໃຊ້
ສິ່ງໃດກໍ່ຕາມ dpkg-ແຫຼ່ງ ຄ່າເລີ່ມຕົ້ນແມ່ນ, ໃນປັດຈຸບັນ '9'). ມີໃຫ້ຕິດສະຄຣິບເປັນ
DEB_COMPRESS_LEVEL.
gitpkg.dpkg-source
ອາດຈະຖືກຕັ້ງໃຫ້ຜ່ານທາງເລືອກທີ່ຕົນເອງມັກ verbatim ກັບ dpkg-ແຫຼ່ງ(1) ໃນເວລາທີ່ການກໍ່ສ້າງ
ຊຸດແຫຼ່ງ. ໃຊ້ຢ່າງລະມັດລະວັງແລະມີຄວາມສ່ຽງຂອງທ່ານເອງ. ເພື່ອຜ່ານຫຼາຍທາງເລືອກ
to dpkg-ແຫຼ່ງ ທ່ານຕ້ອງກໍານົດທາງເລືອກນີ້ຫຼາຍຄັ້ງ (ie. ການນໍາໃຊ້ ໄປ config --ຕື່ມ
ສໍາລັບແຕ່ລະທາງເລືອກ) ເນື່ອງຈາກຄວາມຕ້ອງການວົງຢືມເຮັດໃຫ້ຫົວບໍ່ດັ່ງນັ້ນສໍາລັບທາງເລືອກດັ່ງກ່າວ
ເປັນ "--format=3.0 (native)". ຄ່າເລີ່ມຕົ້ນແມ່ນຫວ່າງເປົ່າ. ມີໃຫ້ຕິດສະຄຣິບເປັນ
array indexed DPKG_SOURCE_OPTS. ຢ່າໃຊ້ອັນນີ້ເພື່ອຕັ້ງຄ່າ dpkg-ແຫຼ່ງ(1) -Z or -z
ທາງເລືອກ, ພວກເຂົາຄວນຈະຖືກຕັ້ງຄ່າແທນທີ່ຈະໃຊ້ deb-compressor ແລະ deb-compress-level
ທາງເລືອກຕາມລໍາດັບ. ນີ້ອາດຈະຖືກ overridden ໃນເສັ້ນຄໍາສັ່ງທີ່ມີ
--dpkg-source=arg ທາງເລືອກ, ເຊິ່ງເຊັ່ນດຽວກັນຕ້ອງໄດ້ຮັບການຜ່ານຫຼາຍຄັ້ງເພື່ອກໍານົດ
ຫຼາຍທາງເລືອກ.
gitpkg.create-fake-orig
ບາງຄັ້ງທັງແຫຼ່ງ upstream ແລະ debian ສະຫນັບສະຫນູນຢ່າງແທ້ຈິງແມ່ນ intermingled ເປັນ
ສາຂາດຽວຂອງ repo ແຕ່ທ່ານຍັງຕ້ອງການສ້າງຊຸດ 'ບໍ່ແມ່ນພື້ນເມືອງ' ຈາກ
ມັນ. gitpkg ສາມາດປອມແປງ orig tarball ຈາກຕົ້ນໄມ້ດັ່ງກ່າວອອກຈາກທຸກສິ່ງທຸກຢ່າງແຕ່ໄດ້
ເນື້ອໃນຂອງ debian / directory. ການຕັ້ງຄ່າຕົວເລືອກນີ້ເປັນ 'ຄວາມຈິງ' ເຮັດໃຫ້ສິ່ງນັ້ນ
ພຶດຕິກຳເປັນຄ່າເລີ່ມຕົ້ນຖ້າຕົ້ນໄມ້ດຽວຖືກສົ່ງໄປ gitpkg ແລະບໍ່ມີທີ່ສອດຄ້ອງກັນ
orig tarball ຖືກພົບເຫັນ. ການຕັ້ງຄ່າຕົວເລືອກນີ້ເປັນ 'false' ຈະເຮັດໃຫ້ gitpkg ລົ້ມເຫລວ,
ການລາຍງານຄວາມຜິດພາດ, ຖ້າຫາກວ່າ treeish ດຽວແມ່ນຜ່ານແລະບໍ່ມີ orig tarball ກັບ
ສະບັບທີ່ຖືກຕ້ອງມີຢູ່ແລ້ວສໍາລັບມັນ (ແລະບໍ່ມີອັນໃດຖືກດຶງມາໂດຍສະຄິບ hook
ກ່ອນທີ່ຈະມີຄວາມຈໍາເປັນ). ຖ້າຕົວເລືອກນີ້ບໍ່ໄດ້ຖືກຕັ້ງ, ຜູ້ໃຊ້ຈະຖືກເຕືອນ
ສໍາລັບສິ່ງທີ່ຖືກຕ້ອງທີ່ຈະເຮັດຖ້າສະຖານະການນີ້ເກີດຂື້ນ. ບໍ່ໄດ້ຕັ້ງຄ່າເລີ່ມຕົ້ນ. ມີ
ເພື່ອເຊື່ອມຕໍ່ສະຄຣິບເປັນ CREATE_FAKE_ORIG.
gitpkg.force-overwrite-orig
ທາງເລືອກນີ້ຄວບຄຸມພຶດຕິກໍາຂອງ gitpkg ຖ້າ 'ຕົ້ນກຳເນີດ' ເປັນຕົ້ນໄມ້
ລະບຸໄວ້ ແລະ orig.tar ທີ່ສອດຄ້ອງກັນສໍາລັບ 'ສາຂາ' ມີຢູ່ແລ້ວ. ຖ້ານີ້
ຖືກຕັ້ງເປັນ 'ຄວາມຈິງ', ຫຼັງຈາກນັ້ນ orig.tar ຈະຖືກຂຽນທັບດ້ວຍແຫຼ່ງ repo (ເພື່ອ
ໃຊ້ຄືນ orig.tar ທີ່ມີຢູ່ແລ້ວພຽງແຕ່ໂທຫາ gitpkg ມີພຽງແຕ່ສາຂາ Debian ດຽວເທົ່ານັ້ນ
treeish ທີ່ທ່ານຕ້ອງການທີ່ຈະສົ່ງອອກ). ຖ້າອັນນີ້ຖືກຕັ້ງເປັນ 'ຜິດ', ມັນແມ່ນຄວາມຜິດພາດທີ່ຍາກທີ່ຈະເຮັດ
ພະຍາຍາມສົ່ງອອກແຫຼ່ງຕົ້ນສະບັບອີກເທື່ອຫນຶ່ງເມື່ອ orig.tar ມີຢູ່ແລ້ວ, ແລະ
gitpkg ຈະຢຸດເຊົາແລະ scold ທ່ານຖ້າຫາກວ່າທ່ານພະຍາຍາມ. ຖ້າບໍ່ໄດ້ຕັ້ງ, ທ່ານຈະຖືກເຕືອນ
ກ່ຽວກັບວ່າຈະຂຽນທັບຫຼືບໍ່, ແລະການກໍ່ສ້າງຈະສືບຕໍ່ໃຊ້ອັນໃດກໍໄດ້
ຂອງສອງອັນທີ່ທ່ານເລືອກ. ບໍ່ໄດ້ຕັ້ງຄ່າເລີ່ມຕົ້ນ. ມີໃຫ້ຕິດສະຄຣິບເປັນ
FORCE_OVERWRITE_ORIG.
gitpkg.keep-unpacked-source
ທາງເລືອກນີ້ຈະຄວບຄຸມບໍ່ວ່າຈະເປັນຫຼືບໍ່ໄດ້ລະບົບແຫຼ່ງ unpacked ຖືກເກັບຮັກສາໄວ້ຫຼັງຈາກ
ແພັກເກັດການສົ່ງອອກ ແລະທາງອອກໄດ້ສຳເລັດແລ້ວ. ຖ້າຕັ້ງເປັນ
'ຄວາມຈິງ', ແຫຼ່ງ unpacked ຈະຖືກເກັບຮັກສາໄວ້. ຖ້າຕັ້ງເປັນ 'ຜິດ' ຫຼືບໍ່ໄດ້ຕັ້ງນັ້ນ
ໄດເລກະທໍລີຈະຖືກເອົາອອກເປັນການດໍາເນີນງານສຸດທ້າຍກ່ອນ gitpkg ອອກໄປຖ້າທັງໝົດກ່ອນ
ການດໍາເນີນງານສໍາເລັດສົບຜົນສໍາເລັດ. ບໍ່ໄດ້ຕັ້ງຄ່າເລີ່ມຕົ້ນ. ມີໃຫ້ຕິດສະຄຣິບເປັນ
KEEP_UNPACKED_SOURCE. ນີ້ອາດຈະຖືກ overridden ໃນເສັ້ນຄໍາສັ່ງທີ່ມີ
--keep-unpacked-source=bool ທາງເລືອກ (ບ່ອນທີ່ 'ບໍ່' ຫຼື 'ບໍ່ຖືກຕ້ອງ' ຈະບໍ່ຮັກສາມັນ, ແລະໃດໆ
ຄ່າອື່ນໆ, ລວມທັງບໍ່ມີຫຍັງ, ຈະ).
SCRIPT ກອກ
ສະຄຣິບທີ່ຜູ້ໃຊ້ກຳນົດໄວ້ສາມາດຖືກເອີ້ນຈາກຈຸດຫຼາຍຈຸດໃນລະຫວ່າງການສ້າງຊຸດ
ຂະບວນການ. ພວກເຂົາເຈົ້າແມ່ນແຫຼ່ງເຂົ້າໄປໃນ gitpkg ເປັນ snippets bash shell, ໃນກໍລະນີຫຼາຍທີ່ສຸດໃນ a
subshell, ດັ່ງນັ້ນພວກເຂົາສາມາດອ່ານຕົວແປຂອງລັດແລະດໍາເນີນການພາຍນອກ, ແຕ່ບໍ່ສາມາດປ່ຽນແປງໄດ້
ການຕັ້ງຄ່າແລ່ນເມື່ອການກໍ່ສ້າງກໍາລັງດໍາເນີນຢູ່. ຖ້າ hook ກັບຄືນມາດ້ວຍການທີ່ບໍ່ແມ່ນສູນ
ສະຖານະພາບ, ຫຼັງຈາກນັ້ນ gitpkg ຈະຖືກຍົກເລີກ. (Hooks ທີ່ຢຸດ gitpkg ຄວນໃຊ້ເວລາບາງ
ບົວລະບັດບໍ່ໃຫ້ອອກຈາກຫຼາຍລັງກິນອາຫານ, ແຕ່ຍັງຄວນຈະປ່ອຍໃຫ້ຂໍ້ຄຶດພຽງພໍ intact ສໍາລັບ
ຜູ້ໃຊ້ໃນການວິນິດໄສແລະແກ້ໄຂບັນຫາໃດຫນຶ່ງ. ຂໍ້ຄວາມຜິດພາດທີ່ເປັນປະໂຫຍດແລະໃຫ້ຂໍ້ມູນ
ຄວນຖືກເປືອກໃສ່ stderr ກ່ອນທີ່ຈະອອກດ້ວຍວິທີນີ້.)
Hook scripts ອາດຈະຖືກຕິດຕັ້ງຢູ່ໃນລະບົບໂຮດພາຍນອກຂອງຕົ້ນໄມ້ repo, ຫຼືມາຈາກ
ສະບັບຄວບຄຸມໄຟລ໌ໃນ repo ຕົວຂອງມັນເອງ. ວິທີການທັງສອງມີຄວາມໄດ້ປຽບແລະຄວາມສ່ຽງສໍາລັບ
ກໍລະນີການນໍາໃຊ້ທີ່ແຕກຕ່າງກັນ. Hook scripts ຖືກເປີດໃຊ້ໂດຍຜູ້ເບິ່ງແຍງທ້ອງຖິ່ນ, ໂດຍການຕັ້ງຄ່າແຕ່ລະຄົນ
ທີ່ກ່ຽວຂ້ອງ git-config(1) ທາງເລືອກທີ່ມີເສັ້ນທາງໄປຫາ script ທີ່ຈະປະຕິບັດ. ເສັ້ນທາງອາດຈະເປັນ
absolute ຫຼືພີ່ນ້ອງກັບ directory ທີ່ hook ເອີ້ນວ່າມາຈາກ. ຖ້າຕັ້ງ hook,
ບົດຂຽນ ຕ້ອງ ມີຢູ່ໃນເວລາທີ່ມັນຖືກເອີ້ນວ່າ. ຄວນລະມັດລະວັງເພື່ອໃຫ້ພວກມັນສາມາດນຳໃຊ້ໄດ້ເທົ່ານັ້ນ
ໂດຍຕົ້ນໄມ້ແຫຼ່ງທີ່ເຊື່ອຖືໄດ້ໃນເວລາທີ່ເຊື່ອມຕໍ່ເຂົ້າໄປໃນໄຟລ໌ໃນ repo ຕົວຂອງມັນເອງ. ປົກກະຕິແລ້ວທ່ານຄວນ
ເປີດໃຊ້ພວກມັນບົນພື້ນຖານຕໍ່ repo ກັບ git-config(1) ແທນທີ່ຈະເປັນ -- ໂລກ or --ລະບົບ
ລະດັບ.
A ສັ້ນ ຄຳ ຕັກເຕືອນ ຕໍ່ ໄດ້ຮັບ ຕິດກັບ:
ທ່ານຄວນຫຼີກລ້ຽງການຈັດລຽງການຕິດຢູ່ໃນຊຸດທີ່ສັບສົນກາຍເປັນສິ່ງຈໍາເປັນສໍາລັບການສົ່ງອອກ
ແຫຼ່ງຊຸດຂອງທ່ານ. ຖ້າທ່ານຕ້ອງການໃຫ້ພວກເຂົາສ້າງຊຸດໂດຍສະເພາະຢ່າງຖືກຕ້ອງ, ແລະຕ້ອງການ
ສະບັບທີ່ເຂັ້ມງວດຜູກມັດກັບແຫຼ່ງທີ່ຖືກປ່ອຍອອກມາ, ແລະພວກມັນບໍ່ເປັນປະໂຫຍດຕໍ່ຄົນອື່ນ
package ທັງຫມົດ ... ຫຼັງຈາກນັ້ນທ່ານກໍາລັງຂ້ອນຂ້າງອາດຈະເຮັດບາງສິ່ງບາງຢ່າງ, ຫຼືຫຼາຍສິ່ງ, ຂ້ອນຂ້າງ
ຜິດ. ຖ້າບໍ່ດັ່ງນັ້ນ, ທ່ານກໍາລັງຢູ່ໃນ shit ເລິກດັ່ງກ່າວເຮັດວຽກປະມານບາງລະບົບການກໍ່ສ້າງທີ່ແຕກຫັກທີ່ທ່ານ
ບໍ່ຕ້ອງການໃຫ້ຂ້ອຍບອກເຈົ້າກ່ຽວກັບມັນ. ໃນກໍລະນີໃດກໍ່ຕາມ, ຜູ້ເບິ່ງແຍງທ້ອງຖິ່ນຕ້ອງເປີດໃຊ້ hook ຂອງທ່ານ
ກ່ອນທີ່ພວກເຂົາສາມາດແລ່ນໄດ້, ດັ່ງນັ້ນຖ້າທ່ານຕ້ອງການເປັນມິດກັບຜູ້ອື່ນ (ແລະຕົວທ່ານເອງ), ຫຼັງຈາກນັ້ນຮັກສາ
ການຫຸ້ມຫໍ່ 'ປົກກະຕິ' ເຮັດວຽກຢ່າງເຂັ້ມງວດພາຍໃນເຄື່ອງມືການກໍ່ສ້າງຊຸດປົກກະຕິ, ແລະອອກຈາກ
gitpkg hooks ຟຣີສໍາລັບຜູ້ເບິ່ງແຍງທ້ອງຖິ່ນອື່ນໆເພື່ອຫໍ່ອັດຕະໂນມັດໃດກໍ່ຕາມ ພວກເຂົາເຈົ້າ ຕ້ອງການ
ອ້ອມຂ້າງສິ່ງຂອງ. ຖ້າສະບັບສະເພາະຂອງແຫຼ່ງຊຸດຕ້ອງການສະເພາະບາງອັນ
ການກະ ທຳ ທີ່ເກີດຂື້ນກັບມັນກ່ອນການສ້າງຊຸດແຫຼ່ງ ທຳ ອິດ, ຈາກນັ້ນ PREBUILD_TARGET
ທາງເລືອກຈາກຂ້າງເທິງແມ່ນຫຼາຍທີ່ສຸດອາດຈະເປັນສິ່ງທີ່ທ່ານຕ້ອງການແທນທີ່ຈະເປັນຫນຶ່ງໃນ hooks ເຫຼົ່ານີ້. ອື່ນໆ
ປະຊາຊົນສາມາດໃຊ້ມັນອີກເທື່ອຫນຶ່ງໃນພາຍຫຼັງໂດຍບໍ່ຈໍາເປັນຕ້ອງມີ gitpkg ປະມານ. ຈຸດປະສົງແມ່ນເພື່ອ
ນີ້ເພື່ອຊ່ວຍໃຫ້ທ່ານ. ສໍາລັບຄຸນຄ່າບາງຢ່າງຂອງເຈົ້າທັງໝົດ. ສະນັ້ນຈົ່ງລະມັດລະວັງເພື່ອຫຼີກເວັ້ນການປ່ອຍໃຫ້ມັນ
ໝຸນຄົນອື່ນໆຖ້າ hook ບໍ່ໄດ້ຖືກເອີ້ນ, ແລະ/ຫຼືໃຫ້ພວກເຂົາຮູ້ວ່າພວກເຂົາຕ້ອງການຫຍັງ
ເຮັດແທນຖ້າມັນບໍ່ແມ່ນ. ແລ້ວ, ມີ barb ທີ່ຈະສັງເກດເບິ່ງອອກ, ສະນັ້ນກັບຄືນໄປບ່ອນຈຸດ
ອີກເທື່ອຫນຶ່ງ:
Hook ຈຸດ
ຈຸດ hook ທີ່ມີຢູ່ແມ່ນລະບຸໄວ້ຂ້າງລຸ່ມນີ້ໃນປະມານຄໍາສັ່ງທີ່ເຂົາເຈົ້າມັກຈະເປັນ
ຮຽກຮ້ອງ:
gitpkg.package-config-hook
hook ນີ້ແລ່ນຢູ່ໃນໄດເລກະທໍລີລະດັບສູງສຸດຂອງ repo gitpkg ໄດ້ຖືກຮຽກຮ້ອງໃນ, ກ່ອນຫນ້ານີ້
ກັບການດໍາເນີນງານໃດໆທີ່ເກີດຂື້ນ, ກັບທັງຫມົດ git-config(1) ທາງເລືອກທີ່ມາທີ່ມີໃຫ້
ມັນ. ບໍ່ມີຂໍ້ມູນລາຍລະອຽດກ່ຽວກັບຊຸດຕົວມັນເອງແມ່ນມີຢູ່ໃນ hook ໄດ້
ສະພາບແວດລ້ອມຍັງ, ບໍ່ແມ່ນແຕ່ຊື່ຫຼືສະບັບຂອງມັນ, ມີພຽງແຕ່ tree-ish(es) ທີ່ gitpkg
ຜູ້ໃຊ້ໄດ້ຜ່ານການ, ແຕ່ hook ອາດຈະດໍາເນີນການການກວດສອບຂອງຕົນເອງໂດຍອີງໃສ່ການ
ໃນປັດຈຸບັນ (ອາດຈະເປັນ 'ເປື້ອນ') ເນື້ອໃນຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ gitpkg ໄດ້ຖືກຮຽກຮ້ອງໃນ.
hook ນີ້ແມ່ນສາມາດປັບປຸງແກ້ໄຂໄດ້ gitpkg ຕົວແປການຕັ້ງຄ່າຕໍ່ໄປ
ການດໍາເນີນງານ. ມັນສາມາດປະຕິບັດການດໍາເນີນງານໃນ repo ຖ້າຈໍາເປັນ, ແຕ່ເນື່ອງຈາກວ່າມັນຕ້ອງການ
ໃຫ້ຄໍາຫມັ້ນສັນຍາກັບ repo ກ່ອນທີ່ມັນຈະຖືກເອີ້ນວ່າ, ມັນອາດຈະບໍ່ເປັນປະໂຫຍດຫຼາຍ
ຢູ່ທີ່ນີ້ໃນການປະຕິບັດ. ໂດຍພື້ນຖານແລ້ວ, ມັນສາມາດເຮັດຫຍັງໄດ້ຕາມໃຈ, ມັນເປັນພຽງແຕ່ເປືອກ
script, ບໍ່ມີຫຍັງອີກແດ່ໄດ້ເລີ່ມຕົ້ນແທ້ໆ, ແລະມັນໄດ້ຖືກນໍາມາສູ່ຈຸດສູງສຸດ
ລະດັບຫອຍຂອງ gitpkg.
ການດໍາເນີນງານຂອງມັນແມ່ນແຕກຕ່າງຈາກ admin-config-hook ໃນພຽງແຕ່ຫນຶ່ງເຄົາລົບ, ເສັ້ນທາງ
ກັບ hook ນີ້ ຕ້ອງ ກ່ຽວຂ້ອງກັບ TLD ຂອງ repo, ແລະການດັດແກ້ໄຟລ໌
ທີ່ ຈະ ໄດ້ ຮັບ ການ ກວດ ກາ ອອກ ຈາກ 'ສາຂາ' tree-ish ວ່າ gitpkg ແມ່ນ
ຮ້ອງຂໍໃຫ້ສົ່ງອອກ. ໄຟລ໌ຕ້ອງມີຢູ່ໃນລຸ້ນນັ້ນຢູ່ໃນເສັ້ນທາງທີ່ໃຫ້.
ມີໃຫ້ຕິດສະຄຣິບເປັນ PACKAGE_CONFIG_HOOK.
gitpkg.admin-config-hook
ສຽງນີ້ແມ່ນດໍາເນີນການຫຼັງຈາກ package-config-hook ກັບຄືນມາ, ແລະແຕກຕ່າງຈາກມັນຢູ່ໃນ
ປະຕິບັດງານພຽງແຕ່ໂດຍການອ່ານໄຟລ໌ຄົງທີ່ຈາກລະບົບໄຟລ໌ໃນປະຈຸບັນແທນທີ່ຈະ
ການສະກັດເອົາເວີຊັນທີ່ຄວບຄຸມຈາກ repo ທີ່ຖືກສົ່ງອອກ.
ນີ້ສາມາດຖືກນໍາໃຊ້ໂດຍຜູ້ເບິ່ງແຍງທ້ອງຖິ່ນເພື່ອ override ທາງເລືອກຊຸດໃດນຶ່ງ, ນັ້ນ
ອາດຈະຖືກກໍານົດໂດຍ package-config-hook, ດ້ວຍການຕັ້ງຄ່າສະເພາະຂອງເວັບໄຊ.
ນີ້ແມ່ນການຄວບຄຸມນະໂຍບາຍ, ບໍ່ແມ່ນຄວາມປອດໄພ. ຄວາມປອດໄພແມ່ນຫມົດໃນເວລາທີ່ທ່ານໃຫ້
ໄດ້ package-config-hook ແລ່ນ, ນີ້ພຽງແຕ່ຊ່ວຍໃຫ້ທ່ານ override ມັນໂດຍບໍ່ມີການປອມແປງ
ເຖິງຄໍາຫມັ້ນສັນຍາໃຫມ່ການປ່ຽນແປງ hook ຊຸດ.
ນີ້ແມ່ນ hook ສຸດທ້າຍທີ່ຈະດໍາເນີນການທີ່ສາມາດແກ້ໄຂໄດ້ gitpkg ການຕັ້ງຄ່າແລະ
ຕັ້ງຄ່າທາງເລືອກສະພາບແວດລ້ອມທີ່ຈະເຫັນໄດ້ໂດຍ hooks ຕໍ່ມາ. ມີໃຫ້ hook
scripts ເປັນ ADMIN_CONFIG_HOOK. ນີ້ອາດຈະຖືກ overridden ໃນເສັ້ນຄໍາສັ່ງທີ່ມີ
--admin-config-hook=ເສັ້ນທາງ ທາງເລືອກ.
gitpkg.pre-export-hook
hook ນີ້ແລ່ນຢູ່ໃນໄດເລກະທໍລີລະດັບເທິງຂອງ repo, ຫຼັງຈາກຊື່ຊຸດແລະ
ສະບັບໄດ້ຖືກກໍານົດ, ແລະມີການຕັ້ງຄ່າຊຸດສຸດທ້າຍລວມທັງ
tweaking ໃດໆໂດຍ hooks ທີ່ຜ່ານມາ. ມັນບໍ່ສາມາດປ່ຽນຕົວເລືອກການຕັ້ງຄ່າໃດໆ,
ພຽງແຕ່ປະຕິບັດໃຫ້ເຂົາເຈົ້າຫຼືຢຸດເຊົາ gitpkg.
ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເຮັດສິ່ງຕ່າງໆເຊັ່ນ invoke pristine-tar ຫຼື prefetch orig ທີ່ມີຢູ່ແລ້ວ
tarball ຈາກບາງແຫຼ່ງຕ່າງປະເທດ. ມັນອາດຈະປະຕິບັດການດໍາເນີນງານໃນ repo ຖ້າມີ
ດັ່ງກ່າວແມ່ນຕ້ອງການ, ຫຼືການກວດສອບນາທີສຸດທ້າຍອື່ນໆທີ່ຕ້ອງເຮັດກ່ອນທີ່ພວກເຮົາຈະ
ຕົວຈິງແລ້ວໄດ້ຮັບກ່ຽວກັບວຽກງານຂອງການສົ່ງອອກແຫຼ່ງທີ່ພວກເຮົາຕ້ອງການຫຸ້ມຫໍ່.
ມີໃຫ້ຕິດສະຄຣິບເປັນ PRE_EXPORT_HOOK.
gitpkg.deb-export-hook
hook ນີ້ແລ່ນຢູ່ໃນບັນຊີລະດັບສູງສຸດຂອງແຫຼ່ງ debian ສົ່ງອອກ,
ທັນທີຫຼັງຈາກແຫຼ່ງໄດ້ຖືກສົ່ງອອກຈາກຄໍາຮ້ອງຂໍ ໄມ້ຢືນຕົ້ນ, ແລະ
ທັນທີກ່ອນທີ່ຈະໄດ້ PREBUILD_TARGET ຖືກຮຽກຮ້ອງ (ຖ້າສະຫນອງໃຫ້). ມັນບໍ່ສາມາດ
ປ່ຽນແປງຕົວເລືອກການຕັ້ງຄ່າໃດໆ, ພຽງແຕ່ປະຕິບັດໃຫ້ເຂົາເຈົ້າຫຼືຢຸດ gitpkg. ຖ້ານີ້
hook ຢຸດຕິ gitpkg, ໄດເລກະທໍລີແຫຼ່ງທີ່ສົ່ງອອກຈະຖືກປະໄວ້ໃນລະບົບ
ສໍາລັບຜູ້ໃຊ້ໃນການກວດສອບ. ການຮຽກຮ້ອງຕໍ່ມາຂອງ gitpkg ສໍາລັບການປ່ອຍດຽວກັນ
ສະບັບພາສາຈະຂຽນທັບມັນ. ມີໃຫ້ຕິດສະຄຣິບເປັນ DEB_EXPORT_HOOK.
gitpkg.orig-export-hook
hook ນີ້ແລ່ນຢູ່ໃນລາຍຊື່ລະດັບສູງສຸດຂອງແຫຼ່ງ 'upstream' ທີ່ສົ່ງອອກ,
ທັນທີຫຼັງຈາກແຫຼ່ງໄດ້ຖືກສົ່ງອອກຈາກສະຫນອງໃຫ້ ໄມ້ຢືນຕົ້ນ, ແລະ
ກ່ອນທີ່ຈະຖືກບີບອັດເຂົ້າໄປໃນຖັງຂີ້ເຫຍື້ອ. ມັນບໍ່ສາມາດປ່ຽນແປງການຕັ້ງຄ່າໃດໆ
ທາງເລືອກ, ພຽງແຕ່ປະຕິບັດໃຫ້ເຂົາເຈົ້າຫຼືຢຸດເຊົາ gitpkg. ຖ້າ hook ນີ້ສິ້ນສຸດລົງ gitpkg,
ໄດເລກະທໍລີແຫຼ່ງທີ່ສົ່ງອອກຈະຖືກປະໄວ້ໃນລະບົບເພື່ອໃຫ້ຜູ້ໃຊ້ກວດສອບ.
ການຮຽກຮ້ອງຕໍ່ມາຂອງ gitpkg ສໍາລັບລຸ້ນລຸ້ນດຽວກັນຈະຂຽນທັບມັນ
ເຖິງແມ່ນວ່າ.
hook ນີ້ແມ່ນ ພຽງແຕ່ ຮຽກວ່າ 'ຕົ້ນກຳເນີດ' ຕົວຈິງແລ້ວແມ່ນສົ່ງອອກມາຈາກ
ຄັງເກັບມ້ຽນ. ຖ້າພົບ orig.tar ທີ່ມີຢູ່ແລ້ວຫຼືຖືກສ້າງຂື້ນໂດຍບາງຄົນ
hook ກ່ອນຫນ້ານີ້ (ແລະມັນບໍ່ໄດ້ຖືກຂຽນທັບ, ເບິ່ງ force-overwrite-orig ຂ້າງເທິງ),
ຫຼັງຈາກນັ້ນ, ການດໍາເນີນງານ hook ນີ້ຈະປະຕິບັດແມ່ນຄາດວ່າຈະໄດ້ເກີດຂຶ້ນແລ້ວ
ສໍາລັບ tarball ນີ້ແລະມັນຖືກຂ້າມ.
ມັນບໍ່ປອດໄພທີ່ຈະສົມມຸດວ່າ hook ນີ້ຈະຖືກປະຕິບັດກ່ອນຫຼືຫຼັງຈາກ deb-
ສົ່ງອອກ-hook, ແລະໃນຄວາມເປັນຈິງມັນອາດຈະດໍາເນີນການຂະຫນານກັບມັນຢູ່ໃນບາງຈຸດໃນ
ອະນາຄົດ. ພວກເຂົາເຈົ້າທັງສອງຈະຖືກເຂົ້າໄປໃນຫຼັງຈາກນັ້ນ pre-export-hook ກັບຄືນ, ແລະ exit-hook
ຈະບໍ່ເລີ່ມຕົ້ນຈົນກ່ວາ (ຢ່າງຫນ້ອຍ) ຫຼັງຈາກທັງສອງໄດ້ກັບຄືນມາ. ມີຫຍັງເກີດຂຶ້ນອີກໃນ
ກາງຂອງສິ່ງທີ່ພວກເຮົາບໍ່ໄດ້ສັນຍາຢ່າງຫນັກແຫນ້ນກ່ຽວກັບຂັ້ນຕອນນີ້.
ມີໃຫ້ຕິດສະຄຣິບເປັນ ORIG_EXPORT_HOOK.
gitpkg.exit-hook
hook ນີ້ແລ່ນຢູ່ໃນໄດເລກະທໍລີທີ່ຊຸດ .dsc ຖືກຝາກໄວ້ໂດຍ dpkg-
ແຫຼ່ງ(1), ຫຼັງຈາກທັງຫມົດພາຍໃນ gitpkg ການດໍາເນີນງານໄດ້ສໍາເລັດສົບຜົນສໍາເລັດ. ມັນ
ຊ້າເກີນໄປທີ່ຈະປ່ຽນແປງທາງເລືອກການຕັ້ງຄ່າໃດໆ, ຫຼືແມ້ກະທັ້ງການຢຸດເຊົາ gitpkg ແທ້.
ເຈົ້າສາມາດເຮັດສິ່ງທີ່ທ່ານຕ້ອງການໄດ້ຈາກອັນນີ້, ສິ່ງໃດກໍ່ຕາມທີ່ຜິດພາດ
ນີ້ແມ່ນການດໍາເນີນການຂອງທ່ານເອງ. ມີໃຫ້ຕິດສະຄຣິບເປັນ EXIT_HOOK. ນີ້ອາດຈະເປັນ
overridden ໃນບັນທັດຄໍາສັ່ງທີ່ມີ --exit-hook=ເສັ້ນທາງ ທາງເລືອກ.
Hook ສະພາບແວດລ້ອມ
ຕົວແປຕໍ່ໄປນີ້ແມ່ນໃຫ້ສໍາລັບ hook scripts, ນອກເຫນືອໄປຈາກທີ່ແລ້ວ
ຈັດເປັນເງົາ ກ git-config ທາງເລືອກຈາກຂ້າງເທິງ. ບໍ່ແມ່ນທັງໝົດຂອງພວກເຂົາແມ່ນຖືກຕ້ອງ/ເປັນປະໂຫຍດຢູ່
ຈຸດ hook ທັງຫມົດ, ເບິ່ງເອກະສານ hook ຂ້າງເທິງສໍາລັບການຍົກເວັ້ນການນໍາໃຊ້ສະເພາະ
hooks.
GIPKG_HOOK_API
ອະນຸຍາດໃຫ້ສະຄິບ hook ເພື່ອສອບຖາມວ່າການໂຕ້ຕອບທີ່ມີໃຫ້ເຂົາເຈົ້າ. ມີພຽງແຕ່ສອງ
ອົງປະກອບຕົວເລກທີ່ແຍກດ້ວຍ '.' ຊຶ່ງໃນນັ້ນມີຕົວເລກໄປທາງຂວາຂອງຈຸດ
ຈະໄດ້ຮັບການເພີ່ມຂຶ້ນທຸກໆຄັ້ງທີ່ພວກເຮົາເພີ່ມຕົວແປໃຫມ່ທີ່ hook ອາດຈະເຂົ້າເຖິງ, ຫຼື
ເພີ່ມລູກບິດໃໝ່ບາງອັນ ມັນອາດຈະປັບປ່ຽນສ່ວນທີ່ສ່ວນຕິດຕໍ່ທີ່ມີຢູ່ແລ້ວບໍ່ໄດ້ປ່ຽນແປງ.
ຖ້າຫາກວ່າພວກເຮົາເຮັດໄດ້ screw ຂຶ້ນແລະຈໍາເປັນຕ້ອງໄດ້ມີການປ່ຽນແປງໃນການໂຕ້ຕອບໃນປັດຈຸບັນ, ຈໍານວນທາງຊ້າຍ
ຈະໄດ້ຮັບການຕໍາ. ເວີຊັນ API ປະຈຸບັນແມ່ນ 0.2
ມີ in API ສະບັບພາສາ 0.1
ຕົວແປເຫຼົ່ານີ້ມີໃຫ້ກັບ hook ຕັ້ງແຕ່ gitpkg ລຸ້ນ 0.13
GIPKG_TREEISH
ຜູ້ໃຊ້ຜ່ານ debian 'ສາຂາ' tree-ish ທີ່ gitpkg ຖືກເອີ້ນໃຫ້ສົ່ງອອກ.
GIPKG_ORIG_TREEISH
'origbranch' tree-ish ທີ່ gitpkg ຖືກເອີ້ນດ້ວຍ. ນີ້ຈະຫວ່າງເປົ່າຖ້າພຽງແຕ່
ມີການລະບຸ 'ສາຂາ' ດຽວ.
DEB_SOURCE
ຊື່ຂອງຊຸດແຫຼ່ງທີ່ຈະສ້າງ, ໂດຍບໍ່ມີການສະບັບໃດໆ. ດັ່ງທີ່ເຫັນຢູ່ໃນ
ທີ່ມາ: ພາກສະໜາມ dpkg-parsechangelog(1).
DEB_VERSION
ເວີຊັນຂອງຊຸດແຫຼ່ງເພື່ອສ້າງ, ໂດຍບໍ່ມີເວລາໃດໆ. ດັ່ງທີ່ເຫັນຢູ່ໃນ
ຊື່ຂອງໄຟລ໌ .diff.gz ແລະ .dsc.
USTREAM_VERSION
ເວີຊັນຂອງຊຸດແຫຼ່ງເພື່ອສ້າງ, ໂດຍບໍ່ມີການສະບັບ debian ໃດ. ດັ່ງທີ່ເຫັນ
ໃນນາມຂອງ orig tarball ໄດ້. ສໍາລັບຊຸດພື້ນເມືອງ, ນີ້ຈະຄືກັນກັບ
DEB_VERSION.
DEB_ORIG
ຊື່ໄຟລ໌ສະບັບເຕັມຂອງ orig tarball ເພື່ອໃຊ້ ຫຼືສ້າງ. ຕົວແປນີ້ແມ່ນ
ຫວ່າງເປົ່າສໍາລັບແພັກເກັດພື້ນເມືອງທີ່ບໍ່ມີສ່ວນສະບັບ Debian.
DEB_DSC
ຊື່ໄຟລ໌ເຕັມຂອງແພັກເກດ .dsc ວ່າຈະເປັນຫຼືໄດ້ຖືກສ້າງຂື້ນ.
DEB_PACKAGE
ຊື່ໄດເລກະທໍລີຂອງຕົ້ນແຫຼ່ງ debianised ທີ່ຈະສົ່ງໄປຫາ dpkg-ແຫຼ່ງ(1).
REPO_DIR
ເສັ້ນທາງຢ່າງແທ້ຈິງໄປຫາໄດເລກະທໍລີລະດັບສູງສຸດຂອງ git repo ທີ່ພວກເຮົາກໍາລັງສົ່ງອອກ.
ປົກກະຕິແລ້ວ, ຖ້າທ່ານຕ້ອງການເບິ່ງອອກຈາກຕົ້ນໄມ້ທີ່ເຈົ້າຖືກຖິ້ມລົງ, ເຈົ້າແມ່ນ
ອາດຈະເຮັດບາງສິ່ງບາງຢ່າງ (ໃນເວລາ) ຜິດ (ເວລາ), ແຕ່ມີຂໍ້ຍົກເວັ້ນ, ແລະເປັນ
ສາມາດສອບຖາມໄດ້ git-config ທາງເລືອກແມ່ນຫນຶ່ງໃນນັ້ນ. ສ່ວນຫຼາຍແມ່ນອັນນີ້
ສໍາລັບສິດທິໃນປັດຈຸບັນ. ເບິ່ງ repo-config-helper ເອກະສານຂ້າງລຸ່ມນີ້. ຈົ່ງລະວັງຖ້າທ່ານເຮັດ
ໃຊ້ມັນຫຼາຍອັນອື່ນ.
ມີ in API ສະບັບພາສາ 0.2
ຕົວແປເຫຼົ່ານີ້ມີໃຫ້ກັບ hook ຕັ້ງແຕ່ gitpkg ລຸ້ນ 0.24
GITPKG_AOPTS
array ສະມາຄົມທີ່ມີຕົວເລືອກແຖວຄໍາສັ່ງທີ່ບໍ່ໄດ້ວິເຄາະໂດຍ gitpkg
ຕົວຂອງມັນເອງທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອ override ພຶດຕິກໍາຂອງ hook ໄດ້. array ແມ່ນ keyed
ໃນຊື່ຂອງທາງເລືອກທີ່ມີ '--' ເອົາອອກ. ຖ້າທາງເລືອກຖືກຜ່ານ
ຫຼາຍຄັ້ງ, ພຽງແຕ່ຄ່າສຸດທ້າຍທີ່ຜ່ານຈະຖືກເກັບໄວ້ໃນ array ນີ້. ສໍາລັບ
ຍົກຕົວຢ່າງ:
$ gitpkg --my-option=foo --option2 --opt=oops --opt='bar baz'
ຈະໃຫ້:
${GITPKG_AOPTS[my-option]} = "foo"
${GITPKG_AOPTS[ທາງເລືອກ2]} = ""
${GITPKG_AOPTS[opt]} = "bar baz"
GITPKG_IOPTS
array indexed ປະກອບດ້ວຍຕົວເລືອກແຖວຄໍາສັ່ງທີ່ບໍ່ໄດ້ວິເຄາະໂດຍ gitpkg ຕົວເອງ
ເຊິ່ງສາມາດຖືກໃຊ້ເພື່ອ override ພຶດຕິກໍາຂອງ hook ໄດ້. array ປະກອບດ້ວຍ
strings ທາງເລືອກຕົວອັກສອນຜ່ານແລະດັ່ງນັ້ນສາມາດຖືກນໍາໃຊ້ເພື່ອເຂົ້າເຖິງທາງເລືອກທີ່ມີ
ມີຈຸດປະສົງເພື່ອຜ່ານຫຼາຍຄັ້ງ. ຍົກຕົວຢ່າງ:
$ gitpkg --my-option=foo --option2 --opt=oops --opt='bar baz'
ຈະໃຫ້:
${GITPKG_IOPTS[0]} = "--my-option=foo"
${GITPKG_IOPTS[1]} = "--option2"
${GITPKG_IOPTS[2]} = "--opt=oops"
${GITPKG_IOPTS[3]} = "--opt=bar baz"
ໄດ້ extract_values_for_option ເຮັດວຽກໃນ repo-config-helper (ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ
ຂອງມັນ) ສາມາດໃຊ້ເພື່ອວິເຄາະອາເຣນີ້ຕື່ມອີກເພື່ອໃຫ້ໄດ້ຄ່າທັງໝົດຂອງ a
ທາງເລືອກສະເພາະ.
Hook ຫ້ອງສະຫມຸດ
ມີບາງສະຄິບ hook ກະປ໋ອງສໍາລັບວຽກງານຕ່າງໆທີ່ມີຢູ່ໃນ /usr/share/gitpkg/hooks
ເຊິ່ງປະຈຸບັນປະກອບມີ:
cowpoke-ອອກ-hook
ຮູທາງອອກແບບງ່າຍໆທີ່ສົ່ງຊຸດທີ່ສົ່ງອອກໄປເພື່ອໃຊ້ໃນການກໍ່ສ້າງ cowpoke(1).
ເພື່ອເປີດໃຊ້ມັນ:
$ git config gitpkg.exit-hook /usr/share/gitpkg/hooks/cowpoke-exit-hook
ເພີ່ມເຕີມ git-config(1) ທາງເລືອກໃນການຕັ້ງຄ່າ:
gitpkg-cowpoke-exit-hook.ask-first
ຖ້າ 'ຈິງ' ເຕືອນສໍາລັບການຢືນຢັນກ່ອນທີ່ຈະໂທຫາ cowpoke. ຄ່າເລີ່ມຕົ້ນແມ່ນພຽງແຕ່
ສືບຕໍ່ເດີນຫນ້າແລະເຮັດມັນ.
gitpkg-cowpoke-exit-hook.options
ອາດຈະລວມເອົາທາງເລືອກອື່ນໃດນຶ່ງເພື່ອສົ່ງຜ່ານ verbatim ໄປ cowpoke. ຜ່ານຫຼາຍ
ທາງເລືອກ, ກໍານົດນີ້ຫຼາຍຄັ້ງ, ຫນຶ່ງຄັ້ງສໍາລັບແຕ່ລະທາງເລືອກ. ນີ້ອາດຈະເປັນ
overridden ໃນບັນທັດຄໍາສັ່ງທີ່ມີ --cowpoke=arg ທາງເລືອກ, ເຊັ່ນດຽວກັນ
ຕ້ອງຜ່ານຫຼາຍຄັ້ງເພື່ອກໍານົດຫຼາຍທາງເລືອກ.
dpkg-buildpackage-exit-hook
Hook ອອກແບບງ່າຍໆເພື່ອສ້າງແພັກເກັດໄບນາຣີຢູ່ໃນທ້ອງຖິ່ນ dpkg-buildpackage(1). ເຖິງ
ເປີດໃຊ້ມັນ:
$ git config gitpkg.exit-hook /usr/share/gitpkg/hooks/dpkg-buildpackage-exit-hook
ເພີ່ມເຕີມ git-config(1) ທາງເລືອກໃນການຕັ້ງຄ່າ:
gitpkg-dpkg-buildpackage-exit-hook.ask-first
ຖ້າ 'ຈິງ' ເຕືອນສໍາລັບການຢືນຢັນກ່ອນທີ່ຈະໂທຫາ dpkg-buildpackage. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນເພື່ອພຽງແຕ່ເຮັດມັນ.
gitpkg-dpkg-buildpackage-exit-hook.options
ອາດຈະລວມເອົາທາງເລືອກອື່ນໃດນຶ່ງເພື່ອສົ່ງຜ່ານ verbatim ໄປ dpkg-buildpackage. ຜ່ານ
ທາງເລືອກທີ່ຫຼາກຫຼາຍ, ກໍານົດນີ້ຫຼາຍຄັ້ງ, ຫນຶ່ງຄັ້ງສໍາລັບແຕ່ລະທາງເລືອກ. ນີ້ອາດຈະເປັນ
overridden ໃນບັນທັດຄໍາສັ່ງທີ່ມີ --dpkg-bp=arg ທາງເລືອກ, ເຊັ່ນດຽວກັນ
ຕ້ອງຜ່ານຫຼາຍຄັ້ງເພື່ອກໍານົດຫຼາຍທາງເລືອກ.
gitpkg-dpkg-buildpackage-exit-hook.build-log
ຖ້າຕັ້ງ 'false' ບໍ່ໄດ້ບັນທຶກບັນທຶກຂອງຂະບວນການສ້າງ, ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອບັນທຶກ
ຫນຶ່ງ.
pristine-tar-pre-export-hook
hook ເພື່ອສະກັດ orig tarball ໂດຍໃຊ້ pristine-tar. ແຫຼ່ງທີ່ມາເພື່ອສະກັດແມ່ນ
ກໍານົດໂດຍສະບັບຊຸດຂອງ 'ສາຂາ' tree-ish. ເພື່ອເປີດໃຊ້ງານມັນ:
$ git config gitpkg.pre-export-hook /usr/share/gitpkg/hooks/pristine-tar-pre-export-hook
ຖ້າບໍ່ພົບສາຂາ pristine-tar ໃນ repo, gitpkg ຈະຖືກຢຸດເຊົາ.
quilt-patches-deb-export-hook
hook ນີ້ອ່ານບັນຊີລາຍຊື່ຂອງໄລຍະການແກ້ໄຂທີ່ເຫມາະສົມສໍາລັບການ git-format-patch(1) ຈາກ
ເອກະສານ debian/source/git-patches, ຫນຶ່ງຕໍ່ເສັ້ນ, ແລະສົ່ງອອກໃຫ້ເຂົາເຈົ້າກັບ debian/patches
ໄດເລກະທໍລີໃນຮູບແບບທີ່ເຫມາະສົມສໍາລັບ (ຮູບແບບ 3.0) ຊຸດຜ້າຫົ່ມ. ມັນບໍ່ຈໍາເປັນສໍາລັບ
ການສ້າງຊຸດດັ່ງກ່າວ, ແຕ່ອະນຸຍາດໃຫ້ທ່ານສາມາດແຍກແພັກເກັດສ່ວນບຸກຄົນອອກຢ່າງໃດກໍຕາມທ່ານ
ກະລຸນາຈາກ patch ດຽວໃນຕອນຕົ້ນທີ່ບໍ່ດັ່ງນັ້ນສ້າງໂດຍ dpkg-ແຫຼ່ງ.
ເພື່ອເປີດໃຊ້ມັນ:
$ git config gitpkg.deb-export-hook /usr/share/gitpkg/hooks/quilt-patches-deb-export-hook
ເນື້ອໃນຂອງ debian/source/git-patches ອາດຈະປະກອບມີຄໍາຄິດເຫັນ (ກ່ຽວກັບການເລີ່ມຕົ້ນແຖວໃດຫນຶ່ງ
with a #), ເສັ້ນຫວ່າງເປົ່າ, ແລະການສະແດງອອກຂອງຂອບເຂດຂອງຄໍາຫມັ້ນສັນຍາ. ໄລຍະການດັດແກ້
ອາດຈະປະກອບມີ $DEB_VERSION, $UPSTREAM_VERSION, $DEB_REF or $UPSTREAM_REFທີ່ຢູ່ ທໍາອິດ
ຄູ່ຈະຖືກແທນທີ່ດ້ວຍສະບັບຂອງຊຸດທີ່ຖືກສົ່ງອອກ, ອັນທີສອງ
ຈັບຄູ່ກັບສະຕຣິງສະບັບເຫຼົ່ານັ້ນຫຼັງຈາກ mangling ໂດຍ sanitise_git_ref ເພື່ອ remap ໃຫ້ເຂົາເຈົ້າເປັນ
git ທາງດ້ານກົດຫມາຍ ປ່ຽນຊື່. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ການນໍາໃຊ້ສະບັບທີ່ຖືກອະນາໄມແມ່ນເປັນທີ່ນິຍົມ.
ຍົກຕົວຢ່າງ:
# ສົ່ງອອກຄໍາຫມັ້ນສັນຍາທັງຫມົດລະຫວ່າງສອງ treeish ນີ້,
# ອີງໃສ່ເວີຊັນຂອງແພັກເກດທີ່ສົ່ງອອກ.
upstream/$UPSTREAM_REF..patches/$DEB_REF
debcherry-deb-export-hook
hook ນີ້ invokes git-debcherry(1) ເພື່ອຊອກຫາ ແລະ ສົ່ງອອກແຜ່ນແພໄປຍັງແຫຼ່ງຕົ້ນນໍ້າ
ໃນຮູບແບບທີ່ເຫມາະສົມສໍາລັບການນໍາໃຊ້ກັບ (ຮູບແບບ 3.0) ຊຸດຜ້າຫົ່ມ. ມັນອະນຸຍາດໃຫ້ສໍາລັບການເພີ່ມເຕີມ
ທໍາມະຊາດ (ແລະອັດຕະໂນມັດ) ຂະບວນການເຮັດວຽກກ່ວາ hook quilt-patches ຂ້າງເທິງໂດຍການຊອກຫາ
ແຜ່ນແພທີ່ເຮັດກັບສາຂາການຫຸ້ມຫໍ່ທີ່ຍັງບໍ່ທັນໄດ້ນໍາໃຊ້ໃນຕົ້ນນ້ໍາ.
ເພື່ອເປີດໃຊ້ມັນ:
$ git config gitpkg.deb-export-hook /usr/share/gitpkg/hooks/debcherry-deb-export-hook
ເພື່ອໃຊ້ hook ນີ້, a ${DEB_ORIG}.commit ໄຟລ໌ຕ້ອງຖືກສ້າງຂື້ນເຊິ່ງປະກອບດ້ວຍ
treeish ຂອງແຫຼ່ງຕົ້ນນ້ໍາທີ່ສົ່ງອອກໃນ repository. ນີ້ຈະຖືກສ້າງຂື້ນ
ອັດຕະໂນມັດ (ຖ້າ hook ນີ້ຖືກເປີດໃຊ້) ເມື່ອທ່ານສົ່ງອອກ tarball ເທິງນ້ໍາໂດຍການຜ່ານ
ທັງສອງ ສາຂາ ແລະ ສາຂາ to gitpkg, ຫຼືຖ້າທ່ານໃຊ້ pristine-tar-pre-export-hook,
ເຊິ່ງກໍານົດຄໍາຫມັ້ນສັນຍາທີ່ເຫມາະສົມທີ່ສອດຄ້ອງກັນກັບ tarball. ຖ້ານ້ໍາຂອງເຈົ້າ
tarball ຖືກສ້າງຂື້ນໂດຍໃຊ້ກົນໄກອື່ນທີ່ເຈົ້າຕ້ອງການເພື່ອຮັບປະກັນວ່າໄຟລ໌ນັ້ນແມ່ນ
ສ້າງຕົວທ່ານເອງ.
ຖ້າໃຊ້ hook ນີ້, ທ່ານອາດຈະຕ້ອງການບັນທຶກສິ່ງນັ້ນຢູ່ໃນບ່ອນເກັບມ້ຽນຂອງທ່ານ
ຄ້າຍຄືກັນກັບຂໍ້ຄວາມໃນ /usr/share/doc/gitpkg/examples/README.debcherry-export ເປັນຫນຶ່ງ
ຄວາມສະດວກສະບາຍໃຫ້ກັບຜູ້ໃຊ້ອື່ນໆ. ແພກເກດຂອງທ່ານຈະຍັງຄົງສາມາດສົ່ງອອກໄດ້ໂດຍບໍ່ມີການ hook ນີ້
ເປີດໃຊ້ແລ້ວ, ມັນຈະບໍ່ມີ patches ເທິງນ້ໍາແຍກອອກເປັນ
ຊຸດຜ້າຫົ່ມ.
Hook ຫ້ອງສະຫມຸດ ຜູ້ຊ່ວຍ
ເຫຼົ່ານີ້ແມ່ນ snippets ເລັກນ້ອຍຫຼາຍ, ສໍາລັບການດໍາເນີນງານທີ່ອາດຈະຖືກແບ່ງປັນໂດຍຫຼາຍໆຄົນ
ສະຄຣິບ. ຍັງພົບເຫັນຢູ່ໃນ /usr/share/gitpkg/hooks. ປົກກະຕິແລ້ວສິ່ງເຫຼົ່ານີ້ຈະມາຈາກຜູ້ອື່ນ
scripts ແທນທີ່ຈະຖືກຕິດກັບໂດຍກົງ.
repo-config-helper
ສະຫນອງ wrapper ງ່າຍດາຍປະມານ `ໄປ config`, ເຊິ່ງຮັບປະກັນວ່າມັນຖືກເອີ້ນຈາກ
repo tree ບ່ອນທີ່ຕົວເລືອກ config ສະເພາະ repo ອາດຈະຖືກເກັບໄວ້. ມີປະໂຫຍດຕໍ່ສະຄຣິບ
ເຊິ່ງບໍ່ໄດ້ຖືກເອີ້ນຈາກພາຍໃນຕົ້ນໄມ້ repo, ແຕ່ວ່າມີ git-config ທາງເລືອກຂອງ
ຂອງຕົນເອງເພື່ອສອບຖາມ.
ສະຫນອງການ sanitise_git_ref ຟັງຊັນ shell ທີ່ remap ຕົວອັກສອນຕົວອັກສອນທີ່ເປັນ
ຜິດກົດຫມາຍທີ່ຈະໃຊ້ໃນການປ່ຽນຊື່ git.
ສະຫນອງການ extract_values_for_option ຟັງຊັນ shell ທີ່ສາມາດໃຊ້ເພື່ອສະກັດເອົາ
array ຂອງຄ່າສໍາລັບທາງເລືອກສະເພາະໃດຫນຶ່ງຈາກ GITPKG_IOPTS.
ເບິ່ງເນື້ອໃນຂອງໄຟລ໌ນັ້ນເອງສໍາລັບເອກະສານລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຫນ້າທີ່
ວ່າມັນສະຫນອງ.
ການໂຕ້ຕອບ
ຖ້າເຈົ້າຕັ້ງໃຈຈະໂທຫາ gitpkg ຈາກສະຄິບຂອງທ່ານເອງ, ຫຼັງຈາກນັ້ນທ່ານຄວນສັງເກດວ່າມີ
ສອງສະຖານະການໃນເວລາທີ່ມັນອາດຈະກະຕຸ້ນການໂຕ້ຕອບໂດຍຄ່າເລີ່ມຕົ້ນ. ບໍ່ມີ One True Sane
ຄ່າເລີ່ມຕົ້ນສໍາລັບກໍລະນີເຫຼົ່ານີ້, ສະນັ້ນມັນດີກວ່າທີ່ຈະພຽງແຕ່ຖາມຜູ້ໃຊ້ແລະສືບຕໍ່ກ່ວາທີ່ຈະເຮັດໃຫ້
ພວກເຂົາເລີ່ມຕົ້ນຂະບວນການທັງຫມົດອີກເທື່ອຫນຶ່ງໃນກໍລະນີທີ່ພວກເຂົາໄດ້ໂທຫາ gitpkg
ໂດຍກົງ. ສໍາລັບລາຍລະອຽດ, ເບິ່ງໄດ້ gitpkg.force-overwrite-orig ແລະ gitpkg.create-fake-orig
ຕົວເລືອກການຕັ້ງຄ່າຂ້າງເທິງ. ທ່ານຄວນກໍານົດທັງສອງຢ່າງຈະແຈ້ງກ່ຽວກັບພຶດຕິກໍາທີ່ທ່ານຕ້ອງການ
ຈາກພວກເຂົາຖ້າ gitpkg ບໍ່ຄວນກາຍເປັນການໂຕ້ຕອບ.
ເຮັດວຽກ
ເຖິງແມ່ນວ່າ gitpkg ຢ່າງຊັດເຈນບໍ່ໄດ້ພະຍາຍາມບັງຄັບຂັ້ນຕອນການເຮັດວຽກສະເພາະໃດໆຕໍ່ເຈົ້າ
ເພື່ອເຮັດໃຫ້ການນໍາໃຊ້ຢ່າງເຕັມທີ່ຂອງມັນ, ມັນອາດຈະເປັນມູນຄ່າທີ່ຈະກ່າວເຖິງຢ່າງໄວວາຢ່າງຫນ້ອຍຫນຶ່ງອັນ
ວິທີງ່າຍໆໃນການຈັດການແພັກເກັດ Debian ໃນ git.
ໂຄງສ້າງ repo ທົ່ວໄປຫນຶ່ງແມ່ນເພື່ອຮັກສາແຫຼ່ງນ້ໍາ pristine ໃນສາຂາຫນຶ່ງ, ເຊິ່ງແມ່ນ
ປັບປຸງໂດຍກົງຈາກ repo ເທິງນ້ໍາຫຼືໂດຍການນໍາເຂົ້າ tar archives ກັບມັນ
ແຕ່ລະໄລຍະ, ໂດຍມີແຫຼ່ງທີ່ມາຂອງ Debian patched ໃນສາຂາອື່ນ. ໃນສະຖານະການນີ້
ວຽກງານການກະກຽມການປ່ອຍນ້ໍາໃຫມ່ຈາກ tarball ອາດຈະເບິ່ງຄືວ່ານີ້:
ກວດເບິ່ງສາຂາຕົ້ນນ້ໍາ
$ cd myrepo
$ git checkout upstream
ເອົາໄຟລ໌ຕົ້ນສະບັບເກົ່າທັງໝົດອອກຈາກ repo
$ rm -rf $(all_files_ຍົກເວັ້ນ .git)
Unpack tarball ໃຫມ່ໃນສະຖານທີ່ຂອງເຂົາເຈົ້າ
$ tar zxf $new_upstream.tar.gz
ໃຫ້ git ຄິດອອກສິ່ງທີ່ຖືກປ່ຽນຊື່ / ໃຫມ່ / ຫມົດໂດຍຕົວມັນເອງ.
ໃຫ້ແນ່ໃຈວ່າທ່ານບໍ່ມີສິ່ງຕ່າງໆເຊັ່ນໄຟລ໌ vim .swp ລີ້ຊ່ອນຢູ່
ຢູ່ໃນຕົ້ນໄມ້ຍັງຢູ່ໃນຈຸດນີ້.
$ git ເພີ່ມ.
$ git commit -a
$ git tag v$upstream_version
ກະກຽມສາຂາ Debian
$ git checkout debian
$ git ຜະສົມຜະສານທາງເທິງ
$ $(ອັບເດດ changelog ແລະ patches debian ອື່ນໆ ແລະອື່ນໆ.)
$ git commit -a
$ git tag v${upstream_version}-$debian_version
ປ່ອຍອອກມາ
$ gitpkg v${upstream_version}-$debian_version v$upstream_version
$ cd ../deb-packages/mypackage && dpkg-buildpackage ...
ໃຊ້ gitpkg ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net