Hur säkerställa filrättigheter vid paketering
Hur säkerställa filrättigheter vid paketering
Jag håller på och färdigställer min första rpm för SailfishOS och det är i princip inga problem, men jag undrar hur man säkerställer att fil-/mapprättigheter blir de man önskar, vid installation på klientsystemet?
Nu verkar det fungera om jag sätter rättigheterna lokalt innan jag paketerar, men hur kan jag vara säker på att det alltid blir så? Alltså, att egenskaperna alltid följer med till klienten?
Nu verkar det fungera om jag sätter rättigheterna lokalt innan jag paketerar, men hur kan jag vara säker på att det alltid blir så? Alltså, att egenskaperna alltid följer med till klienten?
Alltid på kanelen!
Re: Hur säkerställa filrättigheter vid paketering
Men alltså... har samtliga programmerare suttit och paketerat utan att veta vad ni gör, eller ids ni bara inte svara? 
Det fungerar ju uppenbarligen med att sätta egenskaperna lokalt, före paketering, åtminstone när det gäller SailfishOS, men är det verkligen ingen som har funderat över HUR det kan fungera... om det nu gör det i samtliga dister?
Edit:
Jag har redan laddat upp, så det är ju inte så att jag sitter och vänta på svar som aldrig kommer. Jag tycker bara att det är en relevant fråga, som varje programmerare borde ställa sig.

