Chapter 8. package ¶°¦X

Table of Contents
8.1. ¦w¸Ë package ¶°¦X
8.2. §ó·s package ¶°¦X
8.3. ½d¨Ò¡G ±q­ì©l½X¦w¸Ëµ{¦¡
8.4. ½d¨Ò¡G ±q½sͦnªº package ¦w¸Ë
8.5. ºÞ²z package ªº«ü¥O
8.6. §Ö³t¶}©l Packaging «ü«n

NetBSD package ¶°¦X¬O¤@¸s¤u¨ãªº¶°¦X¡A²¤Æ¤F«Ü¦h¼Æ¶qªº§K¶O³nÅé ¦b Unix ¨t²Î¤W½sĶ»P¦w¸Ëªº¤u§@¡C¥u»Ý¤@©Î¨â­Ó«ü¥O«K¥i°õ¦æ¦w¸Ë¡C

­º¦¸±µÄ² NetBSD package ¨t²Î·|²£¥Í¤@¨ÇºÃ´b¡G¦ü¥G¦³³\¦h¤£¦Pªº «ü¥O«o°µ¬Û¦Pªº¨Æ¡Cµª®×«D±`²³æ¡G¦]¬°¦³¨âºØ ¤èªk¨Ó¦w¸Ëµ{¦¡¡C§A¥i¥H

¤W­zªº¨âºØ¤èªk³£¨Ó¦Û©ó¬Y¤H"«Ø¥ß¦nªº package"¡A¨Ò¦p¡A ¤w¸g¦b NetBSD ©³¤U±Nµ{¦¡²¾´Ó¨Ã³]©w¦n¤F¡CÁöµM package ¶°¦X¤w¸g ¦³¶W¹L 1000 ºØªºµ{¦¡¡A¦ýÁÙ¬O¥i¯à§A·Q­nªº¨Ã¨S¥]§t¦b¤º¡C¦b¦¹±¡ªp¡A §A¥i¥H¸ÕµÛ½sĶ¥¦¡A¦pªG¯à°÷¹B§@¡A«h«Ø¥ß¤@­Ó package ¨Ã¥[¤J¶°¦X¤¤¡G ¨ä¥Lªº¨Ï¥ÎªÌ±N±q§Aªº¤u§@¤¤±o¨ì¯q³B¡C

8.1. ¦w¸Ë package ¶°¦X

¦b±q­ì©l½X¦w¸Ëµ{¦¡¤§«e¡A§AÀ³¸Ó±q NetBSD ºô¯¸©Î¨ä¥L¬M®g ¯¸¥x¤U¸ü package ¶°¦X¨Ã¦w¸Ë¥¦¡C¥H¤U´y­z³o­Ó¨BÆJ¡C

  1. ¤U¸ü³Ì·sªº package ¨t²Î­ì©l½X¡A¥¦¥]§t©Ò¦³¥²¶·ªº makefile ©M¬O³]©wÀÉ¡A±q¥H¤U¯¸¥x¨ú±o ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/. ­n¤U¸üªºÀɮ׬O pkgsrc.tar.gz¡C

  2. ²¾°£²{¦³ªº¶°¦X¡]¦pªG§A¤w¸g¦w¸Ë¤F¡^¡A¨Ï¥Î¥H¤U«ü¥O¡G

    # cd /usr
    # rm -rf pkgsrc
    	  

  3. ¦w¸Ë§A©Ò¤U¸üªº¶°¦X¡G

    # tar -xzvpf pkgsrc.tar.gz -C /usr
        
    ³o­Ó«ü¥O·|°õ¦æ¼Æ¤ÀÄÁ¡A¦]¬°¦³«Ü¤j¶qªº(¤p)Àɮ׳Q¸ÑÀ£ÁY¡C ¦Ó«á¡A§A¥i¥H¶}©l¦w¸Ë·sªºµ{¦¡¤F¡C

    Note: §Q¥Î¥H¤Wªº«ü¥O¡A§A¤w¸g¦w¸Ë¤F©Ò»Ýªº³]©wÀÉ¡A¤w¸g¥i¥H¦Û°Ê ¦a±Nµ{¦¡¦w¸Ë¨ì§Aªº¨t²Î¤W¡G¦w¸ËÁÙ¥¼¦w¸Ëªºµ{¦¡¡I°ò¥»¤W¡A ¨t²Î²{¦b¤w¸g¦³¤@°ï¦³®Äªº package ©M§¹¾ãªºµ²ºc¡A¥i¥H¥Î¨Ó ¶i¦æ¤U¸ü¡A½sĶ©M¦w¸Ëªº°Ê§@¡C

·í§A¦w¸Ë¤F package ¶°¦X¡A§A¥i¥H¨Ï¥Î Lynx ©Î Netscape ¨Ó ÂsÄý©Î¾\Ū¦³Ãö©Ò¦³ packages ªº¸Ô²Ó»¡©ú¡C¨Ò¦p¡G

$ cd /usr/pkgsrc
$ lynx README.html
      

8.2. §ó·s package ¶°¦X

package ¶°¦X¸g±`³Q§ó·s¡G´X¥G¨C­Ó¬P´Á³£¥i¥H¦b ftp ¯¸¥x §ä¨ì§ó·sªºª©¥»¡C§ó·s package ¶°¦X¥i¥H¨Ï¥Î©M²Ä¤@¦¸¦w¸Ë ®É¤@¼Ëªº¨BÆJ¡C

