CVS ophalen, compileren en op ipod zetten.

Ik ben nu bezig met ipodlinux maar ik wil altijd bijblijven op vlak van updates. Nu wil ik daar een programma voor maken (in C) maar ik weet niet hoe te beginnen. Wat moet het doen: - veranderingen van CVS ophalen. - Hercompileren. - Op ipod zetten.

Geen idee :lol:

Misschien een cursus C volgen?

Bas

Ik denk dat zon programma in C een beetje lastig wordt om te maken. Waarom maak je niet een script die je een keer per zoveel tijd uitvoert en die de boel voor je regelt?.

kijk welke Terminal commandos je moet uitvoeren om die drie stappen te doen en je kan ze in een script proppen :)

[quote:3a88903a99="savvy"]kijk welke Terminal commandos je moet uitvoeren om die drie stappen te doen en je kan ze in een script proppen :)[/quote:3a88903a99]

oke dus om naar de plaats te gaan waar podzilla zit:

[code:1:3a88903a99]cd /Users/Vikking/Documents/ipodlinux/podzilla[/code:1:3a88903a99]

om in te loggen op CVS:

[code:1:3a88903a99]cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipodlinux login[/code:1:3a88903a99]
(met blanko wachtwoord)

om veranderingen op te halen:

[code:1:3a88903a99]cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipodlinux co -d podzilla tools/podzilla[/code:1:3a88903a99]

om in de map zelf te gaan:

[code:1:3a88903a99]cd podzilla[/code:1:3a88903a99]

om te compileren:

[code:1:3a88903a99]make IPOD=1[/code:1:3a88903a99]

en om te kopieren:

[code:1:3a88903a99]cp /Users/Vikking/Documents/ipodlinux/podzilla/podzilla/podzilla /Volumes/iPod/bin[/code:1:3a88903a99]

en dat is het maar ik weet niets van scripting duss…

Als je een keer cvs co hebt gedaan, dan hoef je al die paden niet meer mee te geven en in te loggen. Gewoon naar die dir gaan en cvs -z9 update -dP uitvoeren. Op deze manier kun je steeds updaten. In je script file kun je zoiets hebben als (gewoon de commando's achter elkaar):

[code:1:35bcec8521]
#/bin/bash #verwijzing naar je interpreter
cd /Users/Vikking/Documents/ipodlinux/podzilla
cvs -z9 update -dP
make IPOD=1
cp /Users/Vikking/Documents/ipodlinux/podzilla/podzilla/podzilla /Volumes/iPod/bin
[/code:1:35bcec8521]
Als je een vrij snelle network hebt dan kun je die -z9 weg laten.
Niet zon hele nette script, maar ik denk dat ie het ff voor je doet; voordat je zelf leert scripten ;).

wat bedoel je met interpreter? en hoe moet ik dat dan uitvoeren of opslaan?

Ik heb het niet getest maar het volgende zou moeten werken.

Het volgende opslaan als “[b:6e4ad53080]build_podzilla.sh[/b:6e4ad53080]”

[code:1:6e4ad53080]cd ~/Documents/ipodlinux/ &&
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipodlinux co -d podzilla tools/podzilla &&
cd podzilla &&
make IPOD=1 &&
cp ~/Documents/ipodlinux/podzilla/podzilla/podzilla /Volumes/iPod/bin
[/code:1:6e4ad53080]

vervolgens kan je een Terminal openen en het uitvoeren met:
[b:6e4ad53080]sh build_podzilla.sh[/b:6e4ad53080]

[quote:e7f8014bb5="vikking"]wat bedoel je met interpreter? en hoe moet ik dat dan uitvoeren of opslaan?[/quote:e7f8014bb5] Programma's zoals bash, csh, zsh, sh, ..... Dit scriptje kun je in een bestand opslaan. Zeg ipod_update_build.sh. Dan kun je die op twee manieren uitvoeren. 1) /bin/bash ipod_update_build.sh 2) Je verandert het bestand in een executable met chmod 755 ipod_update_build.sh en dan kun je die in een terminal uitvoeren met: ./ipod_update_build.sh

oke ondertussen heb ik een iets uitgebreider script gemaakt: [code:1:ab0885981a]#!/bin/sh #rm -f /Volumes/iPod/bin/podzilla1 #mv /Volumes/iPod/bin/podzilla /Volumes/iPod/bin/podzilla1 #echo "Backup gemaakt." PATH=/usr/local/bin:$PATH cd /Users/Vikking/Documents/ipodlinux/podzilla cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipodlinux login cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ipodlinux co -d podzilla tools/podzilla echo "Podzilla is geupdated van CVS." cd podzilla rm podzilla make IPOD=1 echo "Podzilla is gecompileerd" chmod +x podzilla cp /Users/Vikking/Documents/ipodlinux/podzilla/podzilla/podzilla /Volumes/iPod/bin [/code:1:ab0885981a]

maar is er een manier om de CVS update stil te laten doen en dat builden ook?

Hoe bedoel je met stil? (dat ie de text niet op terminal print?) Als dit het is, dan kun je een -q vlag aanzetten op de commandline voor cvs. Zoiets dus

cvs -q update -dP

Voor het builden kan het ook maar dat lijkt me niet echt handig. Je wilt toch graag zien wat ie doet en als er iets misgaat wil je toch daar een melding van zien!.