[10628] | 1 | %{!?python3_sitelib: %global python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} |
---|
| 2 | |
---|
| 3 | %global _udevrulesdir /lib/udev/rules.d |
---|
| 4 | |
---|
[521] | 5 | Summary: The Linux Infrared Remote Control package. |
---|
| 6 | Summary(ja): 赤外線リモートコントロールパッケージ |
---|
| 7 | Name: lirc |
---|
[10628] | 8 | Version: 0.9.4a |
---|
[2092] | 9 | Release: 1%{?_dist_release} |
---|
[521] | 10 | License: GPL |
---|
| 11 | Group: System Environment/Daemons |
---|
| 12 | URL: http://www.lirc.org/ |
---|
| 13 | Source0: http://prdownloads.sourceforge.net/lirc/%{name}-%{version}.tar.bz2 |
---|
| 14 | Source1: lirc.init |
---|
| 15 | Source2: lircd.logrotate |
---|
| 16 | Source3: lirc.sysconfig |
---|
[10628] | 17 | Source4: 99-remote-control-lirc.rules |
---|
[8067] | 18 | |
---|
[10628] | 19 | Patch1: 0001-Changing-effective-user-default.patch |
---|
| 20 | |
---|
[521] | 21 | # Vine patch |
---|
| 22 | |
---|
| 23 | BuildRequires: perl |
---|
[10628] | 24 | BuildRequires: libusb1-devel, python-devel |
---|
[521] | 25 | BuildRequires: automake libtool |
---|
| 26 | BuildRequires: alsa-lib-devel |
---|
| 27 | BuildRequires: libXt-devel |
---|
[10628] | 28 | BuildRequires: libxslt |
---|
| 29 | BuildRequires: python3 |
---|
[521] | 30 | ## Currently not supportd (yet) for Vine Linux |
---|
| 31 | #BuildRequires: libftdi-devel, libirman-devel |
---|
| 32 | Requires(post): /sbin/chkconfig |
---|
| 33 | Requires(post): /sbin/ldconfig |
---|
| 34 | Requires(preun): /sbin/chkconfig |
---|
| 35 | Requires(postun): /sbin/ldconfig |
---|
| 36 | |
---|
| 37 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
| 38 | |
---|
[8067] | 39 | Vendor: Project Vine |
---|
| 40 | Distribution: Vine Linux |
---|
[2092] | 41 | Packager: owa, kazutaka |
---|
| 42 | |
---|
[521] | 43 | %description |
---|
| 44 | LIRC stands for 'Linux Infra-red Remote Control'. |
---|
| 45 | |
---|
| 46 | This package provides the daemons and some utilities to support |
---|
| 47 | infra-red remote controls under Linux. |
---|
| 48 | |
---|
| 49 | %description -l ja |
---|
| 50 | LIRC は 'Linux Infra-red Remote Control' の略です。 |
---|
| 51 | |
---|
| 52 | このパッケージには Linux で赤外線リモコンをサポートする為に |
---|
| 53 | 必要なデーモンといくつかのユーティリティが含まれています。 |
---|
| 54 | |
---|
[10628] | 55 | |
---|
| 56 | %package devel |
---|
| 57 | Summary: Development files for LIRC |
---|
| 58 | Summary(ja): LIRCを用いた開発用のファイル |
---|
| 59 | Group: Development/Libraries |
---|
| 60 | Requires: lirc = %{version}-%{release} |
---|
| 61 | |
---|
| 62 | %description devel |
---|
| 63 | LIRC is a package that allows you to decode and send infra-red and |
---|
| 64 | other signals of many (but not all) commonly used remote controls. |
---|
| 65 | Included applications include daemons which decode the received |
---|
| 66 | signals as well as user space applications which allow controlling a |
---|
| 67 | computer with a remote control. This package includes files for |
---|
| 68 | developing applications that use LIRC. |
---|
| 69 | |
---|
| 70 | |
---|
[521] | 71 | %package -n dkms-%{name} |
---|
| 72 | Summary: Kernel modules for LIRC |
---|
[547] | 73 | Group: System Environment/Kernel |
---|
[521] | 74 | Requires(post): dkms |
---|
| 75 | Requires(preun):dkms |
---|
| 76 | |
---|
| 77 | %description -n dkms-%{name} |
---|
| 78 | This package provides the kernel modules for LIRC. |
---|
| 79 | |
---|
| 80 | Install this package if the LIRC driver you are using requires |
---|
| 81 | them and your kernel doesn't include them. |
---|
| 82 | |
---|
| 83 | Note that lirc_gpio and lirc_parallel are in packages of their own. |
---|
| 84 | |
---|
| 85 | %description -n dkms-%{name} -l ja |
---|
| 86 | このパッケージには LIRC 用のカーネルモジュールが含まれています。 |
---|
| 87 | |
---|
| 88 | もしあなたが使っている赤外線リモコン用のドライバがカーネルに |
---|
| 89 | 含まれていない場合は、このパッケージをインストールしてください。 |
---|
| 90 | |
---|
| 91 | 注記: lirc_gpio と lirc_parallel は別のパッケージになっています。 |
---|
| 92 | |
---|
| 93 | ## This package up (uni processor) kernel, but only smp kernel is supplied officially. |
---|
| 94 | ## So we don't create this sub package. |
---|
| 95 | #%package -n dkms-%{name}-parallel |
---|
| 96 | #Summary: Parallel port module for LIRC |
---|
| 97 | #Group: System/Kernel and hardware |
---|
| 98 | #Requires: dkms-%{name} = %version |
---|
| 99 | #Requires(post): dkms |
---|
| 100 | #Requires(preun):dkms |
---|
| 101 | # |
---|
| 102 | #%description -n dkms-%{name}-parallel |
---|
| 103 | #This package provides the parallel port module for LIRC. |
---|
| 104 | # |
---|
| 105 | #This module requires a non-SMP kernel. |
---|
| 106 | # |
---|
| 107 | #%description -n dkms-%{name}-parallel -l ja |
---|
| 108 | #このパッケージにはパラレルポート接続の LIRC 用のカーネル |
---|
| 109 | #モジュールが含まれています。 |
---|
| 110 | # |
---|
| 111 | #このモジュールは SMP カーネルでは使用できません。 |
---|
| 112 | |
---|
| 113 | ## Required header files (bttv.h ...) are not included in kernel-devel. |
---|
| 114 | ## So we can't build this package (now?). |
---|
| 115 | #%package -n dkms-%{name}-gpio |
---|
| 116 | #Summary: GPIO module for LIRC |
---|
| 117 | #Group: System/Kernel and hardware |
---|
| 118 | #Requires: dkms-%{name} = %version |
---|
| 119 | #Requires(post): dkms |
---|
| 120 | #Requires(preun):dkms |
---|
| 121 | # |
---|
| 122 | #%description -n dkms-%{name}-gpio |
---|
| 123 | #This package provides the GPIO module for LIRC. |
---|
| 124 | # |
---|
| 125 | #%description -n dkms-%{name}-gpio -l ja |
---|
| 126 | #このパッケージには GPIO 接続の LIRC 用のカーネルモジュールが |
---|
| 127 | #含まれています。 |
---|
| 128 | |
---|
| 129 | |
---|
| 130 | %prep |
---|
| 131 | %setup -q |
---|
| 132 | |
---|
[10628] | 133 | %patch1 -p1 |
---|
| 134 | sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc |
---|
[521] | 135 | |
---|
| 136 | |
---|
| 137 | %build |
---|
[10628] | 138 | autoreconf -if |
---|
[521] | 139 | %configure \ |
---|
| 140 | --disable-static \ |
---|
| 141 | --disable-manage-devices \ |
---|
| 142 | --enable-sandboxed \ |
---|
| 143 | --with-x \ |
---|
| 144 | --with-transmitter \ |
---|
| 145 | --with-driver=userspace \ |
---|
| 146 | --with-kerneldir=$(pwd) |
---|
| 147 | |
---|
| 148 | %{__make} |
---|
| 149 | |
---|
| 150 | |
---|
| 151 | %install |
---|
| 152 | %{__rm} -rf $RPM_BUILD_ROOT __docs |
---|
| 153 | %{__make} install DESTDIR=$RPM_BUILD_ROOT |
---|
| 154 | |
---|
| 155 | %{__install} -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initdir}/lirc |
---|
| 156 | #%{__install} -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/lircd |
---|
| 157 | %{__install} -Dpm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/lirc |
---|
| 158 | |
---|
[10628] | 159 | cd $RPM_BUILD_ROOT%{_datadir}/lirc/contrib |
---|
| 160 | chmod 755 irman2lirc |
---|
| 161 | cd $OLDPWD |
---|
| 162 | rm $RPM_BUILD_ROOT%{_libdir}/*.la |
---|
| 163 | rm $RPM_BUILD_ROOT%{_libdir}/lirc/plugins/*.la |
---|
[521] | 164 | |
---|
[10628] | 165 | install -pm 755 contrib/irman2lirc $RPM_BUILD_ROOT%{_bindir} |
---|
| 166 | install -Dpm 644 contrib/60-lirc.rules \ |
---|
| 167 | $RPM_BUILD_ROOT%{_udevrulesdir}/60-lirc.rules |
---|
| 168 | install -Dpm 644 %{SOURCE4} \ |
---|
| 169 | $RPM_BUILD_ROOT%{_udevrulesdir}/99-remote-control-lirc.rules |
---|
| 170 | cp -a %{SOURCE1} README.fedora |
---|
[521] | 171 | |
---|
| 172 | |
---|
| 173 | ## For DKMS sub packagtes |
---|
| 174 | # |
---|
| 175 | #for lircsrcdir in %{name} %{name}-parallel %{name}-gpio; do |
---|
| 176 | for lircsrcdir in %{name}; do |
---|
| 177 | |
---|
| 178 | install -d -m755 $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release} |
---|
[10628] | 179 | cp -a Makefile Makefile.in Makefile.am \ |
---|
[521] | 180 | configure.ac config.status config.h \ |
---|
| 181 | $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release} |
---|
| 182 | |
---|
| 183 | # Makefiles call there to unnecessarily regenerate files |
---|
| 184 | echo '#!/bin/true' > $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure |
---|
| 185 | chmod +x $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure |
---|
| 186 | |
---|
| 187 | done |
---|
| 188 | |
---|
| 189 | cp -a drivers $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release} |
---|
| 190 | |
---|
| 191 | #for drivername in parallel gpio; do |
---|
| 192 | #install -d -m755 $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers |
---|
| 193 | #mv $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/drivers/lirc_$drivername \ |
---|
| 194 | # $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/ |
---|
| 195 | #cp -a drivers/*.h drivers/Makefile* drivers/lirc_dev \ |
---|
| 196 | # $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/ |
---|
| 197 | # |
---|
| 198 | #done |
---|
| 199 | |
---|
| 200 | # get modulelist |
---|
| 201 | pushd drivers |
---|
| 202 | drivers=$(echo lirc_* | sed "s/lirc_parallel //" | sed "s/lirc_gpio //") |
---|
| 203 | popd |
---|
| 204 | |
---|
| 205 | # Anssi 2009-03 empty directory |
---|
| 206 | drivers="${drivers/lirc_cmdir /}" |
---|
| 207 | |
---|
| 208 | cat > $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<EOF |
---|
| 209 | PACKAGE_NAME="%{name}" |
---|
| 210 | PACKAGE_VERSION="%{version}-%{release}" |
---|
| 211 | MAKE[0]="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \ |
---|
| 212 | KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done" |
---|
| 213 | CLEAN="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \ |
---|
| 214 | clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done" |
---|
| 215 | AUTOINSTALL=yes |
---|
| 216 | EOF |
---|
| 217 | |
---|
| 218 | i=0 |
---|
| 219 | for module in $drivers; do |
---|
| 220 | cat >> $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<-EOF |
---|
| 221 | BUILT_MODULE_NAME[$i]="$module" |
---|
| 222 | BUILT_MODULE_LOCATION[$i]="drivers/$module" |
---|
| 223 | DEST_MODULE_LOCATION[$i]="/kernel/drivers/input/misc" |
---|
| 224 | EOF |
---|
| 225 | i=$((i+1)) |
---|
| 226 | done |
---|
| 227 | |
---|
| 228 | #for drivername in parallel gpio; do |
---|
| 229 | #cat > %{buildroot}/usr/src/%{name}-$drivername-%{version}-%{release}/dkms.conf <<EOF |
---|
| 230 | #PACKAGE_NAME="%{name}-$drivername" |
---|
| 231 | #PACKAGE_VERSION="%{version}-%{release}" |
---|
| 232 | #MAKE[0]="cd drivers/lirc_$drivername; make \ |
---|
| 233 | # KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true" |
---|
| 234 | #CLEAN="cd drivers/lirc_$drivername; make \ |
---|
| 235 | # clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true" |
---|
| 236 | #AUTOINSTALL=yes |
---|
| 237 | #BUILT_MODULE_NAME[0]="lirc_$drivername" |
---|
| 238 | #BUILT_MODULE_LOCATION[0]="drivers/lirc_$drivername" |
---|
| 239 | #DEST_MODULE_LOCATION[0]="/kernel/drivers/input/misc" |
---|
| 240 | #EOF |
---|
| 241 | # |
---|
| 242 | #done |
---|
| 243 | |
---|
| 244 | |
---|
[10628] | 245 | %pre |
---|
| 246 | getent group lirc >/dev/null || groupadd -r lirc |
---|
| 247 | getent passwd lirc >/dev/null || \ |
---|
| 248 | useradd -r -g lirc -d /var/log/lirc -s /sbin/nologin \ |
---|
| 249 | -c "LIRC daemon user, runs lircd." lirc |
---|
| 250 | usermod -a -G dialout lirc &> /dev/null || : |
---|
| 251 | usermod -a -G lock lirc &> /dev/null || : |
---|
| 252 | usermod -a -G input lirc &> /dev/null || : |
---|
| 253 | exit 0 |
---|
| 254 | |
---|
[521] | 255 | %post |
---|
| 256 | /sbin/chkconfig --add lirc |
---|
| 257 | # If we're upgrading, move config files into their new location, if need be |
---|
| 258 | if [ $1 -ge 2 ] ; then |
---|
| 259 | if [ -e %{_sysconfdir}/lircd.conf -a ! -e %{_sysconfdir}/lirc/lircd.conf ]; then |
---|
| 260 | mv %{_sysconfdir}/lircd.conf %{_sysconfdir}/lirc/lircd.conf |
---|
| 261 | fi |
---|
| 262 | if [ -e %{_sysconfdir}/lircmd.conf -a ! -e %{_sysconfdir}/lirc/lircmd.conf ]; then |
---|
| 263 | mv %{_sysconfdir}/lircmd.conf %{_sysconfdir}/lirc/lircmd.conf |
---|
| 264 | fi |
---|
| 265 | fi |
---|
| 266 | /sbin/ldconfig |
---|
| 267 | |
---|
| 268 | %preun |
---|
| 269 | if [ $1 -eq 0 ] ; then |
---|
| 270 | /sbin/service lirc stop || : |
---|
| 271 | /sbin/chkconfig --del lirc || : |
---|
| 272 | fi |
---|
| 273 | /sbin/ldconfig |
---|
| 274 | |
---|
| 275 | %postun |
---|
| 276 | if [ "$1" -ge "1" ]; then |
---|
| 277 | /sbin/service lirc condrestart || : |
---|
| 278 | fi |
---|
| 279 | |
---|
| 280 | %post -n dkms-%{name} |
---|
| 281 | dkms add -m %{name} -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 282 | dkms build -m %{name} -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 283 | dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --force || : |
---|
| 284 | |
---|
| 285 | %preun -n dkms-%{name} |
---|
| 286 | dkms remove -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --all || : |
---|
| 287 | |
---|
| 288 | #%post -n dkms-%{name}-parallel |
---|
| 289 | #dkms add -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 290 | #dkms build -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 291 | #dkms install -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --force || : |
---|
| 292 | # |
---|
| 293 | #%preun -n dkms-%{name}-parallel |
---|
| 294 | #dkms remove -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --all || : |
---|
| 295 | |
---|
| 296 | #%post -n dkms-%{name}-gpio |
---|
| 297 | #dkms add -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 298 | #dkms build -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade && |
---|
| 299 | #dkms install -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --force || : |
---|
| 300 | # |
---|
| 301 | #%preun -n dkms-%{name}-gpio |
---|
| 302 | #dkms remove -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --all || : |
---|
| 303 | |
---|
| 304 | |
---|
| 305 | %clean |
---|
| 306 | %{__rm} -rf $RPM_BUILD_ROOT |
---|
| 307 | |
---|
| 308 | |
---|
| 309 | %files |
---|
| 310 | %defattr(-, root, root) |
---|
[10628] | 311 | %license COPYING |
---|
| 312 | %doc ANNOUNCE AUTHORS ChangeLog NEWS README TODO |
---|
[521] | 313 | %doc __docs/* |
---|
| 314 | %{_initdir}/lirc |
---|
| 315 | #/etc/logrotate.d/lircd |
---|
[10628] | 316 | %dir %{_sysconfdir}/lirc |
---|
| 317 | %dir %{_sysconfdir}/lirc/lircd.conf.d |
---|
| 318 | %ghost %config(noreplace) %{_sysconfdir}/lirc/*.conf |
---|
| 319 | %ghost %config(noreplace) %{_sysconfdir}/lirc/irexec.lircrc |
---|
| 320 | %ghost %config(noreplace) %{_sysconfdir}/lirc/lircd.conf.d/* |
---|
[521] | 321 | %config(noreplace) %{_sysconfdir}/sysconfig/lirc |
---|
| 322 | %{_bindir}/* |
---|
| 323 | %{_sbindir}/* |
---|
[10628] | 324 | %{_libdir}/*.so.* |
---|
| 325 | %{_libdir}/lirc |
---|
[521] | 326 | %{_datadir}/lirc/ |
---|
[10628] | 327 | %{_docdir}/lirc |
---|
[521] | 328 | %{_mandir}/man?/* |
---|
[10628] | 329 | %{_localstatedir}/lib/lirc |
---|
| 330 | %{_udevrulesdir}/* |
---|
| 331 | %{python3_sitelib}/lirc |
---|
[521] | 332 | |
---|
[10628] | 333 | %files devel |
---|
| 334 | %{_includedir}/lirc/ |
---|
| 335 | %{_includedir}/*.h |
---|
| 336 | %{_libdir}/*.so |
---|
| 337 | %{_libdir}/pkgconfig/*.pc |
---|
| 338 | |
---|
[521] | 339 | %files -n dkms-%{name} |
---|
| 340 | %defattr(-,root,root) |
---|
| 341 | /usr/src/%{name}-%{version}-%{release} |
---|
| 342 | |
---|
| 343 | #%files -n dkms-%{name}-parallel |
---|
| 344 | #%defattr(-,root,root) |
---|
| 345 | #/usr/src/%{name}-parallel-%{version}-%{release} |
---|
| 346 | |
---|
| 347 | #%files -n dkms-%{name}-gpio |
---|
| 348 | #%defattr(-,root,root) |
---|
| 349 | #/usr/src/%{name}-gpio-%{version}-%{release} |
---|
| 350 | |
---|
| 351 | |
---|
| 352 | %changelog |
---|
[10628] | 353 | * Sat Jul 16 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.9.4-1 |
---|
| 354 | - updated to 0.9.4. |
---|
| 355 | - dropped Patch0. |
---|
| 356 | - added a subpackage: lirc-devel. |
---|
| 357 | |
---|
[8067] | 358 | * Fri Dec 27 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.9.0-1 |
---|
| 359 | - update to 0.9.0 |
---|
| 360 | - remove Patch1 (lirc-0.8.6-standardized-remote-keycodes.patch) |
---|
| 361 | - remove Patch2 (lirc-0.8.4-make-remote-names-all-unique.patch) |
---|
| 362 | - remove Patch100 (lirc-0.8.7-mceusb-GV-MC7_RCKIT.patch) |
---|
| 363 | |
---|
[2092] | 364 | * Sun Oct 17 2010 Kazutaka HARADA <kazutaka@vinelinux.org> 0.8.7-1 |
---|
| 365 | - new upstream release |
---|
| 366 | - update Patch1, 2 and 100 |
---|
| 367 | - drop Patch3 (already merged by upstream) |
---|
| 368 | |
---|
[521] | 369 | * Fri Feb 05 2010 Shu KONNO <owa@bg.wakwak.com> 0.8.6-3 |
---|
| 370 | - rebuilt with python-2.6.4-3 |
---|
| 371 | |
---|
| 372 | * Wed Dec 23 2009 Kazutaka HARADA <kazutaka@vinelinux.org> 0.8.6-2 |
---|
| 373 | - add Patch3 to fix compilation error against kernel-2.6.32 |
---|
| 374 | |
---|
| 375 | * Sat Nov 14 2009 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 0.8.6-1 |
---|
| 376 | - new upstream release |
---|
| 377 | - drop obsolete patches |
---|
| 378 | - add new patches and configuration files from fedora package |
---|
| 379 | - rewrite spec |
---|
| 380 | - add dkms-lirc sub packages refer to mandriva package |
---|
| 381 | (but we don't build lirc-paralle and lirc-gpio sub packages) |
---|
| 382 | |
---|
| 383 | * Sat Aug 09 2008 Shu KONNO <owa@bg.wakwak.com> 0.6.5-1vl5 |
---|
| 384 | - added lirc-0.6.5-config.patch for x86_64 |
---|
| 385 | - applied new versioning policy |
---|
| 386 | - spec in utf-8 |
---|
| 387 | |
---|
| 388 | * Mon Feb 16 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.5-0vl1 |
---|
| 389 | - initial build for Vine Linux |
---|
| 390 | |
---|