¦³®É­Ô¡A¦b§ó·s package ¶°¦X®É¡A¤]¥²¶·§ó·s "pkgtools" ¤u¨ã¡C¦pªG§A»Ý­n°µ³o¥ó¨Æ®É¡A¥i¥H ²³æ¦a§¹¦¨¥¦¡G·í§A¸ÕµÛ¦w¸Ë·sªºµ{¦¡®É¡Apackage ¨t²Î©ê«è §Aªº pkgtools ¤w¸g¹L®É¤F¡C

# make
===> Validating dependencies for gqmpeg-0.6.3
Your package tools need to be updated to 2000/02/02 versions.
The installed package tools were last updated on 1999/01/01.
Please make and install the pkgsrc/pkgtools/pkg_install package.
*** Error code 1
    

­n§ó·s³Ì²³æªº¤èªk¬O¡G

# cd /usr/pkgsrc/pkgtools/pkg_install
# make install
    

µM«á§A¥i¥HÄ~Äò¦w¸Ë¥ý«eµo¥Í¿ù»~°T®§ªº package¡C

Note: §A¥i¥H©w¸q©Ò»ÝÀˬdªºª©¥»¦b pkgsrc/mk/bsd.pkg.mk¡G ¬Ý°_¨Ó¹³¬O¡G

PKGTOOLS_REQD = 20000202
      

(¤é´Á 20000202 ¥u¬O¤@­Ó¨Ò¤l)³oªí¥Ü©Ò»ÝªºÀɮ׬° pkg_install-20000202.tar.gz¡A§A¥i¥H ¦b NetBSD ftp ¯¸¥xªº packages/distfiles/LOCAL_PORTS ¥Ø¿ý©³¤U§ä¨ì¥¦¡C§Ú­Ì¥i¥H¹³¨ä¥Lªº package ¤@¼Ë¦w¸Ë pkg_install¡C

8.3. ½d¨Ò¡G ±q­ì©l½X¦w¸Ëµ{¦¡

³o¤@¬qªº±Ô­z±N¦w¸Ë¤@­Óµ{¦¡§@¬°½d¨Ò¡G addnerd À³¥Îµ{¦¡¡AÅý§A¦b¨t²Î¤W ²³æ¦a«Ø¥ß±b¸¹¡C­º¥ý¡Acd ¨ì /usr/pkgsrc/sysutils/addnerd ¥Ø¿ý¡C

8.3.1. ¤U¸ü­ì©l½X

¦pªG§A³s±µ¨ìºô»Úºô¸ô¤W¡AMakefile ÀɱN¦Û°Ê¦aÀ°§A¨ú¦^ ©Ò»Ýªº­ì©l½X¡A¦Ó¥B§A¤£»Ý­nŪ³o¤@¬q¡C

¦]¦¹§A¥²¶·¯d·N§A©Ò¨ú±oªº­ì©l½X¡C¦b¦¹±¡ªp¡A§A»Ý­nª¾¹D ­ì©l½Xªº¦WºÙ¡FÀˬd Makefile ¤¤ªº ³o¤@¦æ

DISTNAME = addnerd-1.6
      

¥þ¦W¬O addnerd-1.6.tar.gz¡C

§Q¥Î§ó²³æªº¤èªk±o¨ì¬Û¦Pªºµ²ªG¡G

# cd /usr/pkgsrc/sysutils/addnerd
# make fetch-list
      

¦P®É·|®i¥Ü¥i¥H¤U¸ü package ªº¯¸¥x²M³æ¡C

8.3.2. ½sĶ»P¦w¸Ë

­n½sĶ package¡AÁä¤J

# cd /usr/pkgsrc/sysutils/addnerd
# make
      

«e¶µ«ü¥O¨ú¦^­ì©l½X¡]¦pªG¨Ã¤£¦s¦b¦b distfiles ¥Ø¿ý¡^¡A ¸ÑÀ£ÁY­ì©l½X¡A±Ä¥Î¥²­nªº patch¡AµM«á½sĶ¡C

¦w¸Ë¥¦

# make install
      

·sµ{¦¡ªº¦w¸Ë³Q¬ö¿ý¦b§Aªº¨t²Î¤W¡G¥i¥H¨Ï¥Î pkg_info -a ¨Ó¬d¬Ý¡C

addnerd package ¤w¸g¥i¥H¨Ï¥Î¤F¡F §A¥i¥H²¾°£¦b½sͮɲ£¥ÍªºÀɮסG

# make clean
# make clean-depends
      

¦pªG¤@©Ò¨Ç¨Ì¦sªº package ³Q¦w¸Ë¡A«h²Ä¤G­Ó«ü¥O¬O¥²¶·ªº¡A ¦Ó¦b¦¹¨Ò¤¤¨Ã¤£»Ý­n¡C¥H¤U«ü¥O¥i¥H²£¥Í¬Û¦Pªºµ²ªG¡G

# make clean CLEANDEPENDS=1
      

8.4. ½d¨Ò¡G ±q½sͦnªº package ¦w¸Ë

¦b³o¤@³¹ªº²Ä¤@³¡¥÷¡A§Ú­Ì¤w¸g»¡©ú¤F package ¨t²Î¥i¥H±q­ ­ì©l½X¦w¸Ëµ{¦¡¡A¦ý¬O§Ú­Ì¤]¥i¥H±q½sͦnªº package ¦w¸Ë¡A ¥Ñ¬Y¨Ç¤H¬° NetBSD ·Ç³Æªº¡C²Ä¤GºØ§Î¦¡ªº¦w¸Ë¤ñ¸û§Ö³t¡A ¦]¬°¤£»Ý­n½s͵{¦¡¡A¦Ó¥B½sͦnªº package ³q±`¤ñ¸û¤p¡A ¥i¥H´î¤Ö¤U¸ü®É¶¡¡C¦w¸Ë±q½sͦnªº package ¨Ã¤£»Ý­n package ¶°¦X¡G¥u¦³ "pkgtools" ¤u¨ã¬O¥²­nªº¡C

½sͦnªº package ³q±`¦³ .tgz ªº°ÆÀɦW¡A¦Ó­ì©l½X«h³q±`¦³ .tar.gz ªº°ÆÀɦW¡C

Note: ¨Ã¤£¬O©Ò¦³ªº­ì©l½X³£¥H .tar.gz ¬° °ÆÀɦW¡Apackage ¨t²Î¥i¥H³B²z¨ä¥LºØÃþªº­ì©l½X¡A¨Ò¦p¡A .zip, .bz2, µ¥¡C

¦b¦w¸Ë½sͦnªº package «e¡A¨Ã¤£¤@©w­n¥ý¤U¸ü¡G ¤]¥i¥H¨Ï¥Î ftp://-URLs¡C¨Ò¦p¡G

ftp://ftp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/All/tcsh-6.09.00.tgz
    

¦pªG§A¤£ª¾¹D¦b FTP ¯¸¥x¤Wªº package ¦³®Äªºª©¥»¡A¥i¥H¥h±¼ ª©¥»¸ê°T¡A¦Ó pkg_add ·|¦Û°Ê¬D¿ï³Ì·sªº¡C ¨Ò¦p¡G

# pkg_add ftp://ftp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/All/tcsh
    

¤]¥i¥H³]©w PKG_PATH Àô¹ÒÅܼơA¨Ã¥Î ; ¨Ó°Ï¹j³\¦hªº¸ô®|©M URL¡G

# PKG_PATH="/cdrom;/usr/pkgsrc/packages/All;ftp://ftp.netbsd.org/pub/NetBSD/packages/1.4.2/i386/All/"
export PKG_PATH
# pkg_add tcsh
    

³o­Ó«ü¥O·|¦w¸Ë¥¦²Ä¤@­Ó§ä¨ìªº tcsh binary package¡C

Á|¨Ò»¡©ú¡AÅý§Ú­Ì±q¹w¥ý½sͦnªº§Î¦¡¦w¸Ë texinfo µ{¦¡¡C

  1. ½Æ»s gtexinfo-3.12.tgz ¨ì¤@­Ó Á{®Éªº¥Ø¿ý¡C

  2. ¨Ï¥Î¥H¤U«ü¥O

    # pkg_add -v gtexinfo-3.12.tgz
        

  3. Àˬd package ¬O§_³Q¦w¸Ë¡A¨Ï¥Î

    # pkg_info
        

  4. ±qÁ{®É¥Ø¿ý²¾°£ gtexinfo-3.12.tgz¡C

¹w¥ý½sͦnªº packages «D±`«K©ó¨Ï¥Î¡A¦]¬°¥¦­Ì¥u»Ýªá¶O «Ü¤Öªº§V¤O©M®É¶¡¨Ó¦w¸Ë¡A¦ý¬O±q­ì©l½X¦w¸Ëµ¹§A¸û¦hªº±±¨î¡A ¦]¬°¥i¥H¦Û¥Ñ³]©w½sĶ¥¦­Ìªº¿ï¶µ¡C¦w¸Ë»Ý­n¸ûªøªº®É¶¡¡A ¦]¬°¦b¬Y¨Ç¡]ªº¡^¥­¥x¤W½sͬO«ÜºCªº¡C

