Compare commits
1 Commits
Author | SHA256 | Date | |
---|---|---|---|
c06b371c0c |
BIN
7z2301-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
7z2301-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
7z2409-src.tar.xz
(Stored with Git LFS)
BIN
7z2409-src.tar.xz
(Stored with Git LFS)
Binary file not shown.
89
7zip.changes
89
7zip.changes
@@ -1,92 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Sun Dec 1 16:49:52 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
|
|
||||||
|
|
||||||
- Update to 24.09:
|
|
||||||
* The default dictionary size values for LZMA/LZMA2 compression methods
|
|
||||||
were increased
|
|
||||||
* 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5.
|
|
||||||
* APM and HFS support was improved.
|
|
||||||
* If an archive update operation uses a temporary archive folder and
|
|
||||||
the archive is moved to the destination folder, 7-Zip shows the progress of moving
|
|
||||||
the archive file, as this operation can take a long time if the archive is large.
|
|
||||||
* The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream
|
|
||||||
for extracted files from nested archives (if there is open archive inside another open
|
|
||||||
archive).
|
|
||||||
* Some bugs were fixed.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Aug 25 13:59:08 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
||||||
|
|
||||||
- update to 24.08:
|
|
||||||
* No longer write extra zero bytes after the end of the archive,
|
|
||||||
if a file included to archive cannot be compressed to a size
|
|
||||||
smaller than original
|
|
||||||
* Some optimizations for displaying file icons in 7-Zip File
|
|
||||||
Manager and in "Confirm File Replace" window.
|
|
||||||
* Some bugs were fixed
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Jun 20 15:44:47 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
|
|
||||||
|
|
||||||
- Update to 24.07:
|
|
||||||
* The bug was fixed: 7-Zip could crash for some incorrect ZSTD archives.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Jun 6 20:49:59 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
|
|
||||||
|
|
||||||
- Update to 24.06:
|
|
||||||
* The bug was fixed: 7-Zip could not unpack some ZSTD archives.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun May 26 08:50:16 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
||||||
|
|
||||||
- update to 24.05:
|
|
||||||
* New switch -myv=.. to set decoder compatibility version for
|
|
||||||
7z archive creating
|
|
||||||
* New switches -myfa and -myfd to allow or disallow the specified
|
|
||||||
filter method for 7z archive creating
|
|
||||||
* can use new RISCV filter for compression to 7z and xz archives
|
|
||||||
* can ask user permission to unpack RAR archives that require
|
|
||||||
large amount of memory
|
|
||||||
* new switch -smemx{size}g : to set allowed memory usage limit
|
|
||||||
for RAR archive unpacking.
|
|
||||||
* -y switch disables user requests and messages.
|
|
||||||
* -slmu switch : to show timestamps as UTC instead of LOCAL TIME
|
|
||||||
* support .sha256 files that use backslash path separator '\'
|
|
||||||
* can unpack ZSTD archives (.zst filename extension).
|
|
||||||
* can unpack ZIP, SquashFS and RPM archives that use ZSTD
|
|
||||||
compression method.
|
|
||||||
* support fast hash algorithm XXH64 that is used in ZSTD.
|
|
||||||
* can unpack RAR archives (that use larger than 4 GB dictionary)
|
|
||||||
created by new WinRAR 7.00.
|
|
||||||
* can unpack DMG archives that use XZ (ULMO/LZMA) compression method
|
|
||||||
* can unpack NTFS images with cluster size larger than 64 KB.
|
|
||||||
* can unpack MBR and GDP images with 4 KB sectors.
|
|
||||||
* Speed optimizations for archive unpacking: rar, cab, wim, zip, gz.
|
|
||||||
* Speed optimizations for hash caclulation: CRC-32, CRC-64, BLAKE2sp.
|
|
||||||
* Fix multivolume creation in some cases
|
|
||||||
* bug fixs
|
|
||||||
- drop fix-avx-sle.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Mar 6 12:46:58 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
||||||
|
|
||||||
- Use autosetup -c instead of manually extracting the tarball and
|
|
||||||
applying patches: allows us to eliminate the usage of deprecated
|
|
||||||
%patchN.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Jan 23 11:32:54 UTC 2024 - Danilo Spinella <danilo.spinella@suse.com>
|
|
||||||
|
|
||||||
- Fix build on SLE-15-SP6
|
|
||||||
* fix-avx-sle.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Jan 2 20:37:25 UTC 2024 - Martin Schreiner <martin.schreiner@suse.com>
|
|
||||||
|
|
||||||
- Add missing man pages for 7z / 7za / 7zr / 7zz.
|
|
||||||
This solves bsc#1204856.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jul 18 02:01:41 UTC 2023 - Linnaea Lavia <linnaea@lavia.moe>
|
Tue Jul 18 02:01:41 UTC 2023 - Linnaea Lavia <linnaea@lavia.moe>
|
||||||
|
|
||||||
|
35
7zip.spec
35
7zip.spec
@@ -1,8 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package 7zip
|
# spec file for package 7zip
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2023 SUSE LLC
|
||||||
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -17,11 +16,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define stripped_version 2409
|
%define stripped_version 2301
|
||||||
Name: 7zip
|
Name: 7zip
|
||||||
Version: 24.09
|
Version: 23.01
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Command-line file archiver with high compression ratio
|
Summary: File Archivier
|
||||||
# CPP/7zip/Compress/LzfseDecoder.cpp is under the BSD-3-Clause
|
# CPP/7zip/Compress/LzfseDecoder.cpp is under the BSD-3-Clause
|
||||||
# C/Sha1.c and C/Sha256.c are in the public domain
|
# C/Sha1.c and C/Sha256.c are in the public domain
|
||||||
License: BSD-3-Clause AND LGPL-2.1-or-later AND SUSE-Public-Domain
|
License: BSD-3-Clause AND LGPL-2.1-or-later AND SUSE-Public-Domain
|
||||||
@@ -30,28 +29,27 @@ URL: https://www.7-zip.org/
|
|||||||
Source: https://www.7-zip.org/a/7z%{stripped_version}-src.tar.xz
|
Source: https://www.7-zip.org/a/7z%{stripped_version}-src.tar.xz
|
||||||
Source1: p7zip
|
Source1: p7zip
|
||||||
Source2: p7zip.1
|
Source2: p7zip.1
|
||||||
Source3: 7zz.1
|
|
||||||
Patch0: fix-compatib-with-p7zip.patch
|
Patch0: fix-compatib-with-p7zip.patch
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
%ifarch x86_64 %ix86 %x86_64
|
||||||
|
BuildRequires: uasm
|
||||||
|
%endif
|
||||||
Conflicts: p7zip
|
Conflicts: p7zip
|
||||||
Conflicts: p7zip-full
|
Conflicts: p7zip-full
|
||||||
Provides: p7zip = %{version}
|
Provides: p7zip = %{version}
|
||||||
Provides: p7zip-full = %{version}
|
Provides: p7zip-full = %{version}
|
||||||
Obsoletes: p7zip < %{version}
|
Obsoletes: p7zip < %{version}
|
||||||
Obsoletes: p7zip-full < %{version}
|
Obsoletes: p7zip-full < %{version}
|
||||||
%ifarch x86_64 %ix86 %x86_64
|
|
||||||
BuildRequires: uasm
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the 7z command line utility for archiving and
|
This package contains the 7z command line utility for archiving and
|
||||||
extracting various formats.
|
extracting various formats.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -c
|
tar xaf %{SOURCE0}
|
||||||
|
%patch0 -p1
|
||||||
dos2unix DOC/*.txt
|
dos2unix DOC/*.txt
|
||||||
# Remove executable perms from docs
|
# Remove executable perms from docs
|
||||||
chmod -x DOC/*.txt
|
chmod -x DOC/*.txt
|
||||||
@@ -99,25 +97,16 @@ install -Dm 755 CPP/7zip/Bundles/Alone2/b/g/7zz %{buildroot}%{_bindir}/7zz
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
# Create links the executables provided by p7zip
|
||||||
# Create links for the executables provided by p7zip
|
|
||||||
ln -s %{_bindir}/7zz %{buildroot}%{_bindir}/7z
|
ln -s %{_bindir}/7zz %{buildroot}%{_bindir}/7z
|
||||||
ln -s %{_bindir}/7z %{buildroot}%{_bindir}/7za
|
ln -s %{_bindir}/7z %{buildroot}%{_bindir}/7za
|
||||||
ln -s %{_bindir}/7z %{buildroot}%{_bindir}/7zr
|
ln -s %{_bindir}/7z %{buildroot}%{_bindir}/7zr
|
||||||
|
|
||||||
# Install p7zip wrapper and its manpage
|
# Install p7zip wrapper and its manpage
|
||||||
install -m755 %{SOURCE1} %{buildroot}%{_bindir}/p7zip
|
install -m755 %{SOURCE1} %{buildroot}%{_bindir}/p7zip
|
||||||
install -m644 -Dt %{buildroot}%{_mandir}/man1 %{SOURCE2}
|
install -m644 -Dt %{buildroot}%{_mandir}/man1 %{SOURCE2}
|
||||||
# Remove a mention of the p7zip-rar package that we don't have
|
# Remove a mention of the p7zip-rar package that we don't have
|
||||||
sed -i 's/RAR (if the non-free p7zip-rar package is installed)//g' %{buildroot}%{_mandir}/man1/p7zip.1
|
sed -i 's/RAR (if the non-free p7zip-rar package is installed)//g' %{buildroot}%{_mandir}/man1/p7zip.1
|
||||||
|
|
||||||
# Install manpage for 7zz, and link 7z / 7za / 7zr accordingly
|
|
||||||
# This mimics the link structure used for the actual executables
|
|
||||||
install -m644 -Dt %{buildroot}%{_mandir}/man1 %{SOURCE3}
|
|
||||||
ln -s %{_mandir}/man1/7zz.1 %{buildroot}%{_mandir}/man1/7z.1
|
|
||||||
ln -s %{_mandir}/man1/7z.1 %{buildroot}%{_mandir}/man1/7za.1
|
|
||||||
ln -s %{_mandir}/man1/7z.1 %{buildroot}%{_mandir}/man1/7zr.1
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license DOC/copying.txt DOC/License.txt
|
%license DOC/copying.txt DOC/License.txt
|
||||||
%doc DOC/readme.txt DOC/7zC.txt DOC/Methods.txt DOC/src-history.txt
|
%doc DOC/readme.txt DOC/7zC.txt DOC/Methods.txt DOC/src-history.txt
|
||||||
@@ -127,9 +116,5 @@ ln -s %{_mandir}/man1/7z.1 %{buildroot}%{_mandir}/man1/7zr.1
|
|||||||
%{_bindir}/7zz
|
%{_bindir}/7zz
|
||||||
%{_bindir}/p7zip
|
%{_bindir}/p7zip
|
||||||
%{_mandir}/man1/p7zip.1%{?ext_man}
|
%{_mandir}/man1/p7zip.1%{?ext_man}
|
||||||
%{_mandir}/man1/7z.1%{?ext_man}
|
|
||||||
%{_mandir}/man1/7za.1%{?ext_man}
|
|
||||||
%{_mandir}/man1/7zr.1%{?ext_man}
|
|
||||||
%{_mandir}/man1/7zz.1%{?ext_man}
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
237
7zz.1
237
7zz.1
@@ -1,237 +0,0 @@
|
|||||||
.\"
|
|
||||||
.TH 7z "1" "May 2023" "22.01"
|
|
||||||
.SH NAME
|
|
||||||
7z \- 7-Zip file archiver with a high compression ratio
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.SY 7z
|
|
||||||
\fI\,command\/\fR
|
|
||||||
[\fI\,switches\/\fR\&.\|.\|.\&]
|
|
||||||
\fI\,archive_name\/\fR
|
|
||||||
[\fI\,file_names\/\fR]
|
|
||||||
[@\fI\,listfile\/\fR]
|
|
||||||
.YS
|
|
||||||
.SY 7zz
|
|
||||||
\fI\,command\/\fR
|
|
||||||
[\fI\,switches\/\fR\&.\|.\|.\&]
|
|
||||||
\fI\,archive_name\/\fR
|
|
||||||
[\fI\,file_names\/\fR]
|
|
||||||
[@\fI\,listfile\/\fR]
|
|
||||||
.YS
|
|
||||||
.SY 7za
|
|
||||||
\fI\,command\/\fR
|
|
||||||
[\fI\,switches\/\fR\&.\|.\|.\&]
|
|
||||||
\fI\,archive_name\/\fR
|
|
||||||
[\fI\,file_names\/\fR]
|
|
||||||
[@\fI\,listfile\/\fR]
|
|
||||||
.YS
|
|
||||||
.SY 7zr
|
|
||||||
\fI\,command\/\fR
|
|
||||||
[\fI\,switches\/\fR\&.\|.\|.\&]
|
|
||||||
\fI\,archive_name\/\fR
|
|
||||||
[\fI\,file_names\/\fR]
|
|
||||||
[@\fI\,listfile\/\fR]
|
|
||||||
.YS
|
|
||||||
.SH DESCRIPTION
|
|
||||||
7-Zip file archiver with a high compression ratio
|
|
||||||
.br
|
|
||||||
There are some variants for 7z executable.
|
|
||||||
.TP
|
|
||||||
7z
|
|
||||||
Full featured with plugin support
|
|
||||||
.TP
|
|
||||||
7zz
|
|
||||||
Full featured single binary executable with no plugins support
|
|
||||||
.TP
|
|
||||||
7za
|
|
||||||
Supports major formats only, no plugins, but smaller excutable size
|
|
||||||
.TP
|
|
||||||
7zr
|
|
||||||
Only supports LZMA codec and related formats (7z, lzma, xz),
|
|
||||||
no plugins, but smallest executable size
|
|
||||||
.SH OPTIONS
|
|
||||||
.SS Commands
|
|
||||||
.TP
|
|
||||||
a
|
|
||||||
Add files to archive
|
|
||||||
.TP
|
|
||||||
b
|
|
||||||
Benchmark
|
|
||||||
.TP
|
|
||||||
d
|
|
||||||
Delete files from archive
|
|
||||||
.TP
|
|
||||||
e
|
|
||||||
Extract files from archive (without using directory names)
|
|
||||||
.TP
|
|
||||||
h
|
|
||||||
Calculate hash values for files
|
|
||||||
.TP
|
|
||||||
i
|
|
||||||
Show information about supported formats
|
|
||||||
.TP
|
|
||||||
l
|
|
||||||
List contents of archive
|
|
||||||
.TP
|
|
||||||
rn
|
|
||||||
Rename files in archive
|
|
||||||
.TP
|
|
||||||
t
|
|
||||||
Test integrity of archive
|
|
||||||
.TP
|
|
||||||
u
|
|
||||||
Update files to archive
|
|
||||||
.TP
|
|
||||||
x
|
|
||||||
eXtract files with full paths
|
|
||||||
.SS Switches
|
|
||||||
.TP
|
|
||||||
\-\-
|
|
||||||
Stop switches and @\fI\,listfile\/\fR parsing
|
|
||||||
.TP
|
|
||||||
\-ai[r[\-|0]]{@\fI\,listfile\/\fR|!\fI\,wildcard\/\fR}
|
|
||||||
Include archives
|
|
||||||
.TP
|
|
||||||
\-ax[r[\-|0]]{@\fI\,listfile\/\fR|!\fI\,wildcard\/\fR}
|
|
||||||
eXclude archives
|
|
||||||
.TP
|
|
||||||
\-ao{a|s|t|u}
|
|
||||||
set Overwrite mode
|
|
||||||
.TP
|
|
||||||
\-an
|
|
||||||
disable archive_name field
|
|
||||||
.TP
|
|
||||||
\-bb[0\-3]
|
|
||||||
set output log level
|
|
||||||
.TP
|
|
||||||
\-bd
|
|
||||||
disable progress indicator
|
|
||||||
.TP
|
|
||||||
\-bs{o|e|p}{0|1|2}
|
|
||||||
set output stream for output/error/progress line
|
|
||||||
.TP
|
|
||||||
\-bt
|
|
||||||
show execution time statistics
|
|
||||||
.TP
|
|
||||||
\-i[r[\-|0]]{@\fI\,listfile\/\fR|!\fI\,wildcard\/\fR}
|
|
||||||
Include filenames
|
|
||||||
.TP
|
|
||||||
\-m{\fI\,Parameters\/\fR}
|
|
||||||
set compression Method
|
|
||||||
.RS
|
|
||||||
.TQ
|
|
||||||
\-mmt[\fI\,N\/\fR]
|
|
||||||
set number of CPU threads
|
|
||||||
.TQ
|
|
||||||
\-mx[\fI\,N\/\fR]
|
|
||||||
set compression level: \-mx1 (fastest) ... \-mx9 (ultra)
|
|
||||||
.RE
|
|
||||||
.TP
|
|
||||||
\-o{\fI\,Directory\/\fR}
|
|
||||||
set Output directory
|
|
||||||
.TP
|
|
||||||
\-p{\fI\,Password\/\fR}
|
|
||||||
set Password
|
|
||||||
.TP
|
|
||||||
\-r[\-|0]
|
|
||||||
Recurse subdirectories for name search
|
|
||||||
.TP
|
|
||||||
\-sa{a|e|s}
|
|
||||||
set Archive name mode
|
|
||||||
.TP
|
|
||||||
\-scc{UTF\-8|WIN|DOS}
|
|
||||||
set charset for for console input/output
|
|
||||||
.TP
|
|
||||||
\-scs{UTF\-8|UTF\-16LE|UTF\-16BE|WIN|DOS|{\fI\,id\/\fR}}
|
|
||||||
set charset for list files
|
|
||||||
.TP
|
|
||||||
\-scrc[CRC32|CRC64|SHA1|SHA256|*]
|
|
||||||
set hash function for \fBx\fR, \fBe\fR, \fBh\fR commands
|
|
||||||
.TP
|
|
||||||
\-sdel
|
|
||||||
delete files after compression
|
|
||||||
.TP
|
|
||||||
\-seml[.]
|
|
||||||
send archive by email
|
|
||||||
.TP
|
|
||||||
\-sfx[{\fI\,name\/\fR}]
|
|
||||||
Create SFX archive
|
|
||||||
.TP
|
|
||||||
\-si[{\fI\,name\/\fR}]
|
|
||||||
read data from stdin
|
|
||||||
.TP
|
|
||||||
\-slp
|
|
||||||
set Large Pages mode
|
|
||||||
.TP
|
|
||||||
\-slt
|
|
||||||
show technical information for \fBl\fR (List) command
|
|
||||||
.TP
|
|
||||||
\-snh
|
|
||||||
store hard links as links
|
|
||||||
.TP
|
|
||||||
\-snl
|
|
||||||
store symbolic links as links
|
|
||||||
.TP
|
|
||||||
\-sni
|
|
||||||
store NT security information
|
|
||||||
.TP
|
|
||||||
\-sns[\-]
|
|
||||||
store NTFS alternate streams
|
|
||||||
.TP
|
|
||||||
\-so
|
|
||||||
write data to stdout
|
|
||||||
.TP
|
|
||||||
\-spd
|
|
||||||
disable wildcard matching for file names
|
|
||||||
.TP
|
|
||||||
\-spe
|
|
||||||
eliminate duplication of root folder for extract command
|
|
||||||
.TP
|
|
||||||
\-spf
|
|
||||||
use fully qualified file paths
|
|
||||||
.TP
|
|
||||||
\-ssc[\-]
|
|
||||||
set sensitive case mode
|
|
||||||
.TP
|
|
||||||
\-sse
|
|
||||||
stop archive creating, if it can't open some input file
|
|
||||||
.TP
|
|
||||||
\-ssp
|
|
||||||
do not change Last Access Time of source files while archiving
|
|
||||||
.TP
|
|
||||||
\-ssw
|
|
||||||
compress shared files
|
|
||||||
.TP
|
|
||||||
\-stl
|
|
||||||
set archive timestamp from the most recently modified file
|
|
||||||
.TP
|
|
||||||
\-stm{\fI\,HexMask\/\fR}
|
|
||||||
set CPU thread affinity mask (hexadecimal number)
|
|
||||||
.TP
|
|
||||||
\-stx{\fI\,Type\/\fR}
|
|
||||||
exclude archive type
|
|
||||||
.TP
|
|
||||||
\-t{\fI\,Type\/\fR}
|
|
||||||
Set type of archive
|
|
||||||
.TP
|
|
||||||
\-u[\-][p\fI\,#\/\fR][q\fI\,#\/\fR][r\fI\,#\/\fR][x\fI\,#\/\fR][y\fI\,#\/\fR][z\fI\,#\/\fR][!\fI\,newArchiveName\/\fR]
|
|
||||||
Update options
|
|
||||||
.TP
|
|
||||||
\-v{\fI\,Size\/\fR}[b|k|m|g]
|
|
||||||
Create volumes
|
|
||||||
.TP
|
|
||||||
\-w[{\fI\,path\/\fR}]
|
|
||||||
assign Work directory. Empty path means a temporary directory
|
|
||||||
.TP
|
|
||||||
\-x[r[\-|0]]{@\fI\,listfile\/\fR|!\fI\,wildcard\/\fR}
|
|
||||||
eXclude filenames
|
|
||||||
.TP
|
|
||||||
\-y
|
|
||||||
assume Yes on all queries
|
|
||||||
.SH SEE ALSO
|
|
||||||
7-Zip
|
|
||||||
.UR https://\:www.7-zip.org/
|
|
||||||
.UE
|
|
||||||
.SH COPYRIGHT
|
|
||||||
Copyright \(co 1999\-2023 Igor Pavlov.
|
|
||||||
.br
|
|
||||||
Distributed under the LGPL-2.1+ license.
|
|
Reference in New Issue
Block a user