Commit Graph

1171 Commits

Author SHA1 Message Date
Alexey Tourbin
f3ae56f2c7 doc/manual: various spelling corrections (jbj) 2008-06-04 14:02:56 +04:00
Alexey Tourbin
6fab850d5e s/relocateable/relocatable/ (jbj) 2008-06-04 13:54:36 +04:00
Alexey Tourbin
d7dbd5f2ff find-{provides,requires,scriptlet-requires}: report method failures 2008-06-04 03:26:23 +04:00
Alexey Tourbin
c5e957a3b3 lib/transaction.c (handleInstInstalledFiles): fixed RPMFILE_CONFIG bug 2008-06-04 03:21:04 +04:00
Alexey Tourbin
4a557675fc Merge branch 'altlinux-4.0' 2008-05-30 22:25:55 +04:00
Alexey Tourbin
52b2499aff rpmio.c: implemented cpio hints for rsyncable_gzwrite() 2008-05-30 22:23:16 +04:00
Alexey Tourbin
8d5e355e06 rpmio.c: deal with partial rsyncable_gzwrite() return 2008-05-30 20:09:17 +04:00
Alexey Tourbin
f7b5ee1e80 rpmio.c: implemented rscynable_gzwrite() 2008-05-30 20:08:14 +04:00
Alexey Tourbin
c761902bcb rpmio.c: introduced rpmGZFILE wrapper for gzdio 2008-05-30 20:05:08 +04:00
Alexey Tourbin
dbfaf59314 scripts/rpm2cpio.sh: deal with decompressors 2008-05-24 20:24:39 +04:00
Alexey Tourbin
6f575ecded spec: _binary_payload w9.gzdio 2008-05-24 13:58:47 +04:00
Panu Matilainen
86679b599f Plug a memleak in lzclose() 2008-05-24 13:48:14 +04:00
Alexey Tourbin
9814453966 backported LZMA payload compression from SuSE 2008-05-24 13:47:41 +04:00
Alexey Tourbin
fdca55d311 spec: workaround config.rpath problem
(cherry picked from commit d78d0be4fd)
2008-05-24 12:28:57 +04:00
Alexey Tourbin
1f439402e0 lib/transaction.c (filecmp): require st_mode and uid/gid match for overlapping files; do not require md5 match for %ghost files 2008-05-14 07:26:15 +04:00
Alexey Tourbin
3a5f6ded0a build/files.c (isDoc): rewrite 2008-05-13 03:03:26 +04:00
Panu Matilainen
cb7e8900d4 Make docdir checking stricter (rhbz#246819) 2008-05-13 02:51:23 +04:00
Alexey Tourbin
fb5f3e4c88 lib/depends.c: adjust provides check for versioned paths 2008-05-12 22:23:45 +04:00
Alexey Tourbin
3dff3cd285 build/parseReqs.c: allow versioned path-like dependencies 2008-05-12 22:11:25 +04:00
Alexey Tourbin
cfbf60d59c build/files.c: added /usr/share/gtk-doc/html to hardcoded docDirs list 2008-05-10 04:46:58 +04:00
Alexey Tourbin
8f885bb319 platform.in(%_fixperms): use 'chmod -c' 2008-05-05 03:13:11 +04:00
Alexey Tourbin
d15afa10bf rpmpopt.in (--setperms, --setugids): use 'chmod -c' and 'chown -c -h' 2008-05-05 03:10:06 +04:00
Alexey Tourbin
d1aea84b93 scripts: use 'chmod -c' 2008-05-05 02:36:14 +04:00
Mikhail Gusarov
dda9979823 Removing .cvsignore files during brp-cleanup as well. 2008-04-10 00:48:26 +07:00
7870fe7dc5 4.0.4-alt92
- shebang.req: Do not read the whole script (Alexey Tourbin).
- rpmReadPackageManifest: Fixed comments handling.
2008-04-08 15:36:51 +00:00
c56e3cf71d Merge branch 'altlinux-4.0' 2008-04-08 15:32:44 +00:00
6535b7f1cc rpmReadPackageManifest: Fix comments handling 2008-04-08 15:28:53 +00:00
Alexey Tourbin
47bd8eff65 shebang.req: don't read the whole script
$ (echo '#!/usr/bin/perl'; cat /dev/zero) |sed -n '1s|^#![[:space:]]*/|/|p;q'
/usr/bin/perl
$
2008-04-01 15:33:19 +04:00
Alexey Tourbin
b81a3b6b75 4.0.4-alt91
- build/files.c: check if the same files are packaged into a few subpackages
2008-03-31 06:30:33 +04:00
Alexey Tourbin
3bd864026e build/files.c: check if the same files are packaged into a few subpackages
$ rpm -bl util-linux.spec
...
warning: file /bin/taskset is packaged into both util-linux and schedutils
warning: file /usr/bin/chrt is packaged into both util-linux and schedutils
warning: file /usr/bin/ionice is packaged into both util-linux and schedutils
warning: file /usr/bin/taskset is packaged into both util-linux and schedutils
warning: file /usr/share/man/man1/chrt.1.gz is packaged into both util-linux and schedutils
warning: file /usr/share/man/man1/ionice.1.gz is packaged into both util-linux and schedutils
warning: file /usr/share/man/man1/taskset.1.gz is packaged into both util-linux and schedutils
$
2008-03-30 23:58:15 +04:00
Alexey Tourbin
88cad0c2a0 4.0.4-alt90
- reverted the rest of dependency optimization
- stripped redundant librpm-devel dependencies
- build/files.c: fixed a few possibilities of invalid cpio entries, including
  `dir/.*' construct in %%files section (which globs `dir/.' and `dir/..',
  and thus should not be used in specfiles)