¨Ï¥Î pkg_add ¦w¸Ë¹w¥ý½sͦn ªº packages ¤§«e¡A³Ì¦n¥ý¥Î pkg_info Àˬd¥¦¡C¨Ò¦p¡G

# pkg_info -f jpeg-6b.tgz
    

Àˬd²Ä¤@­Ó CWD «ü¥O¬O¦³¥Îªº¡AÀˬd package ±N³Q¦w¸Ë ¦b¨º¸Ì¡]°ò©³¥Ø¿ý¡^¡C¤j³¡¤Àªº°ò©³¥Ø¿ý¬O /usr/pkg ©M /usr/X11R6¡C¦pªG°ò©³¥Ø¿ý¤£¬O§A·Q­nªº¡A ¥i¥H¨Ï¥Î pkg_add «ü¥Oªº -p °Ñ¼Æ¨Ó§ïÅÜ¥¦¡C¨Ò¦p¡A jpeg-6b.tgz package ¹w³]³Q¦w¸Ë¦b /usr/pkg¡A¦ý§A¥i¥H¦w¸Ë¨ì /usr/X11R6¡A¨Ï¥Î¥H¤U«ü¥O¡G

# pkg_add -p /usr/X11R6 -v jpeg-6b.tgz
    

8.5. ºÞ²z package ªº«ü¥O