Det fungerar ju uppenbarligen med att sätta egenskaperna lokalt, före paketering, åtminstone när det gäller SailfishOS, men är det verkligen ingen som har funderat över HUR det kan fungera... om det nu gör det i samtliga dister?
Edit:
Jag har redan laddat upp, så det är ju inte så att jag sitter och vänta på svar som aldrig kommer. Jag tycker bara att det är en relevant fråga, som varje programmerare borde ställa sig.
Alltid på kanelen!
- Gunnar Hjalmarsson
- Inlägg: 3030
- Blev medlem: 08 aug 2010, 13:49
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Hur säkerställa filrättigheter vid paketering
Om du hade frågat om .deb, som används i Ubuntu, hade jag kunnat bidra med en del. Kanske lämpligt att ställa frågan även i något Fedora-forum, exempelvis.
Re: Hur säkerställa filrättigheter vid paketering
Kod: Markera allt
tar -p
Hade tidigare nicket "Cowboy".
Re: Hur säkerställa filrättigheter vid paketering
Jo, jag förstår din synpunkt, men nu kodar/kompilerar jag ju i Ubuntu/Mint, och använder alltså "rpmbuild", så Fedora är inte så intressant.Gunnar Hjalmarsson skrev:Om du hade frågat om .deb, som används i Ubuntu, hade jag kunnat bidra med en del. Kanske lämpligt att ställa frågan även i något Fedora-forum, exempelvis.
Senast redigerad av 1 eson57, redigerad totalt 10 gånger.
Alltid på kanelen!
Re: Hur säkerställa filrättigheter vid paketering
Tack, det ger mig något att googla på.gusnan skrev:utnyttjas säkerligen av programmen som genererar deb-paket i slutändan. Hur det fungerar på Sailfish-OS har jag ingen aning om.Kod: Markera allt
tar -p
Alltid på kanelen!
- Gunnar Hjalmarsson
- Inlägg: 3030
- Blev medlem: 08 aug 2010, 13:49
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Hur säkerställa filrättigheter vid paketering
Förstår inte. Medan Debian/Ubuntu använder DEB, andvänds RPM i en del andra Linuxdistributioner, exempelvis Fedora. Använder Linux Mint även paket i RPM-format?eson57 skrev:... nu kodar/kompilerar jag ju i Ubuntu/Mint, och använder alltså "rpmbuild", så Fedora är inte så intressant.
Re: Hur säkerställa filrättigheter vid paketering
Nej, inte normalt. Det går att konvertera rpm-paket, men det är en helt annan topic.Gunnar Hjalmarsson skrev:Förstår inte. Medan Debian/Ubuntu använder DEB, andvänds RPM i en del andra Linuxdistributioner, exempelvis Fedora. Använder Linux Mint även paket i RPM-format?
Jag menar bara att jag kör samma OS som alltid, d.v.s Mint, även när jag kodar för Sailfish. Kolla paketet rpmbuild, så är jag säker på att du förstår.
Alltid på kanelen!
- Gunnar Hjalmarsson
- Inlägg: 3030
- Blev medlem: 08 aug 2010, 13:49
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Hur säkerställa filrättigheter vid paketering
Nej, jag förstår fortfarande inte. Programmet rpmbuild används rimligen för att bygga RPM-paket. Vad har det med kodning för Sailfish att göra?
Re: Hur säkerställa filrättigheter vid paketering
Sailfish använder rpm-paket. Det är alltså vad jag måste använda för att få till en användbar binär.Gunnar Hjalmarsson skrev:Nej, jag förstår fortfarande inte. Programmet rpmbuild används rimligen för att bygga RPM-paket. Vad har det med kodning för Sailfish att göra?
Alltid på kanelen!
- Gunnar Hjalmarsson
- Inlägg: 3030
- Blev medlem: 08 aug 2010, 13:49
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Hur säkerställa filrättigheter vid paketering
Aha, där rann femöringen ner. (Kikade också på sailfishos.org.)eson57 skrev:Sailfish använder rpm-paket. Det är alltså vad jag måste använda för att få till en användbar binär.
Så min allmänna synpunkt, att frågor om hur det verktyget fungerar med fördel ställs i sammanhang där det normalt används, kvarstår. Kanske då - i ditt fall - på Sailfishs webbplats snarare än hos Fedora.
Re: Hur säkerställa filrättigheter vid paketering
Alltså, jag vill publicera skräpet jag sitter och tragglar med (för att lära). Jag är amatör, novis, nybörjare och allmänt okunnig, men det är inget jag låter mig stoppas av. Jag tänker fortsätta producera skräp tills jag lärt mig programmera på riktigt.
Visst skulle jag kunna fråga på någon av Sailfish webbplatser, men där är jag säker på att drunkna i det allmänna bruset, så jag avstår. Dessutom är det ju faktiskt ett ubuntu-verktyg eftersom det finns i förrådet. Jag tror inte ens att rpmbuild finns i något av Sailfish-förråden. Har inte kollat, men är ganska säker på att det heter nåt annat där.
Nu är det ju heller inte en fråga för detta specifika verktyg. Jag uppfattar det mer som en allmän fråga om hur man bevarar filegenskaper genom hela processen kompilering>installation.
Visst skulle jag kunna fråga på någon av Sailfish webbplatser, men där är jag säker på att drunkna i det allmänna bruset, så jag avstår. Dessutom är det ju faktiskt ett ubuntu-verktyg eftersom det finns i förrådet. Jag tror inte ens att rpmbuild finns i något av Sailfish-förråden. Har inte kollat, men är ganska säker på att det heter nåt annat där.
Nu är det ju heller inte en fråga för detta specifika verktyg. Jag uppfattar det mer som en allmän fråga om hur man bevarar filegenskaper genom hela processen kompilering>installation.
Alltid på kanelen!
- Gunnar Hjalmarsson
- Inlägg: 3030
- Blev medlem: 08 aug 2010, 13:49
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Hur säkerställa filrättigheter vid paketering
Utan att veta, tvivlar jag på att det är en allmän fråga. Vad du frågar om är en detalj om filrättigheter i det binärpaket som byggs, och varför skulle det inte kunna skilja sig mellan olika paketeringssystem? Visst, paketet rpm (som innehåller programmet rpmbuild) finns i Ubuntu-förrådet, och det är förstås inte uteslutet att någon här råkar veta svaret på din fråga.
Vad gäller DEB-paket är filrättigheterna i källkoden utgångspunkt för vilka rättigheter filerna får i binärpaketet, men det finns några dokumenterade undantag. Vidare kan man styra manuellt via exempelvis debian/rules.
Kanske fungerar det liknande när man bygger RPM-paket, kanske inte.
Vad gäller DEB-paket är filrättigheterna i källkoden utgångspunkt för vilka rättigheter filerna får i binärpaketet, men det finns några dokumenterade undantag. Vidare kan man styra manuellt via exempelvis debian/rules.
Kanske fungerar det liknande när man bygger RPM-paket, kanske inte.
Re: Hur säkerställa filrättigheter vid paketering
Se där ja, nu börjar vi närma oss "pudelns kärna".Gunnar Hjalmarsson skrev:Utan att veta, tvivlar jag på att det är en allmän fråga. Vad du frågar om är en detalj om filrättigheter i det binärpaket som byggs, och varför skulle det inte kunna skilja sig mellan olika paketeringssystem? Visst, paketet rpm (som innehåller programmet rpmbuild) finns i Ubuntu-förrådet, och det är förstås inte uteslutet att någon här råkar veta svaret på din fråga.
Vad gäller DEB-paket är filrättigheterna i källkoden utgångspunkt för vilka rättigheter filerna får i binärpaketet, men det finns några dokumenterade undantag. Vidare kan man styra manuellt via exempelvis debian/rules.
Kanske fungerar det liknande när man bygger RPM-paket, kanske inte.
Självklart kan det skilja mellan paketeringssystem, och det är väl ungefär vad jag försöker få fram. Jag vet ju inte om alla dister fungerar som SFOS.
Enligt din analys, behöver jag inte fundera på det här överhuvudtaget, och det är möjligt att det är så, men som den petimeter man är, vill man gärna veta säkert.
Alltid på kanelen!
Re: Hur säkerställa filrättigheter vid paketering
Tack Gunnar! Något klokare blev jag. 

