bind 9.10.4-P3, packaging improvements
authorYaakov Selkowitz <yselkowi@redhat.com>
Fri, 30 Sep 2016 01:41:28 +0000 (20:41 -0500)
committerYaakov Selkowitz <yselkowi@redhat.com>
Fri, 30 Sep 2016 01:41:28 +0000 (20:41 -0500)
* enable shared libraries
* install the manual
* really enable GeoIP
* use OpenSSL libcrypto for hashes in libisc (libdns already uses it)

9.10.4-doc-vpath.patch [new file with mode: 0644]
9.10.4-libtool.patch [new file with mode: 0644]
9.9.0-libtool.patch [deleted file]
bind.cygport

diff --git a/9.10.4-doc-vpath.patch b/9.10.4-doc-vpath.patch
new file mode 100644 (file)
index 0000000..b364ff2
--- /dev/null
@@ -0,0 +1,64 @@
+--- origsrc/bind-9.10.4-P3/doc/arm/Bv9ARM.conf 2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/doc/arm/Bv9ARM.conf     2016-09-29 17:58:56.673058200 -0500
+@@ -1,3 +1,2 @@
+ TexInputs: ../tex//
+-TexStyle:  armstyle
+ XslParam:  ../xsl/arm-param.xsl
+--- origsrc/bind-9.10.4-P3/doc/arm/Makefile.in 2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/doc/arm/Makefile.in     2016-09-29 17:59:29.352461800 -0500
+@@ -52,7 +52,7 @@ notes.pdf: notes-wrapper.xml notes.xml r
+ Bv9ARM.html: Bv9ARM-book.xml releaseinfo.xml pkgversion.xml noteversion.xml
+       expand Bv9ARM-book.xml | ${XMLLINT} --xinclude - | \
+       ${XSLTPROC} --stringparam root.filename Bv9ARM \
+-              ${top_srcdir}/doc/xsl/isc-docbook-chunk.xsl -
++              ${top_builddir}/doc/xsl/isc-docbook-chunk.xsl -
+ # use xmllint to process include
+ Bv9ARM-all.html: Bv9ARM-book.xml releaseinfo.xml pkgversion.xml noteversion.xml
+@@ -62,4 +62,4 @@ Bv9ARM-all.html: Bv9ARM-book.xml release
+ Bv9ARM.pdf: Bv9ARM-book.xml releaseinfo.xml pkgversion.xml noteversion.xml
+       expand Bv9ARM-book.xml | \
+       ${XSLTPROC} ${top_srcdir}/doc/xsl/pre-latex.xsl - | \
+-      ${DBLATEX} -c Bv9ARM.conf -o Bv9ARM.pdf -
++      ${DBLATEX} -c Bv9ARM.conf -s $(top_builddir)/doc/tex/armstyle.sty -o Bv9ARM.pdf -
+--- origsrc/bind-9.10.4-P3/make/rules.in       2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/make/rules.in   2016-09-29 17:11:30.394564100 -0500
+@@ -333,29 +333,29 @@ ALWAYS_MAKE_SYMTABLE =   @ALWAYS_MAKE_SYMT
+ .SUFFIXES: .docbook .html .1 .2 .3 .4 .5 .6 .7 .8
+ .docbook.html:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-docbook-html.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-docbook-html.xsl $<
+ .docbook.1:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.2:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.3:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.4:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.5:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.6:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.7:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
+ .docbook.8:
+-      ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $<
++      ${XSLTPROC} -o $@ ${top_builddir}/doc/xsl/isc-manpage.xsl $<
diff --git a/9.10.4-libtool.patch b/9.10.4-libtool.patch
new file mode 100644 (file)
index 0000000..f470688
--- /dev/null
@@ -0,0 +1,109 @@
+--- origsrc/bind-9.10.4-P3/lib/bind9/Makefile.in       2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/bind9/Makefile.in   2016-09-27 13:07:14.083131800 -0500
+@@ -69,6 +69,7 @@ libbind9.la: ${OBJS} ${ISCCFGDEPLIBS} ${
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libbind9.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} ${DNSLIBS} ${ISCCFGLIBS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ \
+               ${LIBS}
+--- origsrc/bind-9.10.4-P3/lib/dns/Makefile.in 2016-09-27 12:58:58.278335400 -0500
++++ src/bind-9.10.4-P3/lib/dns/Makefile.in     2016-09-27 13:07:19.297425200 -0500
+@@ -142,6 +142,7 @@ libdns.la: ${OBJS}
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
+ timestamp: libdns.@A@
+--- origsrc/bind-9.10.4-P3/lib/irs/Makefile.in 2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/irs/Makefile.in     2016-09-27 13:32:25.621431400 -0500
+@@ -42,6 +42,14 @@ SRCS =              context.c \
+               gai_strerror.c getaddrinfo.c getnameinfo.c \
+               resconf.c
++ISCLIBS =     ../../lib/isc/libisc.@A@
++ISCCFGLIBS =    ../../lib/isccfg/libisccfg.@A@
++DNSLIBS =    ../../lib/dns/libdns.@A@
++
++ISCDEPLIBS =  ../../lib/isc/libisc.@A@
++ISCCFGDEPLIBS =       ../../lib/isccfg/libisccfg.@A@
++DNSDEPLIBS =    ../../lib/dns/libdns.@A@
++
+ LIBS =                @LIBS@
+ SUBDIRS =     include
+@@ -61,11 +69,12 @@ libirs.@SA@: ${OBJS} version.@O@
+       ${AR} ${ARFLAGS} $@ ${OBJS} version.@O@
+       ${RANLIB} $@
+-libirs.la: ${OBJS} version.@O@
++libirs.la: ${OBJS} version.@O@ $(ISCDEPLIBS) $(ISCCFGLIBS) $(DNSDEPLIBS)
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+-              ${OBJS} version.@O@ ${LIBS}
++              -no-undefined \
++              ${OBJS} version.@O@ $(DNSLIBS) $(ISCCFGLIBS) $(ISCLIBS) ${LIBS}
+ timestamp: libirs.@A@
+       touch timestamp
+--- origsrc/bind-9.10.4-P3/lib/isc/Makefile.in 2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/isc/Makefile.in     2016-09-27 13:19:34.311759500 -0500
+@@ -121,12 +121,14 @@ libisc.la: ${OBJS} ${SYMTBLOBJS}
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} ${SYMTBLOBJS} ${LIBS}
+ libisc-nosymtbl.la: ${OBJS}
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc-nosymtbl.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined -static \
+               ${OBJS} ${LIBS}
+ timestamp: libisc.@A@ libisc-nosymtbl.@A@
+--- origsrc/bind-9.10.4-P3/lib/isccc/Makefile.in       2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/isccc/Makefile.in   2016-09-27 13:07:30.594793600 -0500
+@@ -71,6 +71,7 @@ libisccc.la: ${OBJS}
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccc.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} ${ISCLIBS} ${LIBS}
+ timestamp: libisccc.@A@
+--- origsrc/bind-9.10.4-P3/lib/isccfg/Makefile.in      2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/isccfg/Makefile.in  2016-09-27 13:07:34.500581800 -0500
+@@ -70,6 +70,7 @@ libisccfg.la: ${OBJS}
+        ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} ${DNSLIBS} ${ISCCCLIBS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ \
+               ${LIBS}
+--- origsrc/bind-9.10.4-P3/lib/lwres/Makefile.in       2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/lwres/Makefile.in   2016-09-27 13:07:38.421288900 -0500
+@@ -69,6 +69,7 @@ liblwres.la: ${OBJS} version.@O@
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o liblwres.la -rpath ${libdir} \
+               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
++              -no-undefined \
+               ${OBJS} version.@O@ ${LIBS}
+ timestamp: liblwres.@A@
+--- origsrc/bind-9.10.4-P3/lib/tests/Makefile.in       2016-09-13 20:23:44.000000000 -0500
++++ src/bind-9.10.4-P3/lib/tests/Makefile.in   2016-09-27 13:34:06.243113400 -0500
+@@ -47,6 +47,7 @@ libt_api.@SA@: ${OBJS}
+ libt_api.la: ${OBJS}
+       ${LIBTOOL_MODE_LINK} \
+               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libt_api.la -rpath ${libdir} \
++              -no-undefined -static \
+               ${OBJS} ${ISCLIBS} ${LIBS} @LIBTOOL_ALLOW_UNDEFINED@ @LIBTOOL_IN_MAIN@
+ timestamp: libt_api.@A@
diff --git a/9.9.0-libtool.patch b/9.9.0-libtool.patch
deleted file mode 100644 (file)
index 88e3a38..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
---- origsrc/bind-9.9.0/lib/bind9/Makefile.in   2012-02-29 19:01:07.727342700 -0600
-+++ src/bind-9.9.0/lib/bind9/Makefile.in       2012-02-29 14:50:51.000000000 -0600
-@@ -69,6 +69,7 @@ libbind9.la: ${OBJS} ${ISCCFGDEPLIBS} ${
-       ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libbind9.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} ${DNSLIBS} ${ISCCFGLIBS} ${ISCLIBS} ${LIBS}
- timestamp: libbind9.@A@
---- origsrc/bind-9.9.0/lib/dns/Makefile.in     2012-02-29 19:01:07.737342700 -0600
-+++ src/bind-9.9.0/lib/dns/Makefile.in 2012-02-29 14:50:52.000000000 -0600
-@@ -122,6 +122,7 @@ libdns.la: ${OBJS}
-       ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
- timestamp: libdns.@A@
---- origsrc/bind-9.9.0/lib/isc/Makefile.in     2012-02-29 19:01:07.747342700 -0600
-+++ src/bind-9.9.0/lib/isc/Makefile.in 2012-02-29 14:50:51.000000000 -0600
-@@ -112,6 +112,7 @@ libisc.la: ${OBJS} ${SYMTBLOBJS}
-       ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} ${SYMTBLOBJS} ${LIBS}
- libisc-nosymtbl.la: ${OBJS}
---- origsrc/bind-9.9.0/lib/isccc/Makefile.in   2012-02-29 19:01:07.767342800 -0600
-+++ src/bind-9.9.0/lib/isccc/Makefile.in       2012-02-29 14:50:51.000000000 -0600
-@@ -71,6 +71,7 @@ libisccc.la: ${OBJS}
-       ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccc.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} ${ISCLIBS} ${LIBS}
- timestamp: libisccc.@A@
---- origsrc/bind-9.9.0/lib/isccfg/Makefile.in  2012-02-29 19:01:07.777342800 -0600
-+++ src/bind-9.9.0/lib/isccfg/Makefile.in      2012-02-29 14:50:51.000000000 -0600
-@@ -68,6 +68,7 @@ libisccfg.la: ${OBJS}
-        ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} ${DNSLIBS} ${ISCCCLIBS} ${ISCLIBS} ${LIBS}
- timestamp: libisccfg.@A@
---- origsrc/bind-9.9.0/lib/lwres/Makefile.in   2012-02-29 19:01:07.787342800 -0600
-+++ src/bind-9.9.0/lib/lwres/Makefile.in       2012-02-29 14:50:51.000000000 -0600
-@@ -69,6 +69,7 @@ liblwres.la: ${OBJS} version.@O@
-       ${LIBTOOL_MODE_LINK} \
-               ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o liblwres.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-+              -no-undefined \
-               ${OBJS} version.@O@ ${LIBS}
- timestamp: liblwres.@A@
index cff027e3a7d05fd2a237b564578ea8bc27b401da..460c4a9b6aa26eef5f9ae67ecbc354db63072322 100644 (file)
@@ -1,6 +1,6 @@
 NAME="bind"
 VERSION=9.10.4
