Doug Barton wrote:
Tim Kientzle wrote:
This case is a little unusual: by default, I want to
install both 'cpio' programs and symlink the common name
to one of them.
I'm not sure how that relates to Jeremie's (valid) point that these
flags need to be part of the system in bsd.own.mk. I admit that getting
stuff in there was a little intimidating to me at first, but Ruslan has
created a nice automated system, and he'll be glad to help you if you
need it.
How about this:
WITH_GCPIO (default) - installs gcpio, symlinks 'cpio' unless
WITH_BSDCPIO defined
WITHOUT_GCPIO - does not install gcpio at all
WITH_BSDCPIO (default) - installs bsdcpio, symlinks 'cpio'
WITHOUT_BSDCPIO - does not install bsdcpio at all
If by "not install" you mean "build or install" then I'm with you, but I
think it might be a little complicated. I'm not sure why you want to
build and install both by default (except maybe to ease people's
concerns in the interim period) but if it were me, in HEAD I would do this:
WITH_BSDCPIO (default) build, install, and symlink to cpio
WITHOUT_GCPIO (default) do not build or install
Then if WITHOUT_BSDCPIO is defined you don't build or install it, and if
WITH_GCPIO is defined you build, install, and symlink it, regardless of
the state of the BSDCPIO knob.
When this gets MFC'ed I would just flip the defaults.
I've attached a patch which does what I described above for CPIO, and
adds a knob to turn off building of GNU grep. When we get to the point
where bsd grep is imported into the base system, I would do the same
in HEAD/8-current for bsd grep as I am proposing we do for cpio. But
for now it is a step forward to be able to disable the grep build to
allow for easier testing.
If this stuff makes anyone happy I'm glad to commit it. Note that
after you add the options files you have to run the makeman script in
that directory, and redirect the output to
src/share/man/man5/src.conf.5 then commit the changes there too.
Side note to gabor, I noticed right away when I set up the test
tonight that anything which expects there to be a grep in /usr/bin
only fails, and that the base grep has 9 links, but your port only
installs 6. The difference is that the base version installs links for
{bze|bzf|bz}grep too. If I were you I would offer an option to create
symlinks in /usr/bin, and install the bz* stuff as well.
hth,
Doug
--
This .signature sanitized for your protection
Index: usr.bin/Makefile
===================================================================
--- usr.bin/Makefile (revision 179788)
+++ usr.bin/Makefile (working copy)
@@ -43,7 +43,7 @@
comm \
compile_et \
compress \
- cpio \
+ ${_cpio} \
cpuset \
csplit \
${_csup} \
@@ -257,6 +257,10 @@
_bluetooth= bluetooth
.endif
+.if ${MK_BSD_CPIO} != "no"
+_cpio= cpio
+.endif
+
.if ${MK_CALENDAR} != "no"
_calendar= calendar
.endif
Index: usr.bin/cpio/Makefile
===================================================================
--- usr.bin/cpio/Makefile (revision 179788)
+++ usr.bin/cpio/Makefile (working copy)
@@ -9,7 +9,7 @@
CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\"
LDADD+= -larchive -lz -lbz2
-.if defined(WITH_BSDCPIO)
+.if ${MK_GNU_CPIO} != "yes"
SYMLINKS=bsdcpio ${BINDIR}/cpio
MLINKS= bsdcpio.1 cpio.1
.endif
Index: gnu/usr.bin/cpio/Makefile
===================================================================
--- gnu/usr.bin/cpio/Makefile (revision 179788)
+++ gnu/usr.bin/cpio/Makefile (working copy)
@@ -62,9 +62,7 @@
gcpio.1: ${CPIODIR}/doc/cpio.1
cat ${CPIODIR}/doc/cpio.1 >gcpio.1
-.if !defined(WITH_BSDCPIO)
SYMLINKS=gcpio ${BINDIR}/cpio
MLINKS=gcpio.1 cpio.1
-.endif
.include <bsd.prog.mk>
Index: gnu/usr.bin/Makefile
===================================================================
--- gnu/usr.bin/Makefile (revision 179788)
+++ gnu/usr.bin/Makefile (working copy)
@@ -5,7 +5,7 @@
SUBDIR= bc \
${_binutils} \
${_cc} \
- cpio \
+ ${_cpio} \
${_cvs} \
dc \
dialog \
@@ -13,7 +13,7 @@
diff3 \
${_gdb} \
${_gperf} \
- grep \
+ ${_grep} \
${_groff} \
${_man} \
patch \
@@ -30,10 +30,18 @@
.endif
.endif
+.if ${MK_GNU_CPIO} == "yes"
+_cpio= cpio
+.endif
+
.if ${MK_CVS} != "no"
_cvs= cvs
.endif
+.if ${MK_GNU_GREP} != "no"
+_grep= grep
+.endif
+
.if ${MK_MAN} != "no"
_man= man
.endif
Index: share/mk/bsd.own.mk
===================================================================
--- share/mk/bsd.own.mk (revision 179788)
+++ share/mk/bsd.own.mk (working copy)
@@ -287,6 +287,7 @@
ATM \
AUDIT \
AUTHPF \
+ BSD_CPIO \
BIND \
BIND_DNSSEC \
BIND_ETC \
@@ -312,6 +313,7 @@
GCOV \
GDB \
GNU \
+ GNU_GREP \
GPIB \
GROFF \
HTML \
@@ -374,6 +376,7 @@
#
.for var in \
BIND_LIBS \
+ GNU_CPIO \
HESIOD \
IDEA
.if defined(WITH_${var}) && defined(WITHOUT_${var})
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"