Hur säkerställa filrättigheter vid paketering

Här diskuteras programmering och utveckling
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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?
Alltid på kanelen!
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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.
Alltid på kanelen!
Användarvisningsbild
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

Inlägg av Gunnar Hjalmarsson »

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.
gusnan
Inlägg: 343
Blev medlem: 17 jan 2007, 08:20
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av gusnan »

Kod: Markera allt

tar -p
utnyttjas säkerligen av programmen som genererar deb-paket i slutändan. Hur det fungerar på Sailfish-OS har jag ingen aning om.
Hade tidigare nicket "Cowboy".
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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.
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.
Senast redigerad av 1 eson57, redigerad totalt 10 gånger.
Alltid på kanelen!
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

gusnan skrev:

Kod: Markera allt

tar -p
utnyttjas säkerligen av programmen som genererar deb-paket i slutändan. Hur det fungerar på Sailfish-OS har jag ingen aning om.
Tack, det ger mig något att googla på.
Alltid på kanelen!
Användarvisningsbild
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

Inlägg av Gunnar Hjalmarsson »

eson57 skrev:... nu kodar/kompilerar jag ju i Ubuntu/Mint, och använder alltså "rpmbuild", så Fedora är inte så intressant.
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?
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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?
Nej, inte normalt. Det går att konvertera rpm-paket, men det är en helt annan topic.
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!
Användarvisningsbild
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

Inlägg av Gunnar Hjalmarsson »

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?
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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?
Sailfish använder rpm-paket. Det är alltså vad jag måste använda för att få till en användbar binär.
Alltid på kanelen!
Användarvisningsbild
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

Inlägg av Gunnar Hjalmarsson »

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.
Aha, där rann femöringen ner. (Kikade också på sailfishos.org.)

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.
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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.
Alltid på kanelen!
Användarvisningsbild
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

Inlägg av Gunnar Hjalmarsson »

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.
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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.
Se där ja, nu börjar vi närma oss "pudelns kärna".
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!
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

Tack Gunnar! Något klokare blev jag. ;)
Alltid på kanelen!
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

Jo, om någon undrar vad det är jag bråkar om, så finns källkoden på GitHub.
Alltid på kanelen!
Användarvisningsbild
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

Inlägg av Mekaniserad Apelsin »

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>

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
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:

Kod: Markera allt

%files
%defattr(0644,root,root,0755)
/usr/share/ambience/

%post
systemctl-user restart ambienced.service
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.
More Mekaniserad at http://blippe.se.
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

Mekaniserad Apelsin skrev:Bästa resursen för rpmbuild tycks fortfarande vara max rpm
Tack för den. Årets länk, om du inte får fram en ny inom 12 dar... ;)
Alltid på kanelen!
Användarvisningsbild
eson57
Inlägg: 1101
Blev medlem: 06 dec 2014, 10:44
OS: Linux Mint

Re: Hur säkerställa filrättigheter vid paketering

Inlägg av eson57 »

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
.
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.
Alltid på kanelen!
Skriv svar

Återgå till "Programmering och webbdesign"