- lib/psm.c: in syslog messages, discriminate between no epoch and zero epoch
2008-03-30 05:57:16 +04:00
Alexey Tourbin
f44d07e126 spec: mention %_tmppath in 4.0.4-alt87 changelog entry 2008-03-30 05:53:28 +04:00
Alexey Tourbin
e60ab8fa21 lib/psm.c: in syslog messages, discriminate between no epoch and zero epoch 2008-03-30 05:15:45 +04:00
Alexey Tourbin
5ec676a259 spec: librpm-devel should require only libpopt-devel 2008-03-30 04:41:55 +04:00
Alexey Tourbin
f178514e7c find-{requires,provides}: fixed %buildroot/.files:* lists for PackagedFiles() 2008-03-30 03:26:30 +04:00
Alexey Tourbin
a0e8d41006 Merge branch 'altlinux-4.0' 2008-03-30 03:00:44 +04:00
Alexey Tourbin
0c38145bf9 files.c (addFile): check that each intermediate path component is directory (not symlink)
%install
install -pD /dev/null %buildroot/etc/rc.d/init.d/functions
ln -s rc.d/init.d %buildroot/etc/init.d
%files
/etc/init.d/functions
/etc/init.d

Old behaviour:
lrwxrwxrwx    1 root    root               11 Mar 26 01:15 /etc/init.d -> rc.d/init.d
-rwxr-xr-x    1 root    root                0 Mar 20 18:50 /etc/init.d/functions

New behaviour:
error: File path component must be directory (/tmp/.private/at/test-buildroot/etc/init.d): /tmp/.private/at/test-buildroot/etc/init.d/functions
2008-03-30 01:56:31 +03:00
Alexey Tourbin
14762e9fa9 files.c (addFile): file path must be canonical (new function pathIsCanonical)
This fixes invalid cpio entries for `/dir/.*' constructs.
Consider this:

%install
install -pD /dev/null %buildroot/root/.bashrc
%files
/root/.*

Old behaviour:
$ rpm -qlvp /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
drwxr-xr-x    2 root    root                0 Mar 30 01:47 /root/.
drwxr-xr-x    2 root    root                0 Mar 30 01:47 /root/..
drwxr-xr-x    2 root    root                0 Mar 30 01:47 /root/../root
-rwxr-xr-x    1 root    root                0 Mar 29 16:51 /root/../root/.bashrc
-rwxr-xr-x    1 root    root                0 Mar 29 16:51 /root/./.bashrc
-rwxr-xr-x    1 root    root                0 Mar 29 16:51 /root/.bashrc
$

New behaviour:
$ LD_LIBRARY_PATH=... rpm -bi test.spec
...
Processing files: test-1.0-alt1
error: File path must be canonical: /root/.
error: File path must be canonical: /root/..

RPM build errors:
    File path must be canonical: /root/.
    File path must be canonical: /root/..
$

The problem here is that glob(3) `dir/.*' globs both '.' and '..'.
It is not clear whether or not glob(3) should glob '.' and '..'.