ºÞ²z package ªº«ü¥O³Ì­«­nªº¦³¡G

pkg_add

¼W¥[¹w¥ý½sͦnªº package¡C

pkg_delete

²¾°£¤w¦w¸Ëªº package¡C Package ¦WºÙ¥i¥H¥[¤W©Î¤£¥[¤Wª©¥»¸¹½X¡F¦pªG¤£¥[¤W¡A pkg_delete ·|§ä¥X¤w¦w¸Ëªºª©¥»¡C ¸U¥Î¦r¤¸¥i¥H³Q¨Ï¥Î¡]¦b shell ¤¤¥²¶·³Q escape¡^¡F ¨Ò¦p¡G

# pkg_delete "*emacs*"
	    
-r ¿ï¶µ¬O«D±`±j¤Oªº¡G·|¥ý²¾°£ ©Ò¦³¨Ì¦s¥¦ªº package¡AµM«á¦A²¾°£¥¦¥»¨­¡C¨Ò¦p¡G
# pkg_delete -r jpeg
	    
±N²¾°£ jpeg ©M©Ò¦³¨Ï¥Î jpeg ªº packages¡F³o¥i ¤¹³\§A¤É¯Å jpeg package¡C

pkg_info

®i¥Ü package ªº¸ê°T¡A¤£½×¦w¸Ë»P§_¡C

pkg_create

¬° package ¶°¦X¼W¥[·sªº package¡C³o­Óµ{¦¡³Q¥Î¨Ó«Ø¥ß ·sªº¹w¥ý½sͦnªº package¡C¦b¨t²Î¤W¡A¥¦·|³Q¦Û°Ê¦a©I¥s¡A ©Ò¥H¤£»Ý­n¤â°Ê¦a¨Ï¥Î¥¦¡C

pkg_admin

¦b package ¨t²Î¤W°õ¦æ¦UºØªººÞ²z¥\¯à¡C

8.6. §Ö³t¶}©l Packaging «ü«n

³o¤@¬q (§Ö³t¶}©l Packaging «ü«n) ¬O¥Ñ Jason R. Fink ©Ò´£¨Ñªº

³o¤@¬q±Ô­z¬° NetBSD package ¨t²Î¡A§Ö³t«Ø¥ß¤@­Ó¤p Package ªº¤èªk¡C §ó¸Ô²Óªº»¡©ú¦b NetBSD package ¨t²Î¸Ìªº Packages.txt ¤å¥ó¤¤¡C

8.6.1. ¤u¨ã

¦³¤T­Ó¥D­nªº¤u¨ã¥i¥H¥Î¨Ó¶i¦æ§Ö³t¦a«Ø¥ß¤p«¬ package ªº ¤u§@¡A¨Ï¥¦¼W¥[¦Ü NetBSD ¤¤¡G

url2pkg
a template package
pkglint

8.6.1.1. url2pkg

url2pkg ¤u¨ã¥i¥H±q pkgsrc ¤¤ ¦w¸Ë¡C³o­Ó¤u¨ãÀ°§U package §Ö³t¦a«Ø¥ß¨Ã°µÂ²³æªº´ú¸Õ¡C

8.6.1.2. Template package

³o¬O¦ì©ó«Ø¥ßªÌ¤§¤Wªº¡APackages.txt ®i¥Ü¤F¤@­Ó½d¨Ò section 11 'A simple example of a package: bison' additionally¡A³\¦h package ¨Ã¨S¦³³o»ò½ÆÂø¡C

8.6.1.3. pkglint

pkglint ¤u¨ã¥i¥H±q pkgsrc ¤¤ ¦w¸Ë¡C³o­Ó¤u¨ã¶i¦æ°ò¥»ªºÀˬd¤u§@¡C

8.6.2. ¶}©l

¹Lµ{ªº¶}©l¬Û·í¦a²³æ¡A³Ì­«­nªº¬O«Ø¥ßªÌ¡]¨Ò¦p¡A§A¡^¬O§_¤w¸g ¹Á¸Õ¹L¦b NetBSD ¨t²Î¤W¡A¥H­ì©l½Xªº¤è¦¡¦w¸Ë¹L package¡C§_«h ¦b²£¥Í¿ù»~®É¡A±N·|¦³³\¦hªº°ÝÃD²£¥Í¡C¥²¶·ª`·Nªº¬O¡Apatch ¥i¥H °w¹ï­ì©l½X¨Ó¼¶¼g¨Ã­×¥¿³\¦h½sĶ®Éªº°ÝÃD¡C³o¤w¸g¶W¥X¥»¤åªº½d³ò ¡]¸Ô²Ó»¡©ú½Ð¬Ý Packages.txt¡^¡C

8.6.2.1. ¨Ï¥Î url2pkg

¤U¤@¨B¬O¨Ï¥Î url2pkg¡C

±µ¤U¨Óªº¨BÆJ¬O¨Ï¥Î url2pkg ¬°·sªº package «Ø¥ß¤@¨Ç ¥²­nªºÀɮסG

  1. ¦b pkgsrc ¥Ø¿ý¤¤ªº¾A·í¦ì¸m¡A¬°·sªº package «Ø¥ß¥Ø¿ý¡C ¤£­n¦b¸Ì­±©ñ¥ô¦óªF¦è¡C

  2. cd ¶i¤J·sªº¥Ø¿ý¡C

  3. Áä¤J

    $ url2pkg
    	      

  4. §A±N³Q´£¥Ü­n¿é¤J¤@­Ó url¡AÁä¤J url ¨Ã«ö¤U <Return>¡C

  5. vi µ{¦¡±N·|³Q©I¥s

    Note: ³o¸Ì¨Ï¥Î NetBSD ¤W¹w³]ªº vi¡A¨ä¹w³]­È¬° nvi¡C ¦pªG§A³q±`¨Ï¥Î¨ä¥Lªº vi¡A¹³¬O vim¡A§A¥i¥H ³]©w .exrc¡C

    vi µ{¦¡¥Î¨Ó½s¿è·s package ªº Makefile¡C§A¥²¶·¿é¤J package ªº¦WºÙ¡Apackage ªººûÅ@ªÌ email ©M package ±N ·|³Q¸m©ñªºÃþ§O¡C

  6. Àx¦sÀɮרÃÂ÷¶}¡C

  7. url2pkg ·|¦Û°Ê¦a¨ú¦^ package ­ì©l½X¨Ã¦Ü©ñ¦b¤l¥Ø¿ý¤¤¡C

  8. ¤U¤@¨B¡Aurl2pkg ±N·|²£¥Í md5 ÀÉ¡C

³Ì«á½Ðª`·N¡Aurl2pkg °£¤F Makefile ¥H¥~¡A¤£·|¶ñ¼g¨ä¥Lªº ÀɮסC¥¦±N²£¥ÍªÅ¥Õªº PLIST ÀÉ¡C

8.6.3. ¶ñ¼g³Ñ¾lªº³¡¥÷

²{¦b Makefile ¤w¸g³Q²£¥Í¤F¡A¨ä¾lªºÀÉ®×¥²¶·³Q«Ø¥ß¡C¨Ï¥Î§Aªº template package¡A±q template package ªº¤l¥Ø¿ý pkg ¤¤ ½Æ»s¥H¤UÀɮסG

DESCR

Ãö©ó³nÅ餶²Ðªº¦h¦æ±Ô­z¡C³oÀ³¸Ó¤]¥]§t¶}µoªÌ¡C