-RELEASE=2.P2
+RELEASE=3.P3
 CATEGORY="Net"
 SUMMARY="DNS server and utilities suite"
 DESCRIPTION="BIND is an implementation of the Domain Name System (DNS)
@@ -16,7 +16,6 @@ SRC_URI="http://ftp.isc.org/isc/bind9/${tar_v}/bind-${tar_v}.tar.gz
          http://ftp.isc.org/isc/bind9/${tar_v}/bind-${tar_v}.tar.gz.asc
          named-config"
 SRC_DIR="bind-${tar_v}"
-
 PATCH_URI="
        http://pkgs.fedoraproject.org/cgit/bind.git/plain/bind-99-libidn.patch
        9.9.6-configure.patch
@@ -25,22 +24,74 @@ PATCH_URI="
        9.9.3-python-install.patch
        9.9.6-cygwin-threads.patch
        9.10.3-cygwin-ftm.patch
+       9.10.4-libtool.patch
 "
-# Only needed for shared libraries:
-#      9.9.0-libtool.patch
 
-PKG_NAMES="bind bind-utils"
+PKG_NAMES="bind bind-utils bind-doc
+          libbind9_140 libdns165 libirs141 libisc160 libisccc140
+          libisccfg140 liblwres141 libbind9-devel"
 bind_SUMMARY="DNS server"
 bind_REQUIRES="bind-utils"
