View | Details | Raw Unified | Return to bug 66855
Collapse All | Expand All

(-)book.sgml (-50 / +176 lines)
Lines 4750-4798 Link Here
4750
	  have a better chance of working if the system administrator has
4964
	  have a better chance of working if the system administrator has
4751
	  moved the whole <filename>/usr/local</filename> tree somewhere else.</para>
4965
	  moved the whole <filename>/usr/local</filename> tree somewhere else.</para>
4752
      </sect1>
4966
      </sect1>
4753
4754
      <sect1 id="testing-freshports">
4755
	<title>FreshPorts sanity tests</title>
4756
4757
	<para><ulink url="http://www.FreshPorts.org/"></ulink> has
4758
	  a sanity test feature which automatically tests each commit to the
4759
	  FreeBSD ports tree.  If subscribed to this service, you will be
4760
	  notified of any errors which FreshPorts detects during sanity
4761
	  testing of your commits.</para>
4762
4763
	<para>If you wish to use this service, all you need is a FreshPorts
4764
	  account.  If your registered email address is
4765
	  <literal>@FreeBSD.org</literal>, you'll see the opt-in link on the
4766
	  right hand side of the webpages.
4767
	  For those of you who already have a FreshPorts account, but are not
4768
	  using your <literal>@FreeBSD.org</literal> email address,
4769
	  just change your email to <literal>@FreeBSD.org</literal>, subscribe,
4770
	  then change it back again.</para>
4771
      </sect1>
4772
  </chapter>
4967
  </chapter>
4773
4968
4774
    <chapter id="port-upgrading">
4969
    <chapter id="port-upgrading">
4775
      <title>Upgrading</title>
4970
      <title>Upgrading</title>
4776
4971
4777
      <para>When you notice that a port is out of date compared to the latest
4972
      <para>When you notice that a port is out of date compared to the latest
4778
	version from the original authors, first make sure you have the latest
4973
	version from the original authors, you should first ensure that you
4974
	have the latest
4779
	port.  You can find them in the
4975
	port.  You can find them in the
4780
	<filename>ports/ports-current</filename> directory of the &os; FTP mirror
4976
	<filename>ports/ports-current</filename> directory of the &os; FTP mirror
4781
	sites.  You may also use <application>CVSup</application> to keep your whole ports collection
4977
	sites.  However, if you are working with more than a few
4782
	up-to-date, as described in the <ulink url="../handbook/synching.html#CVSUP-CONFIG">Handbook</ulink>.</para>
4978
	ports, will will probably find it easier to use
4783
4979
	<application>CVSup</application> to keep your whole ports collection
4784
      <para>The next step is to send an email to the maintainer, if one is
4980
	up-to-date, as described in the
4785
	listed in the port's <filename>Makefile</filename>.  That person may
4981
	<ulink url="../handbook/synching.html#CVSUP-CONFIG">Handbook</ulink>.
4982
	This will have the added benefit of tracking all the ports'
4983
	dependencies.</para>
4984
4985
      <para>The next step is to see if there is an update already pending.
4986
	To do this, you have two options.  There is a searchable interface
4987
	to the
4988
	<ulink URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
4989
	FreeBSD Problem Report (PR) database</ulink> (also known as
4990
	<literal>GNATS</literal>).  Select <literal>ports</literal> in the
4991
	dropdown, and enter the name of the port.</para>
4992
4993
      <para>However, sometimes people forget to put the name of the port
4994
	into the Synopsis field in an unambiguous fashion.  In that case,
4995
	you can try the <ulink URL="http://portsmon.firepipe.net">
4996
	FreeBSD Ports Monitoring System</ulink> (also known as
4997
	<literal>portsmon</literal>).  This system attempts to classify
4998
	port PRs by portname.  To search for PRs about a particular port,
4999
	use the <ulink URL="http://portsmon.firepipe.net/portoverview.py">
5000
	Overview of One Port</ulink>.</para>
5001
5002
      <para>If there is no pending PR, the next step is to send an email
5003
	to the port's maintainer, as shown by
5004
	<command>make maintainer</command>.  That person may
4786
	already be working on an upgrade, or have a reason to not upgrade the
5005
	already be working on an upgrade, or have a reason to not upgrade the
4787
	port right now (because of, for example, stability problems of the new
5006
	port right now (because of, for example, stability problems of the new
4788
	version); you would not want to duplicate their work.  Note that
5007
	version); you would not want to duplicate their work.  Note that
4789
	unmaintained ports are listed with a maintainer of
5008
	unmaintained ports are listed with a maintainer of
4790
	<literal>ports@FreeBSD.org</literal>; mail to that address
5009
	<literal>ports@FreeBSD.org</literal>, which is just the general
5010
	ports mailing list, so sending mail there
4791
	probably will not help in this case.</para>
5011
	probably will not help in this case.</para>
4792
5012
4793
      <para>If the maintainer asks you to do the upgrade or the maintainer
5013
      <para>If the maintainer asks you to do the upgrade or there is