COMMENTS

Ãö©ó³nÅ餶²Ðªº³æ¦æ±Ô­z¡C¤£»Ý­n´£¨ì package ¦WºÙ - ¦b pkg_* ¤u¨ã³Q©I¥s®É¡A¦WºÙ±N·|³Q¦Û°Êªþ¥[¤W¥h¡C

PLIST

³o­ÓÀÉ®×¥]§t¤F³Q¦w¸Ë¦b¨t²Î¤WªºÀɮתº¦ì¸m¡A¹ï¤p«¬ ªº package ¦Ó¨¥¡]¨Ò¦p¡A¤@­Ó°õ¦æÀÉ¡A¤@©Î¨â­Ó man page¡^ ±q­ì©l½X¤¤ªº Makefile ©Î¦w¸Ëªº script ¤¤¬D¿ï¥X¨Ó¡C

8.6.4. ¨Ï¥Î pkglint Àˬd

©Ò¦³Àɮ׳£·Ç³Æ¦n¤F¡A²{¦b¥i¥H¨Ï¥Î pkglint ¤u¨ãÀˬd package¡C±`±`¬O Makefile ³\­n­×§ï¡AµL½×¦p¦ó¡A¦b¶i¦æ½sͤ§«e¨Ï¥Î pkglint ¬O «Ü¦³À°§Uªº¡A¥i¥HÅý§Aª¾¹D¤°»ò¦a¤è»Ý­n§ó§ï¡A¥H¤U¬O¤@¨Ç ±q Packages.txt ¤¤ºK¿ý¥X¨Óªº pkglint ¼Ë¥»¿é¥X¡G

$ pkglint
OK: checking pkg/COMMENT.
OK: checking pkg/DESCR.
OK: checking Makefile.
OK: checking files/md5.
OK: checking patches/patch-aa.
looks fine.
	

¦pªG¦³¿ù»~²£¥Í¡A³q±`¬O¬Û·í²³æªº°ÝÃD¡A³o¸Ì¦³¤@­Ó¿ù»~ªº½d¨Ò¡G

extract suffix not required
	
§Ú¤£»Ý­n¦b Makefile ¤¤©w¸q¸ÑÀ£ÁYÀɮתº¦r§À¡C

8.6.5. °õ¦æ©MÀˬd½sĶ/¦w¸Ë

¦pªG pkglint ´ú¸Õ¹L¨S¦³°ÝÃD¡A§Ú³q±`°õ¦æ¤@­Ó§¹¾ãªº¤U¸ü¡A½sĶ ©M¦w¸Ëªº´ú¸Õ¡C­n¾A·íªº°õ¦æ¥¦¡A§Ú¥²¶·§R°£ work ¤l¥Ø¿ý©M±q /usr/pkgsrc/distfiles §R°£­ì©l½X¡C³o­Ó ¤èªk¯à«OÃÒ§Ú±N¶i¦æ¤@­Ó§¹¾ãªº´ú¸Õ¡C

8.6.6. ¨Ï¥Î send-pr ´£¥X¤@­Ó Package

­º¥ý«Ø¥ß¤@­Ó¥]§t package ¥Ø¿ýªºÀ£ÁYÀÉ¡]¤£¥]§t work ¤l¥Ø¿ý¡^¡A ¹³³o¼Ë¡G

