[package] util-linux: compile with -fPIC, some users of its libuuid.a require it...
[openwrt.git] / package / util-linux / Makefile
1 #
2 # Copyright (C) 2007-2012 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=util-linux
11 PKG_VERSION:=2.21.1
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.21
16 PKG_MD5SUM:=ad602dcd528f340b1329cfa6200d8f80
17
18 PKG_BUILD_PARALLEL:=1
19 PKG_BUILD_DEPENDS:=libncurses
20 PKG_FIXUP:=autoreconf
21
22 include $(INCLUDE_DIR)/package.mk
23
24 define Package/util-linux/Default
25   SECTION:=utils
26   CATEGORY:=Utilities
27   URL:=http://www.kernel.org/pub/linux/utils/util-linux/
28 endef
29
30 CONFIGURE_VARS += \
31         scanf_cv_alloc_modifier="ms"
32
33 CONFIGURE_ARGS += \
34         --enable-new-mount      \
35         --with-ncurses          \
36         --disable-nls           \
37         --disable-tls
38
39 TARGET_CFLAGS += $(FPIC)
40
41 define Build/InstallDev
42         $(MAKE) -C $(PKG_BUILD_DIR) \
43                 BUILDCC="$(HOSTCC)" \
44                 DESTDIR="$(1)" \
45                 installdirs install-data
46
47         $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
48         $(CP) $(PKG_BUILD_DIR)/libblkid/blkid.pc $(1)/usr/lib/pkgconfig
49         $(CP) $(PKG_BUILD_DIR)/libmount/mount.pc $(1)/usr/lib/pkgconfig
50         $(CP) $(PKG_BUILD_DIR)/libuuid/uuid.pc $(1)/usr/lib/pkgconfig
51
52         $(INSTALL_DIR) $(1)/usr/include/blkid
53         $(CP) $(PKG_BUILD_DIR)/libblkid/src/blkid.h $(1)/usr/include/blkid
54         $(INSTALL_DIR) $(1)/usr/include/libmount
55         $(CP) $(PKG_BUILD_DIR)/libmount/src/libmount.h $(1)/usr/include/libmount
56         $(INSTALL_DIR) $(1)/usr/include/uuid
57         $(CP) $(PKG_BUILD_DIR)/libuuid/src/uuid.h $(1)/usr/include/uuid
58
59         $(INSTALL_DIR) $(1)/usr/lib
60         $(CP) $(PKG_BUILD_DIR)/libblkid/src/.libs/libblkid.{a,so.*} $(1)/usr/lib
61         $(CP) $(PKG_BUILD_DIR)/libmount/src/.libs/libmount.{a,so.*} $(1)/usr/lib
62         $(CP) $(PKG_BUILD_DIR)/libuuid/src/.libs/libuuid.{a,so.*} $(1)/usr/lib
63 endef
64
65 define Package/libblkid
66 $(call Package/util-linux/Default)
67   TITLE:=block device id library
68   SECTION:=libs
69   CATEGORY:=Libraries
70 endef
71
72 define Package/libblkid/description
73  The libblkid library is used to identify block devices (disks) as to their
74  content (e.g. filesystem type, partitions) as well as extracting additional
75  information such as filesystem labels/volume names, partitions, unique
76  identifiers/serial numbers...
77 endef
78
79 define Package/libmount
80 $(call Package/util-linux/Default)
81   TITLE:=mount library
82   SECTION:=libs
83   CATEGORY:=Libraries
84 endef
85
86 define Package/libblkid/description
87  The libmount library is used to parse /etc/fstab, /etc/mtab and
88  /proc/self/mountinfo files, manage the mtab file, evaluate mount options...
89 endef
90
91 define Package/libuuid
92 $(call Package/util-linux/Default)
93   TITLE:=DCE compatible Universally Unique Identifier library
94   SECTION:=libs
95   CATEGORY:=Libraries
96 endef
97
98 define Package/libuuid/description
99  The UUID library is used to generate unique identifiers for objects
100  that may be accessible beyond the local system. This library
101  generates UUIDs compatible with those created by the Open Software
102  Foundation (OSF) Distributed Computing Environment (DCE) utility.
103 endef
104
105 define Package/agetty
106 $(call Package/util-linux/Default)
107   TITLE:=alternative Linux getty
108   SUBMENU=Terminal
109 endef
110
111 define Package/agetty/description
112  agetty opens a tty port, prompts for a login name and invokes the
113  /bin/login command
114 endef
115
116 define Package/blkid
117 $(call Package/util-linux/Default)
118   TITLE:=locate/print block device attributes
119   DEPENDS:= +libblkid +libuuid
120   SUBMENU=disc
121 endef
122
123 define Package/blkid/description
124  The blkid program is the command-line interface to working with the libblkid
125  library.
126 endef
127
128 define Package/cal
129 $(call Package/util-linux/Default)
130   TITLE:=display a calendar
131   DEPENDS:= +libncurses
132 endef
133
134 define Package/cal/description
135  cal displays a simple calendar
136 endef
137
138 define Package/cfdisk
139 $(call Package/util-linux/Default)
140   TITLE:=display or manipulate disk partition table
141   DEPENDS:= +libblkid +libncurses +libuuid
142   SUBMENU:=disc
143 endef
144
145 define Package/cfdisk/description
146  cfdisk is a curses-based program for partitioning any hard disk drive
147 endef
148
149 define Package/dmesg
150 $(call Package/util-linux/Default)
151   TITLE:=print or control the kernel ring buffer
152 endef
153
154 define Package/dmesg/description
155  dmesg  is used to examine or control the kernel ring buffer
156 endef
157
158 define Package/fdisk
159 $(call Package/util-linux/Default)
160   TITLE:=manipulate disk partition table
161   DEPENDS:= +libblkid +libuuid
162   SUBMENU=disc
163 endef
164
165 define Package/fdisk/description
166  a menu-driven program for creation and manipulation of partition tables
167 endef
168
169 define Package/findfs
170 $(call Package/util-linux/Default)
171   TITLE:=find a filesystem by label or UUID
172   DEPENDS:= +libblkid +libuuid
173   SUBMENU=disc
174 endef
175
176 define Package/findfs/description
177  findfs will search the disks in the system looking for a filesystem which has
178  a label matching label or a UUID equal to uuid
179 endef
180
181 define Package/flock
182 $(call Package/util-linux/Default)
183   TITLE:=manage locks from shell scripts
184 endef
185
186 define Package/flock/description
187   manages flock locks from within shell scripts or the command line
188 endef
189
190 define Package/getopt
191 $(call Package/util-linux/Default)
192   TITLE:=parse command options (enhanced)
193 endef
194
195 define Package/getopt/description
196  getopt is used to break up (parse) options in command lines for easy parsing
197  by shell procedures, and to check for legal options
198 endef
199
200 define Package/hwclock
201 $(call Package/util-linux/Default)
202   TITLE:=query or set the hardware clock
203 endef
204
205 define Package/hwclock/description
206  hwclock is a tool for accessing the Hardware Clock
207 endef
208
209 define Package/logger
210 $(call Package/util-linux/Default)
211   TITLE:=a shell command interface to the syslog system log module
212 endef
213
214 define Package/logger/description
215  logger makes entries in the system log, it provides a shell command interface to the syslog system log module
216 endef
217
218 define Package/look
219 $(call Package/util-linux/Default)
220   TITLE:=display lines beginning with a given string
221 endef
222
223 define Package/look/description
224  look utility displays any lines in file which contain string
225 endef
226
227 define Package/losetup
228 $(call Package/util-linux/Default)
229   TITLE:=set up and control loop devices
230 endef
231
232 define Package/losetup/description
233  losetup is used to associate loop devices with regular files or block devices,
234  to detach loop devices and to query the status of a loop device
235 endef
236
237 define Package/lsblk
238 $(call Package/util-linux/Default)
239   TITLE:=list block devices
240   DEPENDS:= +libblkid +libuuid
241   SUBMENU=disc
242 endef
243
244 define Package/lsblk/description
245  lsblk lists information about all or the specified block devices
246 endef
247
248 define Package/mcookie
249 $(call Package/util-linux/Default)
250   TITLE:=generate magic cookies for xauth
251 endef
252
253 define Package/mcookie/description
254  mcookie generates a 128-bit random hexadecimal number for use with the X
255  authority system
256 endef
257
258 define Package/mount-utils
259 $(call Package/util-linux/Default)
260   TITLE:=related (u)mount utilities
261   DEPENDS+= +libblkid +libmount +libuuid
262 endef
263
264 define Package/mount-utils/description
265  contains: mount, umount, findmnt
266 endef
267
268 define Package/namei
269 $(call Package/util-linux/Default)
270   TITLE:=follow a pathname until a terminal point is found
271 endef
272
273 define Package/namei/description
274  namei uses its arguments as pathnames to any type of Unix file (symlinks,
275  files, directories, and so forth)
276 endef
277
278 define Package/rename
279 $(call Package/util-linux/Default)
280   TITLE:=rename files
281 endef
282
283 define Package/rename/description
284  rename will rename the specified files by replacing the first occurrence of
285  expression in their name by replacement
286 endef
287
288 define Package/partx-utils
289 $(call Package/util-linux/Default)
290   TITLE:=inform kernel about the presence and numbering of on-disk partitions
291   DEPENDS:= +libblkid +libuuid
292   SUBMENU=disc
293 endef
294
295 define Package/partx-utils/description
296  contains partx, addpart, delpart
297 endef
298
299 define Package/script-utils
300 $(call Package/util-linux/Default)
301   TITLE:=make and replay typescript of terminal session
302   SUBMENU=Terminal
303 endef
304
305 define Package/script-utils/description
306  contains: script, scriptreplay
307 endef
308
309 define Package/setterm
310 $(call Package/util-linux/Default)
311   TITLE:=set terminal attributes
312   SUBMENU:=Terminal
313 endef
314
315 define Package/setterm/description
316  setterm writes to standard output a character string that will invoke the
317  specified terminal capabilities
318 endef
319
320 define Package/sfdisk
321 $(call Package/util-linux/Default)
322   TITLE:=partition table manipulator for Linux
323   SUBMENU=disc
324 endef
325
326 define Package/sfdisk/description
327  list the size of a partition, list the partitions on a device, check the
328  partitions on a device and repartition a device
329 endef
330
331 define Package/swap-utils
332 $(call Package/util-linux/Default)
333   TITLE:=swap space management utilities
334   DEPENDS+= +libblkid +libuuid
335   SUBMENU:=disc
336 endef
337
338 define Package/swap-utils/description
339  contains: mkswap, swaplabel, swapon, swapoff
340 endef
341
342 define Package/uuidd
343 $(call Package/util-linux/Default)
344   TITLE:=UUID generation daemon
345   DEPENDS:= +libuuid
346 endef
347
348 define Package/uuidd/description
349  The uuidd daemon is used by the UUID library to generate universally unique
350  identifiers (UUIDs), especially time-based UUIDs, in a secure and
351  guaranteed-unique fashion, even in the face of large numbers of threads
352  running on different CPUs trying to grab UUIDs.
353 endef
354
355 define Package/uuidgen
356 $(call Package/util-linux/Default)
357   TITLE:=create a new UUID value
358   DEPENDS:= +libuuid
359 endef
360
361 define Package/uuidgen/description
362  The uuidgen program creates (and prints) a new universally unique identifier
363  (UUID) using the libuuid library. The new UUID can reasonably be considered
364  unique among all UUIDs created on the local system, and among UUIDs created on
365  other systems in the past and in the future.
366 endef
367
368 define Package/wall
369 $(call Package/util-linux/Default)
370   TITLE:=send a message to everybody's terminal
371   SUBMENU=Terminal
372 endef
373
374 define Package/wall/description
375  Wall sends a message to everybody logged in with their mesg permission
376  set to yes
377 endef
378
379 define Package/whereis
380 $(call Package/util-linux/Default)
381   TITLE:=locate the binary, source, and manual page files for a command
382 endef
383
384 define Package/wipefs/description
385  whereis locates source/binary and manuals sections for specified files
386 endef
387
388 define Package/wipefs
389 $(call Package/util-linux/Default)
390   TITLE:=wipe a signature from a device
391   DEPENDS:= +libblkid +libuuid
392   SUBMENU:=disc
393 endef
394
395 define Package/wipefs/description
396  wipefs can erase filesystem, raid or partition table signatures (magic
397  strings) from the specified device to make the signature invisible for
398  libblkid.
399 endef
400
401 define Package/libblkid/install
402         $(INSTALL_DIR) $(1)/usr/lib
403         $(CP) $(PKG_BUILD_DIR)/libblkid/src/.libs/libblkid.so.* $(1)/usr/lib/
404 endef
405
406 define Package/libmount/install
407         $(INSTALL_DIR) $(1)/usr/lib
408         $(CP) $(PKG_BUILD_DIR)/libmount/src/.libs/libmount.so.* $(1)/usr/lib/
409 endef
410
411 define Package/libuuid/install
412         $(INSTALL_DIR) $(1)/usr/lib
413         $(CP) $(PKG_BUILD_DIR)/libuuid/src/.libs/libuuid.so.* $(1)/usr/lib/
414 endef
415
416 define Package/agetty/install
417         $(INSTALL_DIR) $(1)/sbin
418         $(INSTALL_BIN) $(PKG_BUILD_DIR)/term-utils/agetty $(1)/sbin/
419 endef
420
421 define Package/blkid/install
422         $(INSTALL_DIR) $(1)/sbin
423         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/blkid $(1)/sbin/
424 endef
425
426 define Package/cal/install
427         $(INSTALL_DIR) $(1)/usr/bin
428         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/cal $(1)/usr/bin/
429 endef
430
431 define Package/cfdisk/install
432         $(INSTALL_DIR) $(1)/sbin
433         $(INSTALL_BIN) $(PKG_BUILD_DIR)/fdisk/.libs/cfdisk $(1)/sbin/
434 endef
435
436 define Package/fdisk/install
437         $(INSTALL_DIR) $(1)/sbin
438         $(INSTALL_BIN) $(PKG_BUILD_DIR)/fdisk/.libs/fdisk $(1)/sbin/
439 endef
440
441 define Package/findfs/install
442         $(INSTALL_DIR) $(1)/sbin
443         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/findfs $(1)/sbin/
444 endef
445
446 define Package/flock/install
447         $(INSTALL_DIR) $(1)/usr/bin
448         $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/flock $(1)/usr/bin/
449 endef
450
451 define Package/getopt/install
452         $(INSTALL_DIR) $(1)/usr/bin
453         $(INSTALL_BIN) $(PKG_BUILD_DIR)/getopt/getopt $(1)/usr/bin/
454 endef
455
456 define Package/hwclock/install
457         $(INSTALL_DIR) $(1)/sbin
458         $(INSTALL_BIN) $(PKG_BUILD_DIR)/hwclock/hwclock $(1)/sbin/
459 endef
460
461 define Package/logger/install
462         $(INSTALL_DIR) $(1)/usr/bin
463         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/logger $(1)/usr/bin/
464 endef
465
466 define Package/look/install
467         $(INSTALL_DIR) $(1)/usr/bin
468         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/look $(1)/usr/bin/
469 endef
470
471 define Package/losetup/install
472         $(INSTALL_DIR) $(1)/sbin
473         $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/losetup $(1)/sbin/
474 endef
475
476 define Package/lsblk/install
477         $(INSTALL_DIR) $(1)/bin
478         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/lsblk $(1)/bin/
479 endef
480
481 define Package/mcookie/install
482         $(INSTALL_DIR) $(1)/usr/bin
483         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/mcookie $(1)/usr/bin/
484 endef
485
486 define Package/mount-utils/install
487         $(INSTALL_DIR) $(1)/bin
488         $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/.libs/{u,}mount $(1)/bin/
489         $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/.libs/mountpoint $(1)/bin/
490         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/findmnt $(1)/bin/
491 endef
492
493 define Package/namei/install
494         $(INSTALL_DIR) $(1)/usr/bin/
495         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/namei $(1)/usr/bin/
496 endef
497
498 define Package/rename/install
499         $(INSTALL_DIR) $(1)/usr/bin/
500         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/rename $(1)/usr/bin/
501 endef
502
503 define Package/partx-utils/install
504         $(INSTALL_DIR) $(1)/usr/sbin
505         $(INSTALL_BIN) $(PKG_BUILD_DIR)/partx/.libs/partx $(1)/usr/sbin/
506         $(INSTALL_BIN) $(PKG_BUILD_DIR)/partx/addpart $(1)/usr/sbin/
507         $(INSTALL_BIN) $(PKG_BUILD_DIR)/partx/delpart $(1)/usr/sbin/
508 endef
509
510 define Package/script-utils/install
511         $(INSTALL_DIR) $(1)/usr/bin
512         $(INSTALL_BIN) $(PKG_BUILD_DIR)/term-utils/script $(1)/usr/bin/
513         $(INSTALL_BIN) $(PKG_BUILD_DIR)/term-utils/scriptreplay $(1)/usr/bin/
514 endef
515
516 define Package/setterm/install
517         $(INSTALL_DIR) $(1)/usr/bin
518         $(INSTALL_BIN) $(PKG_BUILD_DIR)/term-utils/setterm $(1)/usr/bin/
519 endef
520
521 define Package/sfdisk/install
522         $(INSTALL_DIR) $(1)/sbin
523         $(INSTALL_BIN) $(PKG_BUILD_DIR)/fdisk/sfdisk $(1)/sbin/
524 endef
525
526 define Package/swap-utils/install
527         $(INSTALL_DIR) $(1)/sbin
528         $(INSTALL_BIN) $(PKG_BUILD_DIR)/disk-utils/.libs/mkswap $(1)/sbin/
529         $(INSTALL_BIN) $(PKG_BUILD_DIR)/disk-utils/.libs/swaplabel $(1)/sbin/
530         $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/.libs/swapon $(1)/sbin/
531         ln -sf swapon $(1)/sbin/swapoff
532 endef
533
534 define Package/uuidd/install
535         $(INSTALL_DIR) $(1)/usr/sbin
536         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/uuidd $(1)/usr/sbin/
537 endef
538
539 define Package/uuidgen/install
540         $(INSTALL_DIR) $(1)/usr/bin
541         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/uuidgen $(1)/usr/bin/
542 endef
543
544 define Package/wall/install
545         $(INSTALL_DIR) $(1)/usr/bin
546         $(INSTALL_BIN) $(PKG_BUILD_DIR)/term-utils/wall $(1)/usr/bin/
547 endef
548
549 define Package/whereis/install
550         $(INSTALL_DIR) $(1)/usr/bin
551         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/whereis $(1)/usr/bin/
552 endef
553
554 define Package/wipefs/install
555         $(INSTALL_DIR) $(1)/sbin
556         $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/.libs/wipefs $(1)/sbin/
557 endef
558
559 $(eval $(call BuildPackage,libblkid))
560 $(eval $(call BuildPackage,libmount))
561 $(eval $(call BuildPackage,libuuid))
562 $(eval $(call BuildPackage,agetty))
563 $(eval $(call BuildPackage,blkid))
564 $(eval $(call BuildPackage,cal))
565 $(eval $(call BuildPackage,cfdisk))
566 $(eval $(call BuildPackage,dmesg))
567 $(eval $(call BuildPackage,fdisk))
568 $(eval $(call BuildPackage,findfs))
569 $(eval $(call BuildPackage,flock))
570 $(eval $(call BuildPackage,getopt))
571 $(eval $(call BuildPackage,hwclock))
572 $(eval $(call BuildPackage,logger))
573 $(eval $(call BuildPackage,look))
574 $(eval $(call BuildPackage,losetup))
575 $(eval $(call BuildPackage,lsblk))
576 $(eval $(call BuildPackage,mcookie))
577 $(eval $(call BuildPackage,mount-utils))
578 $(eval $(call BuildPackage,namei))
579 $(eval $(call BuildPackage,rename))
580 $(eval $(call BuildPackage,partx-utils))
581 $(eval $(call BuildPackage,script-utils))
582 $(eval $(call BuildPackage,setterm))
583 $(eval $(call BuildPackage,sfdisk))
584 $(eval $(call BuildPackage,swap-utils))
585 $(eval $(call BuildPackage,uuidd))
586 $(eval $(call BuildPackage,uuidgen))
587 $(eval $(call BuildPackage,wall))
588 $(eval $(call BuildPackage,whereis))
589 $(eval $(call BuildPackage,wipefs))