Reword port resurrection instructions instructions to be more clear.

Add a bit about how to request and apply merge to the ports' quarterly branches.

Differential Revision: https://reviews.freebsd.org/D2006
Approved by:	wblock
Sponsored by:	Absolight
This commit is contained in:
Mathieu Arnold 2015-03-06 14:05:41 +00:00
parent 8cbeb1b9bd
commit 50c685ebe5
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46320

View file

@ -3994,40 +3994,65 @@ Relnotes: yes</programlisting>
<para>This is essentially the reverse of deleting a
port.</para>
<important>
<para>Do not use <command>svn add</command> to add the
port. Follow these steps. If they are unclear, or are
not working, ask for help, do not just <command>svn
add</command> the port.</para>
</important>
<procedure>
<step>
<para>Figure out when the port was removed. Use this
<link
xlink:href="http://people.freebsd.org/~crees/removed_ports/index.xml">list</link>
xlink:href="http://people.freebsd.org/~crees/removed_ports/index.xml">list</link>,
or look for the port on <link
xlink:href="http://www.freshports.org/">freshports</link>,
and then copy the last living revision of the
port:</para>
<screen>&prompt.user; <userinput>cd /usr/ports/<replaceable>category</replaceable></userinput>
&prompt.user; <userinput>svn cp 'svn+ssh://svn.freebsd.org/ports/head/<replaceable>category</replaceable>/<replaceable>portname</replaceable>/@{<replaceable>YYYY-MM-DD</replaceable>}' <replaceable>portname</replaceable></userinput></screen>
&prompt.user; <userinput>svn cp 'svn+ssh://svn.freebsd.org/ports/head/<replaceable>category</replaceable>/<replaceable>portname</replaceable>/@<replaceable>XXXXXX</replaceable>' <replaceable>portname</replaceable></userinput></screen>
<para>Pick a date that is before the removal but after
the last true commit.</para>
<para>Pick the revision that is just before the
removal. For example, if the revision where it was
removed is <literal>269874</literal>, use
<literal>269873</literal>.</para>
<para>It is also possible to specify a date. In that
case, pick a date that is before the removal but
after the last commit to the port.</para>
<screen>&prompt.user; <userinput>cd /usr/ports/<replaceable>category</replaceable></userinput>
&prompt.user; <userinput>svn cp 'svn+ssh://svn.freebsd.org/ports/head/<replaceable>category</replaceable>/<replaceable>portname</replaceable>/@{<replaceable>YYYY-MM-DD</replaceable>}' <replaceable>portname</replaceable></userinput></screen>
</step>
<step>
<para>Perform whatever changes are necessary to make
the port work again. If it was deleted because the
distfiles are no longer available you will need to
volunteer to host them yourself, or find someone
<para>Make the changes necessary to get the port
working again. If it was deleted because the
distfiles are no longer available, either
volunteer to host the distfiles, or find someone
else to do so.</para>
</step>
<step>
<para><command>svn add</command> or
<command>svn remove</command> any appropriate
files.</para>
<para>If some files have been added, or were removed
during the resurrection process, use <command>svn
add</command> or <command>svn remove</command> to
make sure all the files in the port will be
committed.</para>
</step>
<step>
<para>Restore the <varname>SUBDIR</varname> listing of
the port in the parent directory
<filename>Makefile</filename>, and delete the entry
from <filename>ports/MOVED</filename>.</para>
<filename>Makefile</filename>, keeping the entries
sorted.</para>
</step>
<step>
<para>Delete the port entry from
<filename>ports/MOVED</filename>.</para>
</step>
<step>
@ -4612,7 +4637,7 @@ bak/packages packages from last complete &lt;major_version&gt; run on &lt;arch&
or any file under a subdirectory that starts with an
uppercase letter (<filename>Mk/</filename>,
<filename>Tools/</filename>, etc.). In particular, the
Ports Management Team is very protective of
&a.portmgr; is very protective of
<filename>ports/Mk/bsd.port*.mk</filename> so do not
commit changes to those files unless you want to face
their wra(i)th.</para>
@ -4640,6 +4665,108 @@ bak/packages packages from last complete &lt;major_version&gt; run on &lt;arch&
distfile has changed.</para>
</answer>
</qandaentry>
<qandaentry xml:id="ports-request-mfh">
<question>
<para>What is the procedure to request authorization for
merging a commit to the quarterly branch?</para>
</question>
<answer>
<para>When doing the commit, add the branch name to the
<literal>MFH:</literal> line, for example:</para>
<programlisting>MFH: <replaceable>2014Q1</replaceable></programlisting>
<para>It will automatically notify &a.ports-secteam; and
&a.portmgr;. They will then decide if the commit can be
merged and answer with the procedure.</para>
<para>If the commit has already been made, send an email
to &a.ports-secteam; and &a.portmgr; with the revision
number and a small description of why the commit needs
to be merged.</para>
<para>A script is provided to automate merging a specific
commit: <filename>ports/Tools/scripts/mfh</filename>.
It is used as follows:</para>
<screen>&prompt.user; <userinput>/usr/ports/Tools/scripts/mfh 2015Q1 380362</userinput>
U 2015Q1
Checked out revision 380443.
A 2015Q1/security
Updating '2015Q1/security/rubygem-sshkit':
A 2015Q1/security/rubygem-sshkit
A 2015Q1/security/rubygem-sshkit/Makefile
A 2015Q1/security/rubygem-sshkit/distinfo
A 2015Q1/security/rubygem-sshkit/pkg-descr
Updated to revision 380443.
--- Merging r380362 into '2015Q1':
U 2015Q1/security/rubygem-sshkit/Makefile
U 2015Q1/security/rubygem-sshkit/distinfo
--- Recording mergeinfo for merge of r380362 into '2015Q1':
U 2015Q1
--- Recording mergeinfo for merge of r380362 into '2015Q1/security':
G 2015Q1/security
--- Eliding mergeinfo from '2015Q1/security':
U 2015Q1/security
--- Recording mergeinfo for merge of r380362 into '2015Q1/security/rubygem-sshkit':
G 2015Q1/security/rubygem-sshkit
--- Eliding mergeinfo from '2015Q1/security/rubygem-sshkit':
U 2015Q1/security/rubygem-sshkit
M 2015Q1
M 2015Q1/security/rubygem-sshkit/Makefile
M 2015Q1/security/rubygem-sshkit/distinfo
Index: 2015Q1/security/rubygem-sshkit/Makefile
===================================================================
--- 2015Q1/security/rubygem-sshkit/Makefile (revision 380443)
+++ 2015Q1/security/rubygem-sshkit/Makefile (working copy)
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= sshkit
-PORTVERSION= 1.6.1
+PORTVERSION= 1.7.0
CATEGORIES= security rubygems
MASTER_SITES= RG
Index: 2015Q1/security/rubygem-sshkit/distinfo
===================================================================
--- 2015Q1/security/rubygem-sshkit/distinfo (revision 380443)
+++ 2015Q1/security/rubygem-sshkit/distinfo (working copy)
@@ -1,2 +1,2 @@
-SHA256 (rubygem/sshkit-1.6.1.gem) = 8ca67e46bb4ea50fdb0553cda77552f3e41b17a5aa919877d93875dfa22c03a7
-SIZE (rubygem/sshkit-1.6.1.gem) = 135680
+SHA256 (rubygem/sshkit-1.7.0.gem) = 90effd1813363bae7355f4a45ebc8335a8ca74acc8d0933ba6ee6d40f281a2cf
+SIZE (rubygem/sshkit-1.7.0.gem) = 136192
Index: 2015Q1
===================================================================
--- 2015Q1 (revision 380443)
+++ 2015Q1 (working copy)
Property changes on: 2015Q1
___________________________________________________________________
Modified: svn:mergeinfo
Merged /head:r380362
Do you want to commit? (no = start a shell) [y/n]
</screen>
<para>At that point, the script will either open a shell
for you to fix things, or open your text editor with the
commit message all prepared and then commit the
merge.</para>
<para>The script assumes that you can connect to
<literal>svn.FreeBSD.org</literal> with
<application>SSH</application> directly, so if your
local login name is different than your &os; cluster
account, you need a few lines in your
<filename>~/.ssh/config</filename>:</para>
<programlisting>Host svn.freebsd.org # Can be *.freebsd.org
User <replaceable>freebsd-login</replaceable></programlisting>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</sect1>