Het lijkt me toch dat je één keer de specs schrijft, en dat iedereen daarna op basis van dat de pakketten maakt? Wat moet er dan trouwens beschreven worden? Het rpm-systeem is toch op zich al een soort standaard die voorschrijft hoe de pakketten ingepakt zijn?
En hoe combineer je RPM met die AppDirs? Wordt die RPM dan als je hem uitpakt, geleegd in een AppDir?
Ik wil je distro graag helpen, en Xfce ook dus ik zou wel een repository kunnen onderhouden. Ik moet dan alleen hosting hebben die erop berekend is en ik moet weten hoe je een repo maakt. Debian/Ubuntu repo's zijn gewoon een map met een Packages.gz erin.
In de specs moet je een naam, versie, beschrijving, ... van het pakket schrijven. Ook moet je zeggen hoe een pakket gebouwd moet worden en welke bestanden tot het pakket behoren. Niet alle pakketten worden immers met ./configure && make && make install gebouwd. Ieder pakket moet zijn eigen specs-bestand hebben. Overigens, ik denk dat ik de Microsoft-methode ga gebruiken voor het maken van specs files (kijk van iemand anders af en zet daarna erop dat jij het hebt gemaakt) SUSE, Fedora en Mandriva zijn goede doelwitten voor deze methode
.
En ik denk dat ik (als appdirs eenmaal werkt) alleen RPM voor de basissysteembestanden ga gebruiken, of voor aanpasbare installers te maken (een beetje zoals Apple Installer dan), en een ander systeem (.tar.gz?) voor appdirs te gebruiken.
Een repo maken is heel eenvoudig. Ten eerste moet je alle rpm-bestanden in een map zetten. Ten tweede download je dit programma: (er zijn RPM's beschikbaar
)
http://linux.duke.edu/createrepo/download/ . Dan 'cd' je naar de map waar je je rpm's hebt staan, en typt 'createrepo .' (die . is geen typo, dat hoort zo). Dat maakt een yum/apt-rpm repo aan. Gewoon dan alles wat in die map staat uploaden, klaar is kees.
Ik ga morgen of zo de SUSE-site leegplunderen, en ik ga ook eens een voorbeeld-RPM-spec posten.
Oh ja, hier heb je wat info over RPM:
http://docs.fedoraproject.org/drafts/rpm-guide-en/index.htmlOm te weten hoe je RPM's zelf moet maken, moet je alleen hoofdstuk 8-11 en 13 lezen. (Tenminste, dat is wat ik heb gelezen). Er is wel een tag die ze zijn vergeten, namelijk BuildArch (deze bepaalt de processorarchitectuur en dient expliciet op noarch gezet te worden indien er alleen scripts in het pakket zitten)
Probeer wel niet zelf op Ubuntu (ja dat gaat) of op een andere distro de pakketten te bouwen, want RPM op Sylphase is speciaal geconfigureerd om met de nieuwe mappenstructuur rekening te houden tijdens het bouwen. Wel kan je de .src.rpm's doorsturen, daar kan ik dan eenvoudig Sylphase-mappenstructuur-compatibele pakketten mee maken. Echter, niet-expliciet-compatibele pakketten werken even goed, alles hangt met (onzichtbare) symlinks in elkaar
.
Voor het schrijven van spec files raad ik trouwens KWrite of Kate aan. Deze heeft namelijk een speciale filter met syntax highlighting voor RPM specs. Ik weet niet of Gedit dit heeft. jEdit heeft dit ook, echter de rpm-syntaxhighlighting is verouderd. Ik gebruik jEdit op Mac OS X. (java programma)
- SeySayux