$ tar -czf packagename.tgz package_dir
	

±µµÛ¡A±NÀ£ÁYÀɤW¸ü¨ì NetBSD package ºûÅ@ªÌ¯à¦s¨ú ªº¦ì¸m¡A¦pªG§A¤£¯à¤W¸üÀɮסA«hÁpµ¸ NetBSD¡A¬Ý¬O§_¦³¨ä¥Lªº ¤èªk¯àÅý package ºûÅ@ªÌ¯à¨ú¥Î§AªºÀɮסC

³qª¾ NetBSD package ºûÅ@ªÌªº¤èªk¬O¨Ï¥Î send-pr ¤u¨ã¡A ³]©wÃþ§O¬° "pkg"¡A¨Ã¥]§t package ¦WºÙ¤Î ª©¥»¡A²µuªº´y­z©MÀ£ÁYÀɪº URL ¦ì¸m¡C

§A¥i¥H¨Ï¥Î§A¨t²Î¤Wªº send-pr ¤u¨ã©Î¬O½u¤Wªºªí³æ http://www.NetBSD.org/cgi-bin/sendpr.cgi?gndb=netbsd

8.6.7. ³Ì«áªºª`·N¨Æ¶µ

¦A¤@¦¸»¡©ú¡A³o½g²µuªº«ü«n¥u¬O°w¹ï¤p«¬ªº packages ¦Ó¨¥¡A ¥u¥]§t¤F¤Ö¼ÆªºÀɮ׳Q¦w¸Ë¦b NetBSD ¨t²Î¤W¡C¥¦°²³]¸Ó package ¤£»Ý­n¥ô¦óªº patch ¨Ã¤£»Ý­n¥ô¦ó¨Ì¦sªº package «K¯à½sĶ¡C

Ãö©ó§ó¶i¤@¨Bªº°ÝÃD¡A½Ð°Ñ¾\ Packages.txt¡C