FreeBSD 4.11 im Jahre 2017: Abkömmling außergewöhnlicher Auferstehung
Aktualisieren der Pkgsrc-Werkzeuge
Seit Mitte 2014 nutzt Pkgsrc ein neues Paket, die cwrappers. Während meiner Tests habe ich es mit einiger Bastelei irgendwie geschafft, dieses Paket gebaut zu bekommen. Obgleich ich mir eigentlich Notizen gemacht habe, habe ich absolut keine Idee, wie ich das hinbekommen hatte! Es muss ein Seiteneffekt irgendeines Versuches gewesen sein, der nach einer Sackgasse aussah (weshalb ich ihn nicht in meine Notizen aufnahm), der aber irgendwie das benötigte »getline« bereitstellte... Ich habe fast einen ganzen Sonntag damit verbracht, dies nochmals nachzustellen, bin aber komplett damit gescheitert, herauszufinden, was ich ursprünglich gemacht hatte. Schließlich gab ich auf und versuchte eine andere Lösung zu finden. Das klappte auch, es ist aber mit höherem Aufwand verbunden, dieses lästige Hindernis zu überwinden:
# cd /usr/pkgsrc/16/pkgtools/cwrappers # bmake extract # rm -r work/libnbcompat/* # cp -R /usr/pkgsrc/13/pkgtools/libnbcompat/work/libnbcompat-20120702/* /usr/pkgsrc/16/pkgtools/cwrappers/work/libnbcompat/ # cp work/cwrappers-20161125/mi_vector_hash.c work/cwrappers-20161125/mi_vector_hash.c.bak # cp work/cwrappers-20161125/fixup-libtool.c work/cwrappers-20161125/fixup-libtool.c.bak # sed 's/stdint.h/inttypes.h/' work/cwrappers-20161125/mi_vector_hash.c.bak > work/cwrappers-20161125/mi_vector_hash.c # sed 's/stdint.h/inttypes.h/' work/cwrappers-20161125/fixup-libtool.c.bak > work/cwrappers-20161125/fixup-libtool.c # cp /usr/pkgsrc/14/pkgtools/cwrappers/files/bin/getline.c /usr/pkgsrc/16/pkgtools/cwrappers/work/cwrappers-20161125/getline.c.bak # sed 's/ssize_t/size_t/' work/cwrappers-20161125/getline.c.bak > work/cwrappers-20161125/getline.c # cp work/cwrappers-20161125/common.h work/cwrappers-20161125/common.h.bak # sed '107i\\ size_t getline(char **, size_t *, FILE *);' work/cwrappers-20161125/common.h.bak > work/cwrappers-20161125/common.h # cp work/cwrappers-20161125/Makefile work/cwrappers-20161125/Makefile.bak # sed '14i\\ LIB_SRCS+= getline.c' work/cwrappers-20161125/Makefile.bak > work/cwrappers-20161125/Makefile # bmake install clean clean-depends
Puh! Zum Glück sind die nächsten paar Aktualisierungen recht unkompliziert:
# cd /usr/pkgsrc/16/pkgtools/bootstrap-mk-files # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/bootstrap-mk-files-20160908.tgz # cd /usr/pkgsrc/16/devel/bmake # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/bmake-20150505.tgz # cd /usr/pkgsrc/16/net/tnftp # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/tnftp-20151004nb1.tgz
Dann folgt noch ein weiteres Paket, das etwas mehr Zuwendung braucht:
# cd /usr/pkgsrc/16/pkgtools/digest/ # bmake extract # cp work/digest-20160304/sha3.h work/digest-20160304/sha3.h.bak # cp work/digest-20160304/keccak.c work/digest-20160304/keccak.c.bak # cp work/digest-20160304/keccak.h work/digest-20160304/keccak.h.bak # cp work/digest-20160304/sha3.c work/digest-20160304/sha3.c.bak # sed 's/stdint.h/inttypes.h/' work/digest-20160304/sha3.h.bak > work/digest-20160304/sha3.h # sed 's/stdint.h/inttypes.h/' work/digest-20160304/keccak.c.bak > work/digest-20160304/keccak.c # sed 's/stdint.h/inttypes.h/' work/digest-20160304/keccak.h.bak > work/digest-20160304/keccak.h # sed 's/stdint.h/inttypes.h/' work/digest-20160304/sha3.c.bak > work/digest-20160304/sha3.c # bmake package clean clean-depends # pkg_add -uu /usr/pkgsrc/16/packages/All/digest-20160304.tgz