diff options
author | Rosen Penev <rosenp@gmail.com> | 2020-06-23 15:02:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-23 15:02:37 -0700 |
commit | 8873f055d4a1fb58e0ee6b73130c08fbeb3d19e9 (patch) | |
tree | bdbbb7e57bed0eca830dfad010ff029f60beb5b3 | |
parent | 9c772c136bc6fdd4f047db7d3391087293fd2762 (diff) | |
parent | adf9c249498fe526e2d6afd19bf7985f116c8531 (diff) |
Merge pull request #12577 from neheb/shado
added libxcrypt and used for shadow-utils
-rw-r--r-- | libs/libxcrypt/Makefile | 55 | ||||
-rw-r--r-- | utils/shadow/Makefile | 16 |
2 files changed, 61 insertions, 10 deletions
diff --git a/libs/libxcrypt/Makefile b/libs/libxcrypt/Makefile new file mode 100644 index 000000000..acfde2f08 --- /dev/null +++ b/libs/libxcrypt/Makefile @@ -0,0 +1,55 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=libxcrypt +PKG_VERSION:=4.4.16 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/besser82/libxcrypt/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=a98f65b8baffa2b5ba68ee53c10c0a328166ef4116bce3baece190c8ce01f375 + +PKG_MAINTAINER:= +PKG_LICENSE:=LGPL-2.1-or-later +PKG_LICENSE_FILES:=COPYING.LIB + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libxcrypt + SECTION:=libs + CATEGORY:=Libraries + URL:=https://github.com/besser82/libxcrypt + TITLE:=Extended crypt library + BUILDONLY:=1 +endef + +define Package/libxcrypt/description + libxcrypt is a modern library for one-way hashing of passwords. It supports + a wide variety of both modern and historical hashing methods: yescrypt, + gost-yescrypt, scrypt, bcrypt, sha512crypt, sha256crypt, md5crypt, SunMD5, + sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt. It provides the traditional + Unix crypt and crypt_r interfaces, as well as a set of extended interfaces + pioneered by Openwall Linux, crypt_rn, crypt_ra, crypt_gensalt, + crypt_gensalt_rn, and crypt_gensalt_ra. +endef + +CONFIGURE_ARGS += \ + --disable-shared \ + --disable-failure-tokens \ + --disable-xcrypt-compat-files \ + --disable-obsolete-api \ + --enable-hashes=solaris + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib/libxcrypt + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrypt.{a,la} $(1)/usr/lib/libxcrypt + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*crypt.pc $(1)/usr/lib/pkgconfig/ +endef + +$(eval $(call BuildPackage,libxcrypt)) diff --git a/utils/shadow/Makefile b/utils/shadow/Makefile index 05ae5ee00..ab2ba224b 100644 --- a/utils/shadow/Makefile +++ b/utils/shadow/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shadow PKG_VERSION:=4.8.1 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/shadow-maint/shadow/releases/download/$(PKG_VERSION) @@ -22,6 +22,7 @@ PKG_CPE_ID:=cpe:/a:debian:shadow PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=libxcrypt include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk @@ -41,7 +42,7 @@ CONFIGURE_ARGS += \ --without-attr \ --without-tcb \ --without-nscd \ - --with$(if $(CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK),,out)-bcrypt + --with-bcrypt CONFIGURE_VARS += \ ac_cv_func_ruserok=no @@ -124,19 +125,14 @@ define Package/shadow-common/conffiles /etc/login.defs endef +#hack to get libxcrypt working +TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib/libxcrypt $(TARGET_LDFLAGS) + define Package/shadow-common/install $(INSTALL_DIR) $(1)/etc $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/login.defs $(1)/etc/ $(SED) 's,SU_NAME,#SU_NAME,g' $(1)/etc/login.defs -ifeq ($(CONFIG_USE_MUSL),y) -ifeq ($(CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK),y) $(SED) 's,#ENCRYPT_METHOD DES,ENCRYPT_METHOD BCRYPT,g' $(1)/etc/login.defs -else - $(SED) 's,#ENCRYPT_METHOD DES,ENCRYPT_METHOD MD5,g' $(1)/etc/login.defs -endif # CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK -else - $(SED) 's,#ENCRYPT_METHOD DES,ENCRYPT_METHOD SHA512,g' $(1)/etc/login.defs -endif # CONFIG_USE_MUSL endef define Package/shadow-utils/install |