Alltid på kanelen!
Re: Hur säkerställa filrättigheter vid paketering
Jo, om någon undrar vad det är jag bråkar om, så finns källkoden på GitHub.
Alltid på kanelen!
- Mekaniserad Apelsin
- Hedersmedlem
- Inlägg: 3777
- Blev medlem: 27 maj 2006, 12:24
- OS: Ubuntu
- Ort: Stockholm
- Kontakt:
Re: Hur säkerställa filrättigheter vid paketering
Har du frågor om rpmbuild så är det definitivt bättre att fråga på fedora, centos, rhel eller scientific linux-forum, men du gör "fel" ungefär här>
Det är "meningen" att du pekar ut vila rättigheter filerna ska ha med macro:t %attr i %files-sectionen. Men som du redan noterat så tas detta med rekursivt, och det fungerar alldeles utmärkt med %defattr. Typ:
Bästa resursen för rpmbuild tycks fortfarande vara max rpm, vilket är horribelt ouppdaterat, men innehåller allt för att svara på frågan här.
Kod: Markera allt
%files
%defattr(-,root,root,-)
/usr/share/ambience/*
%post
chmod 755 /usr/share/ambience/{name}
chmod 755 /usr/share/ambience/{name}/images
chmod 755 /usr/share/ambience/{name}/sounds
chmod 644 /usr/share/ambience/{name}/*.*
chmod 644 /usr/share/ambience/{name}/images/*.*
chmod 644 /usr/share/ambience/{name}/sounds/*.*
systemctl-user restart ambienced.service
Kod: Markera allt
%files
%defattr(0644,root,root,0755)
/usr/share/ambience/
%post
systemctl-user restart ambienced.service
More Mekaniserad at http://blippe.se.
Re: Hur säkerställa filrättigheter vid paketering
Tack för den. Årets länk, om du inte får fram en ny inom 12 dar...Mekaniserad Apelsin skrev:Bästa resursen för rpmbuild tycks fortfarande vara max rpm

Alltid på kanelen!
Re: Hur säkerställa filrättigheter vid paketering
Som den självlärda amatör man är, kan man bara buga och bocka. Från 11 rader till 5, är ju lysande. Enklare kod borde vara ett självändamål.Mekaniserad Apelsin skrev:det fungerar alldeles utmärkt med %defattr. Typ:
.Kod: Markera allt
%files %defattr(0644,root,root,0755) /usr/share/ambience/ %post systemctl-user restart ambienced.service
Alltid på kanelen!