1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mageia-dev] Adding tmpfiles.d support to packages (was: Re: rpmlint)
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Adding%20tmpfiles.d%20support%20to%20packages%20%28was%3A%20Re%3A%0A%09rpmlint%29&In-Reply-To=%3C50ADFC65.8080905%40colin.guthr.ie%3E">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="020159.html">
<LINK REL="Next" HREF="020165.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mageia-dev] Adding tmpfiles.d support to packages (was: Re: rpmlint)</H1>
<B>Colin Guthrie</B>
<A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Adding%20tmpfiles.d%20support%20to%20packages%20%28was%3A%20Re%3A%0A%09rpmlint%29&In-Reply-To=%3C50ADFC65.8080905%40colin.guthr.ie%3E"
TITLE="[Mageia-dev] Adding tmpfiles.d support to packages (was: Re: rpmlint)">mageia at colin.guthr.ie
</A><BR>
<I>Thu Nov 22 11:20:21 CET 2012</I>
<P><UL>
<LI>Previous message: <A HREF="020159.html">[Mageia-dev] rpmlint
</A></li>
<LI>Next message: <A HREF="020165.html">[Mageia-dev] Adding tmpfiles.d support to packages
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#20164">[ date ]</a>
<a href="thread.html#20164">[ thread ]</a>
<a href="subject.html#20164">[ subject ]</a>
<a href="author.html#20164">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>'Twas brillig, and Remco Rijnders at 22/11/12 08:17 did gyre and gimble:
><i> On Wed, Nov 21, 2012 at 11:43:24PM +0000, Colin wrote in
</I>><i> <<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">50AD671C.2060409 at colin.guthr.ie</A>>:
</I>>><i> So I've added a few tests to rpmlint for stuff previously discussed.
</I>>><i>
</I>>><i> I'm aware of lots of packages that will fail but will try and fix them
</I>>><i> over the weekend.
</I>><i>
</I>>><i> If anyone wants to help with the "known-to-break" list, please fix up
</I>>><i> the following packages to add tmpfiles support rather than shipping the
</I>>><i> actual files/folders:
</I>><i>
</I>><i> Colin,
</I>><i>
</I>><i> You'll probably be tired of repeating yourself over and over, but do you
</I>><i> have a few pointers (maybe on the packaging wiki?), what to change and
</I>><i> where? Is it a general approach for all packages, if so perhaps point to
</I>><i> a commit on SVN having the needed changes for a package?
</I>
I should write up a wiki page, but here is the details:
1. Add a file like: %{name}-tmpfiles.conf to the SOURCES tree containing:
D /run/my-package 0710 my-user my-group -
(this will create a folder call /run/my-package owned by
my-user:my-group in /run. You should likely use /run or /run/lock
directly rather than /var/run or /var/lock which are just symlinks to that).
You can also create files, links, named pipes etc. too. See "man
tmpfiles.d" for full syntax.
2. Add the source to the SPEC:
SourceN: %{name}-tmpfiles.conf
3. Install the tmpfile snippet:
# create tmpfiles directory
install -d -m0755 %{buildroot}%{_prefix}/lib/tmpfiles.d
install -m0644 %{SOURCEN}
%{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
Make sure it's included in the %files section too:
%{_prefix}/lib/tmpfiles.d/*.conf
4. Add Requires:
Requires(post): systemd
5. Add/add to %post:
systemd-tmpfiles --create %{name}.conf
(note, passing in the file basename here is very important! Don't just
run "systemd-tmpfiles --create" as it has unexpected consequences!)
That's about it.
We could go around %ghosting the files created, but to be perfectly
honest, I don't think it's worth the effort. Files in /run should be
considered generally volatile and they should all be pretty self
explanatory generally IMO.
HTHs
Col
--
Colin Guthrie
colin(at)mageia.org
<A HREF="http://colin.guthr.ie/">http://colin.guthr.ie/</A>
Day Job:
Tribalogic Limited <A HREF="http://www.tribalogic.net/">http://www.tribalogic.net/</A>
Open Source:
Mageia Contributor <A HREF="http://www.mageia.org/">http://www.mageia.org/</A>
PulseAudio Hacker <A HREF="http://www.pulseaudio.org/">http://www.pulseaudio.org/</A>
Trac Hacker <A HREF="http://trac.edgewall.org/">http://trac.edgewall.org/</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="020159.html">[Mageia-dev] rpmlint
</A></li>
<LI>Next message: <A HREF="020165.html">[Mageia-dev] Adding tmpfiles.d support to packages
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#20164">[ date ]</a>
<a href="thread.html#20164">[ thread ]</a>
<a href="subject.html#20164">[ subject ]</a>
<a href="author.html#20164">[ author ]</a>
</LI>
</UL>
<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
mailing list</a><br>
</body></html>
|