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