4794
	is <literal>ports@FreeBSD.org</literal>,
5014
	no maintainer, then you have a chance to help out &os; by
4795
	please make the upgrade and save the result of the
5015
	preparing the update yourself!  Please make the changes and save
5016
	the result of the
4796
	recursive <command>diff</command> output
5017
	recursive <command>diff</command> output
4797
	of the new and old
5018
	of the new and old
4798
	ports directories (e.g., if your modified port directory is
5019
	ports directories (e.g., if your modified port directory is
Lines 4806-4826 Link Here
4806
	deleted.  Before sending us the diff, please examine the
5027
	deleted.  Before sending us the diff, please examine the
4807
	output to make sure all the changes make sense.</para>
5028
	output to make sure all the changes make sense.</para>
4808
5029
5030
      <para>If the port is unmaintained, and you are actively using
5031
	it yourself, please consider volunteering to become its
5032
	maintainer.  &os; has over 2000 ports without maintainers,
5033
	and this is an area where more volunteers are always needed.
5034
	(For a detailed description of the responsibilities of maintainers,
5035
	refer to the
5036
	<ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER">
5037
	MAINTAINER on Makefiles</ulink> section.)</para>
5038
4809
      <para> The best way to
5039
      <para> The best way to
4810
	send us the diff is by including it via &man.send-pr.1; (category
5040
	send us the diff is by including it via &man.send-pr.1; (category
4811
	<literal>ports</literal>).  If you are going to be the maintainer for the port,
5041
	<literal>ports</literal>).  If you are volunteering to maintain the
5042
	port,
4812
	be sure to put <literal>[maintainer update]</literal> at the beginning
5043
	be sure to put <literal>[maintainer update]</literal> at the beginning
4813
	of your synopsis line and/or set the <quote>Class</quote> of your PR
5044
	of your synopsis line and set the <quote>Class</quote> of your PR
4814
	to <literal>maintainer-update</literal>.  Please mention any added or
5045
	to <literal>maintainer-update</literal>.  Otherwise, the
5046
	<quote>Class</quote> of your PR should be
5047
	<literal>change-request</literal>.  Please mention any added or
4815
	deleted files in the message, as they have to be explicitly specified
5048
	deleted files in the message, as they have to be explicitly specified
4816
	to CVS when doing a commit.  If the diff is more than about 20KB,
5049
	to &man.cvs.1; when doing a commit.  If the diff is more than about 20KB,
4817
	please compress and uuencode it; otherwise, just include it in the PR
5050
	please compress and uuencode it; otherwise, just include it in the PR
4818
	as is.</para>
5051
	as is.</para>
4819
5052
4820
      <para>Finally, please see the
5053
      <para>Before you &man.send-pr.1;, you should review the
4821
        <ulink url="../../articles/problem-reports/pr-writing.html">
5054
        <ulink url="../../articles/problem-reports/pr-writing.html">
4822
        Writing the problem report</ulink> section in the Problem
5055
        Writing the problem report</ulink> section in the Problem
4823
        Reports article for more information about how to write
5056
        Reports article; it contains far more information about how to write
4824
        useful problem reports.</para>
5057
        useful problem reports.</para>
4825
5058
4826
      <important>
5059
      <important>
Lines 4837-4842 Link Here
4837
	<para>Once again, please use &man.diff.1; and not &man.shar.1; to send
5070
	<para>Once again, please use &man.diff.1; and not &man.shar.1; to send
4838
	  updates to existing ports!</para>
5071
	  updates to existing ports!</para>
4839
      </note>
5072
      </note>
5073
5074
      <para>Now that you have done all that, you will want to read about
5075
	how to keep up-to-date in <xref linkend="keeping-up">.</para>
5076
4840
    </chapter>
5077
    </chapter>
4841
5078
4842
    <chapter id="porting-dads">
5079
    <chapter id="porting-dads">
Lines 6896-6917 Link Here
6896
	package list automatically.</para>
7133
	package list automatically.</para>
6897
    </chapter>
7134
    </chapter>
6898
7135
6899
    <chapter id="changes">
7136
    <chapter id="keeping-up">
6900
      <title>Changes to this document and the ports system</title>
7137
      <title>Keeping Up</title>
7138
7139
      <para>The &os; Ports Collection is constantly changing.  Here is
7140
	some information on how to keep up.</para>
7141
7142
      <sect1>
7143
	<title>FreshPorts</title>
7144
7145
	<para>On of the easiest ways to learn about updates that have
7146
	  already been committed is by subscribing to
7147
	  <ulink url="http://www.FreshPorts.org/">FreshPorts</ulink>.
7148
	  You can select multiple ports to monitor.  Maintainers are
7149
	  strongly encouraged to subscribe, because they will receive
7150
	  notification of not only their own changes, but also any
7151
	  changes that any other &os; committer has made.  (These are
7152
	  often necessary to keep up with changes in the underlying
7153
	  ports framework&mdash;although it would be most polite to
7154
	  receive an advance heads-up from those committing such changes,
7155
	  sometimes this is overlooked or just simply impractical.
7156
	  Also, in some cases, the changes are very minor in nature.
7157
	  We expect everyone to use their best judgement in these
7158
	  cases.)</para>
7159
7160
	<para>If you wish to use FreshPorts, all you need is an
7161
	  account.  If your registered email address is
7162
	  <literal>@FreeBSD.org</literal>, you'll see the opt-in link on the
7163
	  right hand side of the webpages.
7164
	  For those of you who already have a FreshPorts account, but are not
7165
	  using your <literal>@FreeBSD.org</literal> email address,
7166
	  just change your email to <literal>@FreeBSD.org</literal>, subscribe,
7167
	  then change it back again.</para>
7168
7169
	<para>FreshPorts also has
7170
	  a sanity test feature which automatically tests each commit to the
7171
	  FreeBSD ports tree.  If subscribed to this service, you will be
7172
	  notified of any errors which FreshPorts detects during sanity
7173
	  testing of your commits.</para>
7174
      </sect1>
7175
7176
      <sect1>
7177
	<title>The Web Interface to the Source Repository</title>
7178
7179
	<para>It is possible to browse the files in the source repository by
7180
	  using a web interface.  Changes that affect the entire port system
7181
	  are now documented in the
7182
	  <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/CHANGES">
7183
	  CHANGES</ulink> file.  Changes that affect individual ports
7184
	  are now documented in the
7185
	  <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/UPDATING">
7186
	  UPDATING</ulink> file.  However, the definitive answer to any
7187
	  question is undoubtedly to read the source code of <ulink
7188
	  url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk">
7189
	  bsd.port.mk</ulink>, and associated files.</para>
7190
7191
      </sect1>
7192
7193
      <sect1>
7194
	<title>The &os; Ports Mailing List</title>
7195
7196
	<para>If you maintain ports, you should consider following the
7197
	  &a.ports;.  Important changes to the way ports work will be announced
7198
	  there, and then committed to <filename>CHANGES</filename>.</para>
7199
7200
      </sect1>
7201
7202
      <sect1>
7203
	<title>The &os; Port Building Cluster</title>
7204
7205
	  <para>One of the least-publicized strengths of &os; is that
7206
	    an entire cluster of machines is dedicated to continually
7207
	    building the Ports Collection, for each of the major OS
7208
	    releases and for each Tier-1 architecture.  You can find
7209
	    the results of these builds at
7210
	    <ulink url="http://bento.FreeBSD.org/">package building logs
7211
	    and errors</ulink>.</para>
7212
7213
      </sect1>
7214
7215
      <sect1>
7216
	<title>The &os; Port Distfile Survey</title>
7217
7218
	  <para>The build cluster is dedicated to building the latest
7219
	    release of each port with distfiles that have already been
7220
	    fetched.  However, as the Internet continually changes,
7221
	    distfiles can quickly go missing.  The <ulink
7222
	    url="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD
7223
	    Ports distfiles survey</ulink> attempts to query every
7224
	    download site for every port to find out if each distfile
7225
	    is still currently available.  Maintainers are asked to
7226
	    check this report periodically, not only to speed up the
7227
	    building process for users, but to help avoid wasting
7228
	    bandwidth of the sites that volunteer to host all these
7229
	    distfiles.</para>
7230
7231
      </sect1>
7232
7233
      <sect1>
7234
7235
	<title>The &os; Ports Monitoring System</title>
7236
7237
	<para>Another handy resource is the
7238
	  <ulink URL="http://portsmon.firepipe.net">
7239
	  FreeBSD Ports Monitoring System</ulink> (also known as
7240
	  <literal>portsmon</literal>).  This system comprises a
7241
	  database that processes information from several sources
7242
	  and allows its to be browsed via a web interface.  Currently,
7243
	  the ports Problem Reports (PRs), the error logs from
7244
	  the build cluster, and individual files from the ports
7245
	  collection are used.  In the future, this will be expanded
7246
	  to include the distfile survey, as well as other sources.</para>
7247
7248
	<para>To get started, you can view all information about a
7249
	  particular port by using the
7250
	  <ulink URL="http://portsmon.firepipe.net/portoverview.py">
7251
	  Overview of One Port</ulink>.</para>
7252
7253
      </sect1>
6901
7254
6902
      <para>If you maintain a lot of ports, you should consider following the
6903
	&a.ports;.  Important changes to the way ports work will be announced
6904
	there.  You can always find more detailed information on the latest
6905
	changes by looking at <ulink
6906
	  url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk"> the
6907
	  bsd.port.mk CVS log</ulink>.</para>
6908
6909
      <para>Other resources to assist port maintainers include a list of
6910
	<ulink url="http://bento.FreeBSD.org/">package building logs and
6911
	errors</ulink> hosted on the <literal>bento cluster</literal>,
6912
	and also the <ulink
6913
	  url="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD
6914
	  Ports distfiles survey</ulink>.</para>
6915
    </chapter>
7255
    </chapter>
6916
</book>
7256
</book>

Return to bug 66855