-bind_CONTENTS="etc/ usr/sbin/ usr/share/man/man1/arpaname* usr/share/man/man[58]/"
+bind_CONTENTS="
+       etc/
+       usr/sbin/*
+       usr/share/man/man1/arpaname*
+       usr/share/man/man[58]/
+"
 bind_utils_CONTENTS="DNS utilities"
-bind_utils_CONTENTS="--exclude=arpaname* --exclude=isc-config.sh* --exclude=bind9-config*
-                     usr/bin/ usr/share/doc/ usr/share/man/man1/"
-libbind9_devel_CONTENTS="usr/bin/bind9-config usr/bin/isc-config.sh usr/include/ usr/lib/
-                         usr/share/man/man1/bind9-config* usr/share/man/man1/isc-config.sh*
-                         usr/share/man/man3/"
-PKG_IGNORE=${libbind9_devel_CONTENTS}
+bind_utils_CONTENTS="
+       --exclude=arpaname*
+       --exclude=isc-config.sh*
+       --exclude=bind9-config*
+       --exclude=arm
+       usr/bin/*.exe
+       usr/share/doc/
+       usr/share/man/man1/
+"
+bind_doc_CATEGORY="Doc"
+bind_doc_SUMMARY="BIND Administrator Reference Manual"
+bind_doc_CONTENTS="usr/share/doc/bind/arm/"
+libbind9_140_CATEGORY="Libs"
+libbind9_140_SUMMARY="BIND library"
+libbind9_140_CONTENTS="usr/bin/cygbind9-140.dll"
+libdns165_CATEGORY="Libs"
+libdns165_SUMMARY="BIND DNS library"
+libdns165_CONTENTS="usr/bin/cygdns-165.dll"
+libirs141_CATEGORY="Libs"
+libirs141_SUMMARY="BIND resolv.conf parser library"
+libirs141_CONTENTS="usr/bin/cygirs-141.dll"
+libisc160_CATEGORY="Libs"
+libisc160_SUMMARY="BIND ISC core library"
+libisc160_CONTENTS="usr/bin/cygisc-160.dll"
+libisccc140_CATEGORY="Libs"
+libisccc140_SUMMARY="BIND Control Channel library"
+libisccc140_CONTENTS="usr/bin/cygisccc-140.dll"
+libisccfg140_CATEGORY="Libs"
+libisccfg140_SUMMARY="BIND named.conf parser library"
+libisccfg140_CONTENTS="usr/bin/cygisccfg-140.dll"
+liblwres141_CATEGORY="Libs"
+liblwres141_SUMMARY="BIND Lightweight Resolver library"
+liblwres141_CONTENTS="usr/bin/cyglwres-141.dll"
+libbind9_devel_CATEGORY="Libs"
+libbind9_devel_REQUIRES="libcatgets-devel libGeoIP-devel libjson-c-devel libkrb5-devel libxml2-devel openssl-devel"
+libbind9_devel_SUMMARY="BIND libraries (development)"
+libbind9_devel_CONTENTS="
+       usr/bin/bind9-config
+       usr/bin/isc-config.sh
+       usr/include/bind9/
+       usr/include/dns/
+       usr/include/dst/
+       usr/include/irs/
+       usr/include/isc*/
+       usr/include/lwres/
+       usr/lib/lib*.dll.a
+       usr/share/man/man1/bind9-config*
+       usr/share/man/man1/isc-config.sh*
+       usr/share/man/man3/
+"
+PKG_IGNORE="usr/include/pk*11/"
 
