aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2000-03-31 14:41:03 +0000
committerPascal Rigaux <pixel@mandriva.com>2000-03-31 14:41:03 +0000
commit0e00ea5201dc638344db1c2200070cda150a4d40 (patch)
tree50ddafab262a7658f970e0daf9d26bfc4697483a
parent4a4469e87a3a3098cb4d9f54debac141dac48aff (diff)
downloadrpmtools-0e00ea5201dc638344db1c2200070cda150a4d40.tar
rpmtools-0e00ea5201dc638344db1c2200070cda150a4d40.tar.gz
rpmtools-0e00ea5201dc638344db1c2200070cda150a4d40.tar.bz2
rpmtools-0e00ea5201dc638344db1c2200070cda150a4d40.tar.xz
rpmtools-0e00ea5201dc638344db1c2200070cda150a4d40.zip
no_comment
-rw-r--r--gendepslist2.cc2
-rw-r--r--hdlist2groups.cc44
-rw-r--r--rpmtools.spec5
3 files changed, 49 insertions, 2 deletions
diff --git a/gendepslist2.cc b/gendepslist2.cc
index 9709991..dee1a65 100644
--- a/gendepslist2.cc
+++ b/gendepslist2.cc
@@ -164,7 +164,6 @@ void getRequires(FD_t fd, int current_hdlist) {
hdlist2names[current_hdlist].insert(name);
sizes[name] = get_int(header, RPMTAG_SIZE);
- if (in(s_name, provided_by)) provided_by[s_name].push_back(name);
for (ITv p = l.begin(); p != l.end(); p++) {
((*p)[0] == '/' ? frequires : requires)[name].push_back(*p);
((*p)[0] == '/' ? all_frequires : all_requires).insert(*p);
@@ -182,6 +181,7 @@ void getProvides(FD_t fd, int current_hdlist) {
string s_name = get_name(header, RPMTAG_NAME);
string name = s_name + "-" + get_name(header, RPMTAG_VERSION) + "-" + get_name(header, RPMTAG_RELEASE);
+ if (in(s_name, provided_by)) provided_by[s_name].push_back(name);
vector<string> provides = get_info(header, RPMTAG_PROVIDES);
for (ITv p = provides.begin(); p != provides.end(); p++)
diff --git a/hdlist2groups.cc b/hdlist2groups.cc
new file mode 100644
index 0000000..55e53ac
--- /dev/null
+++ b/hdlist2groups.cc
@@ -0,0 +1,44 @@
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <rpm/rpmlib.h>
+#include <rpm/header.h>
+#include <iostream>
+
+
+char *get_name(Header header, int_32 tag) {
+ int_32 type, count;
+ char *name;
+
+ headerGetEntry(header, tag, &type, (void **) &name, &count);
+ return name;
+}
+
+int get_int(Header header, int_32 tag) {
+ int_32 type, count;
+ int *i;
+
+ headerGetEntry(header, tag, &type, (void **) &i, &count);
+ return *i;
+}
+
+int main(int argc, char **argv)
+{
+ if (argc <= 1) {
+ cerr << "usage: hdlist2groups <hdlist> [<hdlists...>]\n";
+ exit(1);
+ }
+ for (int i = 1; i < argc; i++) {
+ FD_t fd = strcmp(argv[i], "-") == 0 ? fdDup(STDIN_FILENO) : fdOpen(argv[i], O_RDONLY, 0);
+ if (fdFileno(fd) < 0) cerr << "hdlist2groups: cannot open file " << argv[i] << "\n";
+ else {
+ Header header;
+ while ((header=headerRead(fd, HEADER_MAGIC_YES))) {
+ printf("%s:%s\n",
+ get_name(header, RPMTAG_NAME),
+ get_name(header, RPMTAG_GROUP));
+ }
+ }
+ fdClose(fd);
+ }
+}
diff --git a/rpmtools.spec b/rpmtools.spec
index 1b422e4..e55df9a 100644
--- a/rpmtools.spec
+++ b/rpmtools.spec
@@ -1,5 +1,5 @@
%define name rpmtools
-%define release 14mdk
+%define release 15mdk
# do not modify here, see Makefile in the CVS
%define version 1.1
@@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/genfilelist
%changelog
+* Tue Mar 28 2000 Pixel <pixel@mandrakesoft.com> 1.1-15mdk
+- fix silly bug
+
* Fri Mar 31 2000 François PONS <fpons@mandrakesoft.com> 1.1-14mdk
- add genfilelist