bin/pkgdups: now with a UI frontend

Calling ../../bin/pkgdups with a bunch of pkglists was messy,
so is done algorithmically from now on while in pkg.in/lists:

  make pkgdups
This commit is contained in:
Michael Shigorin 2012-04-10 20:08:22 +04:00
parent 865f4c7614
commit 8576a1655b
3 changed files with 18 additions and 4 deletions

View File

@ -25,6 +25,9 @@ define grepper_body
done done
endef endef
%:
$(error BUILDDIR not defined)
else else
include $(BUILDDIR)/distcfg.mk include $(BUILDDIR)/distcfg.mk

View File

@ -2,8 +2,17 @@
# (and only those!) over to $(BUILDDIR) # (and only those!) over to $(BUILDDIR)
ifndef BUILDDIR ifndef BUILDDIR
pkgdups:
@find -type f ! -name README ! -name Makefile \
| grep -v '~$$' \
| sed 's,^\./,,g' \
| xargs ../../bin/pkgdups
%:
$(error BUILDDIR not defined) $(error BUILDDIR not defined)
endif
else
include $(BUILDDIR)/distcfg.mk include $(BUILDDIR)/distcfg.mk
SUFFIX := pkg/lists SUFFIX := pkg/lists
@ -46,6 +55,7 @@ endef
dump-PACKAGES = $(call dump-THEM,$(1),PACKAGES,echo) dump-PACKAGES = $(call dump-THEM,$(1),PACKAGES,echo)
dump-LISTS = $(call dump-THEM,$(1),LISTS,cat) dump-LISTS = $(call dump-THEM,$(1),LISTS,cat)
# BASE_PACKAGES, BASE_LISTS and whatever else goes into base install
dot-base: dot-base:
@# construct .base packagelist for alterator-pkg @# construct .base packagelist for alterator-pkg
@{ \ @{ \
@ -64,3 +74,5 @@ debug:
$(filter %_LISTS,$(sort $(.VARIABLES))), \ $(filter %_LISTS,$(sort $(.VARIABLES))), \
$(if $(filter environment% file,$(origin $V)),\ $(if $(filter environment% file,$(origin $V)),\
$(shell echo '\\n"**"' $V: $(value $V)))) '\n' $(shell echo '\\n"**"' $V: $(value $V)))) '\n'
endif

View File

@ -9,8 +9,7 @@
Подкаталог tagged/ содержит тегированные списки, имена которых Подкаталог tagged/ содержит тегированные списки, имена которых
удобно получать функцией tags() (см. ../../lib/functions.mk). удобно получать функцией tags() (см. ../../lib/functions.mk).
Для выявления дубликатов в составе списков служит запускаемый Для выявления дубликатов в составе списков служит `make pkgdups';
с указанием перечня анализируемых файлов скрипт ../../bin/pkgdups;
пытаться избежать дублей на 100% скорее бесполезно, но бродячие пытаться избежать дублей на 100% скорее бесполезно, но бродячие
устойчивые группы пакетов могут заслуживать выделения отдельным устойчивые группы пакетов могут заслуживать выделения отдельным
списком. списком.