+DIFF_EXCLUDES="*.1 *.html *.pdf"
 DISTCLEANFILES="aclocal.m4"
 
 src_compile() {
@@ -63,7 +114,9 @@ _EOF
 
        cygconf \
                --enable-threads --enable-ipv6 \
-               --enable-filter-aaaa --enable-rrl --enable-fixed-rrset \
+               --enable-filter-aaaa --enable-fixed-rrset \
+               --enable-full-report \
+               --enable-openssl-hash \
                --disable-openssl-version-check \
                --disable-backtrace --disable-linux-caps --without-dlopen \
                --with-dlz-bdb=/usr \
@@ -74,17 +127,26 @@ _EOF
                --with-dlz-postgres=/usr \
                --with-dlz-stub \
                --with-docbook-xsl=/usr/share/sgml/docbook/xsl-stylesheets \
-               --with-geiop \
+               --with-geoip \
                --with-gssapi --disable-isc-spnego \
+               --with-libtool \
                --with-libxml2=/usr \
                --with-openssl=/usr
 
        cygmake
+
+#      lndirs
+#      cygmake -j1 doc
 }
 
 src_install() {
        cd ${B}
        dosbin ${S}/named-config
        cyginstall
+
+       sed -i -e "s|-Wl,${B}[^ ]*||" ${D}/usr/bin/isc-config.sh
+
        dodoc ${S}/RELEASE-NOTES-BIND-${VERSION%-*}.txt
+       docinto arm
+       dodoc ${S}/doc/arm/[^i]*.{html,pdf}
 }
This page took 0.030289 seconds and 5 git commands to generate.