$ bash -c 'echo /var/empty/.*'
/var/empty/. /var/empty/..
$ ksh -c 'echo /var/empty/.*'
/var/empty/.*
$
2008-03-30 01:53:27 +03:00
Alexey Tourbin
bbcc1b2fe2 files.c (addFile): reassure that file path starts with '/' 2008-03-25 04:40:21 +03:00
Alexey Tourbin
b842bf5b4a files.c (addFile): file path must match buildroot
Sample %files section:

%files
/../gcc-common-buildroot

Old behaviour:
$ rpm -bb test.spec
...
Wrote: /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
$ rpm -qlvp /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm |head
drwxr-xr-x    2 root    root                0 Mar 22 22:20 ldroot
-rw-r--r--    1 root    root               73 Mar 22 22:20 ldroot/.files:gcc-c++-common
-rw-r--r--    1 root    root              508 Mar 22 22:20 ldroot/.files:gcc-common
-rw-r--r--    1 root    root              147 Mar 22 22:20 ldroot/.files:gcc-fortran-common
-rw-r--r--    1 root    root              348 Mar 22 22:20 ldroot/.files:gcc-java-common
-rw-r--r--    1 root    root               66 Mar 22 22:20 ldroot/.files:gcc-treelang-common
-rw-r--r--    1 root    root              117 Mar 22 22:20 ldroot/.files:libgcj-common
-rwxr-xr-x    1 root    root               80 Mar 22 22:20 ldroot/.post:gcc-common
-rwxr-xr-x    1 root    root              124 Mar 22 22:20 ldroot/.preun:gcc-common
drwxr-xr-x    2 root    root                0 Mar 22 22:20 ldroot/etc
$

New behaviour:
$ LD_LIBRARY_PATH=... rpm -bl test.spec
Processing files: test-1.0-alt1
error: File doesn't match buildroot (/tmp/.private/at/test-buildroot): /tmp/.private/at/gcc-common-buildroot

RPM build errors:
    File doesn't match buildroot (/tmp/.private/at/test-buildroot): /tmp/.private/at/gcc-common-buildroot
$
2008-03-25 04:09:52 +03:00
Alexey Tourbin
845a750521 spec: removed 'BuildConflicts: rpm-devel' (checked with buildreq) 2008-03-25 03:27:37 +03:00
Alexey Tourbin
c0e8d34d90 spec: buildreq 2008-03-25 03:27:14 +03:00
Alexey Tourbin
eb301af2f4 lib.req: do not optimize dependencies on standard ELF interpreter 2008-03-17 21:07:06 +03:00
Alexey Tourbin
d1ff200f04 Revert "build/parseScript.c: opitimize out RPMSENSE_INTERP dependencies on /bin/sh"
/bin/sh dependency is still there, because scriptlets are written
with "!#/bin/sh" first line, and bulk dependency optimization was
removed.  However, having RPMSENSE_INTERP flag is still good idea --
maybe rpm can check that RPMSENSE_INTERP file is actually X_OK
or something.

This reverts commit 5224b77cbd.
2008-03-17 20:58:55 +03:00
f4371cc2a2 4.0.4-alt89
- platform.in: Changed several macro definitions to avoid extra
  autodependencies when used in shell scripts.
2008-03-03 17:40:38 +00:00
4c946a678d platform.in: Rewrite macros to avoid extra dependencies
Changed %update_menus, %clean_menus, %update_wms, %clean_wms,
%update_scrollkeeper, %clean_scrollkeeper macros definitions
to avoid extra autodependencies when used in shell scripts.
2008-03-03 17:39:04 +00:00
04fdf89aa4 4.0.4-alt88
- verify-elf: According to information from Kirill Shutemov,
  PIE executables on ARM always contain TEXTREL, so do not check them.
- find-package: Removed bulk dependencies optimization
  introduced in previous release.
- scripts: Replaced redundant paths to basic programs
  with program names.
2008-02-29 12:30:30 +00:00
f1ed4d2bdd scripts: Replace paths to basic programs with their names
Absolute pathnames in shell scripts are redundant, $PATH is enough.
2008-02-29 12:30:29 +00:00
0ecfddcdcd Reduce macro abuse in %pre and %post scripts 2008-02-29 12:30:18 +00:00
10a67f5ef4 Revert "find-package (FindByPath): optimize out /bin/sh /bin/cat etc."
This reverts commit 54e8a1cff1.
2008-02-27 15:08:12 +00:00