|
Lines 2803-2937
Link Here
|
| 2803 |
|
2803 |
|
| 2804 |
<qandaentry> |
2804 |
<qandaentry> |
| 2805 |
<question> |
2805 |
<question> |
| 2806 |
<para>How long is a ports freeze?</para> |
2806 |
<para>What is a <quote>ports slush</quote> or |
|
|
2807 |
<quote>feature freeze</quote>?</para> |
| 2807 |
</question> |
2808 |
</question> |
| 2808 |
|
|
|
| 2809 |
<answer> |
| 2810 |
<para>Usually a week or two.</para> |
| 2811 |
</answer> |
| 2812 |
</qandaentry> |
| 2813 |
|
| 2814 |
<qandaentry> |
| 2815 |
<question> |
| 2816 |
<para>What does it mean to me?</para> |
| 2817 |
</question> |
| 2818 |
|
| 2819 |
<answer> |
2809 |
<answer> |
| 2820 |
<para>During the ports freeze, you are not allowed to |
2810 |
<para> |
| 2821 |
commit anything to the tree without explicit approval |
2811 |
During a release cycle the ports tree may be in a |
| 2822 |
from the Ports Management Team. <quote>Explicit |
2812 |
<quote>slush</quote> state instead of in a hard freeze. |
| 2823 |
approval</quote> here means that you send a patch to |
2813 |
The goal during a slush is to reach a stable ports tree |
| 2824 |
the Ports Management Team for review and get a reply |
2814 |
to avoid rebuilding large sets of packages for the |
| 2825 |
saying, <quote>Go ahead and commit it.</quote> |
2815 |
release and to tag the tree. During this time |
|
|
2816 |
<quote>sweeping changes</quote> are prohibited unless |
| 2817 |
specifically permitted by portmgr. Complete details |
| 2818 |
about what consitutes a sweeping change can be found |
| 2819 |
on the <ulink |
| 2820 |
url="&url.base/portmgr/implementation.html">Portmgr |
| 2821 |
Implementation page</ulink>. |
| 2826 |
</para> |
2822 |
</para> |
| 2827 |
|
2823 |
<para> |
| 2828 |
<para>Not everything is allowed to be committed during |
2824 |
The benefit of using a slush as opposed to a |
| 2829 |
a freeze. Please see the <ulink |
2825 |
complete freeze is that allows maintainers to continue |
| 2830 |
url="&url.base/portmgr/qa.html">Portmgr Quality |
2826 |
adding new ports, making routine version updates and |
| 2831 |
Assurance page</ulink> for more information. |
2827 |
bug fixes to most existing ports, and otherwise |
| 2832 |
</para> |
2828 |
improving the tree without destabilizing things with |
| 2833 |
|
2829 |
sweeping changes that have effects far beyond the |
| 2834 |
<para>Note that you do not have implicit permission to fix |
2830 |
ports that are changed. For example, updating the |
| 2835 |
a port during the freeze just because it is |
2831 |
shared library version on a port that many other |
| 2836 |
broken.</para> |
2832 |
ports depend on. |
| 2837 |
</answer> |
|
|
| 2838 |
</qandaentry> |
| 2839 |
|
| 2840 |
<qandaentry> |
| 2841 |
<question> |
| 2842 |
<para>How do I know when the ports freeze starts?</para> |
| 2843 |
</question> |
| 2844 |
|
| 2845 |
<answer> |
| 2846 |
<para>The ports management team will send out warning |
| 2847 |
messages to the &a.ports; and &a.committers; |
| 2848 |
announcing the start of the impending release, usually |
| 2849 |
two or three weeks in advance. The exact starting time |
| 2850 |
will not be determined until a few days before the |
| 2851 |
actual release. This is because the ports freeze has to |
| 2852 |
be synchronized with the release, and it is usually not |
| 2853 |
known until then when exactly the release will be |
| 2854 |
rolled.</para> |
| 2855 |
|
| 2856 |
<para>When the freeze starts, there will be another |
| 2857 |
announcement to the &a.ports; and &a.committers;, of course.</para> |
| 2858 |
</answer> |
| 2859 |
</qandaentry> |
| 2860 |
|
| 2861 |
<qandaentry> |
| 2862 |
<question> |
| 2863 |
<para>How do I know when the ports freeze ends?</para> |
| 2864 |
</question> |
| 2865 |
|
| 2866 |
<answer> |
| 2867 |
<para>A few hours after the release, the ports management team |
| 2868 |
will send out a mail to the &a.ports; and &a.committers; |
| 2869 |
announcing the end of the ports freeze. Note that the |
| 2870 |
release being cut does not automatically end the freeze. |
| 2871 |
We have to make sure there will not be any last minute |
| 2872 |
snafus that result in an immediate re-rolling of the |
| 2873 |
release.</para> |
| 2874 |
</answer> |
2833 |
</answer> |
| 2875 |
</qandaentry> |
2834 |
</qandaentry> |
| 2876 |
</qandadiv> |
|
|
| 2877 |
|
| 2878 |
<qandadiv> |
| 2879 |
<title>Creating a New Category</title> |
| 2880 |
|
2835 |
|
| 2881 |
<qandaentry> |
2836 |
<qandaentry> |
| 2882 |
<question> |
2837 |
<question> |
| 2883 |
<para>What is the procedure for creating a new category?</para> |
2838 |
<para>How long is a ports freeze or slush?</para> |
| 2884 |
</question> |
2839 |
</question> |
| 2885 |
|
2840 |
|
| 2886 |
<answer> |
2841 |
<answer> |
| 2887 |
<para>Please see |
2842 |
<para>A freeze only lasts long enough to |
| 2888 |
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PROPOSING-CATEGORIES"> |
2843 |
tag the tree. A slush usually lasts a week or two, |
| 2889 |
Proposing a New Category</ulink> in the Porter's Handbook. |
2844 |
but may last longer.</para> |
| 2890 |
Once that procedure has been followed and the PR has been |
2845 |
</answer> |
| 2891 |
assigned to &a.portmgr;, it is their decision whether or |
2846 |
</qandaentry> |
| 2892 |
not to approve it. If they do, it is their responsibility |
2847 |
|
| 2893 |
to do the following:</para> |
2848 |
<qandaentry> |
| 2894 |
|
2849 |
<question> |
| 2895 |
<procedure> |
2850 |
<para>What does it mean to me?</para> |
| 2896 |
<step> |
2851 |
</question> |
| 2897 |
<para>Perform any needed repocopies. (This only applies |
2852 |
|
| 2898 |
to physical categories.)</para> |
2853 |
<answer> |
| 2899 |
</step> |
2854 |
<para>During a ports freeze, you are not allowed to |
| 2900 |
|
2855 |
commit anything to the tree without explicit approval |
| 2901 |
<step> |
2856 |
from the Ports Management Team. <quote>Explicit |
| 2902 |
<para>Update the <makevar>VALID_CATEGORIES</makevar> |
2857 |
approval</quote> here means that you send a patch to |
| 2903 |
definition in <filename>ports/Mk/bsd.port.mk</filename>. |
2858 |
the Ports Management Team for review and get a reply |
| 2904 |
</para> |
2859 |
saying, <quote>Go ahead and commit it.</quote> |
| 2905 |
</step> |
2860 |
</para> |
| 2906 |
|
2861 |
|
| 2907 |
<step> |
2862 |
<para>Not everything is allowed to be committed during |
| 2908 |
<para>Assign the PR back to you.</para> |
2863 |
a freeze. Please see the <ulink |
| 2909 |
</step> |
2864 |
url="&url.base/portmgr/qa.html">Portmgr Quality |
| 2910 |
</procedure> |
2865 |
Assurance page</ulink> for more information. |
| 2911 |
</answer> |
2866 |
</para> |
| 2912 |
</qandaentry> |
2867 |
|
|
|
2868 |
<para>Note that you do not have implicit permission to fix |
| 2869 |
a port during the freeze just because it is |
| 2870 |
broken. |
| 2871 |
</para> |
| 2872 |
|
| 2873 |
<para>During a ports slush, you are still allowed to |
| 2874 |
commit but must excersise more caution in what you |
| 2875 |
commit. Furthermore a special note (typically <quote>Feature |
| 2876 |
Safe: yes</quote>) must be added to the commit message. |
| 2877 |
</para> |
| 2878 |
|
| 2879 |
</answer> |
| 2880 |
</qandaentry> |
| 2881 |
|
| 2882 |
<qandaentry> |
| 2883 |
<question> |
| 2884 |
<para>How do I know when the ports slush starts?</para> |
| 2885 |
</question> |
| 2886 |
|
| 2887 |
<answer> |
| 2888 |
<para>The ports management team will send out warning |
| 2889 |
messages to the &a.ports; and &a.committers; |
| 2890 |
announcing the start of the impending release, usually |
| 2891 |
two or three weeks in advance. The exact starting time |
| 2892 |
will not be determined until a few days before the |
| 2893 |
actual release. This is because the ports slush has to |
| 2894 |
be synchronized with the release, and it is usually not |
| 2895 |
known until then when exactly the release will be |
| 2896 |
rolled.</para> |
| 2897 |
|
| 2898 |
<para>When the slush starts, there will be another |
| 2899 |
announcement to the &a.ports; and &a.committers;, of course.</para> |
| 2900 |
</answer> |
| 2901 |
</qandaentry> |
| 2902 |
|
| 2903 |
<qandaentry> |
| 2904 |
<question> |
| 2905 |
<para>How do I know when the freeze or slush ends?</para> |
| 2906 |
</question> |
| 2907 |
|
| 2908 |
<answer> |
| 2909 |
<para>A few hours after the release, the ports management team |
| 2910 |
will send out a mail to the &a.ports; and &a.committers; |
| 2911 |
announcing the end of the ports freeze or slush. Note that the |
| 2912 |
release being cut does not automatically indicate the end. |
| 2913 |
We have to make sure there will not be any last minute |
| 2914 |
snafus that result in an immediate re-rolling of the |
| 2915 |
release.</para> |
| 2916 |
</answer> |
| 2917 |
</qandaentry> |
| 2918 |
</qandadiv> |
| 2919 |
|
| 2920 |
<qandadiv> |
| 2921 |
<title>Creating a New Category</title> |
| 2922 |
|
| 2923 |
<qandaentry> |
| 2924 |
<question> |
| 2925 |
<para>What is the procedure for creating a new category?</para> |
| 2926 |
</question> |
| 2927 |
|
| 2928 |
<answer> |
| 2929 |
<para>Please see |
| 2930 |
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PROPOSING-CATEGORIES"> |
| 2931 |
Proposing a New Category</ulink> in the Porter's Handbook. |
| 2932 |
Once that procedure has been followed and the PR has been |
| 2933 |
assigned to &a.portmgr;, it is their decision whether or |
| 2934 |
not to approve it. If they do, it is their responsibility |
| 2935 |
to do the following:</para> |
| 2913 |
|
2936 |
|
| 2914 |
<qandaentry> |
2937 |
<procedure> |
| 2915 |
<question> |
2938 |
<step> |
| 2916 |
<para>What do I need to do to implement a new physical |
2939 |
<para>Perform any needed repocopies. (This only applies |
| 2917 |
category?</para> |
2940 |
to physical categories.)</para> |
| 2918 |
</question> |
2941 |
</step> |
| 2919 |
|
2942 |
|
| 2920 |
<answer> |
2943 |
<step> |
| 2921 |
<para>The procedure is a strict superset of the one to |
2944 |
<para>Update the <makevar>VALID_CATEGORIES</makevar> |
| 2922 |
repocopy individual ports (see above).</para> |
2945 |
definition in <filename>ports/Mk/bsd.port.mk</filename>. |
|
|
2946 |
</para> |
| 2947 |
</step> |
| 2923 |
|
2948 |
|
| 2924 |
<procedure> |
|
|
| 2925 |
<step> |
2949 |
<step> |
| 2926 |
<para>Upgrade each copied port's |
2950 |
<para>Assign the PR back to you.</para> |
| 2927 |
<filename>Makefile</filename>. Do not connect the |
2951 |
</step> |
| 2928 |
new category to the build yet.</para> |
2952 |
</procedure> |
|
|
2953 |
</answer> |
| 2954 |
</qandaentry> |
| 2929 |
|
2955 |
|
| 2930 |
<para>To do this, you will need to:</para> |
2956 |
<qandaentry> |
| 2931 |
<procedure> |
2957 |
<question> |
| 2932 |
<step> |
2958 |
<para>What do I need to do to implement a new physical |
| 2933 |
<para>Change the port's <makevar>CATEGORIES</makevar> |
2959 |
category?</para> |
| 2934 |
(this was the point of the exercise, remember?) |
2960 |
</question> |
|
|
2961 |
|
| 2962 |
<answer> |
| 2963 |
<para>The procedure is a strict superset of the one to |
| 2964 |
repocopy individual ports (see above).</para> |
| 2965 |
|
| 2966 |
<procedure> |
| 2967 |
<step> |
| 2968 |
<para>Upgrade each copied port's |
| 2969 |
<filename>Makefile</filename>. Do not connect the |
| 2970 |
new category to the build yet.</para> |
| 2971 |
|
| 2972 |
<para>To do this, you will need to:</para> |
| 2973 |
<procedure> |
| 2974 |
<step> |
| 2975 |
<para>Change the port's <makevar>CATEGORIES</makevar> |
| 2976 |
(this was the point of the exercise, remember?) |
| 2935 |
The new category should be listed |
2977 |
The new category should be listed |
| 2936 |
<emphasis>first</emphasis>. This will help to |
2978 |
<emphasis>first</emphasis>. This will help to |
| 2937 |
ensure that the <makevar>PKGORIGIN</makevar> |
2979 |
ensure that the <makevar>PKGORIGIN</makevar> |