Bygg i /tmp eller /var/tmp för att se om programmet verkligen kompilerar och fungerar.
Lägg källkoden i /usr/local/hacks/src/<paket-namn>/<version>
.
T.ex. skulle programmet Foobar 5.8.2 hamna i /usr/local/hacks/src/Foobar/5.8.2
.
Är /usr/local/hacks/src
full finns /usr/local/hacks/src{2,3,4,5}
att tillgå.
Bygg programmet i obj om det går, d.v.s.:
mkdir obj; cd obj; ../configure --prefix=/usr/local/hacks/vol/
eller dyl.
Kontrollera att programmet är korrekt länket, d.v.s. (i bash):
LD_LIBRARY_PATH= ldd <program>
ska inte innehålla rader i stil med:
libfoo.so.42.17 => (file not found)
Om du hittar sådana rader, försök länka om programmet med -R flaggan till gcc.
Om det av nån anledning skulle vara omöjligt att undvika användningen av LD_LIBRARY_PATH, bygg ett "wrapper-sh-skript" alternativt bygg en modul. installera programmet med "make install", försök undvika att lägga saker i:
/usr/local/hacks/lib
/usr/local/hacks/include
/usr/local/hacks/info
/usr/local/hacks/man
Program hör hemma under /usr/local/hacks/vol{, 2, 3}
.
Om man behöver bygga en modul för att få det att funka så gör man det,
annars är det helt ok med en mjuklänk från /usr/local/hacks/bin
till
/usr/local/hacks/vol/<paket-namn>/<version>/bin/<program>
.
Kommandot hacks-usage
visar diskanvändningen i hacks
moduler; kan vara användbar för att hitta ställe att lägga kod och program.
Istället för att lägga man-sidor i /usr/local/hacks/man
vill man nog bygga en modul istället som sätter MANPATH
till /usr/local/hacks/vol/<paket-namn>/<version>/man
eller motsv.
Ovanstående gäller även libbar, infosidor och dyl. /usr/local/hacks/common/bin
är till för platformsoberoende program d.v.s. skript.
Ta bort all onödig objektkod, d.v.s. rm -R /usr/local/hacks/src/<paket-namn>/<version>/obj
eller motsvarande.
Skriv en /usr/local/hacks/src/<paket-namn>/<version>/README.nada
som innehåller följande:
Om du modifierat källkoden, så skriv vilka filer du ändrade i och varför. även då om du "bara har lagt till en flagga i Makefile" eller dyl. En variant är att skriva README.nada som ett körbart skript.
För att kompilera detta på nada.... configure.in är trasig lägg till en rad: AC_CHECK_LIB(xnet,inet_addr) innan den kollar efter inet_addr (med AC_CHECK_FUNCS(...)) src/Makefile är trasig lägg till -fno-rtti till CXXFLAGS src/licq.cpp är trasig lägg till #include <errno.h> i include-fils blocket. src/licq.cpp förutsätter att tar är gtar, typiskt dumt. Så byt ut "tar z..." till "gtar z...".Beskriv också hur du kompilerat programmet.
mkdir obj cd obj ../configure --prefix=/usr/local/hacks/vol/licq/0.51 make när man länkar vill man lägga till föjande för att slippa LD_LIBRARY_PATH: -L/usr/local/hacks/vol/qt/1.42-gnu/lib -R/usr/local/hacks/vol/qt/1.42-gnu/lib -L/pkg/gcc/2.8.1/lib -R/pkg/gcc/2.8.1/lib make install
Om du bygger ett program till flera plattformar (läs: både Solaris & IRIX)
så hör detta hemma i /misc/hacks/vol/<paket-namn>/<version>
.
Katalogen /misc/hacks/vol nås även under sökvägen /usr/local/hacks/common/vol
.
Allt som är plattformsspecefikt länkar man till via @sys
.
För att få veta vad @sys
expanderas till på ditt system, kör fs sysname
$ls -al . .bin .: total 13 dr-xr-xr-x 6 jas usr 2048 Mar 20 00:04 . drwxr-xr-x 3 jas usr 2048 Mar 20 00:03 .. dr-xr-xr-x 4 jas usr 2048 Mar 20 00:36 .bin drwxr-xr-x 2 jas usr 2048 Mar 20 00:32 E-docs lrwxr-xr-x 1 jas usr 9 Mar 20 00:04 bin -> .bin/@sys dr-xr-xr-x 4 jas usr 2048 Mar 20 19:06 config dr-xr-xr-x 12 jas usr 2048 Mar 20 18:58 themes .bin: total 10 dr-xr-xr-x 4 jas usr 2048 Mar 20 00:36 . dr-xr-xr-x 6 jas usr 2048 Mar 20 00:04 .. drwxr-xr-x 2 jas usr 2048 Mar 20 00:33 sgi_63 lrwxr-xr-x 1 jas usr 6 Mar 20 00:36 sgi_64 -> sgi_63 drwxr-xr-x 2 jas usr 2048 Mar 20 00:05 sun4x_551 lrwxr-xr-x 1 jas usr 9 Mar 20 00:05 sun4x_56 -> sun4x_551
Källkoden ska tas bort när programmet tas bort och inte innan dess. Moduler (
/usr/local/hacks/modules
) plockas bort när programmet inte finns kvar längre.När du lagt in något på hacks så uppdaterar du hacks webbsida med nyheten. Filen är /misc/hacks/www/index.html och URLen är http://www.csc.kth.se/hacks/. Dokumentation som är lämplig att läsa med en webbläsare kan gärna länkas till från lämpligt avsnitt i sidan. Använd versionshantering (RCS) på filen. Fixas automatiskt i många versioner av emacs. Det funkar om mode-raden innehåller texten "RCS". (
Hacks-gruppen Senast uppdaterad: 2007-08-09C-x C-q
för att börja ändra i en fil ochC-x C-q
när du är klar.) I vissa versioner av XEmacs måste du ladda VC från undermyn VC i Tools-menyn först. (Eller ha raden "(require 'vc)" i din .emacs.)