Re: [Rpm-maint] [rpm-software-management/rpm] Year 2038 plan for rpm (#1084)

2020-02-26 Thread ニール・ゴンパ
> One tempting possibility would be jumping to 64bit values across the board 
> and declare new major version with that...

I think it'd be a good impetus to examine the rpm format and start making 
changes to it to make a better package format for said new major version. I 
think there's definitely other warts we could address as a whole and improve 
for the rpm ecosystem (and potentially all package management), and this could 
be the avenue in which we could start exploring it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1084#issuecomment-591802044___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement build system templating in spec files (#1087)

2020-02-26 Thread Jason Tibbitts
Wow, this is quite interesting and somewhat similar to things I've brainstormed 
about for a number of years now  I think that this has the possibility to 
simplify packaging for a significant portion of at least the Fedora packaging 
set.

However, one problem we've struggled with is that when you hide too much, it 
becomes difficult for people to understand what to do when a package doesn't 
fit the mold.  Would it be possible for this to simply define defaults for 
%build or %install or whatnot which would be used if those sections aren't 
present in the specfile?  That way it would be simpler to handle that one 
package that needs a file removed after %make_install without having to 
completely switch away from using the templates.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1087#issuecomment-591587210___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] %patch from not the start of the line does not work (#1088)

2020-02-26 Thread mikhailnov
Example piece of code in `%prep`

```
( cd asedriveiiie-usb
  %patch1 -p1
)
```

Result:
```
DEBUG: + cd asedriveiiie-usb
DEBUG: + %patch1 -p1
DEBUG: BUILDSTDERR: /var/tmp/rpm-tmp.A0WUoX: line 45: fg: no job control
```

But it works in rpm5. I had to put `%patch1` to the beginning of the line to 
make it work in rpm 4.15.1.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1088___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Introduce a new qualifier for meta dependencies (RhBug:1648721) (#1028)

2020-02-26 Thread Florian Festi
Ok, renamed macro, re-ordered, squashed.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1028#issuecomment-591464804___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Weak dependencies do not allow qualifiers (#624)

2020-02-26 Thread Panu Matilainen
Reopened #624.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/624#event-3073906001___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Weak dependencies do not allow qualifiers (#624)

2020-02-26 Thread Panu Matilainen
Erm, though this was already merged but the PR is still open afterall, 
reopening for the time being.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/624#issuecomment-591448219___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Introduce a new qualifier for meta dependencies (RhBug:1648721) (#1028)

2020-02-26 Thread Panu Matilainen
I'm fine with the change as such, I just can't help finding 
reqIgnoreIfInstalled() jarring as a name because it's so different from all the 
other things that are however tightly related. Consistency is good, even if the 
original names might not be that great. How about isTransientReq()?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1028#issuecomment-591439371___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Introduce a new qualifier for meta dependencies (RhBug:1648721) (#1028)

2020-02-26 Thread Florian Festi
Ok, these patches still need to be reordered. The 
https://github.com/rpm-software-management/rpm/pull/1028/commits/8c26fe84298ec922a4040a6a9c65ed2c73c39739
 first and the last one 
(https://github.com/rpm-software-management/rpm/pull/1028/commits/2edc57ff1c1c40e6fa3ad3167e96965f567a7ddf)
 needs to be merged into the RPMSENSE_META patch 
(https://github.com/rpm-software-management/rpm/pull/1028/commits/b3b2cbabbf737eb175deca8377941ab1b8107286).
 I will do that as soon as this patch set has the green light.

With these patches the RPMSENSE_META should behave as described above even when 
mixed with other qualifiers: Don't enforce ordering but be taken into account 
even when already installed.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1028#issuecomment-591424559___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Introduce a new qualifier for meta dependencies (RhBug:1648721) (#1028)

2020-02-26 Thread Florian Festi
@ffesti pushed 2 commits.

8c26fe84298ec922a4040a6a9c65ed2c73c39739  Add reqIgnoreIfInstalled macro
2edc57ff1c1c40e6fa3ad3167e96965f567a7ddf  Update reqIgnoreIfInstalled to take 
RPMSENSE_META into account


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1028/files/b3b2cbabbf737eb175deca8377941ab1b8107286..2edc57ff1c1c40e6fa3ad3167e96965f567a7ddf
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Panu Matilainen
Now with a custom match function. Lets see what I managed to mess up this 
time...

/me notes that our test-suite coverage of this stuff is not really adequate for 
all these special cases.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591418889___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Add a separate spec section for build configuration (#1086)

2020-02-26 Thread Panu Matilainen
I'd prefer something shorter and simpler. %config is only special inside %files 
so that's one possibility, although best would be not having to overload 
existing directives.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1086#issuecomment-591399160___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement build system templating in spec files (#1087)

2020-02-26 Thread Panu Matilainen
The intention here is to make simple things simple while keeping arbitrary 
things possible, multiple build systems within a project falls into the 
"arbitrary" category in my books. However those cases will still benefit from 
having the macros standardized.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1087#issuecomment-591396958___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement build system templating in spec files (#1087)

2020-02-26 Thread Igor Gnatenko
Sometimes build can involve multiple buildsystems, would be nice to have that 
covered.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1087#issuecomment-591395728___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Add a separate spec section for build configuration (#1086)

2020-02-26 Thread Igor Gnatenko
Fully agree, what about `%build_prep` or `%configure_build`?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1086#issuecomment-591395395___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Panu Matilainen
Argh, I totally missed the characters vs bytes distinction.
Maybe it is easiest to just add a custom match afterall :roll_eyes:

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591390503___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Add a --salvagedb option to the rpmdb tool (#1042)

2020-02-26 Thread Michael Schroeder
Oh, I'm sorry. I forgot about that commit message change you requested.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1042#issuecomment-591389159___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Michael Schroeder
Or: `SUBSTR(key,1,LENGTH('%q')) = '%q'`

But it's also a bit unsafe to assume that `strlen(key) == keylen`. (OTOH the 
prefix iterator is currently not exposed and for rpm's usage the length 
matches).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591386443___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Implement build system templating in spec files (#1087)

2020-02-26 Thread Panu Matilainen
Vast majority of software projects use a common, known build system where the 
steps to build and install only differ by configuration details. In rpm itself 
we have common macros for autotools-based projects (%configure, %make_build, 
%make_install), and distros have added macros to do the same for various other 
build systems, including language-specific ecosystems. These simplify life 
greatly but packagers still need to fill in specs with this redundant 
boilerplate for each and every project, that boilerplate just has to go away in 
the common case.

We should implement means to fill up the boilerplate by simply defining the 
project build system type, eg "Buildsystem: autotools". This would 
automatically populate the relevant sections with content defined in 
"autotools" configuration except where a section is already defined by the 
spec. Specifying an unknown build system would return an explicit error, ie the 
build systems would be "registered" by dropping a file in a known location 
rather than just macros defined wherever. 

Actual build and install steps are common for all well-behaved packages, but 
configuration often has project-specific values so while a default 
configuration should be supplied, it needs be easy to override without 
reverting to all-manual spec foo. Hence we need at least #1086 for this.

Similarly there's often a need for some more or less minor tweaks to upstream 
build/install process, this must not require reverting to manually redefining 
all that. So I suppose we need pre- and post-section scripts, eg %build(post) 
where such manual tweaks can be placed.

Finally, there are multiple levels of possible default templates: %clean is 
rather universal and we already supply a default for that as a special case, 
and similarly %prep could quite univerally default to %autosetup -p1. Both 
should be overridable by buildsystem specifics though.

As an more practical example, here's an excerpt from a typical autotools 
project :
```
%prep
%autosetup

%build
%configure
%make_build

%install
%make_install
```
All that would simply become:
```
BuildSystem: autotools"
```
This would be defined by eg /usr/lib/rpm/buildsystem/autotools file contents 
which could be just a macro file looking somewhat like this:
```
%__autotools_configure\
%configure

%__autotools_build\
%make_build\

%__autotools_install\
%make_install
```
...and eg cmake definition would only really differ from that on the configure 
section. Python etc would use their own macros as distros have defined. This 
would also serve as an API to which the various language-specific build systems 
etc can be developed for so the definitions are cross-distro shareable.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1087___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Michael Schroeder
You could use `INSTR(key, '%q') = 1` but that may be a too slow.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591368866___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Add a separate spec section for build configuration (#1086)

2020-02-26 Thread Panu Matilainen
Configuring the sources (eg ./configure or cmake) is really a distinct step 
which is very unlike the actual build, in that the actual build steps are 
generally equal for all projects using a given build system, but configuration 
differs greatly once you go beyond the default paths and the like.

This is essentially a pre-requisite for implementing build system templating in 
spec files.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/1086___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Michael Schroeder
Do we still need that length comparison then?

Also, the sqlite documentation says that for text string the length is UTF8 
characters, not bytes. So this might not work correctly for non-ASCII.

Oh, that's also true for the LENGTH function, it returns characters not bytes. 
I.e. the original code is also incorrect.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591364610___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Add a --salvagedb option to the rpmdb tool (#1042)

2020-02-26 Thread Panu Matilainen
Merged #1042 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1042#event-3073151509___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Panu Matilainen
@pmatilai pushed 1 commit.

18a2fceea5adc7ba9c71b6e6e7435c33237ef354  Use uppercase for SQL(ite) keywords 
consistently, cosmetics only


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085/files/271529072bdcb132b90201687cd8dc4a77294970..18a2fceea5adc7ba9c71b6e6e7435c33237ef354
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Panu Matilainen
And yeah. I *knew* I was missing something painfully obvious here. Just how 
hard can it be...? :joy:

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085#issuecomment-591361240___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Fix prefix match searches on strings containing % on sqlite backend (#1085)

2020-02-26 Thread Panu Matilainen
SQL LIKE is a quirky thing when you only really want exact matches
on a substring. Which begs the question, if we want exact matches on
substring then why not do just that? Why not, indeed. This avoids
escaping madness and the need to use custom extensions for such
a mundane, trivial thing.

Fixes: #1018
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/1085

-- Commit Summary --

  * Fix prefix match searches on strings containing % on sqlite backend

-- File Changes --

M lib/backend/sqlite.c (4)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/1085.patch
https://github.com/rpm-software-management/rpm/pull/1085.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1085
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint